diff options
author | Ben Smith <binjimin@gmail.com> | 2017-05-04 16:31:46 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-04 16:31:46 -0700 |
commit | 0cc349dae28571450a4b7a70606a68fd54403233 (patch) | |
tree | ef49f60d0e3839e8158a3603d52e750e69da5ebe | |
parent | 08cc271f600bafb7dbf42b519ba48c539cd3130e (diff) | |
download | wabt-0cc349dae28571450a4b7a70606a68fd54403233.tar.gz wabt-0cc349dae28571450a4b7a70606a68fd54403233.tar.bz2 wabt-0cc349dae28571450a4b7a70606a68fd54403233.zip |
Rename all occurences of AST (#413)
* ast.{cc,h} => ir.{cc,h}
* binary-reader-ast.{cc,h} => binary-reader-ir.{cc,h}
* ast-writer.{cc,h} => wat-writer.{cc,h}
Everything else changes ast => wast.
When deciding between wast vs. wat, the wat format should only allow for
a single module, without assertions.
-rw-r--r-- | CMakeLists.txt | 38 | ||||
-rw-r--r-- | Makefile | 10 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | demo/demo.js | 2 | ||||
-rw-r--r-- | demo/libwabt.js | 18 | ||||
-rw-r--r-- | fuzz-in/wasm/stuff.wasm | bin | 112 -> 112 bytes | |||
-rw-r--r-- | src/apply-names.cc | 2 | ||||
-rw-r--r-- | src/binary-reader-ir.cc (renamed from src/binary-reader-ast.cc) | 192 | ||||
-rw-r--r-- | src/binary-reader-ir.h (renamed from src/binary-reader-ast.h) | 16 | ||||
-rw-r--r-- | src/binary-writer-spec.cc | 2 | ||||
-rw-r--r-- | src/binary-writer-spec.h | 2 | ||||
-rw-r--r-- | src/binary-writer.cc | 2 | ||||
-rw-r--r-- | src/emscripten-exported.json | 16 | ||||
-rw-r--r-- | src/emscripten-helpers.cc | 42 | ||||
-rw-r--r-- | src/generate-names.cc | 2 | ||||
-rw-r--r-- | src/interpreter-opcode.def | 2 | ||||
-rw-r--r-- | src/ir.cc (renamed from src/ast.cc) | 2 | ||||
-rw-r--r-- | src/ir.h (renamed from src/ast.h) | 10 | ||||
-rw-r--r-- | src/opcode.def | 2 | ||||
-rw-r--r-- | src/prebuilt/wast-lexer-gen.cc (renamed from src/prebuilt/ast-lexer-gen.cc) | 1086 | ||||
-rw-r--r-- | src/prebuilt/wast-parser-gen.cc (renamed from src/prebuilt/ast-parser-gen.cc) | 1074 | ||||
-rw-r--r-- | src/prebuilt/wast-parser-gen.hh (renamed from src/prebuilt/ast-parser-gen.hh) | 46 | ||||
-rw-r--r-- | src/prebuilt/wast-parser-gen.output (renamed from src/prebuilt/ast-parser-gen.output) | 0 | ||||
-rw-r--r-- | src/resolve-names.cc | 14 | ||||
-rw-r--r-- | src/resolve-names.h | 6 | ||||
-rw-r--r-- | src/tools/wasm2wast.cc | 12 | ||||
-rw-r--r-- | src/tools/wast-desugar.cc | 14 | ||||
-rw-r--r-- | src/tools/wast2wasm.cc | 10 | ||||
-rw-r--r-- | src/validator.cc | 13 | ||||
-rw-r--r-- | src/validator.h | 6 | ||||
-rw-r--r-- | src/wabt.js | 20 | ||||
-rw-r--r-- | src/wast-lexer.cc (renamed from src/ast-lexer.cc) | 112 | ||||
-rw-r--r-- | src/wast-lexer.h (renamed from src/ast-lexer.h) | 26 | ||||
-rw-r--r-- | src/wast-parser-lexer-shared.cc (renamed from src/ast-parser-lexer-shared.cc) | 26 | ||||
-rw-r--r-- | src/wast-parser-lexer-shared.h (renamed from src/ast-parser-lexer-shared.h) | 57 | ||||
-rw-r--r-- | src/wast-parser.h (renamed from src/ast-parser.h) | 10 | ||||
-rw-r--r-- | src/wast-parser.y (renamed from src/ast-parser.y) | 92 | ||||
-rw-r--r-- | src/wat-writer.cc (renamed from src/ast-writer.cc) | 112 | ||||
-rw-r--r-- | src/wat-writer.h (renamed from src/ast-writer.h) | 8 |
39 files changed, 1551 insertions, 1557 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 49b27346..3880b476 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -173,14 +173,14 @@ SANITIZER(USE_UBSAN "-fsanitize=undefined -fno-sanitize-recover") find_package(BISON 3.0) if (RUN_BISON AND BISON_FOUND) - set(AST_PARSER_GEN_C ${WABT_BINARY_DIR}/ast-parser-gen.cc) - BISON_TARGET(AST_PARSER_GEN_C - ${WABT_SOURCE_DIR}/src/ast-parser.y - ${AST_PARSER_GEN_C} - COMPILE_FLAGS --defines=${WABT_BINARY_DIR}/ast-parser-gen.hh + set(WAST_PARSER_GEN_CC ${WABT_BINARY_DIR}/wast-parser-gen.cc) + BISON_TARGET(WAST_PARSER_GEN_CC + ${WABT_SOURCE_DIR}/src/wast-parser.y + ${WAST_PARSER_GEN_CC} + COMPILE_FLAGS --defines=${WABT_BINARY_DIR}/wast-parser-gen.hh ) else () - set(AST_PARSER_GEN_C src/prebuilt/ast-parser-gen.cc) + set(WAST_PARSER_GEN_CC src/prebuilt/wast-parser-gen.cc) include_directories(src/prebuilt) endif () @@ -188,7 +188,7 @@ if (COMPILER_IS_CLANG OR COMPILER_IS_GNU) # yyerror passes a non-string-literal to a printf-like function, which is a # warning. set_source_files_properties( - ${AST_PARSER_GEN_C} + ${WAST_PARSER_GEN_CC} PROPERTIES COMPILE_FLAGS "-Wno-format-security -Wno-old-style-cast" ) @@ -197,16 +197,16 @@ endif () set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${WABT_SOURCE_DIR}/cmake) find_package(RE2C 0.13) if (RUN_RE2C AND RE2C_EXECUTABLE) - set(AST_LEXER_C ${WABT_SOURCE_DIR}/src/ast-lexer.cc) - set(AST_LEXER_GEN_C ${WABT_BINARY_DIR}/ast-lexer-gen.cc) + set(WAST_LEXER_CC ${WABT_SOURCE_DIR}/src/wast-lexer.cc) + set(WAST_LEXER_GEN_CC ${WABT_BINARY_DIR}/wast-lexer-gen.cc) RE2C_TARGET( - NAME AST_LEXER_GEN_C - INPUT ${AST_LEXER_C} - OUTPUT ${AST_LEXER_GEN_C} + NAME WAST_LEXER_GEN_CC + INPUT ${WAST_LEXER_CC} + OUTPUT ${WAST_LEXER_GEN_CC} OPTIONS -bc ) else () - set(AST_LEXER_GEN_C src/prebuilt/ast-lexer-gen.cc) + set(WAST_LEXER_GEN_CC src/prebuilt/wast-lexer-gen.cc) endif () add_custom_target(everything) @@ -217,10 +217,10 @@ add_library(libwabt STATIC src/source-error-handler.cc src/hash-util.cc src/string-view.cc - src/ast.cc - src/ast-parser-lexer-shared.cc - ${AST_LEXER_GEN_C} - ${AST_PARSER_GEN_C} + src/ir.cc + src/wast-parser-lexer-shared.cc + ${WAST_LEXER_GEN_CC} + ${WAST_PARSER_GEN_CC} src/type-checker.cc src/validator.cc @@ -228,9 +228,9 @@ add_library(libwabt STATIC src/binary-reader-logging.cc src/binary-writer.cc src/binary-writer-spec.cc - src/binary-reader-ast.cc + src/binary-reader-ir.cc src/binding-hash.cc - src/ast-writer.cc + src/wat-writer.cc src/interpreter.cc src/binary-reader-interpreter.cc src/apply-names.cc @@ -141,13 +141,13 @@ clean: test-everything: .PHONY: update-bison update-re2c -update-bison: src/prebuilt/ast-parser-gen.cc -update-re2c: src/prebuilt/ast-lexer-gen.cc +update-bison: src/prebuilt/wast-parser-gen.cc +update-re2c: src/prebuilt/wast-lexer-gen.cc -src/prebuilt/ast-parser-gen.cc: src/ast-parser.y - bison -o $@ $< --defines=src/prebuilt/ast-parser-gen.hh --report=state +src/prebuilt/wast-parser-gen.cc: src/wast-parser.y + bison -o $@ $< --defines=src/prebuilt/wast-parser-gen.hh --report=state -src/prebuilt/ast-lexer-gen.cc: src/ast-lexer.cc +src/prebuilt/wast-lexer-gen.cc: src/wast-lexer.cc re2c --no-generation-date -bc -o $@ $< # running CMake @@ -73,11 +73,11 @@ $ cmake .. ... ``` -If you make changes to `src/ast-parser.y`, you'll need to install Bison. +If you make changes to `src/wast-parser.y`, you'll need to install Bison. Before you upload your PR, please run `make update-bison` to update the prebuilt C sources in `src/prebuilt/`. -If you make changes to `src/ast-lexer.c`, you'll need to install +If you make changes to `src/wast-lexer.c`, you'll need to install [re2c](http://re2c.org). Before you upload your PR, please run `make update-re2c` to update the prebuilt C sources in `src/prebuilt/`. diff --git a/demo/demo.js b/demo/demo.js index ccdb5244..0f9eb8fb 100644 --- a/demo/demo.js +++ b/demo/demo.js @@ -54,7 +54,7 @@ function compile(text) { wabt.ready.then(function() { output.textContent = ''; try { - var script = wabt.parseAst('test.wast', text); + var script = wabt.parseWast('test.wast', text); script.resolveNames(); script.validate(); var binaryOutput = script.toBinary({log: true}); diff --git a/demo/libwabt.js b/demo/libwabt.js index 07c59040..8a482fc4 100644 --- a/demo/libwabt.js +++ b/demo/libwabt.js @@ -1,20 +1,20 @@ -var wabt=wabt||{};((function(wabt){"use strict";var WABT_OK=0;function malloc(size){var addr=Module._malloc(size);if(addr==0){throw new Error("out of memory")}return addr}function allocateBuffer(buf){var addr;var size;if(buf instanceof ArrayBuffer){size=buf.byteLength;addr=malloc(size);HEAPU8.set(new Uint8Array(buf),addr)}else if(ArrayBuffer.isView(buf)){size=buf.byteLength;addr=malloc(size);HEAPU8.set(new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength),addr)}else if(typeof buf=="string"){size=buf.length;addr=malloc(size);Module.writeAsciiToMemory(buf,addr,true)}else{throw new Error("unknown buffer type: "+buf)}return{addr:addr,size:size}}function allocateCString(s){var size=s.length;var addr=malloc(size);Module.writeAsciiToMemory(s,addr);return{addr:addr,size:size}}function Lexer(filename,buffer){this.filenameObj=allocateCString(filename);this.bufferObj=allocateBuffer(buffer);this.addr=Module._wabt_new_ast_buffer_lexer(this.filenameObj.addr,this.bufferObj.addr,this.bufferObj.size)}Lexer.prototype=Object.create(Object.prototype);Lexer.prototype.destroy=(function(){Module._wabt_destroy_ast_lexer(this.addr);Module._free(this.bufferObj.addr);Module._free(this.filenameObj.addr)});function OutputBuffer(addr){this.addr=addr}OutputBuffer.prototype=Object.create(Object.prototype);OutputBuffer.prototype.toTypedArray=(function(){if(!this.addr){return null}var addr=Module._wabt_output_buffer_get_data(this.addr);var size=Module._wabt_output_buffer_get_size(this.addr);var buffer=new Uint8Array(size);buffer.set(new Uint8Array(HEAPU8.buffer,addr,size));return buffer});OutputBuffer.prototype.toString=(function(){if(!this.addr){return""}var addr=Module._wabt_output_buffer_get_data(this.addr);var size=Module._wabt_output_buffer_get_size(this.addr);return Module.Pointer_stringify(addr,size)});OutputBuffer.prototype.destroy=(function(){Module._wabt_destroy_output_buffer(this.addr)});function ErrorHandler(){this.addr=Module._wabt_new_source_error_handler_buffer()}ErrorHandler.prototype=Object.create(Object.prototype);ErrorHandler.prototype.getMessage=(function(){var addr=Module._wabt_source_error_handler_buffer_get_data(this.addr);var size=Module._wabt_source_error_handler_buffer_get_size(this.addr);return Module.Pointer_stringify(addr,size)});ErrorHandler.prototype.destroy=(function(){Module._wabt_destroy_source_error_handler_buffer(this.addr)});function parseAst(filename,buffer){var lexer=new Lexer(filename,buffer);var errorHandler=new ErrorHandler;try{var parseResult_addr=Module._wabt_parse_ast(lexer.addr,errorHandler.addr);var result=Module._wabt_parse_ast_result_get_result(parseResult_addr);if(result!==WABT_OK){throw new Error("parseAst failed:\n"+errorHandler.getMessage())}var script_addr=Module._wabt_parse_ast_result_release_script(parseResult_addr);var result=new Script(lexer,script_addr);lexer=null;return result}finally{Module._wabt_destroy_parse_ast_result(parseResult_addr);errorHandler.destroy();if(lexer){lexer.destroy()}}}function Script(lexer,script_addr){this.lexer=lexer;this.script_addr=script_addr}Script.prototype=Object.create(Object.prototype);Script.prototype.resolveNames=(function(){var errorHandler=new ErrorHandler;try{var result=Module._wabt_resolve_names_script(this.lexer.addr,this.script_addr,errorHandler.addr);if(result!==WABT_OK){throw new Error("resolveNames failed:\n"+errorHandler.getMessage())}}finally{errorHandler.destroy()}});Script.prototype.validate=(function(){var errorHandler=new ErrorHandler;try{var result=Module._wabt_validate_script(this.lexer.addr,this.script_addr,errorHandler.addr);if(result!==WABT_OK){throw new Error("validate failed:\n"+errorHandler.getMessage())}}finally{errorHandler.destroy()}});Script.prototype.toBinary=(function(options){var log=options.log||false;var canonicalize_lebs=options.canonicalize_lebs||true;var relocatable=options.relocatable||false;var write_debug_names=options.write_debug_names||false;var writeBinaryResult_addr=Module._wabt_write_binary_module(this.script_addr,log,canonicalize_lebs,relocatable,write_debug_names);var result=Module._wabt_write_binary_module_result_get_result(writeBinaryResult_addr);try{if(result!==WABT_OK){throw new Error("writeBinaryModule failed.")}var binaryOutputBuffer=new OutputBuffer(Module._wabt_write_binary_module_result_release_binary_output_buffer(writeBinaryResult_addr));var logOutputBuffer=new OutputBuffer(Module._wabt_write_binary_module_result_release_log_output_buffer(writeBinaryResult_addr));return{buffer:binaryOutputBuffer.toTypedArray(),log:logOutputBuffer.toString()}}finally{if(binaryOutputBuffer){binaryOutputBuffer.destroy()}if(logOutputBuffer){logOutputBuffer.destroy()}Module._wabt_destroy_write_binary_module_result(writeBinaryResult_addr)}});Script.prototype.destroy=(function(){Module._wabt_destroy_script(this.script_addr);this.lexer.destroy()});wabt.ready=Promise.resolve();wabt.parseAst=parseAst}))(wabt);var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;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){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),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)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[null,null,null,null,null,null,null,null,null,null],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;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}),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:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){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<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function 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=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||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(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;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}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+36432;__ATINIT__.push();allocate([40,11,0,0,34,28,0,0,80,11,0,0,76,28,0,0,8,0,0,0,0,0,0,0,80,11,0,0,233,29,0,0,48,0,0,0,0,0,0,0,40,11,0,0,11,30,0,0,80,11,0,0,164,52,0,0,72,0,0,0,0,0,0,0,80,11,0,0,203,52,0,0,88,0,0,0,0,0,0,0,40,11,0,0,228,52,0,0,80,11,0,0,94,54,0,0,8,0,0,0,0,0,0,0,80,11,0,0,30,62,0,0,128,0,0,0,0,0,0,0,40,11,0,0,52,62,0,0,80,11,0,0,165,93,0,0,88,0,0,0,0,0,0,0,40,11,0,0,218,119,0,0,80,11,0,0,184,119,0,0,192,0,0,0,0,0,0,0,80,11,0,0,101,119,0,0,160,0,0,0,0,0,0,0,80,11,0,0,138,119,0,0,208,0,0,0,0,0,0,0,40,11,0,0,171,119,0,0,80,11,0,0,160,120,0,0,152,0,0,0,0,0,0,0,80,11,0,0,224,120,0,0,192,0,0,0,0,0,0,0,80,11,0,0,188,120,0,0,232,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,22,0,0,0,0,0,0,0,32,0,0,0,24,0,0,0,25,0,0,0,22,0,0,0,116,35,0,0,122,35,0,0,128,35,0,0,139,35,0,0,143,35,0,0,147,35,0,0,151,35,0,0,155,35,0,0,161,35,0,0,166,35,0,0,170,35,0,0,181,35,0,0,189,35,0,0,193,35,0,0,197,35,0,0,202,35,0,0,208,35,0,0,212,35,0,0,215,35,0,0,220,35,0,0,225,35,0,0,230,35,0,0,233,35,0,0,239,35,0,0,248,35,0,0,253,35,0,0,9,36,0,0,23,36,0,0,30,36,0,0,40,36,0,0,50,36,0,0,60,36,0,0,71,36,0,0,82,36,0,0,87,36,0,0,93,36,0,0,107,36,0,0,120,36,0,0,126,36,0,0,132,36,0,0,139,36,0,0,147,36,0,0,155,36,0,0,162,36,0,0,174,36,0,0,189,36,0,0,201,36,0,0,206,36,0,0,212,36,0,0,217,36,0,0,223,36,0,0,230,36,0,0,236,36,0,0,243,36,0,0,250,36,0,0,0,37,0,0,5,37,0,0,12,37,0,0,17,37,0,0,24,37,0,0,31,37,0,0,38,37,0,0,47,37,0,0,54,37,0,0,58,37,0,0,75,37,0,0,90,37,0,0,108,37,0,0,122,37,0,0,150,37,0,0,179,37,0,0,191,37,0,0,209,37,0,0,215,37,0,0,222,37,0,0,226,37,0,0,234,37,0,0,254,37,0,0,8,38,0,0,20,38,0,0,36,38,0,0,46,38,0,0,58,38,0,0,68,38,0,0,77,38,0,0,87,38,0,0,98,38,0,0,105,38,0,0,114,38,0,0,118,38,0,0,126,38,0,0,130,38,0,0,139,38,0,0,152,38,0,0,161,38,0,0,174,38,0,0,185,38,0,0,195,38,0,0,201,38,0,0,213,38,0,0,136,63,0,0,225,38,0,0,230,38,0,0,236,38,0,0,240,38,0,0,251,38,0,0,5,39,0,0,16,39,0,0,28,39,0,0,38,39,0,0,251,94,0,0,72,68,0,0,48,39,0,0,201,54,0,0,53,39,0,0,207,54,0,0,214,54,0,0,58,39,0,0,70,39,0,0,77,39,0,0,91,39,0,0,103,39,0,0,110,39,0,0,128,39,0,0,142,39,0,0,151,39,0,0,157,39,0,0,171,39,0,0,182,39,0,0,189,39,0,0,3,48,0,0,204,39,0,0,214,39,0,0,218,39,0,0,227,39,0,0,233,39,0,0,244,39,0,0,251,39,0,0,0,0,0,0,0,0,0,0,56,0,0,0,26,0,0,0,27,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,22,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,24,0,0,0,23,0,0,0,26,0,0,0,28,0,0,0,29,0,0,0,25,0,0,0,27,0,0,0,30,0,0,0,31,0,0,0,23,0,0,0,28,0,0,0,32,0,0,0,33,0,0,0,26,0,0,0,29,0,0,0,34,0,0,0,35,0,0,0,24,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,30,0,0,0,39,0,0,0,40,0,0,0,23,0,0,0,31,0,0,0,41,0,0,0,42,0,0,0,32,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,25,0,0,0,47,0,0,0,33,0,0,0,48,0,0,0,27,0,0,0,28,0,0,0,49,0,0,0,29,0,0,0,30,0,0,0,50,0,0,0,31,0,0,0,51,0,0,0,52,0,0,0,26,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,57,0,0,0,32,0,0,0,58,0,0,0,59,0,0,0,39,0,0,0,60,0,0,0,33,0,0,0,34,0,0,0,27,0,0,0,35,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,61,0,0,0,62,0,0,0,28,0,0,0,63,0,0,0,64,0,0,0,43,0,0,0,65,0,0,0,44,0,0,0,66,0,0,0,67,0,0,0,36,0,0,0,68,0,0,0,69,0,0,0,37,0,0,0,38,0,0,0,70,0,0,0,45,0,0,0,71,0,0,0,72,0,0,0,39,0,0,0,73,0,0,0,74,0,0,0,29,0,0,0,75,0,0,0,46,0,0,0,76,0,0,0,30,0,0,0,77,0,0,0,40,0,0,0,31,0,0,0,78,0,0,0,41,0,0,0,32,0,0,0,47,0,0,0,79,0,0,0,33,0,0,0,24,0,0,0,48,0,0,0,42,0,0,0,34,0,0,0,43,0,0,0,44,0,0,0,35,0,0,0,0,0,0,0,96,0,0,0,28,0,0,0,29,0,0,0,25,0,0,0,49,0,0,0,125,54,0,0,132,54,0,0,137,54,0,0,144,54,0,0,153,54,0,0,159,54,0,0,166,54,0,0,173,54,0,0,180,54,0,0,186,54,0,0,191,54,0,0,196,54,0,0,251,94,0,0,201,54,0,0,207,54,0,0,214,54,0,0,221,54,0,0,238,54,0,0,1,55,0,0,19,55,0,0,37,55,0,0,56,55,0,0,74,55,0,0,91,55,0,0,0,0,0,0,112,0,0,0,30,0,0,0,31,0,0,0,36,0,0,0,37,0,0,0,127,63,0,0,136,63,0,0,142,63,0,0,147,63,0,0,150,63,0,0,0,0,0,0,136,0,0,0,32,0,0,0,33,0,0,0,80,0,0,0,23,0,0,0,81,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,82,0,0,0,83,0,0,0,25,0,0,0,52,0,0,0,84,0,0,0,85,0,0,0,38,0,0,0,26,0,0,0,24,0,0,0,27,0,0,0,25,0,0,0,53,0,0,0,86,0,0,0,87,0,0,0,47,0,0,0,54,0,0,0,88,0,0,0,89,0,0,0,39,0,0,0,55,0,0,0,90,0,0,0,91,0,0,0,48,0,0,0,56,0,0,0,92,0,0,0,93,0,0,0,40,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,57,0,0,0,97,0,0,0,98,0,0,0,26,0,0,0,58,0,0,0,99,0,0,0,100,0,0,0,59,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,41,0,0,0,105,0,0,0,60,0,0,0,106,0,0,0,49,0,0,0,50,0,0,0,107,0,0,0,51,0,0,0,52,0,0,0,108,0,0,0,53,0,0,0,109,0,0,0,110,0,0,0,42,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,115,0,0,0,54,0,0,0,116,0,0,0,117,0,0,0,66,0,0,0,118,0,0,0,55,0,0,0,56,0,0,0,43,0,0,0,57,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,119,0,0,0,120,0,0,0,44,0,0,0,121,0,0,0,122,0,0,0,70,0,0,0,123,0,0,0,71,0,0,0,124,0,0,0,125,0,0,0,58,0,0,0,126,0,0,0,127,0,0,0,59,0,0,0,60,0,0,0,128,0,0,0,72,0,0,0,129,0,0,0,130,0,0,0,61,0,0,0,131,0,0,0,132,0,0,0,45,0,0,0,133,0,0,0,73,0,0,0,134,0,0,0,46,0,0,0,135,0,0,0,62,0,0,0,47,0,0,0,136,0,0,0,63,0,0,0,48,0,0,0,74,0,0,0,137,0,0,0,49,0,0,0,27,0,0,0,75,0,0,0,64,0,0,0,50,0,0,0,65,0,0,0,66,0,0,0,51,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,68,0,0,0,60,138,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,36,8,0,0,156,8,0,0,5,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,68,0,0,0,68,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,22,0,0,0,0,0,0,0,160,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,71,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,0,0,0,0,176,0,0,0,34,0,0,0,38,0,0,0,36,0,0,0,37,0,0,0,71,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,0,0,0,0,216,0,0,0,39,0,0,0,40,0,0,0,77,0,0,0,238,254,41,0,238,254,46,0,68,0,238,254,238,254,238,254,238,254,238,254,238,254,60,0,73,0,82,0,82,0,121,0,121,0,121,0,123,0,123,0,123,0,142,0,123,0,238,254,166,0,238,254,238,254,82,0,238,254,73,0,73,0,128,0,73,0,73,0,73,0,104,0,238,254,184,0,205,0,0,0,73,0,73,0,73,0,238,254,161,0,221,0,213,0,238,254,243,0,245,0,254,0,255,0,228,0,238,254,238,254,0,1,7,1,8,1,238,254,238,254,116,0,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,231,0,238,254,238,254,238,254,238,254,153,0,238,254,238,254,238,254,238,254,238,254,60,0,98,0,69,0,60,0,60,0,111,0,60,0,111,0,73,0,73,0,238,254,237,0,152,1,238,254,238,254,238,254,9,1,224,0,11,1,204,0,58,0,14,1,73,1,15,1,238,254,238,254,16,1,15,1,166,0,73,0,17,1,238,254,238,254,238,254,19,1,32,1,238,254,238,254,60,0,60,0,60,0,98,0,98,0,238,254,98,0,98,0,238,254,98,0,98,0,98,0,98,0,98,0,242,0,242,0,237,0,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,185,1,218,1,238,254,238,254,238,254,238,254,238,254,238,254,20,1,22,1,251,1,238,254,23,1,238,254,24,1,6,0,238,254,218,1,89,0,89,0,186,0,28,1,114,0,238,254,60,0,60,0,60,0,218,1,31,1,33,1,238,254,118,0,170,0,28,1,28,1,35,1,166,0,27,1,36,1,45,1,34,0,46,1,238,254,98,0,60,0,238,254,60,0,73,0,73,0,238,254,238,254,238,254,238,254,238,254,238,254,98,0,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,247,0,247,0,238,254,100,2,47,1,240,2,238,254,238,254,203,0,53,1,63,1,61,2,185,1,64,1,206,0,74,1,238,254,26,1,238,254,75,1,72,1,81,1,218,1,85,1,87,1,28,1,238,254,105,1,115,1,238,254,238,254,238,254,116,1,31,1,238,254,238,254,197,0,238,254,238,254,166,0,117,1,238,254,120,1,238,0,121,1,238,254,52,0,122,1,98,0,98,0,98,0,98,0,238,254,123,1,173,0,99,1,174,0,175,0,113,1,73,0,124,1,119,1,114,1,48,0,128,1,214,0,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,131,1,238,254,238,254,133,1,238,254,238,254,134,1,238,254,238,254,238,254,132,1,238,254,238,254,99,0,238,254,238,254,238,254,238,254,150,1,238,254,238,254,166,0,238,254,60,0,60,0,60,0,60,0,238,254,164,1,166,1,167,1,173,1,238,254,185,1,238,254,197,1,28,2,28,2,199,1,200,1,238,254,238,254,60,0,60,0,60,0,60,0,188,0,189,0,238,254,238,254,238,254,238,254,174,2,207,1,238,254,216,1,230,1,22,1,89,0,28,1,28,1,238,254,238,254,238,254,238,254,238,254,185,1,139,2,238,254,238,254,28,2,238,254,238,254,238,254,218,1,238,254,233,1,238,254,217,0,218,1,207,2,31,1,238,254,239,1,249,1,7,2,9,2,10,2,16,2,238,254,238,254,221,1,236,1,40,2,42,2,218,1,238,254,238,254,238,254,238,254,238,254,238,254,238,254,60,0,238,254,238,254,44,2,49,2,238,254,193,0,45,2,60,2,238,254,218,1,58,2,75,2,218,1,238,254,76,2,238,254,11,0,89,0,106,0,91,0,148,0,156,0,157,0,123,0,124,0,127,0,191,0,192,0,193,0,159,0,169,0,119,0,165,0,166,0,12,0,107,0,164,0,29,0,30,0,111,0,32,0,33,0,34,0,183,0,168,0,169,0,174,0,181,0,40,0,41,0,42,0,180,0,181,0,147,0,174,0,84,0,180,0,181,0,87,0,88,0,3,0,90,0,0,0,157,0,65,1,66,1,62,1,198,0,199,0,53,0,91,0,171,0,172,0,173,0,14,0,177,0,241,0,3,0,62,0,63,0,16,0,59,0,60,0,19,0,10,0,9,0,107,0,27,0,3,0,84,0,111,0,86,0,87,0,88,0,9,0,90,0,46,0,8,0,99,1,95,1,92,0,93,0,52,0,175,0,54,0,233,0,56,0,9,0,3,0,240,0,250,0,242,0,236,0,233,0,46,0,10,0,25,1,26,1,3,0,5,0,52,0,113,0,54,0,9,0,56,0,10,0,214,0,85,0,216,0,223,0,3,0,89,0,5,0,91,0,222,0,5,0,9,0,53,0,4,0,5,0,3,0,11,0,3,0,9,0,16,1,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,15,0,16,0,17,0,104,0,105,0,3,0,21,0,104,0,105,0,110,0,50,1,125,0,126,0,110,0,128,0,129,0,244,0,131,0,132,0,133,0,134,0,135,0,46,0,47,0,48,0,4,0,62,0,63,0,52,0,8,0,54,0,55,0,56,0,57,0,8,0,59,0,60,0,4,0,4,0,4,0,191,0,53,0,193,0,10,0,10,0,10,0,194,0,195,0,4,0,88,1,37,0,86,1,4,0,4,0,87,1,89,1,86,1,4,0,10,0,10,0,89,1,4,0,5,0,10,0,88,1,89,1,9,0,3,0,133,1,4,0,42,1,71,1,72,1,73,1,74,1,103,1,190,0,4,0,80,1,5,0,108,1,4,0,5,0,9,0,3,0,4,0,9,0,57,0,202,0,59,0,60,0,3,0,4,0,81,1,3,0,4,0,124,1,18,0,19,0,20,0,21,0,22,0,5,0,6,0,7,0,59,0,60,0,4,0,96,1,4,0,82,1,48,0,49,0,50,0,142,1,49,0,50,0,145,1,4,0,4,0,4,0,109,1,14,1,52,1,53,1,54,1,55,1,4,0,4,0,4,0,46,0,4,0,132,1,3,0,3,0,3,0,3,0,35,0,110,1,4,0,4,0,3,0,3,0,36,0,4,0,3,1,4,1,5,1,6,1,5,0,3,0,8,0,10,0,4,0,3,0,57,0,4,0,52,1,53,1,54,1,55,1,13,0,14,0,15,0,3,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,4,0,4,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,4,0,4,0,48,0,49,0,50,0,51,0,12,0,4,0,13,0,14,0,15,0,4,0,17,0,59,0,60,0,20,0,21,0,22,0,23,0,24,0,11,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,3,0,10,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,4,0,4,0,4,0,3,0,10,0,4,0,4,0,4,0,4,0,4,0,10,0,16,0,58,0,13,0,14,0,15,0,4,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,16,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,4,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,55,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,3,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,4,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,3,0,16,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,4,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,50,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,4,0,3,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,3,0,19,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,19,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,24,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,138,0,235,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,103,0,137,0,48,0,49,0,50,0,51,0,13,0,14,0,15,0,212,0,17,0,244,0,47,0,20,0,21,0,22,0,23,0,24,0,110,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,255,255,255,255,255,255,49,0,50,0,51,0,13,0,14,0,15,0,255,255,17,0,255,255,255,255,20,0,21,0,22,0,23,0,24,0,255,255,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,255,255,255,255,13,0,14,0,15,0,51,0,17,0,18,0,255,255,20,0,21,0,22,0,23,0,24,0,255,255,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,255,255,17,0,18,0,255,255,20,0,21,0,22,0,23,0,24,0,255,255,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,255,255,17,0,255,255,255,255,20,0,21,0,22,0,23,0,24,0,255,255,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,25,0,108,0,175,0,108,0,217,0,221,0,223,0,198,0,199,0,202,0,9,1,11,1,12,1,226,0,239,0,175,0,232,0,233,0,228,0,108,0,229,0,47,0,48,0,108,0,49,0,50,0,51,0,255,0,236,0,236,0,229,0,253,0,55,0,56,0,57,0,252,0,252,0,215,0,243,0,96,0,236,0,236,0,104,0,105,0,4,0,110,0,10,0,224,0,97,1,98,1,94,1,18,1,19,1,11,0,112,0,240,0,241,0,242,0,30,0,247,0,42,1,162,0,13,0,14,0,72,1,194,0,195,0,73,1,163,0,23,0,177,0,46,0,101,0,25,0,183,0,103,0,25,0,25,0,23,0,25,0,3,1,26,0,119,1,118,1,113,0,114,0,4,1,244,0,5,1,229,0,6,1,28,0,231,0,41,1,47,1,43,1,38,1,35,1,52,1,163,0,75,1,76,1,81,1,97,0,53,1,186,0,54,1,98,0,55,1,63,1,175,0,100,0,175,0,29,1,106,0,107,0,97,0,111,0,175,0,97,0,98,0,11,0,248,0,97,0,31,0,237,0,35,0,98,0,70,1,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,32,0,33,0,34,0,165,0,168,0,39,0,40,0,166,0,170,0,180,0,85,1,200,0,201,0,182,0,203,0,204,0,244,0,205,0,206,0,207,0,208,0,209,0,84,0,85,0,86,0,58,0,13,0,14,0,87,0,59,0,88,0,89,0,90,0,91,0,43,0,92,0,93,0,62,1,65,1,66,1,10,1,11,0,13,1,63,1,63,1,63,1,14,1,15,1,53,0,116,1,95,0,114,1,105,1,106,1,115,1,117,1,113,1,141,1,63,1,63,1,252,0,46,1,97,0,63,1,236,0,236,0,98,0,101,0,138,1,54,0,82,1,101,1,102,1,103,1,104,1,120,1,8,1,72,0,107,1,227,255,123,1,122,1,97,0,227,255,60,0,61,0,98,0,250,0,20,1,194,0,195,0,78,0,79,0,175,0,78,0,94,0,136,1,36,0,37,0,38,0,41,0,42,0,115,0,116,0,117,0,194,0,195,0,74,0,175,0,75,0,110,1,190,0,25,1,26,1,144,1,25,1,26,1,147,1,76,0,77,0,81,0,175,0,68,1,86,1,87,1,88,1,89,1,82,0,83,0,158,0,159,0,160,0,137,1,167,0,106,0,179,0,187,0,210,0,125,1,189,0,218,0,219,0,225,0,21,1,227,0,57,1,58,1,59,1,60,1,97,0,216,0,59,0,32,1,246,0,254,0,50,1,0,1,25,0,25,0,25,0,25,0,120,0,121,0,171,0,1,1,172,0,7,1,24,1,173,0,125,0,126,0,127,0,128,0,27,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,28,1,30,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,31,1,33,1,190,0,191,0,192,0,193,0,228,0,34,1,120,0,121,0,171,0,36,1,172,0,194,0,195,0,173,0,125,0,126,0,127,0,128,0,237,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,39,1,64,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,40,1,44,1,48,1,216,0,67,1,49,1,51,1,56,1,61,1,69,1,63,1,71,1,174,0,120,0,121,0,122,0,77,1,123,0,78,1,79,1,124,0,125,0,126,0,127,0,128,0,74,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,84,1,119,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,90,1,123,0,91,1,92,1,124,0,125,0,126,0,127,0,128,0,93,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,80,1,214,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,95,1,123,0,99,1,100,1,124,0,125,0,126,0,127,0,128,0,109,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,111,1,216,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,112,1,123,0,121,1,132,1,124,0,125,0,126,0,127,0,128,0,126,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,127,1,222,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,128,1,123,0,129,1,130,1,124,0,125,0,126,0,127,0,128,0,131,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,133,1,96,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,134,1,123,0,135,1,139,1,124,0,125,0,126,0,127,0,128,0,140,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,143,1,142,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,171,0,145,1,172,0,146,1,148,1,173,0,125,0,126,0,127,0,128,0,44,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,213,0,37,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,161,0,212,0,190,0,191,0,192,0,193,0,120,0,121,0,171,0,23,1,172,0,45,1,73,0,173,0,125,0,126,0,127,0,128,0,181,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,0,0,0,0,0,0,191,0,192,0,193,0,120,0,121,0,171,0,0,0,172,0,0,0,0,0,173,0,125,0,126,0,127,0,128,0,0,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,0,0,0,0,120,0,121,0,171,0,193,0,172,0,108,1,0,0,173,0,125,0,126,0,127,0,128,0,0,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,171,0,0,0,172,0,124,1,0,0,173,0,125,0,126,0,127,0,128,0,0,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,171,0,0,0,172,0,0,0,0,0,173,0,125,0,126,0,127,0,128,0,0,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,238,254,62,2,100,255,248,255,75,255,118,1,107,255,4,2,110,255,101,255,106,255,111,255,105,255,116,255,214,1,26,0,138,255,211,255,245,255,140,255,227,1,160,1,238,254,152,255,238,254,109,255,168,255,238,254,238,254,112,255,130,1,120,255,244,254,239,254,146,255,238,254,219,255,238,254,238,254,238,254,238,254,238,254,238,254,238,254,39,0,238,254,238,254,15,2,43,0,238,254,238,254,238,254,125,0,238,254,44,0,219,0,238,254,238,254,238,254,238,254,72,2,238,254,238,254,255,255,184,0,185,0,27,0,16,1,238,0,164,0,102,0,220,0,234,0,251,0,235,0,147,0,99,0,118,0,249,0,178,0,24,0,196,0,197,0,211,0,22,1,148,0,149,0,150,0,17,1,151,0,176,0,83,1,152,0,245,0,230,0,153,0,154,0,155,0,62,0,109,0,63,0,64,0,65,0,66,0,67,0,2,1,68,0,156,0,188,0,69,0,169,0,157,0,70,0,71,0,45,0,5,0,6,0,29,0,7,0,8,0,9,0,1,0,80,0,52,0,2,0,3,0,78,52,119,97,98,116,49,56,83,111,117,114,99,101,69,114,114,111,114,72,97,110,100,108,101,114,69,0,37,115,58,37,100,58,37,100,58,32,37,115,10,0,78,52,119,97,98,116,50,52,83,111,117,114,99,101,69,114,114,111,114,72,97,110,100,108,101,114,66,117,102,102,101,114,69,0,117,110,101,120,112,101,99,116,101,100,32,69,79,70,0,105,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,115,116,114,105,110,103,0,110,101,119,108,105,110,101,32,105,110,32,115,116,114,105,110,103,0,98,97,100,32,101,115,99,97,112,101,32,34,37,46,42,115,34,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,80,0,80,80,80,80,80,64,64,80,80,64,80,80,80,240,240,240,240,240,240,240,240,240,240,80,64,80,80,80,80,80,208,208,208,208,208,208,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,64,16,64,80,80,80,208,208,208,208,208,208,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,64,80,64,80,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,117,110,101,120,112,101,99,116,101,100,32,99,104,97,114,0,117,110,101,120,112,101,99,116,101,100,32,116,111,107,101,110,32,34,37,46,42,115,34,0,46,46,46,0,78,52,119,97,98,116,50,52,66,105,110,97,114,121,69,114,114,111,114,72,97,110,100,108,101,114,77,111,100,117,108,101,69,0,78,52,119,97,98,116,49,56,66,105,110,97,114,121,69,114,114,111,114,72,97,110,100,108,101,114,69,0,101,114,114,111,114,32,105,110,32,98,105,110,97,114,121,32,109,111,100,117,108,101,58,32,37,115,0,101,114,114,111,114,32,105,110,32,98,105,110,97,114,121,32,109,111,100,117,108,101,58,32,64,48,120,37,48,56,120,58,32,37,115,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,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,65,66,67,68,69,70,71,72,73,74,166,171,172,0,0,148,164,162,163,167,1,30,0,149,149,0,0,0,0,0,0,0,0,32,135,31,6,149,150,0,0,0,0,0,0,0,169,0,0,0,0,0,0,2,0,0,0,169,0,0,0,0,0,158,159,0,0,0,147,3,0,146,140,141,138,142,139,137,144,145,136,143,165,0,152,153,154,155,0,157,170,156,160,161,30,0,0,30,30,0,30,0,0,0,151,0,82,22,27,26,0,0,0,0,0,129,0,0,100,28,129,0,4,0,0,23,24,25,0,0,43,44,33,33,33,0,0,28,0,0,49,0,0,0,0,0,35,35,0,60,61,62,63,45,42,64,65,82,82,39,40,41,91,94,87,0,13,82,134,13,132,0,0,10,82,0,0,0,0,0,130,33,33,33,82,84,0,28,0,0,0,0,130,4,5,0,0,0,0,168,0,7,7,7,0,0,34,7,7,7,46,47,0,50,51,52,53,54,55,56,36,37,37,59,0,0,0,83,98,0,0,0,0,82,0,0,0,133,0,86,0,0,0,82,0,0,19,9,0,0,7,7,7,0,84,72,71,0,102,29,4,0,18,0,0,0,106,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,82,0,0,0,48,38,57,58,96,7,7,119,118,0,97,12,0,111,122,0,120,17,20,0,103,73,0,74,99,85,101,0,121,107,4,105,30,30,30,30,117,0,0,0,0,21,82,8,0,82,82,0,0,131,70,33,33,33,33,0,0,95,11,110,28,0,0,75,0,0,13,0,0,0,124,127,125,126,89,82,0,88,92,82,123,66,68,82,67,14,16,0,82,0,81,109,0,0,0,0,0,0,90,93,0,0,0,0,82,80,108,113,112,116,114,115,33,7,104,77,0,69,0,0,79,15,82,0,0,82,76,0,78,0,2,1,2,0,1,1,0,2,1,1,4,4,0,4,8,4,2,1,1,2,4,1,1,1,1,1,1,0,2,0,1,1,0,1,0,1,0,1,1,1,1,1,1,1,1,2,2,3,1,2,2,2,2,2,2,2,3,3,2,1,1,1,1,1,1,5,5,5,8,2,3,2,3,3,4,8,4,9,5,3,2,0,2,0,2,1,1,5,5,6,1,5,6,1,7,6,6,5,4,1,6,5,6,10,6,5,6,9,8,7,6,5,5,5,5,5,6,6,6,6,6,6,5,4,4,4,4,5,0,1,4,4,5,4,0,2,2,2,2,2,2,2,2,2,2,5,5,1,0,1,6,5,5,5,5,5,5,4,4,5,5,1,1,1,5,0,2,4,0,2,1,1,105,110,118,97,108,105,100,32,105,110,116,32,37,46,42,115,34,0,105,110,118,97,108,105,100,32,111,102,102,115,101,116,32,34,37,46,42,115,34,0,105,110,118,97,108,105,100,32,97,108,105,103,110,109,101,110,116,32,34,37,46,42,115,34,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,32,34,37,46,42,115,34,0,117,110,101,120,112,101,99,116,101,100,32,108,97,98,101,108,32,34,37,46,42,115,34,0,109,105,115,109,97,116,99,104,105,110,103,32,108,97,98,101,108,32,34,37,46,42,115,34,32,33,61,32,34,37,46,42,115,34,0,105,109,112,111,114,116,115,32,109,117,115,116,32,111,99,99,117,114,32,98,101,102,111,114,101,32,97,108,108,32,110,111,110,45,105,109,112,111,114,116,32,100,101,102,105,110,105,116,105,111,110,115,0,0,75,76,76,77,77,78,79,79,80,81,81,82,83,83,83,83,84,85,86,86,87,88,89,89,89,90,90,91,91,92,92,93,94,94,95,95,96,96,97,97,97,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,99,99,99,99,100,101,102,102,102,102,103,103,103,103,103,103,104,104,105,105,106,107,107,107,107,108,108,108,109,110,110,110,110,111,111,112,112,113,113,114,114,115,115,115,116,116,117,117,117,117,117,118,118,118,118,118,118,119,120,120,120,120,121,122,122,123,124,124,125,126,126,126,126,126,126,126,126,126,126,126,127,127,128,129,129,130,130,131,131,131,131,131,131,131,131,131,132,132,132,132,133,133,134,135,135,136,137,115,121,110,116,97,120,32,101,114,114,111,114,0,34,69,79,70,34,0,101,114,114,111,114,0,36,117,110,100,101,102,105,110,101,100,0,34,40,34,0,34,41,34,0,78,65,84,0,73,78,84,0,70,76,79,65,84,0,84,69,88,84,0,86,65,82,0,86,65,76,85,69,95,84,89,80,69,0,65,78,89,70,85,78,67,0,77,85,84,0,78,79,80,0,68,82,79,80,0,66,76,79,67,75,0,69,78,68,0,73,70,0,84,72,69,78,0,69,76,83,69,0,76,79,79,80,0,66,82,0,66,82,95,73,70,0,66,82,95,84,65,66,76,69,0,67,65,76,76,0,67,65,76,76,95,73,77,80,79,82,84,0,67,65,76,76,95,73,78,68,73,82,69,67,84,0,82,69,84,85,82,78,0,71,69,84,95,76,79,67,65,76,0,83,69,84,95,76,79,67,65,76,0,84,69,69,95,76,79,67,65,76,0,71,69,84,95,71,76,79,66,65,76,0,83,69,84,95,71,76,79,66,65,76,0,76,79,65,68,0,83,84,79,82,69,0,79,70,70,83,69,84,95,69,81,95,78,65,84,0,65,76,73,71,78,95,69,81,95,78,65,84,0,67,79,78,83,84,0,85,78,65,82,89,0,66,73,78,65,82,89,0,67,79,77,80,65,82,69,0,67,79,78,86,69,82,84,0,83,69,76,69,67,84,0,85,78,82,69,65,67,72,65,66,76,69,0,67,85,82,82,69,78,84,95,77,69,77,79,82,89,0,71,82,79,87,95,77,69,77,79,82,89,0,70,85,78,67,0,83,84,65,82,84,0,84,89,80,69,0,80,65,82,65,77,0,82,69,83,85,76,84,0,76,79,67,65,76,0,71,76,79,66,65,76,0,77,79,68,85,76,69,0,84,65,66,76,69,0,69,76,69,77,0,77,69,77,79,82,89,0,68,65,84,65,0,79,70,70,83,69,84,0,73,77,80,79,82,84,0,69,88,80,79,82,84,0,82,69,71,73,83,84,69,82,0,73,78,86,79,75,69,0,71,69,84,0,65,83,83,69,82,84,95,77,65,76,70,79,82,77,69,68,0,65,83,83,69,82,84,95,73,78,86,65,76,73,68,0,65,83,83,69,82,84,95,85,78,76,73,78,75,65,66,76,69,0,65,83,83,69,82,84,95,82,69,84,85,82,78,0,65,83,83,69,82,84,95,82,69,84,85,82,78,95,67,65,78,79,78,73,67,65,76,95,78,65,78,0,65,83,83,69,82,84,95,82,69,84,85,82,78,95,65,82,73,84,72,77,69,84,73,67,95,78,65,78,0,65,83,83,69,82,84,95,84,82,65,80,0,65,83,83,69,82,84,95,69,88,72,65,85,83,84,73,79,78,0,73,78,80,85,84,0,79,85,84,80,85,84,0,76,79,87,0,36,97,99,99,101,112,116,0,110,111,110,95,101,109,112,116,121,95,116,101,120,116,95,108,105,115,116,0,116,101,120,116,95,108,105,115,116,0,113,117,111,116,101,100,95,116,101,120,116,0,118,97,108,117,101,95,116,121,112,101,95,108,105,115,116,0,101,108,101,109,95,116,121,112,101,0,103,108,111,98,97,108,95,116,121,112,101,0,102,117,110,99,95,116,121,112,101,0,102,117,110,99,95,115,105,103,0,116,97,98,108,101,95,115,105,103,0,109,101,109,111,114,121,95,115,105,103,0,108,105,109,105,116,115,0,116,121,112,101,95,117,115,101,0,110,97,116,0,108,105,116,101,114,97,108,0,118,97,114,0,118,97,114,95,108,105,115,116,0,98,105,110,100,95,118,97,114,95,111,112,116,0,98,105,110,100,95,118,97,114,0,108,97,98,101,108,105,110,103,95,111,112,116,0,111,102,102,115,101,116,95,111,112,116,0,97,108,105,103,110,95,111,112,116,0,105,110,115,116,114,0,112,108,97,105,110,95,105,110,115,116,114,0,98,108,111,99,107,95,105,110,115,116,114,0,101,120,112,114,0,101,120,112,114,49,0,105,102,95,0,105,110,115,116,114,95,108,105,115,116,0,101,120,112,114,95,108,105,115,116,0,99,111,110,115,116,95,101,120,112,114,0,102,117,110,99,95,102,105,101,108,100,115,0,102,117,110,99,95,98,111,100,121,0,102,117,110,99,95,105,110,102,111,0,101,108,101,109,0,100,97,116,97,0,105,109,112,111,114,116,95,107,105,110,100,0,105,109,112,111,114,116,0,105,110,108,105,110,101,95,105,109,112,111,114,116,0,101,120,112,111,114,116,95,107,105,110,100,0,101,120,112,111,114,116,0,105,110,108,105,110,101,95,101,120,112,111,114,116,95,111,112,116,0,105,110,108,105,110,101,95,101,120,112,111,114,116,0,116,121,112,101,95,100,101,102,0,115,116,97,114,116,0,109,111,100,117,108,101,95,102,105,101,108,100,115,0,114,97,119,95,109,111,100,117,108,101,0,109,111,100,117,108,101,0,115,99,114,105,112,116,95,118,97,114,95,111,112,116,0,97,115,115,101,114,116,105,111,110,0,99,109,100,0,99,109,100,95,108,105,115,116,0,99,111,110,115,116,0,99,111,110,115,116,95,108,105,115,116,0,115,99,114,105,112,116,0,115,99,114,105,112,116,95,115,116,97,114,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,44,32,101,120,112,101,99,116,105,110,103,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,44,32,101,120,112,101,99,116,105,110,103,32,37,115,32,111,114,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,44,32,101,120,112,101,99,116,105,110,103,32,37,115,32,111,114,32,37,115,32,111,114,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,44,32,101,120,112,101,99,116,105,110,103,32,37,115,32,111,114,32,37,115,32,111,114,32,37,115,32,111,114,32,37,115,0,0,133,136,137,3,127,128,130,131,132,0,53,61,62,63,64,65,66,67,68,69,70,71,9,92,93,8,78,9,129,129,3,127,127,127,3,130,130,130,3,127,130,130,8,76,126,129,78,78,78,78,78,135,4,4,78,78,78,4,8,3,4,110,112,113,114,115,116,118,121,124,125,4,135,4,4,4,4,3,4,134,4,4,4,46,47,48,52,54,55,56,57,59,60,4,37,92,5,9,88,90,3,82,93,92,92,3,90,101,111,92,90,111,78,78,5,6,7,89,3,13,14,15,17,20,21,22,23,24,26,27,28,29,30,31,32,33,34,37,38,39,40,41,42,43,44,45,87,97,98,99,101,104,107,108,109,119,123,4,46,4,82,3,10,81,119,123,3,119,122,123,15,17,20,58,98,102,111,91,3,119,122,123,111,76,77,78,3,120,4,48,49,50,51,59,60,93,94,94,94,90,90,91,90,90,90,90,90,90,90,35,95,95,89,3,109,3,104,4,3,83,87,3,87,109,3,83,4,12,104,106,3,81,81,84,86,88,11,80,84,94,94,94,106,101,105,4,91,4,90,57,85,86,85,3,77,4,3,117,46,52,54,56,4,90,79,93,79,79,93,78,78,79,100,100,100,90,36,96,96,4,49,50,4,4,109,4,4,10,4,4,106,4,80,88,3,4,100,79,100,4,105,4,77,4,4,57,4,46,52,54,56,4,90,90,90,90,4,4,10,10,4,4,10,78,4,104,16,16,19,16,79,79,4,4,4,55,3,101,103,4,77,92,92,92,92,4,4,4,4,107,4,3,108,108,4,4,94,94,94,94,4,4,91,18,3,101,4,4,83,87,81,84,85,107,108,104,3,4,104,18,101,4,4,4,4,4,4,16,50,4,4,104,94,79,3,4,4,19,3,104,19,4,104,4,69,114,114,111,114,58,32,112,111,112,112,105,110,103,0,109,101,109,111,114,121,32,101,120,104,97,117,115,116,101,100,0,67,108,101,97,110,117,112,58,32,100,105,115,99,97,114,100,105,110,103,32,108,111,111,107,97,104,101,97,100,0,67,108,101,97,110,117,112,58,32,112,111,112,112,105,110,103,0,37,115,32,118,97,114,105,97,98,108,101,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,109,97,120,32,37,100,41,0,101,108,101,109,32,115,101,103,109,101,110,116,32,111,102,102,115,101,116,0,105,110,118,97,108,105,100,32,37,115,44,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,101,120,112,114,101,115,115,105,111,110,59,32,101,105,116,104,101,114,32,42,46,99,111,110,115,116,32,111,114,32,103,101,116,95,103,108,111,98,97,108,46,0,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,32,99,97,110,32,111,110,108,121,32,114,101,102,101,114,101,110,99,101,32,97,32,112,114,101,118,105,111,117,115,108,121,32,100,101,102,105,110,101,100,32,103,108,111,98,97,108,0,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,32,99,97,110,32,111,110,108,121,32,114,101,102,101,114,101,110,99,101,32,97,110,32,105,109,112,111,114,116,101,100,32,103,108,111,98,97,108,0,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,97,32,109,117,116,97,98,108,101,32,103,108,111,98,97,108,0,116,121,112,101,32,109,105,115,109,97,116,99,104,32,97,116,32,37,115,46,32,103,111,116,32,37,115,44,32,101,120,112,101,99,116,101,100,32,37,115,0,100,97,116,97,32,115,101,103,109,101,110,116,32,111,102,102,115,101,116,0,109,117,108,116,105,112,108,101,32,114,101,115,117,108,116,32,118,97,108,117,101,115,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,46,0,114,101,115,117,108,116,0,116,121,112,101,32,109,105,115,109,97,116,99,104,32,102,111,114,32,37,115,32,37,100,32,111,102,32,37,115,46,32,103,111,116,32,37,115,44,32,101,120,112,101,99,116,101,100,32,37,115,0,101,120,112,101,99,116,101,100,32,37,122,100,32,37,115,115,44,32,103,111,116,32,37,122,100,0,97,114,103,117,109,101,110,116,0,102,111,117,110,100,32,99,97,108,108,95,105,110,100,105,114,101,99,116,32,111,112,101,114,97,116,111,114,44,32,98,117,116,32,110,111,32,116,97,98,108,101,0,108,111,99,97,108,32,118,97,114,105,97,98,108,101,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,109,97,120,32,37,100,41,0,37,115,32,114,101,113,117,105,114,101,115,32,97,110,32,105,109,112,111,114,116,101,100,32,111,114,32,100,101,102,105,110,101,100,32,109,101,109,111,114,121,46,0,97,108,105,103,110,109,101,110,116,32,109,117,115,116,32,98,101,32,112,111,119,101,114,45,111,102,45,116,119,111,0,97,108,105,103,110,109,101,110,116,32,109,117,115,116,32,110,111,116,32,98,101,32,108,97,114,103,101,114,32,116,104,97,110,32,110,97,116,117,114,97,108,32,97,108,105,103,110,109,101,110,116,32,40,37,117,41,0,111,102,102,115,101,116,32,109,117,115,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,48,120,102,102,102,102,102,102,102,102,0,103,108,111,98,97,108,32,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,0,111,110,108,121,32,111,110,101,32,116,97,98,108,101,32,97,108,108,111,119,101,100,0,101,108,101,109,115,0,105,110,105,116,105,97,108,32,37,115,32,40,37,108,108,117,41,32,109,117,115,116,32,98,101,32,60,61,32,40,37,108,108,117,41,0,109,97,120,32,37,115,32,40,37,108,108,117,41,32,109,117,115,116,32,98,101,32,60,61,32,40,37,108,108,117,41,0,109,97,120,32,37,115,32,40,37,108,108,117,41,32,109,117,115,116,32,98,101,32,62,61,32,105,110,105,116,105,97,108,32,37,115,32,40,37,108,108,117,41,0,111,110,108,121,32,111,110,101,32,109,101,109,111,114,121,32,98,108,111,99,107,32,97,108,108,111,119,101,100,0,112,97,103,101,115,0,109,117,116,97,98,108,101,32,103,108,111,98,97,108,115,32,99,97,110,110,111,116,32,98,101,32,105,109,112,111,114,116,101,100,0,109,117,116,97,98,108,101,32,103,108,111,98,97,108,115,32,99,97,110,110,111,116,32,98,101,32,101,120,112,111,114,116,101,100,0,111,110,108,121,32,111,110,101,32,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,97,108,108,111,119,101,100,0,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,109,117,115,116,32,98,101,32,110,117,108,108,97,114,121,0,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,109,117,115,116,32,110,111,116,32,114,101,116,117,114,110,32,97,110,121,116,104,105,110,103,0,114,101,100,101,102,105,110,105,116,105,111,110,32,111,102,32,101,120,112,111,114,116,32,34,37,115,34,0,117,110,107,110,111,119,110,32,109,111,100,117,108,101,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,32,101,120,112,111,114,116,32,34,37,46,42,115,34,0,109,97,110,121,0,102,101,119,0,116,111,111,32,37,115,32,112,97,114,97,109,101,116,101,114,115,32,116,111,32,102,117,110,99,116,105,111,110,46,32,103,111,116,32,37,122,100,44,32,101,120,112,101,99,116,101,100,32,37,122,100,0,105,110,118,111,107,101,0,117,110,107,110,111,119,110,32,103,108,111,98,97,108,32,101,120,112,111,114,116,32,34,37,46,42,115,34,0,97,99,116,105,111,110,0,101,120,112,101,99,116,101,100,32,37,122,100,32,114,101,115,117,108,116,115,44,32,103,111,116,32,37,122,100,0,101,120,112,101,99,116,101,100,32,49,32,114,101,115,117,108,116,44,32,103,111,116,32,37,122,100,0,116,121,112,101,32,109,105,115,109,97,116,99,104,32,97,116,32,37,115,46,32,103,111,116,32,37,115,44,32,101,120,112,101,99,116,101,100,32,102,51,50,32,111,114,32,102,54,52,0,108,105,109,105,116,115,58,32,102,108,97,103,115,0,108,105,109,105,116,115,58,32,105,110,105,116,105,97,108,0,108,105,109,105,116,115,58,32,109,97,120,0,87,65,83,77,95,66,73,78,65,82,89,95,77,65,71,73,67,0,87,65,83,77,95,66,73,78,65,82,89,95,86,69,82,83,73,79,78,0,115,101,99,116,105,111,110,32,34,37,115,34,32,40,37,117,41,0,59,32,37,115,10,0,115,101,99,116,105,111,110,32,115,105,122,101,32,40,103,117,101,115,115,41,0,110,117,109,32,116,121,112,101,115,0,70,73,88,85,80,32,115,101,99,116,105,111,110,32,115,105,122,101,0,116,121,112,101,0,59,32,37,115,32,37,100,10,0,110,117,109,32,112,97,114,97,109,115,0,110,117,109,32,114,101,115,117,108,116,115,0,110,117,109,32,105,109,112,111,114,116,115,0,105,109,112,111,114,116,32,104,101,97,100,101,114,0,110,117,109,32,102,117,110,99,116,105,111,110,115,0,102,117,110,99,116,105,111,110,32,37,122,100,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,110,117,109,32,116,97,98,108,101,115,0,110,117,109,32,109,101,109,111,114,105,101,115,0,110,117,109,32,103,108,111,98,97,108,115,0,73,78,86,65,76,73,68,32,73,78,76,73,78,69,32,83,73,71,78,65,84,85,82,69,0,98,114,101,97,107,32,100,101,112,116,104,0,110,117,109,32,116,97,114,103,101,116,115,0,98,114,101,97,107,32,100,101,112,116,104,32,102,111,114,32,100,101,102,97,117,108,116,0,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,105,51,50,32,108,105,116,101,114,97,108,0,105,54,52,32,108,105,116,101,114,97,108,0,102,51,50,32,108,105,116,101,114,97,108,0,102,54,52,32,108,105,116,101,114,97,108,0,103,108,111,98,97,108,32,105,110,100,101,120,0,108,111,99,97,108,32,105,110,100,101,120,0,97,108,105,103,110,109,101,110,116,0,110,117,109,32,101,120,112,111,114,116,115,0,101,120,112,111,114,116,32,110,97,109,101,0,101,120,112,111,114,116,32,107,105,110,100,0,101,120,112,111,114,116,32,102,117,110,99,32,105,110,100,101,120,0,101,120,112,111,114,116,32,116,97,98,108,101,32,105,110,100,101,120,0,101,120,112,111,114,116,32,109,101,109,111,114,121,32,105,110,100,101,120,0,101,120,112,111,114,116,32,103,108,111,98,97,108,32,105,110,100,101,120,0,115,116,97,114,116,32,102,117,110,99,32,105,110,100,101,120,0,110,117,109,32,101,108,101,109,32,115,101,103,109,101,110,116,115,0,101,108,101,109,32,115,101,103,109,101,110,116,32,104,101,97,100,101,114,0,116,97,98,108,101,32,105,110,100,101,120,0,110,117,109,32,102,117,110,99,116,105,111,110,32,105,110,100,105,99,101,115,0,102,117,110,99,116,105,111,110,32,98,111,100,121,0,102,117,110,99,32,98,111,100,121,32,115,105,122,101,32,40,103,117,101,115,115,41,0,108,111,99,97,108,32,100,101,99,108,32,99,111,117,110,116,0,70,73,88,85,80,32,102,117,110,99,32,98,111,100,121,32,115,105,122,101,0,110,117,109,32,100,97,116,97,32,115,101,103,109,101,110,116,115,0,100,97,116,97,32,115,101,103,109,101,110,116,32,104,101,97,100,101,114,0,109,101,109,111,114,121,32,105,110,100,101,120,0,100,97,116,97,32,115,101,103,109,101,110,116,32,115,105,122,101,0,115,101,99,116,105,111,110,32,34,37,115,34,0,99,117,115,116,111,109,32,115,101,99,116,105,111,110,32,99,111,100,101,0,99,117,115,116,111,109,32,115,101,99,116,105,111,110,32,110,97,109,101,0,102,117,110,99,116,105,111,110,32,110,97,109,101,32,116,121,112,101,0,115,117,98,115,101,99,116,105,111,110,32,115,105,122,101,32,40,103,117,101,115,115,41,0,70,73,88,85,80,32,115,117,98,115,101,99,116,105,111,110,32,115,105,122,101,0,102,117,110,99,32,110,97,109,101,32,37,122,100,0,108,111,99,97,108,32,110,97,109,101,32,116,121,112,101,0,110,117,109,32,108,111,99,97,108,115,0,108,111,99,97,108,32,110,97,109,101,32,37,122,100,0,37,115,46,37,115,0,114,101,108,111,99,32,115,101,99,116,105,111,110,32,116,121,112,101,0,110,117,109,32,114,101,108,111,99,115,0,114,101,108,111,99,32,116,121,112,101,0,114,101,108,111,99,32,111,102,102,115,101,116,0,114,101,108,111,99,32,105,110,100,101,120,0,114,101,108,111,99,32,97,100,100,101,110,100,0,78,52,119,97,98,116,49,50,95,71,76,79,66,65,76,95,95,78,95,49,49,53,66,105,110,97,114,121,82,101,97,100,101,114,65,83,84,69,0,78,52,119,97,98,116,49,53,66,105,110,97,114,121,82,101,97,100,101,114,78,111,112,69,0,78,52,119,97,98,116,49,50,66,105,110,97,114,121,82,101,97,100,101,114,69,0,97,99,99,101,115,115,105,110,103,32,115,116,97,99,107,32,100,101,112,116,104,58,32,37,117,32,62,61,32,109,97,120,58,32,37,122,100,0,101,108,115,101,32,101,120,112,114,101,115,115,105,111,110,32,119,105,116,104,111,117,116,32,109,97,116,99,104,105,110,103,32,105,102,0,112,111,112,112,105,110,103,32,101,109,112,116,121,32,108,97,98,101,108,32,115,116,97,99,107,0,101,120,112,101,99,116,101,100,32,102,117,110,99,116,105,111,110,32,110,97,109,101,32,99,111,117,110,116,32,40,37,117,41,32,60,61,32,102,117,110,99,116,105,111,110,32,99,111,117,110,116,32,40,37,122,100,41,0,101,120,112,101,99,116,101,100,32,108,111,99,97,108,32,110,97,109,101,32,99,111,117,110,116,32,40,37,100,41,32,60,61,32,108,111,99,97,108,32,99,111,117,110,116,32,40,37,100,41,0,117,110,100,101,102,105,110,101,100,32,108,97,98,101,108,32,118,97,114,105,97,98,108,101,32,34,37,46,42,115,34,0,117,110,100,101,102,105,110,101,100,32,37,115,32,118,97,114,105,97,98,108,101,32,34,37,46,42,115,34,0,102,117,110,99,116,105,111,110,32,116,121,112,101,0,117,110,100,101,102,105,110,101,100,32,108,111,99,97,108,32,118,97,114,105,97,98,108,101,32,34,37,46,42,115,34,0,114,101,100,101,102,105,110,105,116,105,111,110,32,111,102,32,37,115,32,34,37,115,34,0,112,97,114,97,109,101,116,101,114,0,108,111,99,97,108,0,78,52,119,97,98,116,50,49,83,111,117,114,99,101,69,114,114,111,114,72,97,110,100,108,101,114,78,111,112,69,0,67,117,115,116,111,109,0,84,121,112,101,0,73,109,112,111,114,116,0,70,117,110,99,116,105,111,110,0,84,97,98,108,101,0,77,101,109,111,114,121,0,71,108,111,98,97,108,0,69,120,112,111,114,116,0,83,116,97,114,116,0,69,108,101,109,0,67,111,100,101,0,68,97,116,97,0,116,97,98,108,101,0,109,101,109,111,114,121,0,103,108,111,98,97,108,0,82,95,70,85,78,67,95,73,78,68,69,88,95,76,69,66,0,82,95,84,65,66,76,69,95,73,78,68,69,88,95,83,76,69,66,0,82,95,84,65,66,76,69,95,73,78,68,69,88,95,73,51,50,0,82,95,77,69,77,79,82,89,95,65,68,68,82,95,76,69,66,0,82,95,77,69,77,79,82,89,95,65,68,68,82,95,83,76,69,66,0,82,95,77,69,77,79,82,89,95,65,68,68,82,95,73,51,50,0,82,95,84,89,80,69,95,73,78,68,69,88,95,76,69,66,0,82,95,71,76,79,66,65,76,95,73,78,68,69,88,95,76,69,66,0,117,110,114,101,97,99,104,97,98,108,101,0,110,111,112,0,101,108,115,101,0,101,110,100,0,103,101,116,95,108,111,99,97,108,0,103,101,116,95,103,108,111,98,97,108,0,105,51,50,46,108,111,97,100,0,105,54,52,46,108,111,97,100,0,102,51,50,46,108,111,97,100,0,102,54,52,46,108,111,97,100,0,105,51,50,46,108,111,97,100,56,95,115,0,105,51,50,46,108,111,97,100,56,95,117,0,105,51,50,46,108,111,97,100,49,54,95,115,0,105,51,50,46,108,111,97,100,49,54,95,117,0,105,54,52,46,108,111,97,100,56,95,115,0,105,54,52,46,108,111,97,100,56,95,117,0,105,54,52,46,108,111,97,100,49,54,95,115,0,105,54,52,46,108,111,97,100,49,54,95,117,0,105,54,52,46,108,111,97,100,51,50,95,115,0,105,54,52,46,108,111,97,100,51,50,95,117,0,105,51,50,46,115,116,111,114,101,0,105,54,52,46,115,116,111,114,101,0,102,51,50,46,115,116,111,114,101,0,102,54,52,46,115,116,111,114,101,0,105,51,50,46,115,116,111,114,101,56,0,105,51,50,46,115,116,111,114,101,49,54,0,105,54,52,46,115,116,111,114,101,56,0,105,54,52,46,115,116,111,114,101,49,54,0,105,54,52,46,115,116,111,114,101,51,50,0,99,117,114,114,101,110,116,95,109,101,109,111,114,121,0,103,114,111,119,95,109,101,109,111,114,121,0,105,51,50,46,99,111,110,115,116,0,105,54,52,46,99,111,110,115,116,0,102,51,50,46,99,111,110,115,116,0,102,54,52,46,99,111,110,115,116,0,105,51,50,46,101,113,122,0,105,51,50,46,101,113,0,105,51,50,46,110,101,0,105,51,50,46,108,116,95,115,0,105,51,50,46,108,116,95,117,0,105,51,50,46,103,116,95,115,0,105,51,50,46,103,116,95,117,0,105,51,50,46,108,101,95,115,0,105,51,50,46,108,101,95,117,0,105,51,50,46,103,101,95,115,0,105,51,50,46,103,101,95,117,0,105,54,52,46,101,113,122,0,105,54,52,46,101,113,0,105,54,52,46,110,101,0,105,54,52,46,108,116,95,115,0,105,54,52,46,108,116,95,117,0,105,54,52,46,103,116,95,115,0,105,54,52,46,103,116,95,117,0,105,54,52,46,108,101,95,115,0,105,54,52,46,108,101,95,117,0,105,54,52,46,103,101,95,115,0,105,54,52,46,103,101,95,117,0,102,51,50,46,101,113,0,102,51,50,46,110,101,0,102,51,50,46,108,116,0,102,51,50,46,103,116,0,102,51,50,46,108,101,0,102,51,50,46,103,101,0,102,54,52,46,101,113,0,102,54,52,46,110,101,0,102,54,52,46,108,116,0,102,54,52,46,103,116,0,102,54,52,46,108,101,0,102,54,52,46,103,101,0,105,51,50,46,99,108,122,0,105,51,50,46,99,116,122,0,105,51,50,46,112,111,112,99,110,116,0,105,51,50,46,97,100,100,0,105,51,50,46,115,117,98,0,105,51,50,46,109,117,108,0,105,51,50,46,100,105,118,95,115,0,105,51,50,46,100,105,118,95,117,0,105,51,50,46,114,101,109,95,115,0,105,51,50,46,114,101,109,95,117,0,105,51,50,46,97,110,100,0,105,51,50,46,111,114,0,105,51,50,46,120,111,114,0,105,51,50,46,115,104,108,0,105,51,50,46,115,104,114,95,115,0,105,51,50,46,115,104,114,95,117,0,105,51,50,46,114,111,116,108,0,105,51,50,46,114,111,116,114,0,105,54,52,46,99,108,122,0,105,54,52,46,99,116,122,0,105,54,52,46,112,111,112,99,110,116,0,105,54,52,46,97,100,100,0,105,54,52,46,115,117,98,0,105,54,52,46,109,117,108,0,105,54,52,46,100,105,118,95,115,0,105,54,52,46,100,105,118,95,117,0,105,54,52,46,114,101,109,95,115,0,105,54,52,46,114,101,109,95,117,0,105,54,52,46,97,110,100,0,105,54,52,46,111,114,0,105,54,52,46,120,111,114,0,105,54,52,46,115,104,108,0,105,54,52,46,115,104,114,95,115,0,105,54,52,46,115,104,114,95,117,0,105,54,52,46,114,111,116,108,0,105,54,52,46,114,111,116,114,0,102,51,50,46,97,98,115,0,102,51,50,46,110,101,103,0,102,51,50,46,99,101,105,108,0,102,51,50,46,102,108,111,111,114,0,102,51,50,46,116,114,117,110,99,0,102,51,50,46,110,101,97,114,101,115,116,0,102,51,50,46,115,113,114,116,0,102,51,50,46,97,100,100,0,102,51,50,46,115,117,98,0,102,51,50,46,109,117,108,0,102,51,50,46,100,105,118,0,102,51,50,46,109,105,110,0,102,51,50,46,109,97,120,0,102,51,50,46,99,111,112,121,115,105,103,110,0,102,54,52,46,97,98,115,0,102,54,52,46,110,101,103,0,102,54,52,46,99,101,105,108,0,102,54,52,46,102,108,111,111,114,0,102,54,52,46,116,114,117,110,99,0,102,54,52,46,110,101,97,114,101,115,116,0,102,54,52,46,115,113,114,116,0,102,54,52,46,97,100,100,0,102,54,52,46,115,117,98,0,102,54,52,46,109,117,108,0,102,54,52,46,100,105,118,0,102,54,52,46,109,105,110,0,102,54,52,46,109,97,120,0,102,54,52,46,99,111,112,121,115,105,103,110,0,105,51,50,46,119,114,97,112,47,105,54,52,0,105,51,50,46,116,114,117,110,99,95,115,47,102,51,50,0,105,51,50,46,116,114,117,110,99,95,117,47,102,51,50,0,105,51,50,46,116,114,117,110,99,95,115,47,102,54,52,0,105,51,50,46,116,114,117,110,99,95,117,47,102,54,52,0,105,54,52,46,101,120,116,101,110,100,95,115,47,105,51,50,0,105,54,52,46,101,120,116,101,110,100,95,117,47,105,51,50,0,105,54,52,46,116,114,117,110,99,95,115,47,102,51,50,0,105,54,52,46,116,114,117,110,99,95,117,47,102,51,50,0,105,54,52,46,116,114,117,110,99,95,115,47,102,54,52,0,105,54,52,46,116,114,117,110,99,95,117,47,102,54,52,0,102,51,50,46,99,111,110,118,101,114,116,95,115,47,105,51,50,0,102,51,50,46,99,111,110,118,101,114,116,95,117,47,105,51,50,0,102,51,50,46,99,111,110,118,101,114,116,95,115,47,105,54,52,0,102,51,50,46,99,111,110,118,101,114,116,95,117,47,105,54,52,0,102,51,50,46,100,101,109,111,116,101,47,102,54,52,0,102,54,52,46,99,111,110,118,101,114,116,95,115,47,105,51,50,0,102,54,52,46,99,111,110,118,101,114,116,95,117,47,105,51,50,0,102,54,52,46,99,111,110,118,101,114,116,95,115,47,105,54,52,0,102,54,52,46,99,111,110,118,101,114,116,95,117,47,105,54,52,0,102,54,52,46,112,114,111,109,111,116,101,47,102,51,50,0,105,51,50,46,114,101,105,110,116,101,114,112,114,101,116,47,102,51,50,0,105,54,52,46,114,101,105,110,116,101,114,112,114,101,116,47,102,54,52,0,102,51,50,46,114,101,105,110,116,101,114,112,114,101,116,47,105,51,50,0,102,54,52,46,114,101,105,110,116,101,114,112,114,101,116,47,105,54,52,0,58,48,120,0,37,48,55,122,120,58,32,0,37,48,50,120,0,32,32,59,32,37,115,0,59,32,109,111,118,101,32,100,97,116,97,58,32,91,37,122,120,44,32,37,122,120,41,32,45,62,32,91,37,122,120,44,32,37,122,120,41,10,0,78,52,119,97,98,116,49,50,77,101,109,111,114,121,87,114,105,116,101,114,69,0,78,52,119,97,98,116,54,87,114,105,116,101,114,69,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,116,104,101,32,115,111,117,114,99,101,32,108,105,110,101,46,10,0,105,110,118,97,108,105,100,32,100,101,112,116,104,58,32,37,122,100,32,40,109,97,120,32,37,122,100,41,0,116,121,112,101,32,115,116,97,99,107,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,97,116,32,37,115,46,32,103,111,116,32,37,122,100,44,32,101,120,112,101,99,116,101,100,32,97,116,32,108,101,97,115,116,32,37,122,100,0,116,121,112,101,32,109,105,115,109,97,116,99,104,32,105,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,37,115,32,98,117,116,32,103,111,116,32,37,115,46,0,98,114,0,98,114,95,105,102,0,98,114,95,116,97,98,108,101,0,99,97,108,108,0,99,97,108,108,95,105,110,100,105,114,101,99,116,0,100,114,111,112,0,105,102,32,116,114,117,101,32,98,114,97,110,99,104,0,116,121,112,101,32,115,116,97,99,107,32,97,116,32,101,110,100,32,111,102,32,37,115,32,105,115,32,37,122,100,44,32,101,120,112,101,99,116,101,100,32,37,122,100,0,105,102,32,119,105,116,104,111,117,116,32,101,108,115,101,32,99,97,110,110,111,116,32,104,97,118,101,32,116,121,112,101,32,115,105,103,110,97,116,117,114,101,46,0,102,117,110,99,116,105,111,110,0,98,108,111,99,107,0,108,111,111,112,0,105,102,0,105,102,32,102,97,108,115,101,32,98,114,97,110,99,104,0,114,101,116,117,114,110,0,115,101,108,101,99,116,0,115,101,116,95,103,108,111,98,97,108,0,115,101,116,95,108,111,99,97,108,0,116,101,101,95,108,111,99,97,108,0,105,109,112,108,105,99,105,116,32,114,101,116,117,114,110,0,109,97,103,105,99,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,117,105,110,116,51,50,95,116,58,32,37,115,0,42,69,82,82,79,82,42,58,32,64,48,120,37,48,56,122,120,58,32,37,115,10,0,98,97,100,32,109,97,103,105,99,32,118,97,108,117,101,0,118,101,114,115,105,111,110,0,98,97,100,32,119,97,115,109,32,102,105,108,101,32,118,101,114,115,105,111,110,58,32,37,35,120,32,40,101,120,112,101,99,116,101,100,32,37,35,120,41,0,66,101,103,105,110,77,111,100,117,108,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,99,116,105,111,110,32,99,111,100,101,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,117,51,50,32,108,101,98,49,50,56,58,32,37,115,0,115,101,99,116,105,111,110,32,115,105,122,101,0,105,110,118,97,108,105,100,32,115,101,99,116,105,111,110,32,99,111,100,101,58,32,37,117,59,32,109,97,120,32,105,115,32,37,117,0,105,110,118,97,108,105,100,32,115,101,99,116,105,111,110,32,115,105,122,101,58,32,101,120,116,101,110,100,115,32,112,97,115,116,32,101,110,100,0,115,101,99,116,105,111,110,32,37,115,32,111,117,116,32,111,102,32,111,114,100,101,114,0,66,101,103,105,110,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,99,116,105,111,110,32,110,97,109,101,0,115,116,114,105,110,103,32,108,101,110,103,116,104,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,115,116,114,105,110,103,58,32,37,115,0,66,101,103,105,110,67,117,115,116,111,109,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,110,97,109,101,0,66,101,103,105,110,78,97,109,101,115,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,110,97,109,101,32,116,121,112,101,0,100,117,112,108,105,99,97,116,101,32,115,117,98,45,115,101,99,116,105,111,110,0,111,117,116,45,111,102,45,111,114,100,101,114,32,115,117,98,45,115,101,99,116,105,111,110,0,115,117,98,115,101,99,116,105,111,110,32,115,105,122,101,0,105,110,118,97,108,105,100,32,115,117,98,45,115,101,99,116,105,111,110,32,115,105,122,101,58,32,101,120,116,101,110,100,115,32,112,97,115,116,32,101,110,100,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,83,117,98,115,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,110,97,109,101,32,99,111,117,110,116,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,115,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,58,32,37,117,0,102,117,110,99,116,105,111,110,32,110,97,109,101,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,76,111,99,97,108,78,97,109,101,83,117,98,115,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,99,111,117,110,116,0,79,110,76,111,99,97,108,78,97,109,101,70,117,110,99,116,105,111,110,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,108,111,99,97,108,32,99,111,117,110,116,0,79,110,76,111,99,97,108,78,97,109,101,76,111,99,97,108,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,110,97,109,101,100,32,105,110,100,101,120,0,79,110,76,111,99,97,108,78,97,109,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,117,110,102,105,110,105,115,104,101,100,32,115,117,98,45,115,101,99,116,105,111,110,32,40,101,120,112,101,99,116,101,100,32,101,110,100,58,32,48,120,37,122,120,41,0,69,110,100,78,97,109,101,115,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,114,101,108,111,99,0,66,101,103,105,110,82,101,108,111,99,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,99,116,105,111,110,0,114,101,108,111,99,97,116,105,111,110,32,99,111,117,110,116,0,79,110,82,101,108,111,99,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,114,101,108,111,99,97,116,105,111,110,32,116,121,112,101,0,111,102,102,115,101,116,0,105,110,100,101,120,0,97,100,100,101,110,100,0,79,110,82,101,108,111,99,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,82,101,108,111,99,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,67,117,115,116,111,109,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,84,121,112,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,121,112,101,32,99,111,117,110,116,0,79,110,84,121,112,101,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,121,112,101,32,102,111,114,109,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,105,51,50,32,108,101,98,49,50,56,58,32,37,115,0,105,110,118,97,108,105,100,32,116,121,112,101,58,32,37,100,0,117,110,101,120,112,101,99,116,101,100,32,116,121,112,101,32,102,111,114,109,58,32,37,100,0,102,117,110,99,116,105,111,110,32,112,97,114,97,109,32,99,111,117,110,116,0,102,117,110,99,116,105,111,110,32,114,101,115,117,108,116,32,99,111,117,110,116,0,102,117,110,99,116,105,111,110,32,112,97,114,97,109,32,116,121,112,101,0,101,120,112,101,99,116,101,100,32,118,97,108,105,100,32,112,97,114,97,109,32,116,121,112,101,32,40,103,111,116,32,37,100,41,0,114,101,115,117,108,116,32,99,111,117,110,116,32,109,117,115,116,32,98,101,32,48,32,111,114,32,49,0,102,117,110,99,116,105,111,110,32,114,101,115,117,108,116,32,116,121,112,101,0,101,120,112,101,99,116,101,100,32,118,97,108,105,100,32,114,101,115,117,108,116,32,116,121,112,101,58,32,37,100,0,79,110,84,121,112,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,84,121,112,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,73,109,112,111,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,109,112,111,114,116,32,99,111,117,110,116,0,79,110,73,109,112,111,114,116,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,109,112,111,114,116,32,109,111,100,117,108,101,32,110,97,109,101,0,105,109,112,111,114,116,32,102,105,101,108,100,32,110,97,109,101,0,105,109,112,111,114,116,32,107,105,110,100,0,105,109,112,111,114,116,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,105,109,112,111,114,116,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,79,110,73,109,112,111,114,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,73,109,112,111,114,116,70,117,110,99,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,97,98,108,101,32,101,108,101,109,32,116,121,112,101,0,116,97,98,108,101,32,101,108,101,109,32,116,121,112,101,32,109,117,115,116,32,98,121,32,97,110,121,102,117,110,99,0,116,97,98,108,101,32,102,108,97,103,115,0,116,97,98,108,101,32,105,110,105,116,105,97,108,32,101,108,101,109,32,99,111,117,110,116,0,116,97,98,108,101,32,109,97,120,32,101,108,101,109,32,99,111,117,110,116,0,116,97,98,108,101,32,105,110,105,116,105,97,108,32,101,108,101,109,32,99,111,117,110,116,32,109,117,115,116,32,98,101,32,60,61,32,109,97,120,32,101,108,101,109,32,99,111,117,110,116,0,79,110,73,109,112,111,114,116,84,97,98,108,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,109,101,109,111,114,121,32,102,108,97,103,115,0,109,101,109,111,114,121,32,105,110,105,116,105,97,108,32,112,97,103,101,32,99,111,117,110,116,0,105,110,118,97,108,105,100,32,109,101,109,111,114,121,32,105,110,105,116,105,97,108,32,115,105,122,101,0,109,101,109,111,114,121,32,109,97,120,32,112,97,103,101,32,99,111,117,110,116,0,105,110,118,97,108,105,100,32,109,101,109,111,114,121,32,109,97,120,32,115,105,122,101,0,109,101,109,111,114,121,32,105,110,105,116,105,97,108,32,115,105,122,101,32,109,117,115,116,32,98,101,32,60,61,32,109,97,120,32,115,105,122,101,0,79,110,73,109,112,111,114,116,77,101,109,111,114,121,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,108,111,98,97,108,32,116,121,112,101,0,105,110,118,97,108,105,100,32,103,108,111,98,97,108,32,116,121,112,101,58,32,37,35,120,0,103,108,111,98,97,108,32,109,117,116,97,98,105,108,105,116,121,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,117,105,110,116,56,95,116,58,32,37,115,0,103,108,111,98,97,108,32,109,117,116,97,98,105,108,105,116,121,32,109,117,115,116,32,98,101,32,48,32,111,114,32,49,0,79,110,73,109,112,111,114,116,71,108,111,98,97,108,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,105,109,112,111,114,116,32,107,105,110,100,58,32,37,100,0,69,110,100,73,109,112,111,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,70,117,110,99,116,105,111,110,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,32,99,111,117,110,116,0,79,110,70,117,110,99,116,105,111,110,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,58,32,37,100,0,79,110,70,117,110,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,70,117,110,99,116,105,111,110,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,84,97,98,108,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,97,98,108,101,32,99,111,117,110,116,0,116,97,98,108,101,32,99,111,117,110,116,32,40,37,100,41,32,109,117,115,116,32,98,101,32,48,32,111,114,32,49,0,79,110,84,97,98,108,101,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,84,97,98,108,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,84,97,98,108,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,77,101,109,111,114,121,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,109,101,109,111,114,121,32,99,111,117,110,116,0,109,101,109,111,114,121,32,99,111,117,110,116,32,109,117,115,116,32,98,101,32,48,32,111,114,32,49,0,79,110,77,101,109,111,114,121,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,77,101,109,111,114,121,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,77,101,109,111,114,121,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,71,108,111,98,97,108,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,108,111,98,97,108,32,99,111,117,110,116,0,79,110,71,108,111,98,97,108,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,71,108,111,98,97,108,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,71,108,111,98,97,108,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,111,112,99,111,100,101,0,105,110,105,116,95,101,120,112,114,32,105,51,50,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,73,110,105,116,69,120,112,114,73,51,50,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,105,116,95,101,120,112,114,32,105,54,52,46,99,111,110,115,116,32,118,97,108,117,101,0,105,110,118,97,108,105,100,32,105,54,52,32,108,101,98,49,50,56,58,32,37,115,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,105,54,52,32,108,101,98,49,50,56,58,32,37,115,0,79,110,73,110,105,116,69,120,112,114,73,54,52,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,105,116,95,101,120,112,114,32,102,51,50,46,99,111,110,115,116,32,118,97,108,117,101,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,102,108,111,97,116,58,32,37,115,0,79,110,73,110,105,116,69,120,112,114,70,51,50,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,105,116,95,101,120,112,114,32,102,54,52,46,99,111,110,115,116,32,118,97,108,117,101,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,100,111,117,98,108,101,58,32,37,115,0,79,110,73,110,105,116,69,120,112,114,70,54,52,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,105,116,95,101,120,112,114,32,103,101,116,95,103,108,111,98,97,108,32,105,110,100,101,120,0,79,110,73,110,105,116,69,120,112,114,71,101,116,71,108,111,98,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,117,110,101,120,112,101,99,116,101,100,32,111,112,99,111,100,101,32,105,110,32,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,58,32,37,100,32,40,48,120,37,120,41,0,101,120,112,101,99,116,101,100,32,69,78,68,32,111,112,99,111,100,101,32,97,102,116,101,114,32,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,0,69,110,100,71,108,111,98,97,108,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,71,108,111,98,97,108,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,71,108,111,98,97,108,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,69,120,112,111,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,120,112,111,114,116,32,99,111,117,110,116,0,79,110,69,120,112,111,114,116,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,120,112,111,114,116,32,105,116,101,109,32,110,97,109,101,0,101,120,112,111,114,116,32,101,120,116,101,114,110,97,108,32,107,105,110,100,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,101,120,116,101,114,110,97,108,32,107,105,110,100,0,101,120,112,111,114,116,32,105,116,101,109,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,102,117,110,99,32,105,110,100,101,120,58,32,37,100,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,116,97,98,108,101,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,109,101,109,111,114,121,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,103,108,111,98,97,108,32,105,110,100,101,120,0,79,110,69,120,112,111,114,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,69,120,112,111,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,83,116,97,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,116,97,114,116,32,102,117,110,99,116,105,111,110],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,79,110,83,116,97,114,116,70,117,110,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,83,116,97,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,69,108,101,109,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,108,101,109,32,115,101,103,109,101,110,116,32,99,111,117,110,116,0,79,110,69,108,101,109,83,101,103,109,101,110,116,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,108,101,109,32,115,101,99,116,105,111,110,32,119,105,116,104,111,117,116,32,116,97,98,108,101,32,115,101,99,116,105,111,110,0,101,108,101,109,32,115,101,103,109,101,110,116,32,116,97,98,108,101,32,105,110,100,101,120,0,66,101,103,105,110,69,108,101,109,83,101,103,109,101,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,69,108,101,109,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,69,108,101,109,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,108,101,109,32,115,101,103,109,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,32,99,111,117,110,116,0,79,110,69,108,101,109,83,101,103,109,101,110,116,70,117,110,99,116,105,111,110,73,110,100,101,120,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,108,101,109,32,115,101,103,109,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,79,110,69,108,101,109,83,101,103,109,101,110,116,70,117,110,99,116,105,111,110,73,110,100,101,120,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,69,108,101,109,83,101,103,109,101,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,69,108,101,109,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,67,111,100,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,98,111,100,121,32,99,111,117,110,116,0,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,32,99,111,117,110,116,32,33,61,32,102,117,110,99,116,105,111,110,32,98,111,100,121,32,99,111,117,110,116,0,79,110,70,117,110,99,116,105,111,110,66,111,100,121,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,70,117,110,99,116,105,111,110,66,111,100,121,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,98,111,100,121,32,115,105,122,101,0,108,111,99,97,108,32,100,101,99,108,97,114,97,116,105,111,110,32,99,111,117,110,116,0,79,110,76,111,99,97,108,68,101,99,108,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,85,110,114,101,97,99,104,97,98,108,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,66,97,114,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,98,108,111,99,107,32,115,105,103,110,97,116,117,114,101,32,116,121,112,101,0,101,120,112,101,99,116,101,100,32,118,97,108,105,100,32,98,108,111,99,107,32,115,105,103,110,97,116,117,114,101,32,116,121,112,101,0,79,110,66,108,111,99,107,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,66,108,111,99,107,83,105,103,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,108,111,111,112,32,115,105,103,110,97,116,117,114,101,32,116,121,112,101,0,79,110,76,111,111,112,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,102,32,115,105,103,110,97,116,117,114,101,32,116,121,112,101,0,79,110,73,102,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,69,108,115,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,83,101,108,101,99,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,98,114,32,100,101,112,116,104,0,79,110,66,114,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,85,105,110,116,51,50,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,98,114,95,105,102,32,100,101,112,116,104,0,79,110,66,114,73,102,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,98,114,95,116,97,98,108,101,32,116,97,114,103,101,116,32,99,111,117,110,116,0,98,114,95,116,97,98,108,101,32,100,101,102,97,117,108,116,32,116,97,114,103,101,116,32,100,101,112,116,104,0,98,114,95,116,97,98,108,101,32,116,97,114,103,101,116,32,100,101,112,116,104,0,79,110,66,114,84,97,98,108,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,82,101,116,117,114,110,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,78,111,112,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,68,114,111,112,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,69,110,100,70,117,110,99,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,69,110,100,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,51,50,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,73,51,50,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,54,52,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,73,54,52,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,85,105,110,116,54,52,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,51,50,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,70,51,50,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,70,51,50,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,54,52,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,70,54,52,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,70,54,52,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,101,116,95,103,108,111,98,97,108,32,103,108,111,98,97,108,32,105,110,100,101,120,0,79,110,71,101,116,71,108,111,98,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,101,116,95,108,111,99,97,108,32,108,111,99,97,108,32,105,110,100,101,120,0,79,110,71,101,116,76,111,99,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,116,95,103,108,111,98,97,108,32,103,108,111,98,97,108,32,105,110,100,101,120,0,79,110,83,101,116,71,108,111,98,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,116,95,108,111,99,97,108,32,108,111,99,97,108,32,105,110,100,101,120,0,79,110,83,101,116,76,111,99,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,99,97,108,108,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,99,97,108,108,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,79,110,67,97,108,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,99,97,108,108,95,105,110,100,105,114,101,99,116,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,99,97,108,108,95,105,110,100,105,114,101,99,116,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,99,97,108,108,95,105,110,100,105,114,101,99,116,32,114,101,115,101,114,118,101,100,0,99,97,108,108,95,105,110,100,105,114,101,99,116,32,114,101,115,101,114,118,101,100,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,48,0,79,110,67,97,108,108,73,110,100,105,114,101,99,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,85,105,110,116,51,50,85,105,110,116,51,50,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,101,101,95,108,111,99,97,108,32,108,111,99,97,108,32,105,110,100,101,120,0,79,110,84,101,101,76,111,99,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,108,111,97,100,32,97,108,105,103,110,109,101,110,116,0,108,111,97,100,32,111,102,102,115,101,116,0,79,110,76,111,97,100,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,116,111,114,101,32,97,108,105,103,110,109,101,110,116,0,115,116,111,114,101,32,111,102,102,115,101,116,0,79,110,83,116,111,114,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,99,117,114,114,101,110,116,95,109,101,109,111,114,121,32,114,101,115,101,114,118,101,100,0,99,117,114,114,101,110,116,95,109,101,109,111,114,121,32,114,101,115,101,114,118,101,100,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,48,0,79,110,67,117,114,114,101,110,116,77,101,109,111,114,121,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,114,111,119,95,109,101,109,111,114,121,32,114,101,115,101,114,118,101,100,0,103,114,111,119,95,109,101,109,111,114,121,32,114,101,115,101,114,118,101,100,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,48,0,79,110,71,114,111,119,77,101,109,111,114,121,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,66,105,110,97,114,121,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,67,111,109,112,97,114,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,85,110,97,114,121,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,67,111,110,118,101,114,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,117,110,101,120,112,101,99,116,101,100,32,111,112,99,111,100,101,58,32,37,100,32,40,48,120,37,120,41,0,102,117,110,99,116,105,111,110,32,98,111,100,121,32,108,111,110,103,101,114,32,116,104,97,110,32,103,105,118,101,110,32,115,105,122,101,0,102,117,110,99,116,105,111,110,32,98,111,100,121,32,109,117,115,116,32,101,110,100,32,119,105,116,104,32,69,78,68,32,111,112,99,111,100,101,0,108,111,99,97,108,32,116,121,112,101,32,99,111,117,110,116,0,108,111,99,97,108,32,116,121,112,101,0,101,120,112,101,99,116,101,100,32,118,97,108,105,100,32,108,111,99,97,108,32,116,121,112,101,0,79,110,76,111,99,97,108,68,101,99,108,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,70,117,110,99,116,105,111,110,66,111,100,121,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,67,111,100,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,68,97,116,97,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,100,97,116,97,32,115,101,103,109,101,110,116,32,99,111,117,110,116,0,79,110,68,97,116,97,83,101,103,109,101,110,116,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,100,97,116,97,32,115,101,99,116,105,111,110,32,119,105,116,104,111,117,116,32,109,101,109,111,114,121,32,115,101,99,116,105,111,110,0,100,97,116,97,32,115,101,103,109,101,110,116,32,109,101,109,111,114,121,32,105,110,100,101,120,0,66,101,103,105,110,68,97,116,97,83,101,103,109,101,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,68,97,116,97,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,68,97,116,97,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,100,97,116,97,32,115,101,103,109,101,110,116,32,100,97,116,97,0,100,97,116,97,32,115,105,122,101,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,100,97,116,97,58,32,37,115,0,79,110,68,97,116,97,83,101,103,109,101,110,116,68,97,116,97,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,68,97,116,97,83,101,103,109,101,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,68,97,116,97,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,117,110,102,105,110,105,115,104,101,100,32,115,101,99,116,105,111,110,32,40,101,120,112,101,99,116,101,100,32,101,110,100,58,32,48,120,37,122,120,41,0,69,110,100,77,111,100,117,108,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,78,52,119,97,98,116,49,57,66,105,110,97,114,121,82,101,97,100,101,114,76,111,103,103,105,110,103,69,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,66,101,103,105,110,77,111,100,117,108,101,40,118,101,114,115,105,111,110,58,32,37,117,41,10,0,69,110,100,77,111,100,117,108,101,10,0,66,101,103,105,110,67,117,115,116,111,109,83,101,99,116,105,111,110,40,39,37,46,42,115,39,44,32,115,105,122,101,58,32,37,100,41,10,0,69,110,100,67,117,115,116,111,109,83,101,99,116,105,111,110,10,0,66,101,103,105,110,84,121,112,101,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,84,121,112,101,67,111,117,110,116,40,37,117,41,10,0,79,110,84,121,112,101,40,105,110,100,101,120,58,32,37,117,44,32,112,97,114,97,109,115,58,32,0,91,0,97,110,121,0,118,111,105,100,0,102,117,110,99,0,97,110,121,102,117,110,99,0,102,54,52,0,102,51,50,0,105,54,52,0,105,51,50,0,37,115,0,44,32,0,93,0,44,32,114,101,115,117,108,116,115,58,32,0,41,10,0,69,110,100,84,121,112,101,83,101,99,116,105,111,110,10,0,66,101,103,105,110,73,109,112,111,114,116,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,73,109,112,111,114,116,67,111,117,110,116,40,37,117,41,10,0,79,110,73,109,112,111,114,116,40,105,110,100,101,120,58,32,37,117,44,32,109,111,100,117,108,101,58,32,34,37,46,42,115,34,44,32,102,105,101,108,100,58,32,34,37,46,42,115,34,41,10,0,79,110,73,109,112,111,114,116,70,117,110,99,40,105,109,112,111,114,116,95,105,110,100,101,120,58,32,37,117,44,32,102,117,110,99,95,105,110,100,101,120,58,32,37,117,44,32,115,105,103,95,105,110,100,101,120,58,32,37,117,41,10,0,105,110,105,116,105,97,108,58,32,37,108,108,117,44,32,109,97,120,58,32,37,108,108,117,0,105,110,105,116,105,97,108,58,32,37,108,108,117,0,79,110,73,109,112,111,114,116,84,97,98,108,101,40,105,109,112,111,114,116,95,105,110,100,101,120,58,32,37,117,44,32,116,97,98,108,101,95,105,110,100,101,120,58,32,37,117,44,32,101,108,101,109,95,116,121,112,101,58,32,37,115,44,32,37,115,41,10,0,79,110,73,109,112,111,114,116,77,101,109,111,114,121,40,105,109,112,111,114,116,95,105,110,100,101,120,58,32,37,117,44,32,109,101,109,111,114,121,95,105,110,100,101,120,58,32,37,117,44,32,37,115,41,10,0,116,114,117,101,0,102,97,108,115,101,0,79,110,73,109,112,111,114,116,71,108,111,98,97,108,40,105,109,112,111,114,116,95,105,110,100,101,120,58,32,37,117,44,32,103,108,111,98,97,108,95,105,110,100,101,120,58,32,37,117,44,32,116,121,112,101,58,32,37,115,44,32,109,117,116,97,98,108,101,58,32,37,115,41,10,0,69,110,100,73,109,112,111,114,116,83,101,99,116,105,111,110,10,0,66,101,103,105,110,70,117,110,99,116,105,111,110,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,67,111,117,110,116,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,40,105,110,100,101,120,58,32,37,117,44,32,115,105,103,95,105,110,100,101,120,58,32,37,117,41,10,0,69,110,100,70,117,110,99,116,105,111,110,83,101,99,116,105,111,110,10,0,66,101,103,105,110,84,97,98,108,101,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,84,97,98,108,101,67,111,117,110,116,40,37,117,41,10,0,79,110,84,97,98,108,101,40,105,110,100,101,120,58,32,37,117,44,32,101,108,101,109,95,116,121,112,101,58,32,37,115,44,32,37,115,41,10,0,69,110,100,84,97,98,108,101,83,101,99,116,105,111,110,10,0,66,101,103,105,110,77,101,109,111,114,121,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,77,101,109,111,114,121,67,111,117,110,116,40,37,117,41,10,0,79,110,77,101,109,111,114,121,40,105,110,100,101,120,58,32,37,117,44,32,37,115,41,10,0,69,110,100,77,101,109,111,114,121,83,101,99,116,105,111,110,10,0,66,101,103,105,110,71,108,111,98,97,108,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,71,108,111,98,97,108,67,111,117,110,116,40,37,117,41,10,0,66,101,103,105,110,71,108,111,98,97,108,40,105,110,100,101,120,58,32,37,117,44,32,116,121,112,101,58,32,37,115,44,32,109,117,116,97,98,108,101,58,32,37,115,41,10,0,66,101,103,105,110,71,108,111,98,97,108,73,110,105,116,69,120,112,114,40,37,117,41,10,0,69,110,100,71,108,111,98,97,108,73,110,105,116,69,120,112,114,40,37,117,41,10,0,69,110,100,71,108,111,98,97,108,40,37,117,41,10,0,69,110,100,71,108,111,98,97,108,83,101,99,116,105,111,110,10,0,66,101,103,105,110,69,120,112,111,114,116,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,69,120,112,111,114,116,67,111,117,110,116,40,37,117,41,10,0,79,110,69,120,112,111,114,116,40,105,110,100,101,120,58,32,37,117,44,32,107,105,110,100,58,32,37,115,44,32,105,116,101,109,95,105,110,100,101,120,58,32,37,117,44,32,110,97,109,101,58,32,34,37,46,42,115,34,41,10,0,69,110,100,69,120,112,111,114,116,83,101,99,116,105,111,110,10,0,66,101,103,105,110,83,116,97,114,116,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,83,116,97,114,116,70,117,110,99,116,105,111,110,40,37,117,41,10,0,69,110,100,83,116,97,114,116,83,101,99,116,105,111,110,10,0,66,101,103,105,110,67,111,100,101,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,66,111,100,121,67,111,117,110,116,40,37,117,41,10,0,66,101,103,105,110,70,117,110,99,116,105,111,110,66,111,100,121,40,37,117,41,10,0,79,110,76,111,99,97,108,68,101,99,108,67,111,117,110,116,40,37,117,41,10,0,79,110,76,111,99,97,108,68,101,99,108,40,105,110,100,101,120,58,32,37,117,44,32,99,111,117,110,116,58,32,37,117,44,32,116,121,112,101,58,32,37,115,41,10,0,79,110,66,105,110,97,114,121,69,120,112,114,40,34,37,115,34,32,40,37,117,41,41,10,0,79,110,66,108,111,99,107,69,120,112,114,40,115,105,103,58,32,0,79,110,66,114,69,120,112,114,40,100,101,112,116,104,58,32,37,117,41,10,0,79,110,66,114,73,102,69,120,112,114,40,100,101,112,116,104,58,32,37,117,41,10,0,79,110,66,114,84,97,98,108,101,69,120,112,114,40,110,117,109,95,116,97,114,103,101,116,115,58,32,37,117,44,32,100,101,112,116,104,115,58,32,91,0,93,44,32,100,101,102,97,117,108,116,58,32,37,117,41,10,0,37,117,0,79,110,67,97,108,108,69,120,112,114,40,102,117,110,99,95,105,110,100,101,120,58,32,37,117,41,10,0,79,110,67,97,108,108,73,110,100,105,114,101,99,116,69,120,112,114,40,115,105,103,95,105,110,100,101,120,58,32,37,117,41,10,0,79,110,67,111,109,112,97,114,101,69,120,112,114,40,34,37,115,34,32,40,37,117,41,41,10,0,79,110,67,111,110,118,101,114,116,69,120,112,114,40,34,37,115,34,32,40,37,117,41,41,10,0,79,110,67,117,114,114,101,110,116,77,101,109,111,114,121,69,120,112,114,10,0,79,110,68,114,111,112,69,120,112,114,10,0,79,110,69,108,115,101,69,120,112,114,10,0,79,110,69,110,100,69,120,112,114,10,0,79,110,70,51,50,67,111,110,115,116,69,120,112,114,40,37,103,32,40,48,120,48,52,37,120,41,41,10,0,79,110,70,54,52,67,111,110,115,116,69,120,112,114,40,37,103,32,40,48,120,48,56,37,108,108,120,41,41,10,0,79,110,71,101,116,71,108,111,98,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,71,101,116,76,111,99,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,71,114,111,119,77,101,109,111,114,121,69,120,112,114,10,0,79,110,73,51,50,67,111,110,115,116,69,120,112,114,40,37,117,32,40,48,120,37,120,41,41,10,0,79,110,73,54,52,67,111,110,115,116,69,120,112,114,40,37,108,108,117,32,40,48,120,37,108,108,120,41,41,10,0,79,110,73,102,69,120,112,114,40,115,105,103,58,32,0,79,110,76,111,97,100,69,120,112,114,40,111,112,99,111,100,101,58,32,34,37,115,34,32,40,37,117,41,44,32,97,108,105,103,110,32,108,111,103,50,58,32,37,117,44,32,111,102,102,115,101,116,58,32,37,117,41,10,0,79,110,76,111,111,112,69,120,112,114,40,115,105,103,58,32,0,79,110,78,111,112,69,120,112,114,10,0,79,110,82,101,116,117,114,110,69,120,112,114,10,0,79,110,83,101,108,101,99,116,69,120,112,114,10,0,79,110,83,101,116,71,108,111,98,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,83,101,116,76,111,99,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,83,116,111,114,101,69,120,112,114,40,111,112,99,111,100,101,58,32,34,37,115,34,32,40,37,117,41,44,32,97,108,105,103,110,32,108,111,103,50,58,32,37,117,44,32,111,102,102,115,101,116,58,32,37,117,41,10,0,79,110,84,101,101,76,111,99,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,85,110,97,114,121,69,120,112,114,40,34,37,115,34,32,40,37,117,41,41,10,0,79,110,85,110,114,101,97,99,104,97,98,108,101,69,120,112,114,10,0,69,110,100,70,117,110,99,116,105,111,110,66,111,100,121,40,37,117,41,10,0,69,110,100,67,111,100,101,83,101,99,116,105,111,110,10,0,66,101,103,105,110,69,108,101,109,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,69,108,101,109,83,101,103,109,101,110,116,67,111,117,110,116,40,37,117,41,10,0,66,101,103,105,110,69,108,101,109,83,101,103,109,101,110,116,40,105,110,100,101,120,58,32,37,117,44,32,116,97,98,108,101,95,105,110,100,101,120,58,32,37,117,41,10,0,66,101,103,105,110,69,108,101,109,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,40,37,117,41,10,0,69,110,100,69,108,101,109,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,40,37,117,41,10,0,79,110,69,108,101,109,83,101,103,109,101,110,116,70,117,110,99,116,105,111,110,73,110,100,101,120,67,111,117,110,116,40,105,110,100,101,120,58,32,37,117,44,32,99,111,117,110,116,58,32,37,117,41,10,0,79,110,69,108,101,109,83,101,103,109,101,110,116,70,117,110,99,116,105,111,110,73,110,100,101,120,40,105,110,100,101,120,58,32,37,117,44,32,102,117,110,99,95,105,110,100,101,120,58,32,37,117,41,10,0,69,110,100,69,108,101,109,83,101,103,109,101,110,116,40,37,117,41,10,0,69,110,100,69,108,101,109,83,101,99,116,105,111,110,10,0,66,101,103,105,110,68,97,116,97,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,68,97,116,97,83,101,103,109,101,110,116,67,111,117,110,116,40,37,117,41,10,0,66,101,103,105,110,68,97,116,97,83,101,103,109,101,110,116,40,105,110,100,101,120,58,32,37,117,44,32,109,101,109,111,114,121,95,105,110,100,101,120,58,32,37,117,41,10,0,66,101,103,105,110,68,97,116,97,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,40,37,117,41,10,0,69,110,100,68,97,116,97,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,40,37,117,41,10,0,79,110,68,97,116,97,83,101,103,109,101,110,116,68,97,116,97,40,105,110,100,101,120,58,37,117,44,32,115,105,122,101,58,37,117,41,10,0,69,110,100,68,97,116,97,83,101,103,109,101,110,116,40,37,117,41,10,0,69,110,100,68,97,116,97,83,101,99,116,105,111,110,10,0,66,101,103,105,110,78,97,109,101,115,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,83,117,98,115,101,99,116,105,111,110,40,105,110,100,101,120,58,37,117,44,32,110,97,109,101,116,121,112,101,58,37,117,44,32,115,105,122,101,58,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,115,67,111,117,110,116,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,40,105,110,100,101,120,58,32,37,117,44,32,110,97,109,101,58,32,34,37,46,42,115,34,41,10,0,79,110,76,111,99,97,108,78,97,109,101,83,117,98,115,101,99,116,105,111,110,40,105,110,100,101,120,58,37,117,44,32,110,97,109,101,116,121,112,101,58,37,117,44,32,115,105,122,101,58,37,117,41,10,0,79,110,76,111,99,97,108,78,97,109,101,70,117,110,99,116,105,111,110,67,111,117,110,116,40,37,117,41,10,0,79,110,76,111,99,97,108,78,97,109,101,76,111,99,97,108,67,111,117,110,116,40,105,110,100,101,120,58,32,37,117,44,32,99,111,117,110,116,58,32,37,117,41,10,0,79,110,76,111,99,97,108,78,97,109,101,40,102,117,110,99,95,105,110,100,101,120,58,32,37,117,44,32,108,111,99,97,108,95,105,110,100,101,120,58,32,37,117,44,32,110,97,109,101,58,32,34,37,46,42,115,34,41,10,0,69,110,100,78,97,109,101,115,83,101,99,116,105,111,110,10,0,66,101,103,105,110,82,101,108,111,99,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,82,101,108,111,99,67,111,117,110,116,40,99,111,117,110,116,58,32,37,100,44,32,115,101,99,116,105,111,110,58,32,37,115,44,32,115,101,99,116,105,111,110,95,110,97,109,101,58,32,37,46,42,115,41,10,0,79,110,82,101,108,111,99,40,116,121,112,101,58,32,37,115,44,32,111,102,102,115,101,116,58,32,37,117,44,32,105,110,100,101,120,58,32,37,117,44,32,97,100,100,101,110,100,58,32,37,100,41,10,0,69,110,100,82,101,108,111,99,83,101,99,116,105,111,110,10,0,79,110,73,110,105,116,69,120,112,114,70,51,50,67,111,110,115,116,69,120,112,114,40,105,110,100,101,120,58,32,37,117,44,32,118,97,108,117,101,58,32,37,103,32,40,48,120,48,52,37,120,41,41,10,0,79,110,73,110,105,116,69,120,112,114,70,54,52,67,111,110,115,116,69,120,112,114,40,105,110,100,101,120,58,32,37,117,32,118,97,108,117,101,58,32,37,103,32,40,48,120,48,56,37,108,108,120,41,41,10,0,79,110,73,110,105,116,69,120,112,114,71,101,116,71,108,111,98,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,44,32,103,108,111,98,97,108,95,105,110,100,101,120,58,32,37,117,41,10,0,79,110,73,110,105,116,69,120,112,114,73,51,50,67,111,110,115,116,69,120,112,114,40,105,110,100,101,120,58,32,37,117,44,32,118,97,108,117,101,58,32,37,117,41,10,0,79,110,73,110,105,116,69,120,112,114,73,54,52,67,111,110,115,116,69,120,112,114,40,105,110,100,101,120,58,32,37,117,44,32,118,97,108,117,101,58,32,37,108,108,117,41,10,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,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,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,46,0,105,110,102,105,110,105,116,121,0,110,97,110,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,98,105,110,106,105,47,100,101,118,47,101,109,115,99,114,105,112,116,101,110,47,101,109,115,99,114,105,112,116,101,110,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,98,105,110,106,105,47,100,101,118,47,101,109,115,99,114,105,112,116,101,110,47,101,109,115,99,114,105,112,116,101,110,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,117,110,99,97,117,103,104,116,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){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 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:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var _llvm_fabs_f64=Math_abs;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){asm["setThrew"](env,value||1);throw"longjmp"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _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}Module["_i64Add"]=_i64Add;function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);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}return ret}Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){___syscall146.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_ctlz_i64"]=_llvm_ctlz_i64;__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);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_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){return Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6,a7)}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function 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;asm["setThrew"](1,0)}}function jsCall_viiiii(index,a1,a2,a3,a4,a5){Runtime.functionPointers[index](a1,a2,a3,a4,a5)}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_vi(index,a1){Runtime.functionPointers[index](a1)}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_vii(index,a1,a2){Runtime.functionPointers[index](a1,a2)}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6){return Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6)}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_ii(index,a1){return Runtime.functionPointers[index](a1)}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_viii(index,a1,a2,a3){Runtime.functionPointers[index](a1,a2,a3)}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_v(index){Runtime.functionPointers[index]()}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiii(index,a1,a2,a3,a4){return Runtime.functionPointers[index](a1,a2,a3,a4)}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_viiiiii(index,a1,a2,a3,a4,a5,a6){Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6)}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iii(index,a1,a2){return Runtime.functionPointers[index](a1,a2)}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiiii(index,a1,a2,a3,a4,a5){return Runtime.functionPointers[index](a1,a2,a3,a4,a5)}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_viiii(index,a1,a2,a3,a4){Runtime.functionPointers[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_iiiiiiii":invoke_iiiiiiii,"jsCall_iiiiiiii":jsCall_iiiiiiii,"invoke_iiii":invoke_iiii,"jsCall_iiii":jsCall_iiii,"invoke_viiiii":invoke_viiiii,"jsCall_viiiii":jsCall_viiiii,"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,"___syscall54":___syscall54,"_abort":_abort,"_llvm_fabs_f64":_llvm_fabs_f64,"___gxx_personality_v0":___gxx_personality_v0,"___assert_fail":___assert_fail,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"_longjmp":_longjmp,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"__exit":__exit,"_pthread_getspecific":_pthread_getspecific,"_pthread_self":_pthread_self,"_pthread_once":_pthread_once,"_pthread_key_create":_pthread_key_create,"___unlock":___unlock,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"_sysconf":_sysconf,"___lock":___lock,"___syscall6":___syscall6,"_pthread_cleanup_push":_pthread_cleanup_push,"_time":_time,"___syscall140":___syscall140,"_exit":_exit,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM +var wabt=wabt||{};((function(wabt){"use strict";var WABT_OK=0;function malloc(size){var addr=Module._malloc(size);if(addr==0){throw new Error("out of memory")}return addr}function allocateBuffer(buf){var addr;var size;if(buf instanceof ArrayBuffer){size=buf.byteLength;addr=malloc(size);HEAPU8.set(new Uint8Array(buf),addr)}else if(ArrayBuffer.isView(buf)){size=buf.byteLength;addr=malloc(size);HEAPU8.set(new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength),addr)}else if(typeof buf=="string"){size=buf.length;addr=malloc(size);Module.writeAsciiToMemory(buf,addr,true)}else{throw new Error("unknown buffer type: "+buf)}return{addr:addr,size:size}}function allocateCString(s){var size=s.length;var addr=malloc(size);Module.writeAsciiToMemory(s,addr);return{addr:addr,size:size}}function Lexer(filename,buffer){this.filenameObj=allocateCString(filename);this.bufferObj=allocateBuffer(buffer);this.addr=Module._wabt_new_wast_buffer_lexer(this.filenameObj.addr,this.bufferObj.addr,this.bufferObj.size)}Lexer.prototype=Object.create(Object.prototype);Lexer.prototype.destroy=(function(){Module._wabt_destroy_wast_lexer(this.addr);Module._free(this.bufferObj.addr);Module._free(this.filenameObj.addr)});function OutputBuffer(addr){this.addr=addr}OutputBuffer.prototype=Object.create(Object.prototype);OutputBuffer.prototype.toTypedArray=(function(){if(!this.addr){return null}var addr=Module._wabt_output_buffer_get_data(this.addr);var size=Module._wabt_output_buffer_get_size(this.addr);var buffer=new Uint8Array(size);buffer.set(new Uint8Array(HEAPU8.buffer,addr,size));return buffer});OutputBuffer.prototype.toString=(function(){if(!this.addr){return""}var addr=Module._wabt_output_buffer_get_data(this.addr);var size=Module._wabt_output_buffer_get_size(this.addr);return Module.Pointer_stringify(addr,size)});OutputBuffer.prototype.destroy=(function(){Module._wabt_destroy_output_buffer(this.addr)});function ErrorHandler(){this.addr=Module._wabt_new_source_error_handler_buffer()}ErrorHandler.prototype=Object.create(Object.prototype);ErrorHandler.prototype.getMessage=(function(){var addr=Module._wabt_source_error_handler_buffer_get_data(this.addr);var size=Module._wabt_source_error_handler_buffer_get_size(this.addr);return Module.Pointer_stringify(addr,size)});ErrorHandler.prototype.destroy=(function(){Module._wabt_destroy_source_error_handler_buffer(this.addr)});function parseWast(filename,buffer){var lexer=new Lexer(filename,buffer);var errorHandler=new ErrorHandler;try{var parseResult_addr=Module._wabt_parse_wast(lexer.addr,errorHandler.addr);var result=Module._wabt_parse_wast_result_get_result(parseResult_addr);if(result!==WABT_OK){throw new Error("parseWast failed:\n"+errorHandler.getMessage())}var script_addr=Module._wabt_parse_wast_result_release_script(parseResult_addr);var result=new Script(lexer,script_addr);lexer=null;return result}finally{Module._wabt_destroy_parse_wast_result(parseResult_addr);errorHandler.destroy();if(lexer){lexer.destroy()}}}function Script(lexer,script_addr){this.lexer=lexer;this.script_addr=script_addr}Script.prototype=Object.create(Object.prototype);Script.prototype.resolveNames=(function(){var errorHandler=new ErrorHandler;try{var result=Module._wabt_resolve_names_script(this.lexer.addr,this.script_addr,errorHandler.addr);if(result!==WABT_OK){throw new Error("resolveNames failed:\n"+errorHandler.getMessage())}}finally{errorHandler.destroy()}});Script.prototype.validate=(function(){var errorHandler=new ErrorHandler;try{var result=Module._wabt_validate_script(this.lexer.addr,this.script_addr,errorHandler.addr);if(result!==WABT_OK){throw new Error("validate failed:\n"+errorHandler.getMessage())}}finally{errorHandler.destroy()}});Script.prototype.toBinary=(function(options){var log=options.log||false;var canonicalize_lebs=options.canonicalize_lebs||true;var relocatable=options.relocatable||false;var write_debug_names=options.write_debug_names||false;var writeBinaryResult_addr=Module._wabt_write_binary_module(this.script_addr,log,canonicalize_lebs,relocatable,write_debug_names);var result=Module._wabt_write_binary_module_result_get_result(writeBinaryResult_addr);try{if(result!==WABT_OK){throw new Error("writeBinaryModule failed.")}var binaryOutputBuffer=new OutputBuffer(Module._wabt_write_binary_module_result_release_binary_output_buffer(writeBinaryResult_addr));var logOutputBuffer=new OutputBuffer(Module._wabt_write_binary_module_result_release_log_output_buffer(writeBinaryResult_addr));return{buffer:binaryOutputBuffer.toTypedArray(),log:logOutputBuffer.toString()}}finally{if(binaryOutputBuffer){binaryOutputBuffer.destroy()}if(logOutputBuffer){logOutputBuffer.destroy()}Module._wabt_destroy_write_binary_module_result(writeBinaryResult_addr)}});Script.prototype.destroy=(function(){Module._wabt_destroy_script(this.script_addr);this.lexer.destroy()});wabt.ready=Promise.resolve();wabt.parseWast=parseWast}))(wabt);var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;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){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),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)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[null,null,null,null,null,null,null,null,null,null],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;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}),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:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){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<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function 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=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||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(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;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}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+36720;__ATINIT__.push();allocate([40,26,0,0,34,43,0,0,80,26,0,0,76,43,0,0,8,0,0,0,0,0,0,0,80,26,0,0,233,44,0,0,48,0,0,0,0,0,0,0,40,26,0,0,11,45,0,0,80,26,0,0,164,67,0,0,72,0,0,0,0,0,0,0,80,26,0,0,203,67,0,0,88,0,0,0,0,0,0,0,40,26,0,0,228,67,0,0,80,26,0,0,94,69,0,0,8,0,0,0,0,0,0,0,80,26,0,0,173,70,0,0,128,0,0,0,0,0,0,0,40,26,0,0,195,70,0,0,80,26,0,0,209,109,0,0,88,0,0,0,0,0,0,0,40,26,0,0,6,136,0,0,80,26,0,0,228,135,0,0,192,0,0,0,0,0,0,0,80,26,0,0,145,135,0,0,160,0,0,0,0,0,0,0,80,26,0,0,182,135,0,0,208,0,0,0,0,0,0,0,40,26,0,0,215,135,0,0,80,26,0,0,204,136,0,0,152,0,0,0,0,0,0,0,80,26,0,0,12,137,0,0,192,0,0,0,0,0,0,0,80,26,0,0,232,136,0,0,232,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,22,0,0,0,0,0,0,0,32,0,0,0,24,0,0,0,25,0,0,0,22,0,0,0,116,50,0,0,122,50,0,0,128,50,0,0,139,50,0,0,143,50,0,0,147,50,0,0,151,50,0,0,155,50,0,0,161,50,0,0,166,50,0,0,170,50,0,0,181,50,0,0,189,50,0,0,193,50,0,0,197,50,0,0,202,50,0,0,208,50,0,0,212,50,0,0,215,50,0,0,220,50,0,0,225,50,0,0,230,50,0,0,233,50,0,0,239,50,0,0,248,50,0,0,253,50,0,0,9,51,0,0,23,51,0,0,30,51,0,0,40,51,0,0,50,51,0,0,60,51,0,0,71,51,0,0,82,51,0,0,87,51,0,0,93,51,0,0,107,51,0,0,120,51,0,0,126,51,0,0,132,51,0,0,139,51,0,0,147,51,0,0,155,51,0,0,162,51,0,0,174,51,0,0,189,51,0,0,201,51,0,0,206,51,0,0,212,51,0,0,217,51,0,0,223,51,0,0,230,51,0,0,236,51,0,0,243,51,0,0,250,51,0,0,0,52,0,0,5,52,0,0,12,52,0,0,17,52,0,0,24,52,0,0,31,52,0,0,38,52,0,0,47,52,0,0,54,52,0,0,58,52,0,0,75,52,0,0,90,52,0,0,108,52,0,0,122,52,0,0,150,52,0,0,179,52,0,0,191,52,0,0,209,52,0,0,215,52,0,0,222,52,0,0,226,52,0,0,234,52,0,0,254,52,0,0,8,53,0,0,20,53,0,0,36,53,0,0,46,53,0,0,58,53,0,0,68,53,0,0,77,53,0,0,87,53,0,0,98,53,0,0,105,53,0,0,114,53,0,0,118,53,0,0,126,53,0,0,130,53,0,0,139,53,0,0,152,53,0,0,161,53,0,0,174,53,0,0,185,53,0,0,195,53,0,0,201,53,0,0,213,53,0,0,180,79,0,0,225,53,0,0,230,53,0,0,236,53,0,0,240,53,0,0,251,53,0,0,5,54,0,0,16,54,0,0,28,54,0,0,38,54,0,0,39,111,0,0,116,84,0,0,48,54,0,0,201,69,0,0,53,54,0,0,207,69,0,0,214,69,0,0,58,54,0,0,70,54,0,0,77,54,0,0,91,54,0,0,103,54,0,0,110,54,0,0,128,54,0,0,142,54,0,0,151,54,0,0,157,54,0,0,171,54,0,0,182,54,0,0,189,54,0,0,3,63,0,0,204,54,0,0,214,54,0,0,218,54,0,0,227,54,0,0,233,54,0,0,244,54,0,0,251,54,0,0,0,0,0,0,0,0,0,0,56,0,0,0,26,0,0,0,27,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,22,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,24,0,0,0,23,0,0,0,26,0,0,0,28,0,0,0,29,0,0,0,25,0,0,0,27,0,0,0,30,0,0,0,31,0,0,0,23,0,0,0,28,0,0,0,32,0,0,0,33,0,0,0,26,0,0,0,29,0,0,0,34,0,0,0,35,0,0,0,24,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,30,0,0,0,39,0,0,0,40,0,0,0,23,0,0,0,31,0,0,0,41,0,0,0,42,0,0,0,32,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,25,0,0,0,47,0,0,0,33,0,0,0,48,0,0,0,27,0,0,0,28,0,0,0,49,0,0,0,29,0,0,0,30,0,0,0,50,0,0,0,31,0,0,0,51,0,0,0,52,0,0,0,26,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,57,0,0,0,32,0,0,0,58,0,0,0,59,0,0,0,39,0,0,0,60,0,0,0,33,0,0,0,34,0,0,0,27,0,0,0,35,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,61,0,0,0,62,0,0,0,28,0,0,0,63,0,0,0,64,0,0,0,43,0,0,0,65,0,0,0,44,0,0,0,66,0,0,0,67,0,0,0,36,0,0,0,68,0,0,0,69,0,0,0,37,0,0,0,38,0,0,0,70,0,0,0,45,0,0,0,71,0,0,0,72,0,0,0,39,0,0,0,73,0,0,0,74,0,0,0,29,0,0,0,75,0,0,0,46,0,0,0,76,0,0,0,30,0,0,0,77,0,0,0,40,0,0,0,31,0,0,0,78,0,0,0,41,0,0,0,32,0,0,0,47,0,0,0,79,0,0,0,33,0,0,0,24,0,0,0,48,0,0,0,42,0,0,0,34,0,0,0,43,0,0,0,44,0,0,0,35,0,0,0,0,0,0,0,96,0,0,0,28,0,0,0,29,0,0,0,25,0,0,0,49,0,0,0,125,69,0,0,132,69,0,0,137,69,0,0,144,69,0,0,153,69,0,0,159,69,0,0,166,69,0,0,173,69,0,0,180,69,0,0,186,69,0,0,191,69,0,0,196,69,0,0,39,111,0,0,201,69,0,0,207,69,0,0,214,69,0,0,221,69,0,0,238,69,0,0,1,70,0,0,19,70,0,0,37,70,0,0,56,70,0,0,74,70,0,0,91,70,0,0,0,0,0,0,112,0,0,0,30,0,0,0,31,0,0,0,36,0,0,0,37,0,0,0,210,70,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,222,70,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,180,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,186,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,191,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,226,70,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,231,70,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,246,70,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,5,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,20,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,35,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,50,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,25,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,28,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,34,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,210,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,43,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,48,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,54,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,69,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,84,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,99,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,114,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,129,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,144,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,159,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,62,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,217,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,174,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,189,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,204,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,219,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,234,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,235,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,245,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,244,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,224,79,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,255,71,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,14,72,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,29,72,0,0,192,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,44,72,0,0,255,255,255,255,255,255,255,255,192,255,255,255,4,0,0,0,53,72,0,0,254,255,255,255,255,255,255,255,192,255,255,255,8,0,0,0,62,72,0,0,253,255,255,255,255,255,255,255,192,255,255,255,4,0,0,0,71,72,0,0,252,255,255,255,255,255,255,255,192,255,255,255,8,0,0,0,80,72,0,0,255,255,255,255,255,255,255,255,192,255,255,255,1,0,0,0,92,72,0,0,255,255,255,255,255,255,255,255,192,255,255,255,1,0,0,0,104,72,0,0,255,255,255,255,255,255,255,255,192,255,255,255,2,0,0,0,117,72,0,0,255,255,255,255,255,255,255,255,192,255,255,255,2,0,0,0,130,72,0,0,254,255,255,255,255,255,255,255,192,255,255,255,1,0,0,0,142,72,0,0,254,255,255,255,255,255,255,255,192,255,255,255,1,0,0,0,154,72,0,0,254,255,255,255,255,255,255,255,192,255,255,255,2,0,0,0,167,72,0,0,254,255,255,255,255,255,255,255,192,255,255,255,2,0,0,0,180,72,0,0,254,255,255,255,255,255,255,255,192,255,255,255,4,0,0,0,193,72,0,0,254,255,255,255,255,255,255,255,192,255,255,255,4,0,0,0,206,72,0,0,192,255,255,255,255,255,255,255,255,255,255,255,4,0,0,0,216,72,0,0,192,255,255,255,255,255,255,255,254,255,255,255,8,0,0,0,226,72,0,0,192,255,255,255,255,255,255,255,253,255,255,255,4,0,0,0,236,72,0,0,192,255,255,255,255,255,255,255,252,255,255,255,8,0,0,0,246,72,0,0,192,255,255,255,255,255,255,255,255,255,255,255,1,0,0,0,1,73,0,0,192,255,255,255,255,255,255,255,255,255,255,255,2,0,0,0,13,73,0,0,192,255,255,255,255,255,255,255,254,255,255,255,1,0,0,0,24,73,0,0,192,255,255,255,255,255,255,255,254,255,255,255,2,0,0,0,36,73,0,0,192,255,255,255,255,255,255,255,254,255,255,255,4,0,0,0,48,73,0,0,255,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,63,73,0,0,255,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,75,73,0,0,255,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,85,73,0,0,254,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,95,73,0,0,253,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,105,73,0,0,252,255,255,255,192,255,255,255,192,255,255,255,0,0,0,0,115,73,0,0,255,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,123,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,130,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,137,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,146,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,155,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,164,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,173,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,182,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,191,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,200,73,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,209,73,0,0,255,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,217,73,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,224,73,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,231,73,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,73,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,249,73,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,74,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,11,74,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,20,74,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,29,74,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,38,74,0,0,255,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,47,74,0,0,255,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,54,74,0,0,255,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,61,74,0,0,255,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,68,74,0,0,255,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,75,74,0,0,255,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,82,74,0,0,255,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,89,74,0,0,255,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,96,74,0,0,255,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,103,74,0,0,255,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,110,74,0,0,255,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,117,74,0,0,255,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,124,74,0,0,255,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,131,74,0,0,255,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,139,74,0,0,255,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,147,74,0,0,255,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,158,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,166,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,174,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,182,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,192,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,202,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,212,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,222,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,230,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,237,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,245,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,253,74,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,7,75,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,17,75,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,26,75,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,35,75,0,0,254,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,43,75,0,0,254,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,51,75,0,0,254,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,62,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,70,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,78,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,86,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,96,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,106,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,116,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,126,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,134,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,141,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,149,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,157,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,167,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,177,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,186,75,0,0,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,195,75,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,203,75,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,211,75,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,220,75,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,230,75,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,240,75,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,252,75,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,5,76,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,13,76,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,21,76,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,29,76,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,37,76,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,45,76,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,53,76,0,0,253,255,255,255,253,255,255,255,253,255,255,255,0,0,0,0,66,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,74,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,82,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,91,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,101,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,111,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,123,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,132,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,140,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,148,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,156,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,164,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,172,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,180,76,0,0,252,255,255,255,252,255,255,255,252,255,255,255,0,0,0,0,193,76,0,0,255,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,206,76,0,0,255,255,255,255,253,255,255,255,192,255,255,255,0,0,0,0,222,76,0,0,255,255,255,255,253,255,255,255,192,255,255,255,0,0,0,0,238,76,0,0,255,255,255,255,252,255,255,255,192,255,255,255,0,0,0,0,254,76,0,0,255,255,255,255,252,255,255,255,192,255,255,255,0,0,0,0,14,77,0,0,254,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,31,77,0,0,254,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,48,77,0,0,254,255,255,255,253,255,255,255,192,255,255,255,0,0,0,0,64,77,0,0,254,255,255,255,253,255,255,255,192,255,255,255,0,0,0,0,80,77,0,0,254,255,255,255,252,255,255,255,192,255,255,255,0,0,0,0,96,77,0,0,254,255,255,255,252,255,255,255,192,255,255,255,0,0,0,0,112,77,0,0,253,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,130,77,0,0,253,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,148,77,0,0,253,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,166,77,0,0,253,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,184,77,0,0,253,255,255,255,252,255,255,255,192,255,255,255,0,0,0,0,199,77,0,0,252,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,217,77,0,0,252,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,235,77,0,0,252,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,253,77,0,0,252,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,15,78,0,0,252,255,255,255,253,255,255,255,192,255,255,255,0,0,0,0,31,78,0,0,255,255,255,255,253,255,255,255,192,255,255,255,0,0,0,0,51,78,0,0,254,255,255,255,252,255,255,255,192,255,255,255,0,0,0,0,71,78,0,0,253,255,255,255,255,255,255,255,192,255,255,255,0,0,0,0,91,78,0,0,252,255,255,255,254,255,255,255,192,255,255,255,0,0,0,0,171,79,0,0,180,79,0,0,186,79,0,0,191,79,0,0,194,79,0,0,0,0,0,0,136,0,0,0,32,0,0,0,33,0,0,0,80,0,0,0,23,0,0,0,81,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,51,0,0,0,82,0,0,0,83,0,0,0,25,0,0,0,52,0,0,0,84,0,0,0,85,0,0,0,38,0,0,0,26,0,0,0,24,0,0,0,27,0,0,0,25,0,0,0,53,0,0,0,86,0,0,0,87,0,0,0,47,0,0,0,54,0,0,0,88,0,0,0,89,0,0,0,39,0,0,0,55,0,0,0,90,0,0,0,91,0,0,0,48,0,0,0,56,0,0,0,92,0,0,0,93,0,0,0,40,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,57,0,0,0,97,0,0,0,98,0,0,0,26,0,0,0,58,0,0,0,99,0,0,0,100,0,0,0,59,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,41,0,0,0,105,0,0,0,60,0,0,0,106,0,0,0,49,0,0,0,50,0,0,0,107,0,0,0,51,0,0,0,52,0,0,0,108,0,0,0,53,0,0,0,109,0,0,0,110,0,0,0,42,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,115,0,0,0,54,0,0,0,116,0,0,0,117,0,0,0,66,0,0,0,118,0,0,0,55,0,0,0,56,0,0,0,43,0,0,0,57,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,119,0,0,0,120,0,0,0,44,0,0,0,121,0,0,0,122,0,0,0,70,0,0,0,123,0,0,0,71,0,0,0,124,0,0,0,125,0,0,0,58,0,0,0,126,0,0,0,127,0,0,0,59,0,0,0,60,0,0,0,128,0,0,0,72,0,0,0,129,0,0,0,130,0,0,0,61,0,0,0,131,0,0,0,132,0,0,0,45,0,0,0,133,0,0,0,73,0,0,0,134,0,0,0,46,0,0,0,135,0,0,0,62,0,0,0,47,0,0,0,136,0,0,0,63,0,0,0,48,0,0,0,74,0,0,0,137,0,0,0,49,0,0,0,27,0,0,0,75,0,0,0,64,0,0,0,50,0,0,0,65,0,0,0,66,0,0,0,51,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,68,0,0,0,100,139,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,36,23,0,0,156,23,0,0,5,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,68,0,0,0,108,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,22,0,0,0,0,0,0,0,160,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,71,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,0,0,0,0,176,0,0,0,34,0,0,0,38,0,0,0,36,0,0,0,37,0,0,0,71,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,0,0,0,0,216,0,0,0,39,0,0,0,40,0,0,0,77,0,0,0,238,254,41,0,238,254,46,0,68,0,238,254,238,254,238,254,238,254,238,254,238,254,60,0,73,0,82,0,82,0,121,0,121,0,121,0,123,0,123,0,123,0,142,0,123,0,238,254,166,0,238,254,238,254,82,0,238,254,73,0,73,0,128,0,73,0,73,0,73,0,104,0,238,254,184,0,205,0,0,0,73,0,73,0,73,0,238,254,161,0,221,0,213,0,238,254,243,0,245,0,254,0,255,0,228,0,238,254,238,254,0,1,7,1,8,1,238,254,238,254,116,0,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,231,0,238,254,238,254,238,254,238,254,153,0,238,254,238,254,238,254,238,254,238,254,60,0,98,0,69,0,60,0,60,0,111,0,60,0,111,0,73,0,73,0,238,254,237,0,152,1,238,254,238,254,238,254,9,1,224,0,11,1,204,0,58,0,14,1,73,1,15,1,238,254,238,254,16,1,15,1,166,0,73,0,17,1,238,254,238,254,238,254,19,1,32,1,238,254,238,254,60,0,60,0,60,0,98,0,98,0,238,254,98,0,98,0,238,254,98,0,98,0,98,0,98,0,98,0,242,0,242,0,237,0,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,185,1,218,1,238,254,238,254,238,254,238,254,238,254,238,254,20,1,22,1,251,1,238,254,23,1,238,254,24,1,6,0,238,254,218,1,89,0,89,0,186,0,28,1,114,0,238,254,60,0,60,0,60,0,218,1,31,1,33,1,238,254,118,0,170,0,28,1,28,1,35,1,166,0,27,1,36,1,45,1,34,0,46,1,238,254,98,0,60,0,238,254,60,0,73,0,73,0,238,254,238,254,238,254,238,254,238,254,238,254,98,0,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,247,0,247,0,238,254,100,2,47,1,240,2,238,254,238,254,203,0,53,1,63,1,61,2,185,1,64,1,206,0,74,1,238,254,26,1,238,254,75,1,72,1,81,1,218,1,85,1,87,1,28,1,238,254,105,1,115,1,238,254,238,254,238,254,116,1,31,1,238,254,238,254,197,0,238,254,238,254,166,0,117,1,238,254,120,1,238,0,121,1,238,254,52,0,122,1,98,0,98,0,98,0,98,0,238,254,123,1,173,0,99,1,174,0,175,0,113,1,73,0,124,1,119,1,114,1,48,0,128,1,214,0,238,254,238,254,238,254,238,254,238,254,238,254,238,254,238,254,131,1,238,254,238,254,133,1,238,254,238,254,134,1,238,254,238,254,238,254,132,1,238,254,238,254,99,0,238,254,238,254,238,254,238,254,150,1,238,254,238,254,166,0,238,254,60,0,60,0,60,0,60,0,238,254,164,1,166,1,167,1,173,1,238,254,185,1,238,254,197,1,28,2,28,2,199,1,200,1,238,254,238,254,60,0,60,0,60,0,60,0,188,0,189,0,238,254,238,254,238,254,238,254,174,2,207,1,238,254,216,1,230,1,22,1,89,0,28,1,28,1,238,254,238,254,238,254,238,254,238,254,185,1,139,2,238,254,238,254,28,2,238,254,238,254,238,254,218,1,238,254,233,1,238,254,217,0,218,1,207,2,31,1,238,254,239,1,249,1,7,2,9,2,10,2,16,2,238,254,238,254,221,1,236,1,40,2,42,2,218,1,238,254,238,254,238,254,238,254,238,254,238,254,238,254,60,0,238,254,238,254,44,2,49,2,238,254,193,0,45,2,60,2,238,254,218,1,58,2,75,2,218,1,238,254,76,2,238,254,11,0,89,0,106,0,91,0,148,0,156,0,157,0,123,0,124,0,127,0,191,0,192,0,193,0,159,0,169,0,119,0,165,0,166,0,12,0,107,0,164,0,29,0,30,0,111,0,32,0,33,0,34,0,183,0,168,0,169,0,174,0,181,0,40,0,41,0,42,0,180,0,181,0,147,0,174,0,84,0,180,0,181,0,87,0,88,0,3,0,90,0,0,0,157,0,65,1,66,1,62,1,198,0,199,0,53,0,91,0,171,0,172,0,173,0,14,0,177,0,241,0,3,0,62,0,63,0,16,0,59,0,60,0,19,0,10,0,9,0,107,0,27,0,3,0,84,0,111,0,86,0,87,0,88,0,9,0,90,0,46,0,8,0,99,1,95,1,92,0,93,0,52,0,175,0,54,0,233,0,56,0,9,0,3,0,240,0,250,0,242,0,236,0,233,0,46,0,10,0,25,1,26,1,3,0,5,0,52,0,113,0,54,0,9,0,56,0,10,0,214,0,85,0,216,0,223,0,3,0,89,0,5,0,91,0,222,0,5,0,9,0,53,0,4,0,5,0,3,0,11,0,3,0,9,0,16,1,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,15,0,16,0,17,0,104,0,105,0,3,0,21,0,104,0,105,0,110,0,50,1,125,0,126,0,110,0,128,0,129,0,244,0,131,0,132,0,133,0,134,0,135,0,46,0,47,0,48,0,4,0,62,0,63,0,52,0,8,0,54,0,55,0,56,0,57,0,8,0,59,0,60,0,4,0,4,0,4,0,191,0,53,0,193,0,10,0,10,0,10,0,194,0,195,0,4,0,88,1,37,0,86,1,4,0,4,0,87,1,89,1,86,1,4,0,10,0,10,0,89,1,4,0,5,0,10,0,88,1,89,1,9,0,3,0,133,1,4,0,42,1,71,1,72,1,73,1,74,1,103,1,190,0,4,0,80,1,5,0,108,1,4,0,5,0,9,0,3,0,4,0,9,0,57,0,202,0,59,0,60,0,3,0,4,0,81,1,3,0,4,0,124,1,18,0,19,0,20,0,21,0,22,0,5,0,6,0,7,0,59,0,60,0,4,0,96,1,4,0,82,1,48,0,49,0,50,0,142,1,49,0,50,0,145,1,4,0,4,0,4,0,109,1,14,1,52,1,53,1,54,1,55,1,4,0,4,0,4,0,46,0,4,0,132,1,3,0,3,0,3,0,3,0,35,0,110,1,4,0,4,0,3,0,3,0,36,0,4,0,3,1,4,1,5,1,6,1,5,0,3,0,8,0,10,0,4,0,3,0,57,0,4,0,52,1,53,1,54,1,55,1,13,0,14,0,15,0,3,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,4,0,4,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,4,0,4,0,48,0,49,0,50,0,51,0,12,0,4,0,13,0,14,0,15,0,4,0,17,0,59,0,60,0,20,0,21,0,22,0,23,0,24,0,11,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,3,0,10,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,4,0,4,0,4,0,3,0,10,0,4,0,4,0,4,0,4,0,4,0,10,0,16,0,58,0,13,0,14,0,15,0,4,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,16,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,4,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,55,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,3,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,4,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,3,0,16,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,4,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,50,0,3,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,4,0,17,0,4,0,3,0,20,0,21,0,22,0,23,0,24,0,4,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,3,0,19,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,19,0,17,0,4,0,4,0,20,0,21,0,22,0,23,0,24,0,24,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,138,0,235,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,103,0,137,0,48,0,49,0,50,0,51,0,13,0,14,0,15,0,212,0,17,0,244,0,47,0,20,0,21,0,22,0,23,0,24,0,110,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,255,255,255,255,255,255,49,0,50,0,51,0,13,0,14,0,15,0,255,255,17,0,255,255,255,255,20,0,21,0,22,0,23,0,24,0,255,255,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,255,255,255,255,13,0,14,0,15,0,51,0,17,0,18,0,255,255,20,0,21,0,22,0,23,0,24,0,255,255,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,255,255,17,0,18,0,255,255,20,0,21,0,22,0,23,0,24,0,255,255,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,13,0,14,0,15,0,255,255,17,0,255,255,255,255,20,0,21,0,22,0,23,0,24,0,255,255,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,255,255,255,255,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,25,0,108,0,175,0,108,0,217,0,221,0,223,0,198,0,199,0,202,0,9,1,11,1,12,1,226,0,239,0,175,0,232,0,233,0,228,0,108,0,229,0,47,0,48,0,108,0,49,0,50,0,51,0,255,0,236,0,236,0,229,0,253,0,55,0,56,0,57,0,252,0,252,0,215,0,243,0,96,0,236,0,236,0,104,0,105,0,4,0,110,0,10,0,224,0,97,1,98,1,94,1,18,1,19,1,11,0,112,0,240,0,241,0,242,0,30,0,247,0,42,1,162,0,13,0,14,0,72,1,194,0,195,0,73,1,163,0,23,0,177,0,46,0,101,0,25,0,183,0,103,0,25,0,25,0,23,0,25,0,3,1,26,0,119,1,118,1,113,0,114,0,4,1,244,0,5,1,229,0,6,1,28,0,231,0,41,1,47,1,43,1,38,1,35,1,52,1,163,0,75,1,76,1,81,1,97,0,53,1,186,0,54,1,98,0,55,1,63,1,175,0,100,0,175,0,29,1,106,0,107,0,97,0,111,0,175,0,97,0,98,0,11,0,248,0,97,0,31,0,237,0,35,0,98,0,70,1,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,32,0,33,0,34,0,165,0,168,0,39,0,40,0,166,0,170,0,180,0,85,1,200,0,201,0,182,0,203,0,204,0,244,0,205,0,206,0,207,0,208,0,209,0,84,0,85,0,86,0,58,0,13,0,14,0,87,0,59,0,88,0,89,0,90,0,91,0,43,0,92,0,93,0,62,1,65,1,66,1,10,1,11,0,13,1,63,1,63,1,63,1,14,1,15,1,53,0,116,1,95,0,114,1,105,1,106,1,115,1,117,1,113,1,141,1,63,1,63,1,252,0,46,1,97,0,63,1,236,0,236,0,98,0,101,0,138,1,54,0,82,1,101,1,102,1,103,1,104,1,120,1,8,1,72,0,107,1,227,255,123,1,122,1,97,0,227,255,60,0,61,0,98,0,250,0,20,1,194,0,195,0,78,0,79,0,175,0,78,0,94,0,136,1,36,0,37,0,38,0,41,0,42,0,115,0,116,0,117,0,194,0,195,0,74,0,175,0,75,0,110,1,190,0,25,1,26,1,144,1,25,1,26,1,147,1,76,0,77,0,81,0,175,0,68,1,86,1,87,1,88,1,89,1,82,0,83,0,158,0,159,0,160,0,137,1,167,0,106,0,179,0,187,0,210,0,125,1,189,0,218,0,219,0,225,0,21,1,227,0,57,1,58,1,59,1,60,1,97,0,216,0,59,0,32,1,246,0,254,0,50,1,0,1,25,0,25,0,25,0,25,0,120,0,121,0,171,0,1,1,172,0,7,1,24,1,173,0,125,0,126,0,127,0,128,0,27,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,28,1,30,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,31,1,33,1,190,0,191,0,192,0,193,0,228,0,34,1,120,0,121,0,171,0,36,1,172,0,194,0,195,0,173,0,125,0,126,0,127,0,128,0,237,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,39,1,64,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,40,1,44,1,48,1,216,0,67,1,49,1,51,1,56,1,61,1,69,1,63,1,71,1,174,0,120,0,121,0,122,0,77,1,123,0,78,1,79,1,124,0,125,0,126,0,127,0,128,0,74,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,84,1,119,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,90,1,123,0,91,1,92,1,124,0,125,0,126,0,127,0,128,0,93,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,80,1,214,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,95,1,123,0,99,1,100,1,124,0,125,0,126,0,127,0,128,0,109,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,111,1,216,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,112,1,123,0,121,1,132,1,124,0,125,0,126,0,127,0,128,0,126,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,127,1,222,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,128,1,123,0,129,1,130,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([124,0,125,0,126,0,127,0,128,0,131,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,133,1,96,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,122,0,134,1,123,0,135,1,139,1,124,0,125,0,126,0,127,0,128,0,140,1,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,143,1,142,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,171,0,145,1,172,0,146,1,148,1,173,0,125,0,126,0,127,0,128,0,44,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,213,0,37,1,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,161,0,212,0,190,0,191,0,192,0,193,0,120,0,121,0,171,0,23,1,172,0,45,1,73,0,173,0,125,0,126,0,127,0,128,0,181,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,0,0,0,0,0,0,191,0,192,0,193,0,120,0,121,0,171,0,0,0,172,0,0,0,0,0,173,0,125,0,126,0,127,0,128,0,0,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,0,0,0,0,120,0,121,0,171,0,193,0,172,0,108,1,0,0,173,0,125,0,126,0,127,0,128,0,0,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,171,0,0,0,172,0,124,1,0,0,173,0,125,0,126,0,127,0,128,0,0,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,120,0,121,0,171,0,0,0,172,0,0,0,0,0,173,0,125,0,126,0,127,0,128,0,0,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,0,0,0,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,238,254,62,2,100,255,248,255,75,255,118,1,107,255,4,2,110,255,101,255,106,255,111,255,105,255,116,255,214,1,26,0,138,255,211,255,245,255,140,255,227,1,160,1,238,254,152,255,238,254,109,255,168,255,238,254,238,254,112,255,130,1,120,255,244,254,239,254,146,255,238,254,219,255,238,254,238,254,238,254,238,254,238,254,238,254,238,254,39,0,238,254,238,254,15,2,43,0,238,254,238,254,238,254,125,0,238,254,44,0,219,0,238,254,238,254,238,254,238,254,72,2,238,254,238,254,255,255,184,0,185,0,27,0,16,1,238,0,164,0,102,0,220,0,234,0,251,0,235,0,147,0,99,0,118,0,249,0,178,0,24,0,196,0,197,0,211,0,22,1,148,0,149,0,150,0,17,1,151,0,176,0,83,1,152,0,245,0,230,0,153,0,154,0,155,0,62,0,109,0,63,0,64,0,65,0,66,0,67,0,2,1,68,0,156,0,188,0,69,0,169,0,157,0,70,0,71,0,45,0,5,0,6,0,29,0,7,0,8,0,9,0,1,0,80,0,52,0,2,0,3,0,78,52,119,97,98,116,49,56,83,111,117,114,99,101,69,114,114,111,114,72,97,110,100,108,101,114,69,0,37,115,58,37,100,58,37,100,58,32,37,115,10,0,78,52,119,97,98,116,50,52,83,111,117,114,99,101,69,114,114,111,114,72,97,110,100,108,101,114,66,117,102,102,101,114,69,0,117,110,101,120,112,101,99,116,101,100,32,69,79,70,0,105,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,115,116,114,105,110,103,0,110,101,119,108,105,110,101,32,105,110,32,115,116,114,105,110,103,0,98,97,100,32,101,115,99,97,112,101,32,34,37,46,42,115,34,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,80,0,80,80,80,80,80,64,64,80,80,64,80,80,80,240,240,240,240,240,240,240,240,240,240,80,64,80,80,80,80,80,208,208,208,208,208,208,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,64,16,64,80,80,80,208,208,208,208,208,208,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,64,80,64,80,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,117,110,101,120,112,101,99,116,101,100,32,99,104,97,114,0,117,110,101,120,112,101,99,116,101,100,32,116,111,107,101,110,32,34,37,46,42,115,34,0,46,46,46,0,78,52,119,97,98,116,50,52,66,105,110,97,114,121,69,114,114,111,114,72,97,110,100,108,101,114,77,111,100,117,108,101,69,0,78,52,119,97,98,116,49,56,66,105,110,97,114,121,69,114,114,111,114,72,97,110,100,108,101,114,69,0,101,114,114,111,114,32,105,110,32,98,105,110,97,114,121,32,109,111,100,117,108,101,58,32,37,115,0,101,114,114,111,114,32,105,110,32,98,105,110,97,114,121,32,109,111,100,117,108,101,58,32,64,48,120,37,48,56,120,58,32,37,115,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,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,65,66,67,68,69,70,71,72,73,74,166,171,172,0,0,148,164,162,163,167,1,30,0,149,149,0,0,0,0,0,0,0,0,32,135,31,6,149,150,0,0,0,0,0,0,0,169,0,0,0,0,0,0,2,0,0,0,169,0,0,0,0,0,158,159,0,0,0,147,3,0,146,140,141,138,142,139,137,144,145,136,143,165,0,152,153,154,155,0,157,170,156,160,161,30,0,0,30,30,0,30,0,0,0,151,0,82,22,27,26,0,0,0,0,0,129,0,0,100,28,129,0,4,0,0,23,24,25,0,0,43,44,33,33,33,0,0,28,0,0,49,0,0,0,0,0,35,35,0,60,61,62,63,45,42,64,65,82,82,39,40,41,91,94,87,0,13,82,134,13,132,0,0,10,82,0,0,0,0,0,130,33,33,33,82,84,0,28,0,0,0,0,130,4,5,0,0,0,0,168,0,7,7,7,0,0,34,7,7,7,46,47,0,50,51,52,53,54,55,56,36,37,37,59,0,0,0,83,98,0,0,0,0,82,0,0,0,133,0,86,0,0,0,82,0,0,19,9,0,0,7,7,7,0,84,72,71,0,102,29,4,0,18,0,0,0,106,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,82,0,0,0,48,38,57,58,96,7,7,119,118,0,97,12,0,111,122,0,120,17,20,0,103,73,0,74,99,85,101,0,121,107,4,105,30,30,30,30,117,0,0,0,0,21,82,8,0,82,82,0,0,131,70,33,33,33,33,0,0,95,11,110,28,0,0,75,0,0,13,0,0,0,124,127,125,126,89,82,0,88,92,82,123,66,68,82,67,14,16,0,82,0,81,109,0,0,0,0,0,0,90,93,0,0,0,0,82,80,108,113,112,116,114,115,33,7,104,77,0,69,0,0,79,15,82,0,0,82,76,0,78,0,2,1,2,0,1,1,0,2,1,1,4,4,0,4,8,4,2,1,1,2,4,1,1,1,1,1,1,0,2,0,1,1,0,1,0,1,0,1,1,1,1,1,1,1,1,2,2,3,1,2,2,2,2,2,2,2,3,3,2,1,1,1,1,1,1,5,5,5,8,2,3,2,3,3,4,8,4,9,5,3,2,0,2,0,2,1,1,5,5,6,1,5,6,1,7,6,6,5,4,1,6,5,6,10,6,5,6,9,8,7,6,5,5,5,5,5,6,6,6,6,6,6,5,4,4,4,4,5,0,1,4,4,5,4,0,2,2,2,2,2,2,2,2,2,2,5,5,1,0,1,6,5,5,5,5,5,5,4,4,5,5,1,1,1,5,0,2,4,0,2,1,1,105,110,118,97,108,105,100,32,105,110,116,32,37,46,42,115,34,0,105,110,118,97,108,105,100,32,111,102,102,115,101,116,32,34,37,46,42,115,34,0,105,110,118,97,108,105,100,32,97,108,105,103,110,109,101,110,116,32,34,37,46,42,115,34,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,32,34,37,46,42,115,34,0,117,110,101,120,112,101,99,116,101,100,32,108,97,98,101,108,32,34,37,46,42,115,34,0,109,105,115,109,97,116,99,104,105,110,103,32,108,97,98,101,108,32,34,37,46,42,115,34,32,33,61,32,34,37,46,42,115,34,0,105,109,112,111,114,116,115,32,109,117,115,116,32,111,99,99,117,114,32,98,101,102,111,114,101,32,97,108,108,32,110,111,110,45,105,109,112,111,114,116,32,100,101,102,105,110,105,116,105,111,110,115,0,0,75,76,76,77,77,78,79,79,80,81,81,82,83,83,83,83,84,85,86,86,87,88,89,89,89,90,90,91,91,92,92,93,94,94,95,95,96,96,97,97,97,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,99,99,99,99,100,101,102,102,102,102,103,103,103,103,103,103,104,104,105,105,106,107,107,107,107,108,108,108,109,110,110,110,110,111,111,112,112,113,113,114,114,115,115,115,116,116,117,117,117,117,117,118,118,118,118,118,118,119,120,120,120,120,121,122,122,123,124,124,125,126,126,126,126,126,126,126,126,126,126,126,127,127,128,129,129,130,130,131,131,131,131,131,131,131,131,131,132,132,132,132,133,133,134,135,135,136,137,115,121,110,116,97,120,32,101,114,114,111,114,0,34,69,79,70,34,0,101,114,114,111,114,0,36,117,110,100,101,102,105,110,101,100,0,34,40,34,0,34,41,34,0,78,65,84,0,73,78,84,0,70,76,79,65,84,0,84,69,88,84,0,86,65,82,0,86,65,76,85,69,95,84,89,80,69,0,65,78,89,70,85,78,67,0,77,85,84,0,78,79,80,0,68,82,79,80,0,66,76,79,67,75,0,69,78,68,0,73,70,0,84,72,69,78,0,69,76,83,69,0,76,79,79,80,0,66,82,0,66,82,95,73,70,0,66,82,95,84,65,66,76,69,0,67,65,76,76,0,67,65,76,76,95,73,77,80,79,82,84,0,67,65,76,76,95,73,78,68,73,82,69,67,84,0,82,69,84,85,82,78,0,71,69,84,95,76,79,67,65,76,0,83,69,84,95,76,79,67,65,76,0,84,69,69,95,76,79,67,65,76,0,71,69,84,95,71,76,79,66,65,76,0,83,69,84,95,71,76,79,66,65,76,0,76,79,65,68,0,83,84,79,82,69,0,79,70,70,83,69,84,95,69,81,95,78,65,84,0,65,76,73,71,78,95,69,81,95,78,65,84,0,67,79,78,83,84,0,85,78,65,82,89,0,66,73,78,65,82,89,0,67,79,77,80,65,82,69,0,67,79,78,86,69,82,84,0,83,69,76,69,67,84,0,85,78,82,69,65,67,72,65,66,76,69,0,67,85,82,82,69,78,84,95,77,69,77,79,82,89,0,71,82,79,87,95,77,69,77,79,82,89,0,70,85,78,67,0,83,84,65,82,84,0,84,89,80,69,0,80,65,82,65,77,0,82,69,83,85,76,84,0,76,79,67,65,76,0,71,76,79,66,65,76,0,77,79,68,85,76,69,0,84,65,66,76,69,0,69,76,69,77,0,77,69,77,79,82,89,0,68,65,84,65,0,79,70,70,83,69,84,0,73,77,80,79,82,84,0,69,88,80,79,82,84,0,82,69,71,73,83,84,69,82,0,73,78,86,79,75,69,0,71,69,84,0,65,83,83,69,82,84,95,77,65,76,70,79,82,77,69,68,0,65,83,83,69,82,84,95,73,78,86,65,76,73,68,0,65,83,83,69,82,84,95,85,78,76,73,78,75,65,66,76,69,0,65,83,83,69,82,84,95,82,69,84,85,82,78,0,65,83,83,69,82,84,95,82,69,84,85,82,78,95,67,65,78,79,78,73,67,65,76,95,78,65,78,0,65,83,83,69,82,84,95,82,69,84,85,82,78,95,65,82,73,84,72,77,69,84,73,67,95,78,65,78,0,65,83,83,69,82,84,95,84,82,65,80,0,65,83,83,69,82,84,95,69,88,72,65,85,83,84,73,79,78,0,73,78,80,85,84,0,79,85,84,80,85,84,0,76,79,87,0,36,97,99,99,101,112,116,0,110,111,110,95,101,109,112,116,121,95,116,101,120,116,95,108,105,115,116,0,116,101,120,116,95,108,105,115,116,0,113,117,111,116,101,100,95,116,101,120,116,0,118,97,108,117,101,95,116,121,112,101,95,108,105,115,116,0,101,108,101,109,95,116,121,112,101,0,103,108,111,98,97,108,95,116,121,112,101,0,102,117,110,99,95,116,121,112,101,0,102,117,110,99,95,115,105,103,0,116,97,98,108,101,95,115,105,103,0,109,101,109,111,114,121,95,115,105,103,0,108,105,109,105,116,115,0,116,121,112,101,95,117,115,101,0,110,97,116,0,108,105,116,101,114,97,108,0,118,97,114,0,118,97,114,95,108,105,115,116,0,98,105,110,100,95,118,97,114,95,111,112,116,0,98,105,110,100,95,118,97,114,0,108,97,98,101,108,105,110,103,95,111,112,116,0,111,102,102,115,101,116,95,111,112,116,0,97,108,105,103,110,95,111,112,116,0,105,110,115,116,114,0,112,108,97,105,110,95,105,110,115,116,114,0,98,108,111,99,107,95,105,110,115,116,114,0,101,120,112,114,0,101,120,112,114,49,0,105,102,95,0,105,110,115,116,114,95,108,105,115,116,0,101,120,112,114,95,108,105,115,116,0,99,111,110,115,116,95,101,120,112,114,0,102,117,110,99,95,102,105,101,108,100,115,0,102,117,110,99,95,98,111,100,121,0,102,117,110,99,95,105,110,102,111,0,101,108,101,109,0,100,97,116,97,0,105,109,112,111,114,116,95,107,105,110,100,0,105,109,112,111,114,116,0,105,110,108,105,110,101,95,105,109,112,111,114,116,0,101,120,112,111,114,116,95,107,105,110,100,0,101,120,112,111,114,116,0,105,110,108,105,110,101,95,101,120,112,111,114,116,95,111,112,116,0,105,110,108,105,110,101,95,101,120,112,111,114,116,0,116,121,112,101,95,100,101,102,0,115,116,97,114,116,0,109,111,100,117,108,101,95,102,105,101,108,100,115,0,114,97,119,95,109,111,100,117,108,101,0,109,111,100,117,108,101,0,115,99,114,105,112,116,95,118,97,114,95,111,112,116,0,97,115,115,101,114,116,105,111,110,0,99,109,100,0,99,109,100,95,108,105,115,116,0,99,111,110,115,116,0,99,111,110,115,116,95,108,105,115,116,0,115,99,114,105,112,116,0,115,99,114,105,112,116,95,115,116,97,114,116,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,44,32,101,120,112,101,99,116,105,110,103,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,44,32,101,120,112,101,99,116,105,110,103,32,37,115,32,111,114,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,44,32,101,120,112,101,99,116,105,110,103,32,37,115,32,111,114,32,37,115,32,111,114,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,44,32,101,120,112,101,99,116,105,110,103,32,37,115,32,111,114,32,37,115,32,111,114,32,37,115,32,111,114,32,37,115,0,0,133,136,137,3,127,128,130,131,132,0,53,61,62,63,64,65,66,67,68,69,70,71,9,92,93,8,78,9,129,129,3,127,127,127,3,130,130,130,3,127,130,130,8,76,126,129,78,78,78,78,78,135,4,4,78,78,78,4,8,3,4,110,112,113,114,115,116,118,121,124,125,4,135,4,4,4,4,3,4,134,4,4,4,46,47,48,52,54,55,56,57,59,60,4,37,92,5,9,88,90,3,82,93,92,92,3,90,101,111,92,90,111,78,78,5,6,7,89,3,13,14,15,17,20,21,22,23,24,26,27,28,29,30,31,32,33,34,37,38,39,40,41,42,43,44,45,87,97,98,99,101,104,107,108,109,119,123,4,46,4,82,3,10,81,119,123,3,119,122,123,15,17,20,58,98,102,111,91,3,119,122,123,111,76,77,78,3,120,4,48,49,50,51,59,60,93,94,94,94,90,90,91,90,90,90,90,90,90,90,35,95,95,89,3,109,3,104,4,3,83,87,3,87,109,3,83,4,12,104,106,3,81,81,84,86,88,11,80,84,94,94,94,106,101,105,4,91,4,90,57,85,86,85,3,77,4,3,117,46,52,54,56,4,90,79,93,79,79,93,78,78,79,100,100,100,90,36,96,96,4,49,50,4,4,109,4,4,10,4,4,106,4,80,88,3,4,100,79,100,4,105,4,77,4,4,57,4,46,52,54,56,4,90,90,90,90,4,4,10,10,4,4,10,78,4,104,16,16,19,16,79,79,4,4,4,55,3,101,103,4,77,92,92,92,92,4,4,4,4,107,4,3,108,108,4,4,94,94,94,94,4,4,91,18,3,101,4,4,83,87,81,84,85,107,108,104,3,4,104,18,101,4,4,4,4,4,4,16,50,4,4,104,94,79,3,4,4,19,3,104,19,4,104,4,69,114,114,111,114,58,32,112,111,112,112,105,110,103,0,109,101,109,111,114,121,32,101,120,104,97,117,115,116,101,100,0,67,108,101,97,110,117,112,58,32,100,105,115,99,97,114,100,105,110,103,32,108,111,111,107,97,104,101,97,100,0,67,108,101,97,110,117,112,58,32,112,111,112,112,105,110,103,0,37,115,32,118,97,114,105,97,98,108,101,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,109,97,120,32,37,100,41,0,101,108,101,109,32,115,101,103,109,101,110,116,32,111,102,102,115,101,116,0,105,110,118,97,108,105,100,32,37,115,44,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,101,120,112,114,101,115,115,105,111,110,59,32,101,105,116,104,101,114,32,42,46,99,111,110,115,116,32,111,114,32,103,101,116,95,103,108,111,98,97,108,46,0,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,32,99,97,110,32,111,110,108,121,32,114,101,102,101,114,101,110,99,101,32,97,32,112,114,101,118,105,111,117,115,108,121,32,100,101,102,105,110,101,100,32,103,108,111,98,97,108,0,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,32,99,97,110,32,111,110,108,121,32,114,101,102,101,114,101,110,99,101,32,97,110,32,105,109,112,111,114,116,101,100,32,103,108,111,98,97,108,0,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,97,32,109,117,116,97,98,108,101,32,103,108,111,98,97,108,0,116,121,112,101,32,109,105,115,109,97,116,99,104,32,97,116,32,37,115,46,32,103,111,116,32,37,115,44,32,101,120,112,101,99,116,101,100,32,37,115,0,100,97,116,97,32,115,101,103,109,101,110,116,32,111,102,102,115,101,116,0,109,117,108,116,105,112,108,101,32,114,101,115,117,108,116,32,118,97,108,117,101,115,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,46,0,114,101,115,117,108,116,0,116,121,112,101,32,109,105,115,109,97,116,99,104,32,102,111,114,32,37,115,32,37,100,32,111,102,32,37,115,46,32,103,111,116,32,37,115,44,32,101,120,112,101,99,116,101,100,32,37,115,0,101,120,112,101,99,116,101,100,32,37,122,100,32,37,115,115,44,32,103,111,116,32,37,122,100,0,97,114,103,117,109,101,110,116,0,102,111,117,110,100,32,99,97,108,108,95,105,110,100,105,114,101,99,116,32,111,112,101,114,97,116,111,114,44,32,98,117,116,32,110,111,32,116,97,98,108,101,0,108,111,99,97,108,32,118,97,114,105,97,98,108,101,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,109,97,120,32,37,100,41,0,37,115,32,114,101,113,117,105,114,101,115,32,97,110,32,105,109,112,111,114,116,101,100,32,111,114,32,100,101,102,105,110,101,100,32,109,101,109,111,114,121,46,0,97,108,105,103,110,109,101,110,116,32,109,117,115,116,32,98,101,32,112,111,119,101,114,45,111,102,45,116,119,111,0,97,108,105,103,110,109,101,110,116,32,109,117,115,116,32,110,111,116,32,98,101,32,108,97,114,103,101,114,32,116,104,97,110,32,110,97,116,117,114,97,108,32,97,108,105,103,110,109,101,110,116,32,40,37,117,41,0,111,102,102,115,101,116,32,109,117,115,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,111,114,32,101,113,117,97,108,32,116,111,32,48,120,102,102,102,102,102,102,102,102,0,103,108,111,98,97,108,32,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,0,111,110,108,121,32,111,110,101,32,116,97,98,108,101,32,97,108,108,111,119,101,100,0,101,108,101,109,115,0,105,110,105,116,105,97,108,32,37,115,32,40,37,108,108,117,41,32,109,117,115,116,32,98,101,32,60,61,32,40,37,108,108,117,41,0,109,97,120,32,37,115,32,40,37,108,108,117,41,32,109,117,115,116,32,98,101,32,60,61,32,40,37,108,108,117,41,0,109,97,120,32,37,115,32,40,37,108,108,117,41,32,109,117,115,116,32,98,101,32,62,61,32,105,110,105,116,105,97,108,32,37,115,32,40,37,108,108,117,41,0,111,110,108,121,32,111,110,101,32,109,101,109,111,114,121,32,98,108,111,99,107,32,97,108,108,111,119,101,100,0,112,97,103,101,115,0,109,117,116,97,98,108,101,32,103,108,111,98,97,108,115,32,99,97,110,110,111,116,32,98,101,32,105,109,112,111,114,116,101,100,0,109,117,116,97,98,108,101,32,103,108,111,98,97,108,115,32,99,97,110,110,111,116,32,98,101,32,101,120,112,111,114,116,101,100,0,111,110,108,121,32,111,110,101,32,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,97,108,108,111,119,101,100,0,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,109,117,115,116,32,98,101,32,110,117,108,108,97,114,121,0,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,109,117,115,116,32,110,111,116,32,114,101,116,117,114,110,32,97,110,121,116,104,105,110,103,0,114,101,100,101,102,105,110,105,116,105,111,110,32,111,102,32,101,120,112,111,114,116,32,34,37,115,34,0,117,110,107,110,111,119,110,32,109,111,100,117,108,101,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,32,101,120,112,111,114,116,32,34,37,46,42,115,34,0,109,97,110,121,0,102,101,119,0,116,111,111,32,37,115,32,112,97,114,97,109,101,116,101,114,115,32,116,111,32,102,117,110,99,116,105,111,110,46,32,103,111,116,32,37,122,100,44,32,101,120,112,101,99,116,101,100,32,37,122,100,0,105,110,118,111,107,101,0,117,110,107,110,111,119,110,32,103,108,111,98,97,108,32,101,120,112,111,114,116,32,34,37,46,42,115,34,0,97,99,116,105,111,110,0,101,120,112,101,99,116,101,100,32,37,122,100,32,114,101,115,117,108,116,115,44,32,103,111,116,32,37,122,100,0,101,120,112,101,99,116,101,100,32,49,32,114,101,115,117,108,116,44,32,103,111,116,32,37,122,100,0,116,121,112,101,32,109,105,115,109,97,116,99,104,32,97,116,32,37,115,46,32,103,111,116,32,37,115,44,32,101,120,112,101,99,116,101,100,32,102,51,50,32,111,114,32,102,54,52,0,108,105,109,105,116,115,58,32,102,108,97,103,115,0,108,105,109,105,116,115,58,32,105,110,105,116,105,97,108,0,108,105,109,105,116,115,58,32,109,97,120,0,87,65,83,77,95,66,73,78,65,82,89,95,77,65,71,73,67,0,87,65,83,77,95,66,73,78,65,82,89,95,86,69,82,83,73,79,78,0,115,101,99,116,105,111,110,32,34,37,115,34,32,40,37,117,41,0,59,32,37,115,10,0,115,101,99,116,105,111,110,32,115,105,122,101,32,40,103,117,101,115,115,41,0,110,117,109,32,116,121,112,101,115,0,70,73,88,85,80,32,115,101,99,116,105,111,110,32,115,105,122,101,0,116,121,112,101,0,59,32,37,115,32,37,100,10,0,110,117,109,32,112,97,114,97,109,115,0,110,117,109,32,114,101,115,117,108,116,115,0,110,117,109,32,105,109,112,111,114,116,115,0,105,109,112,111,114,116,32,104,101,97,100,101,114,0,110,117,109,32,102,117,110,99,116,105,111,110,115,0,102,117,110,99,116,105,111,110,32,37,122,100,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,110,117,109,32,116,97,98,108,101,115,0,110,117,109,32,109,101,109,111,114,105,101,115,0,110,117,109,32,103,108,111,98,97,108,115,0,73,78,86,65,76,73,68,32,73,78,76,73,78,69,32,83,73,71,78,65,84,85,82,69,0,98,114,101,97,107,32,100,101,112,116,104,0,110,117,109,32,116,97,114,103,101,116,115,0,98,114,101,97,107,32,100,101,112,116,104,32,102,111,114,32,100,101,102,97,117,108,116,0,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,105,51,50,32,108,105,116,101,114,97,108,0,105,54,52,32,108,105,116,101,114,97,108,0,102,51,50,32,108,105,116,101,114,97,108,0,102,54,52,32,108,105,116,101,114,97,108,0,103,108,111,98,97,108,32,105,110,100,101,120,0,108,111,99,97,108,32,105,110,100,101,120,0,97,108,105,103,110,109,101,110,116,0,110,117,109,32,101,120,112,111,114,116,115,0,101,120,112,111,114,116,32,110,97,109,101,0,101,120,112,111,114,116,32,107,105,110,100,0,101,120,112,111,114,116,32,102,117,110,99,32,105,110,100,101,120,0,101,120,112,111,114,116,32,116,97,98,108,101,32,105,110,100,101,120,0,101,120,112,111,114,116,32,109,101,109,111,114,121,32,105,110,100,101,120,0,101,120,112,111,114,116,32,103,108,111,98,97,108,32,105,110,100,101,120,0,115,116,97,114,116,32,102,117,110,99,32,105,110,100,101,120,0,110,117,109,32,101,108,101,109,32,115,101,103,109,101,110,116,115,0,101,108,101,109,32,115,101,103,109,101,110,116,32,104,101,97,100,101,114,0,116,97,98,108,101,32,105,110,100,101,120,0,110,117,109,32,102,117,110,99,116,105,111,110,32,105,110,100,105,99,101,115,0,102,117,110,99,116,105,111,110,32,98,111,100,121,0,102,117,110,99,32,98,111,100,121,32,115,105,122,101,32,40,103,117,101,115,115,41,0,108,111,99,97,108,32,100,101,99,108,32,99,111,117,110,116,0,70,73,88,85,80,32,102,117,110,99,32,98,111,100,121,32,115,105,122,101,0,110,117,109,32,100,97,116,97,32,115,101,103,109,101,110,116,115,0,100,97,116,97,32,115,101,103,109,101,110,116,32,104,101,97,100,101,114,0,109,101,109,111,114,121,32,105,110,100,101,120,0,100,97,116,97,32,115,101,103,109,101,110,116,32,115,105,122,101,0,115,101,99,116,105,111,110,32,34,37,115,34,0,99,117,115,116,111,109,32,115,101,99,116,105,111,110,32,99,111,100,101,0,99,117,115,116,111,109,32,115,101,99,116,105,111,110,32,110,97,109,101,0,102,117,110,99,116,105,111,110,32,110,97,109,101,32,116,121,112,101,0,115,117,98,115,101,99,116,105,111,110,32,115,105,122,101,32,40,103,117,101,115,115,41,0,70,73,88,85,80,32,115,117,98,115,101,99,116,105,111,110,32,115,105,122,101,0,102,117,110,99,32,110,97,109,101,32,37,122,100,0,108,111,99,97,108,32,110,97,109,101,32,116,121,112,101,0,110,117,109,32,108,111,99,97,108,115,0,108,111,99,97,108,32,110,97,109,101,32,37,122,100,0,37,115,46,37,115,0,114,101,108,111,99,32,115,101,99,116,105,111,110,32,116,121,112,101,0,110,117,109,32,114,101,108,111,99,115,0,114,101,108,111,99,32,116,121,112,101,0,114,101,108,111,99,32,111,102,102,115,101,116,0,114,101,108,111,99,32,105,110,100,101,120,0,114,101,108,111,99,32,97,100,100,101,110,100,0,78,52,119,97,98,116,49,50,95,71,76,79,66,65,76,95,95,78,95,49,49,53,66,105,110,97,114,121,82,101,97,100,101,114,87,97,116,69,0,78,52,119,97,98,116,49,53,66,105,110,97,114,121,82,101,97,100,101,114,78,111,112,69,0,78,52,119,97,98,116,49,50,66,105,110,97,114,121,82,101,97,100,101,114,69,0,97,99,99,101,115,115,105,110,103,32,115,116,97,99,107,32,100,101,112,116,104,58,32,37,117,32,62,61,32,109,97,120,58,32,37,122,100,0,101,108,115,101,32,101,120,112,114,101,115,115,105,111,110,32,119,105,116,104,111,117,116,32,109,97,116,99,104,105,110,103,32,105,102,0,112,111,112,112,105,110,103,32,101,109,112,116,121,32,108,97,98,101,108,32,115,116,97,99,107,0,101,120,112,101,99,116,101,100,32,102,117,110,99,116,105,111,110,32,110,97,109,101,32,99,111,117,110,116,32,40,37,117,41,32,60,61,32,102,117,110,99,116,105,111,110,32,99,111,117,110,116,32,40,37,122,100,41,0,101,120,112,101,99,116,101,100,32,108,111,99,97,108,32,110,97,109,101,32,99,111,117,110,116,32,40,37,100,41,32,60,61,32,108,111,99,97,108,32,99,111,117,110,116,32,40,37,100,41,0,117,110,100,101,102,105,110,101,100,32,108,97,98,101,108,32,118,97,114,105,97,98,108,101,32,34,37,46,42,115,34,0,117,110,100,101,102,105,110,101,100,32,37,115,32,118,97,114,105,97,98,108,101,32,34,37,46,42,115,34,0,102,117,110,99,116,105,111,110,32,116,121,112,101,0,117,110,100,101,102,105,110,101,100,32,108,111,99,97,108,32,118,97,114,105,97,98,108,101,32,34,37,46,42,115,34,0,114,101,100,101,102,105,110,105,116,105,111,110,32,111,102,32,37,115,32,34,37,115,34,0,112,97,114,97,109,101,116,101,114,0,108,111,99,97,108,0,78,52,119,97,98,116,50,49,83,111,117,114,99,101,69,114,114,111,114,72,97,110,100,108,101,114,78,111,112,69,0,67,117,115,116,111,109,0,84,121,112,101,0,73,109,112,111,114,116,0,70,117,110,99,116,105,111,110,0,84,97,98,108,101,0,77,101,109,111,114,121,0,71,108,111,98,97,108,0,69,120,112,111,114,116,0,83,116,97,114,116,0,69,108,101,109,0,67,111,100,101,0,68,97,116,97,0,116,97,98,108,101,0,109,101,109,111,114,121,0,103,108,111,98,97,108,0,82,95,70,85,78,67,95,73,78,68,69,88,95,76,69,66,0,82,95,84,65,66,76,69,95,73,78,68,69,88,95,83,76,69,66,0,82,95,84,65,66,76,69,95,73,78,68,69,88,95,73,51,50,0,82,95,77,69,77,79,82,89,95,65,68,68,82,95,76,69,66,0,82,95,77,69,77,79,82,89,95,65,68,68,82,95,83,76,69,66,0,82,95,77,69,77,79,82,89,95,65,68,68,82,95,73,51,50,0,82,95,84,89,80,69,95,73,78,68,69,88,95,76,69,66,0,82,95,71,76,79,66,65,76,95,73,78,68,69,88,95,76,69,66,0,58,48,120,0,37,48,55,122,120,58,32,0,37,48,50,120,0,32,32,59,32,37,115,0,59,32,109,111,118,101,32,100,97,116,97,58,32,91,37,122,120,44,32,37,122,120,41,32,45,62,32,91,37,122,120,44,32,37,122,120,41,10,0,78,52,119,97,98,116,49,50,77,101,109,111,114,121,87,114,105,116,101,114,69,0,78,52,119,97,98,116,54,87,114,105,116,101,114,69,0,117,110,114,101,97,99,104,97,98,108,101,0,110,111,112,0,101,108,115,101,0,60,105,110,118,97,108,105,100,58,48,120,48,54,62,0,60,105,110,118,97,108,105,100,58,48,120,48,55,62,0,60,105,110,118,97,108,105,100,58,48,120,48,56,62,0,60,105,110,118,97,108,105,100,58,48,120,48,57,62,0,60,105,110,118,97,108,105,100,58,48,120,48,97,62,0,101,110,100,0,60,105,110,118,97,108,105,100,58,48,120,49,50,62,0,60,105,110,118,97,108,105,100,58,48,120,49,51,62,0,60,105,110,118,97,108,105,100,58,48,120,49,52,62,0,60,105,110,118,97,108,105,100,58,48,120,49,53,62,0,60,105,110,118,97,108,105,100,58,48,120,49,54,62,0,60,105,110,118,97,108,105,100,58,48,120,49,55,62,0,60,105,110,118,97,108,105,100,58,48,120,49,56,62,0,60,105,110,118,97,108,105,100,58,48,120,49,57,62,0,60,105,110,118,97,108,105,100,58,48,120,49,99,62,0,60,105,110,118,97,108,105,100,58,48,120,49,100,62,0,60,105,110,118,97,108,105,100,58,48,120,49,101,62,0,60,105,110,118,97,108,105,100,58,48,120,49,102,62,0,103,101,116,95,108,111,99,97,108,0,103,101,116,95,103,108,111,98,97,108,0,60,105,110,118,97,108,105,100,58,48,120,50,53,62,0,60,105,110,118,97,108,105,100,58,48,120,50,54,62,0,60,105,110,118,97,108,105,100,58,48,120,50,55,62,0,105,51,50,46,108,111,97,100,0,105,54,52,46,108,111,97,100,0,102,51,50,46,108,111,97,100,0,102,54,52,46,108,111,97,100,0,105,51,50,46,108,111,97,100,56,95,115,0,105,51,50,46,108,111,97,100,56,95,117,0,105,51,50,46,108,111,97,100,49,54,95,115,0,105,51,50,46,108,111,97,100,49,54,95,117,0,105,54,52,46,108,111,97,100,56,95,115,0,105,54,52,46,108,111,97,100,56,95,117,0,105,54,52,46,108,111,97,100,49,54,95,115,0,105,54,52,46,108,111,97,100,49,54,95,117,0,105,54,52,46,108,111,97,100,51,50,95,115,0,105,54,52,46,108,111,97,100,51,50,95,117,0,105,51,50,46,115,116,111,114,101,0,105,54,52,46,115,116,111,114,101,0,102,51,50,46,115,116,111,114,101,0,102,54,52,46,115,116,111,114,101,0,105,51,50,46,115,116,111,114,101,56,0,105,51,50,46,115,116,111,114,101,49,54,0,105,54,52,46,115,116,111,114,101,56,0,105,54,52,46,115,116,111,114,101,49,54,0,105,54,52,46,115,116,111,114,101,51,50,0,99,117,114,114,101,110,116,95,109,101,109,111,114,121,0,103,114,111,119,95,109,101,109,111,114,121,0,105,51,50,46,99,111,110,115,116,0,105,54,52,46,99,111,110,115,116,0,102,51,50,46,99,111,110,115,116,0,102,54,52,46,99,111,110,115,116,0,105,51,50,46,101,113,122,0,105,51,50,46,101,113,0,105,51,50,46,110,101,0,105,51,50,46,108,116,95,115,0,105,51,50,46,108,116,95,117,0,105,51,50,46,103,116,95,115,0,105,51,50,46,103,116,95,117,0,105,51,50,46,108,101,95,115,0,105,51,50,46,108,101,95,117,0,105,51,50,46,103,101,95,115,0,105,51,50,46,103,101,95,117,0,105,54,52,46,101,113,122,0,105,54,52,46,101,113,0,105,54,52,46,110,101,0,105,54,52,46,108,116,95,115,0,105,54,52,46,108,116,95,117,0,105,54,52,46,103,116,95,115,0,105,54,52,46,103,116,95,117,0,105,54,52,46,108,101,95,115,0,105,54,52,46,108,101,95,117,0,105,54,52,46,103,101,95,115,0,105,54,52,46,103,101,95,117,0,102,51,50,46,101,113,0,102,51,50,46,110,101,0,102,51,50,46,108,116,0,102,51,50,46,103,116,0,102,51,50,46,108,101,0,102,51,50,46,103,101,0,102,54,52,46,101,113,0,102,54,52,46,110,101,0,102,54,52,46,108,116,0,102,54,52,46,103,116,0,102,54,52,46,108,101,0,102,54,52,46,103,101,0,105,51,50,46,99,108,122,0,105,51,50,46,99,116,122,0,105,51,50,46,112,111,112,99,110,116,0,105,51,50,46,97,100,100,0,105,51,50,46,115,117,98,0,105,51,50,46,109,117,108,0,105,51,50,46,100,105,118,95,115,0,105,51,50,46,100,105,118,95,117,0,105,51,50,46,114,101,109,95,115,0,105,51,50,46,114,101,109,95,117,0,105,51,50,46,97,110,100,0,105,51,50,46,111,114,0,105,51,50,46,120,111,114,0,105,51,50,46,115,104,108,0,105,51,50,46,115,104,114,95,115,0,105,51,50,46,115,104,114,95,117,0,105,51,50,46,114,111,116,108,0,105,51,50,46,114,111,116,114,0,105,54,52,46,99,108,122,0,105,54,52,46,99,116,122,0,105,54,52,46,112,111,112,99,110,116,0,105,54,52,46,97,100,100,0,105,54,52,46,115,117,98,0,105,54,52,46,109,117,108,0,105,54,52,46,100,105,118,95,115,0,105,54,52,46,100,105,118,95,117,0,105,54,52,46,114,101,109,95,115,0,105,54,52,46,114,101,109,95,117,0,105,54,52,46,97,110,100,0,105,54,52,46,111,114,0,105,54,52,46,120,111,114,0,105,54,52,46,115,104,108,0,105,54,52,46,115,104,114,95,115,0,105,54,52,46,115,104,114,95,117,0,105,54,52,46,114,111,116,108,0,105,54,52,46,114,111,116,114,0,102,51,50,46,97,98,115,0,102,51,50,46,110,101,103,0,102,51,50,46,99,101,105,108,0,102,51,50,46,102,108,111,111,114,0,102,51,50,46,116,114,117,110,99,0,102,51,50,46,110,101,97,114,101,115,116,0,102,51,50,46,115,113,114,116,0,102,51,50,46,97,100,100,0,102,51,50,46,115,117,98,0,102,51,50,46,109,117,108,0,102,51,50,46,100,105,118,0,102,51,50,46,109,105,110,0,102,51,50,46,109,97,120,0,102,51,50,46,99,111,112,121,115,105,103,110,0,102,54,52,46,97,98,115,0,102,54,52,46,110,101,103,0,102,54,52,46,99,101,105,108,0,102,54,52,46,102,108,111,111,114,0,102,54,52,46,116,114,117,110,99,0,102,54,52,46,110,101,97,114,101,115,116,0,102,54,52,46,115,113,114,116,0,102,54,52,46,97,100,100,0,102,54,52,46,115,117,98,0,102,54,52,46,109,117,108,0,102,54,52,46,100,105,118,0,102,54,52,46,109,105,110,0,102,54,52,46,109,97,120,0,102,54,52,46,99,111,112,121,115,105,103,110,0,105,51,50,46,119,114,97,112,47,105,54,52,0,105,51,50,46,116,114,117,110,99,95,115,47,102,51,50,0,105,51,50,46,116,114,117,110,99,95,117,47,102,51,50,0,105,51,50,46,116,114,117,110,99,95,115,47,102,54,52,0,105,51,50,46,116,114,117,110,99,95,117,47,102,54,52,0,105,54,52,46,101,120,116,101,110,100,95,115,47,105,51,50,0,105,54,52,46,101,120,116,101,110,100,95,117,47,105,51,50,0,105,54,52,46,116,114,117,110,99,95,115,47,102,51,50,0,105,54,52,46,116,114,117,110,99,95,117,47,102,51,50,0,105,54,52,46,116,114,117,110,99,95,115,47,102,54,52,0,105,54,52,46,116,114,117,110,99,95,117,47,102,54,52,0,102,51,50,46,99,111,110,118,101,114,116,95,115,47,105,51,50,0,102,51,50,46,99,111,110,118,101,114,116,95,117,47,105,51,50,0,102,51,50,46,99,111,110,118,101,114,116,95,115,47,105,54,52,0,102,51,50,46,99,111,110,118,101,114,116,95,117,47,105,54,52,0,102,51,50,46,100,101,109,111,116,101,47,102,54,52,0,102,54,52,46,99,111,110,118,101,114,116,95,115,47,105,51,50,0,102,54,52,46,99,111,110,118,101,114,116,95,117,47,105,51,50,0,102,54,52,46,99,111,110,118,101,114,116,95,115,47,105,54,52,0,102,54,52,46,99,111,110,118,101,114,116,95,117,47,105,54,52,0,102,54,52,46,112,114,111,109,111,116,101,47,102,51,50,0,105,51,50,46,114,101,105,110,116,101,114,112,114,101,116,47,102,51,50,0,105,54,52,46,114,101,105,110,116,101,114,112,114,101,116,47,102,54,52,0,102,51,50,46,114,101,105,110,116,101,114,112,114,101,116,47,105,51,50,0,102,54,52,46,114,101,105,110,116,101,114,112,114,101,116,47,105,54,52,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,116,104,101,32,115,111,117,114,99,101,32,108,105,110,101,46,10,0,105,110,118,97,108,105,100,32,100,101,112,116,104,58,32,37,122,100,32,40,109,97,120,32,37,122,100,41,0,116,121,112,101,32,115,116,97,99,107,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,97,116,32,37,115,46,32,103,111,116,32,37,122,100,44,32,101,120,112,101,99,116,101,100,32,97,116,32,108,101,97,115,116,32,37,122,100,0,116,121,112,101,32,109,105,115,109,97,116,99,104,32,105,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,37,115,32,98,117,116,32,103,111,116,32,37,115,46,0,98,114,0,98,114,95,105,102,0,98,114,95,116,97,98,108,101,0,99,97,108,108,0,99,97,108,108,95,105,110,100,105,114,101,99,116,0,100,114,111,112,0,105,102,32,116,114,117,101,32,98,114,97,110,99,104,0,116,121,112,101,32,115,116,97,99,107,32,97,116,32,101,110,100,32,111,102,32,37,115,32,105,115,32,37,122,100,44,32,101,120,112,101,99,116,101,100,32,37,122,100,0,105,102,32,119,105,116,104,111,117,116,32,101,108,115,101,32,99,97,110,110,111,116,32,104,97,118,101,32,116,121,112,101,32,115,105,103,110,97,116,117,114,101,46,0,102,117,110,99,116,105,111,110,0,98,108,111,99,107,0,108,111,111,112,0,105,102,0,105,102,32,102,97,108,115,101,32,98,114,97,110,99,104,0,114,101,116,117,114,110,0,115,101,108,101,99,116,0,115,101,116,95,103,108,111,98,97,108,0,115,101,116,95,108,111,99,97,108,0,116,101,101,95,108,111,99,97,108,0,105,109,112,108,105,99,105,116,32],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([114,101,116,117,114,110,0,109,97,103,105,99,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,117,105,110,116,51,50,95,116,58,32,37,115,0,42,69,82,82,79,82,42,58,32,64,48,120,37,48,56,122,120,58,32,37,115,10,0,98,97,100,32,109,97,103,105,99,32,118,97,108,117,101,0,118,101,114,115,105,111,110,0,98,97,100,32,119,97,115,109,32,102,105,108,101,32,118,101,114,115,105,111,110,58,32,37,35,120,32,40,101,120,112,101,99,116,101,100,32,37,35,120,41,0,66,101,103,105,110,77,111,100,117,108,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,99,116,105,111,110,32,99,111,100,101,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,117,51,50,32,108,101,98,49,50,56,58,32,37,115,0,115,101,99,116,105,111,110,32,115,105,122,101,0,105,110,118,97,108,105,100,32,115,101,99,116,105,111,110,32,99,111,100,101,58,32,37,117,59,32,109,97,120,32,105,115,32,37,117,0,105,110,118,97,108,105,100,32,115,101,99,116,105,111,110,32,115,105,122,101,58,32,101,120,116,101,110,100,115,32,112,97,115,116,32,101,110,100,0,115,101,99,116,105,111,110,32,37,115,32,111,117,116,32,111,102,32,111,114,100,101,114,0,66,101,103,105,110,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,99,116,105,111,110,32,110,97,109,101,0,115,116,114,105,110,103,32,108,101,110,103,116,104,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,115,116,114,105,110,103,58,32,37,115,0,66,101,103,105,110,67,117,115,116,111,109,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,110,97,109,101,0,66,101,103,105,110,78,97,109,101,115,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,110,97,109,101,32,116,121,112,101,0,100,117,112,108,105,99,97,116,101,32,115,117,98,45,115,101,99,116,105,111,110,0,111,117,116,45,111,102,45,111,114,100,101,114,32,115,117,98,45,115,101,99,116,105,111,110,0,115,117,98,115,101,99,116,105,111,110,32,115,105,122,101,0,105,110,118,97,108,105,100,32,115,117,98,45,115,101,99,116,105,111,110,32,115,105,122,101,58,32,101,120,116,101,110,100,115,32,112,97,115,116,32,101,110,100,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,83,117,98,115,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,110,97,109,101,32,99,111,117,110,116,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,115,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,58,32,37,117,0,102,117,110,99,116,105,111,110,32,110,97,109,101,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,76,111,99,97,108,78,97,109,101,83,117,98,115,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,99,111,117,110,116,0,79,110,76,111,99,97,108,78,97,109,101,70,117,110,99,116,105,111,110,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,108,111,99,97,108,32,99,111,117,110,116,0,79,110,76,111,99,97,108,78,97,109,101,76,111,99,97,108,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,110,97,109,101,100,32,105,110,100,101,120,0,79,110,76,111,99,97,108,78,97,109,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,117,110,102,105,110,105,115,104,101,100,32,115,117,98,45,115,101,99,116,105,111,110,32,40,101,120,112,101,99,116,101,100,32,101,110,100,58,32,48,120,37,122,120,41,0,69,110,100,78,97,109,101,115,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,114,101,108,111,99,0,66,101,103,105,110,82,101,108,111,99,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,99,116,105,111,110,0,114,101,108,111,99,97,116,105,111,110,32,99,111,117,110,116,0,79,110,82,101,108,111,99,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,114,101,108,111,99,97,116,105,111,110,32,116,121,112,101,0,111,102,102,115,101,116,0,105,110,100,101,120,0,97,100,100,101,110,100,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,105,51,50,32,108,101,98,49,50,56,58,32,37,115,0,79,110,82,101,108,111,99,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,82,101,108,111,99,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,67,117,115,116,111,109,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,84,121,112,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,121,112,101,32,99,111,117,110,116,0,79,110,84,121,112,101,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,121,112,101,32,102,111,114,109,0,105,110,118,97,108,105,100,32,116,121,112,101,58,32,37,100,0,117,110,101,120,112,101,99,116,101,100,32,116,121,112,101,32,102,111,114,109,58,32,37,100,0,102,117,110,99,116,105,111,110,32,112,97,114,97,109,32,99,111,117,110,116,0,102,117,110,99,116,105,111,110,32,114,101,115,117,108,116,32,99,111,117,110,116,0,102,117,110,99,116,105,111,110,32,112,97,114,97,109,32,116,121,112,101,0,101,120,112,101,99,116,101,100,32,118,97,108,105,100,32,112,97,114,97,109,32,116,121,112,101,32,40,103,111,116,32,37,100,41,0,114,101,115,117,108,116,32,99,111,117,110,116,32,109,117,115,116,32,98,101,32,48,32,111,114,32,49,0,102,117,110,99,116,105,111,110,32,114,101,115,117,108,116,32,116,121,112,101,0,101,120,112,101,99,116,101,100,32,118,97,108,105,100,32,114,101,115,117,108,116,32,116,121,112,101,58,32,37,100,0,79,110,84,121,112,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,84,121,112,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,73,109,112,111,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,109,112,111,114,116,32,99,111,117,110,116,0,79,110,73,109,112,111,114,116,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,109,112,111,114,116,32,109,111,100,117,108,101,32,110,97,109,101,0,105,109,112,111,114,116,32,102,105,101,108,100,32,110,97,109,101,0,105,109,112,111,114,116,32,107,105,110,100,0,105,109,112,111,114,116,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,105,109,112,111,114,116,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,79,110,73,109,112,111,114,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,73,109,112,111,114,116,70,117,110,99,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,97,98,108,101,32,101,108,101,109,32,116,121,112,101,0,116,97,98,108,101,32,101,108,101,109,32,116,121,112,101,32,109,117,115,116,32,98,121,32,97,110,121,102,117,110,99,0,116,97,98,108,101,32,102,108,97,103,115,0,116,97,98,108,101,32,105,110,105,116,105,97,108,32,101,108,101,109,32,99,111,117,110,116,0,116,97,98,108,101,32,109,97,120,32,101,108,101,109,32,99,111,117,110,116,0,116,97,98,108,101,32,105,110,105,116,105,97,108,32,101,108,101,109,32,99,111,117,110,116,32,109,117,115,116,32,98,101,32,60,61,32,109,97,120,32,101,108,101,109,32,99,111,117,110,116,0,79,110,73,109,112,111,114,116,84,97,98,108,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,109,101,109,111,114,121,32,102,108,97,103,115,0,109,101,109,111,114,121,32,105,110,105,116,105,97,108,32,112,97,103,101,32,99,111,117,110,116,0,105,110,118,97,108,105,100,32,109,101,109,111,114,121,32,105,110,105,116,105,97,108,32,115,105,122,101,0,109,101,109,111,114,121,32,109,97,120,32,112,97,103,101,32,99,111,117,110,116,0,105,110,118,97,108,105,100,32,109,101,109,111,114,121,32,109,97,120,32,115,105,122,101,0,109,101,109,111,114,121,32,105,110,105,116,105,97,108,32,115,105,122,101,32,109,117,115,116,32,98,101,32,60,61,32,109,97,120,32,115,105,122,101,0,79,110,73,109,112,111,114,116,77,101,109,111,114,121,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,108,111,98,97,108,32,116,121,112,101,0,105,110,118,97,108,105,100,32,103,108,111,98,97,108,32,116,121,112,101,58,32,37,35,120,0,103,108,111,98,97,108,32,109,117,116,97,98,105,108,105,116,121,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,117,105,110,116,56,95,116,58,32,37,115,0,103,108,111,98,97,108,32,109,117,116,97,98,105,108,105,116,121,32,109,117,115,116,32,98,101,32,48,32,111,114,32,49,0,79,110,73,109,112,111,114,116,71,108,111,98,97,108,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,105,109,112,111,114,116,32,107,105,110,100,58,32,37,100,0,69,110,100,73,109,112,111,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,70,117,110,99,116,105,111,110,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,32,99,111,117,110,116,0,79,110,70,117,110,99,116,105,111,110,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,58,32,37,100,0,79,110,70,117,110,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,70,117,110,99,116,105,111,110,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,84,97,98,108,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,97,98,108,101,32,99,111,117,110,116,0,116,97,98,108,101,32,99,111,117,110,116,32,40,37,100,41,32,109,117,115,116,32,98,101,32,48,32,111,114,32,49,0,79,110,84,97,98,108,101,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,84,97,98,108,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,84,97,98,108,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,77,101,109,111,114,121,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,109,101,109,111,114,121,32,99,111,117,110,116,0,109,101,109,111,114,121,32,99,111,117,110,116,32,109,117,115,116,32,98,101,32,48,32,111,114,32,49,0,79,110,77,101,109,111,114,121,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,77,101,109,111,114,121,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,77,101,109,111,114,121,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,71,108,111,98,97,108,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,108,111,98,97,108,32,99,111,117,110,116,0,79,110,71,108,111,98,97,108,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,71,108,111,98,97,108,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,71,108,111,98,97,108,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,111,112,99,111,100,101,0,105,110,105,116,95,101,120,112,114,32,105,51,50,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,73,110,105,116,69,120,112,114,73,51,50,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,105,116,95,101,120,112,114,32,105,54,52,46,99,111,110,115,116,32,118,97,108,117,101,0,105,110,118,97,108,105,100,32,105,54,52,32,108,101,98,49,50,56,58,32,37,115,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,105,54,52,32,108,101,98,49,50,56,58,32,37,115,0,79,110,73,110,105,116,69,120,112,114,73,54,52,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,105,116,95,101,120,112,114,32,102,51,50,46,99,111,110,115,116,32,118,97,108,117,101,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,102,108,111,97,116,58,32,37,115,0,79,110,73,110,105,116,69,120,112,114,70,51,50,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,105,116,95,101,120,112,114,32,102,54,52,46,99,111,110,115,116,32,118,97,108,117,101,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,100,111,117,98,108,101,58,32,37,115,0,79,110,73,110,105,116,69,120,112,114,70,54,52,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,110,105,116,95,101,120,112,114,32,103,101,116,95,103,108,111,98,97,108,32,105,110,100,101,120,0,79,110,73,110,105,116,69,120,112,114,71,101,116,71,108,111,98,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,117,110,101,120,112,101,99,116,101,100,32,111,112,99,111,100,101,32,105,110,32,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,58,32,37,100,32,40,48,120,37,120,41,0,101,120,112,101,99,116,101,100,32,69,78,68,32,111,112,99,111,100,101,32,97,102,116,101,114,32,105,110,105,116,105,97,108,105,122,101,114,32,101,120,112,114,101,115,115,105,111,110,0,69,110,100,71,108,111,98,97,108,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,71,108,111,98,97,108,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,71,108,111,98,97,108,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,69,120,112,111,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,120,112,111,114,116,32,99,111,117,110,116,0,79,110,69,120,112,111,114,116,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,120,112,111,114,116,32,105,116,101,109,32,110,97,109,101,0,101,120,112,111,114,116,32,101,120,116,101,114,110,97,108,32,107,105,110,100,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,101,120,116,101,114,110,97,108,32,107,105,110,100,0,101,120,112,111,114,116,32,105,116,101,109,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,102,117,110,99,32,105,110,100,101,120,58,32,37,100,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,116,97,98,108,101,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,109,101,109,111,114,121,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,101,120,112,111,114,116,32,103,108,111,98,97,108,32,105,110,100,101,120,0,79,110,69,120,112,111,114,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,69,120,112,111,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,83,116,97,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,115,116,97,114,116,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,79,110,83,116,97,114,116,70,117,110,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,83,116,97,114,116,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,69,108,101,109,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,108,101,109,32,115,101,103,109,101,110,116,32,99,111,117,110,116,0,79,110,69,108,101,109,83,101,103,109,101,110,116,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,108,101,109,32,115,101,99,116,105,111,110,32,119,105,116,104,111,117,116,32,116,97,98,108,101,32,115,101,99,116,105,111,110,0,101,108,101,109,32,115,101,103,109,101,110,116,32,116,97,98,108,101,32,105,110,100,101,120,0,66,101,103,105,110,69,108,101,109,83,101,103,109,101,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,69,108,101,109,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,69,108,101,109,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,108,101,109,32,115,101,103,109,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,32,99,111,117,110,116,0,79,110,69,108,101,109,83,101,103,109,101,110,116,70,117,110,99,116,105,111,110,73,110,100,101,120,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,101,108,101,109,32,115,101,103,109,101,110,116,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,79,110,69,108,101,109,83,101,103,109,101,110,116,70,117,110,99,116,105,111,110,73,110,100,101,120,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,69,108,101,109,83,101,103,109,101,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,69,108,101,109,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,67,111,100,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,98,111,100,121,32,99,111,117,110,116,0,102,117,110,99,116,105,111,110,32,115,105,103,110,97,116,117,114,101,32,99,111,117,110,116,32,33,61,32,102,117,110,99,116,105,111,110,32,98,111,100,121,32,99,111,117,110,116,0,79,110,70,117,110,99,116,105,111,110,66,111,100,121,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,70,117,110,99,116,105,111,110,66,111,100,121,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,117,110,99,116,105,111,110,32,98,111,100,121,32,115,105,122,101,0,108,111,99,97,108,32,100,101,99,108,97,114,97,116,105,111,110,32,99,111,117,110,116,0,79,110,76,111,99,97,108,68,101,99,108,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,85,110,114,101,97,99,104,97,98,108,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,66,97,114,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,98,108,111,99,107,32,115,105,103,110,97,116,117,114,101,32,116,121,112,101,0,101,120,112,101,99,116,101,100,32,118,97,108,105,100,32,98,108,111,99,107,32,115,105,103,110,97,116,117,114,101,32,116,121,112,101,0,79,110,66,108,111,99,107,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,66,108,111,99,107,83,105,103,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,108,111,111,112,32,115,105,103,110,97,116,117,114,101,32,116,121,112,101,0,79,110,76,111,111,112,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,102,32,115,105,103,110,97,116,117,114,101,32,116,121,112,101,0,79,110,73,102,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,69,108,115,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,83,101,108,101,99,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,98,114,32,100,101,112,116,104,0,79,110,66,114,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,85,105,110,116,51,50,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,98,114,95,105,102,32,100,101,112,116,104,0,79,110,66,114,73,102,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,98,114,95,116,97,98,108,101,32,116,97,114,103,101,116,32,99,111,117,110,116,0,98,114,95,116,97,98,108,101,32,100,101,102,97,117,108,116,32,116,97,114,103,101,116,32,100,101,112,116,104,0,98,114,95,116,97,98,108,101,32,116,97,114,103,101,116,32,100,101,112,116,104,0,79,110,66,114,84,97,98,108,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,82,101,116,117,114,110,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,78,111,112,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,68,114,111,112,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,69,110,100,70,117,110,99,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,69,110,100,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,51,50,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,73,51,50,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,105,54,52,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,73,54,52,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,85,105,110,116,54,52,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,51,50,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,70,51,50,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,70,51,50,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,102,54,52,46,99,111,110,115,116,32,118,97,108,117,101,0,79,110,70,54,52,67,111,110,115,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,70,54,52,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,101,116,95,103,108,111,98,97,108,32,103,108,111,98,97,108,32,105,110,100,101,120,0,79,110,71,101,116,71,108,111,98,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,101,116,95,108,111,99,97,108,32,108,111,99,97,108,32,105,110,100,101,120,0,79,110,71,101,116,76,111,99,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,116,95,103,108,111,98,97,108,32,103,108,111,98,97,108,32,105,110,100,101,120,0,79,110,83,101,116,71,108,111,98,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,101,116,95,108,111,99,97,108,32,108,111,99,97,108,32,105,110,100,101,120,0,79,110,83,101,116,76,111,99,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,99,97,108,108,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,99,97,108,108,32,102,117,110,99,116,105,111,110,32,105,110,100,101,120,0,79,110,67,97,108,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,99,97,108,108,95,105,110,100,105,114,101,99,116,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,105,110,118,97,108,105,100,32,99,97,108,108,95,105,110,100,105,114,101,99,116,32,115,105,103,110,97,116,117,114,101,32,105,110,100,101,120,0,99,97,108,108,95,105,110,100,105,114,101,99,116,32,114,101,115,101,114,118,101,100,0,99,97,108,108,95,105,110,100,105,114,101,99,116,32,114,101,115,101,114,118,101,100,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,48,0,79,110,67,97,108,108,73,110,100,105,114,101,99,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,79,112,99,111,100,101,85,105,110,116,51,50,85,105,110,116,51,50,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,116,101,101,95,108,111,99,97,108,32,108,111,99,97,108,32,105,110,100,101,120,0,79,110,84,101,101,76,111,99,97,108,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,108,111,97,100,32,97,108,105,103,110,109,101,110,116,0,108,111,97,100,32,111,102,102,115,101,116,0,79,110,76,111,97,100,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,115,116,111,114,101,32,97,108,105,103,110,109,101,110,116,0,115,116,111,114,101,32,111,102,102,115,101,116,0,79,110,83,116,111,114,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,99,117,114,114,101,110,116,95,109,101,109,111,114,121,32,114,101,115,101,114,118,101,100,0,99,117,114,114,101,110,116,95,109,101,109,111,114,121,32,114,101,115,101,114,118,101,100,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,48,0,79,110,67,117,114,114,101,110,116,77,101,109,111,114,121,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,103,114,111,119,95,109,101,109,111,114,121,32,114,101,115,101,114,118,101,100,0,103,114,111,119,95,109,101,109,111,114,121,32,114,101,115,101,114,118,101,100,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,48,0,79,110,71,114,111,119,77,101,109,111,114,121,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,66,105,110,97,114,121,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,67,111,109,112,97,114,101,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,85,110,97,114,121,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,79,110,67,111,110,118,101,114,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,117,110,101,120,112,101,99,116,101,100,32,111,112,99,111,100,101,58,32,37,100,32,40,48,120,37,120,41,0,102,117,110,99,116,105,111,110,32,98,111,100,121,32,108,111,110,103,101,114,32,116,104,97,110,32,103,105,118,101,110,32,115,105,122,101,0,102,117,110,99,116,105,111,110,32,98,111,100,121,32,109,117,115,116,32,101,110,100,32,119,105,116,104,32,69,78,68,32,111,112,99,111,100,101,0,108,111,99,97,108,32,116,121,112,101,32,99,111,117,110,116,0,108,111,99,97,108,32,116,121,112,101,0,101,120,112,101,99,116,101,100,32,118,97,108,105,100,32,108,111,99,97,108,32,116,121,112,101,0,79,110,76,111,99,97,108,68,101,99,108,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,70,117,110,99,116,105,111,110,66,111,100,121,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,67,111,100,101,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,68,97,116,97,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,100,97,116,97,32,115,101,103,109,101,110,116,32,99,111,117,110,116,0,79,110,68,97,116,97,83,101,103,109,101,110,116,67,111,117,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,100,97,116,97,32,115,101,99,116,105,111,110,32,119,105,116,104,111,117,116,32,109,101,109,111,114,121,32,115,101,99,116,105,111,110,0,100,97,116,97,32,115,101,103,109,101,110,116,32,109,101,109,111,114,121,32,105,110,100,101,120,0,66,101,103,105,110,68,97,116,97,83,101,103,109,101,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,66,101,103,105,110,68,97,116,97,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,68,97,116,97,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,100,97,116,97,32,115,101,103,109,101,110,116,32,100,97,116,97,0,100,97,116,97,32,115,105,122,101,0,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,100,97,116,97,58,32,37,115,0,79,110,68,97,116,97,83,101,103,109,101,110,116,68,97,116,97,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,68,97,116,97,83,101,103,109,101,110,116,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,69,110,100,68,97,116,97,83,101,99,116,105,111,110,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,117,110,102,105,110,105,115,104,101,100,32,115,101,99,116,105,111,110,32,40,101,120,112,101,99,116,101,100,32,101,110,100,58,32,48,120,37,122,120,41,0,69,110,100,77,111,100,117,108,101,32,99,97,108,108,98,97,99,107,32,102,97,105,108,101,100,0,78,52,119,97,98,116,49,57,66,105,110,97,114,121,82,101,97,100,101,114,76,111,103,103,105,110,103,69,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,66,101,103,105,110,77,111,100,117,108,101,40,118,101,114,115,105,111,110,58,32,37,117,41,10,0,69,110,100,77,111,100,117,108,101,10,0,66,101,103,105,110,67,117,115,116,111,109,83,101,99,116,105,111,110,40,39,37,46,42,115,39,44,32,115,105,122,101,58,32,37,100,41,10,0,69,110,100,67,117,115,116,111,109,83,101,99,116,105,111,110,10,0,66,101,103,105,110,84,121,112,101,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,84,121,112,101,67,111,117,110,116,40,37,117,41,10,0,79,110,84,121,112,101,40,105,110,100,101,120,58,32,37,117,44,32,112,97,114,97,109,115,58,32,0,91,0,97,110,121,0,118,111,105,100,0,102,117,110,99,0,97,110,121,102,117,110,99,0,102,54,52,0,102,51,50,0,105,54,52,0,105,51,50,0,37,115,0,44,32,0,93,0,44,32,114,101,115,117,108,116,115,58,32,0,41,10,0,69,110,100,84,121,112,101,83,101,99,116,105,111,110,10,0,66,101,103,105,110,73,109,112,111,114,116,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,73,109,112,111,114,116,67,111,117,110,116,40,37,117,41,10,0,79,110,73,109,112,111,114,116,40,105,110,100,101,120,58,32,37,117,44,32,109,111,100,117,108,101,58,32,34,37,46,42,115,34,44,32,102,105,101,108,100,58,32,34,37,46,42,115,34,41,10,0,79,110,73,109,112,111,114,116,70,117,110,99,40,105,109,112,111,114,116,95,105,110,100,101,120,58,32,37,117,44,32,102,117,110,99,95,105,110,100,101,120,58,32,37,117,44,32,115,105,103,95,105,110,100,101,120,58,32,37,117,41,10,0,105,110,105,116,105,97,108,58,32,37,108,108,117,44,32,109,97,120,58,32,37,108,108,117,0,105,110,105,116,105,97,108,58,32,37,108,108,117,0,79,110,73,109,112,111,114,116,84,97,98,108,101,40,105,109,112,111,114,116,95,105,110,100,101,120,58,32,37,117,44,32,116,97,98,108,101,95,105,110,100,101,120,58,32,37,117,44,32,101,108,101,109,95,116,121,112,101,58,32,37,115,44,32,37,115,41,10,0,79,110,73,109,112,111,114,116,77,101,109,111,114,121,40,105,109,112,111,114,116,95,105,110,100,101,120,58,32,37,117,44,32,109,101,109,111,114,121,95,105,110,100,101,120,58,32,37,117,44,32,37,115,41,10,0,116,114,117,101,0,102,97,108,115,101,0,79,110,73,109,112,111,114,116,71,108,111,98,97,108,40,105,109,112,111,114,116,95,105,110,100,101,120,58,32,37,117,44,32,103,108,111,98,97,108,95,105,110,100,101,120,58,32,37,117,44,32,116,121,112,101,58,32,37,115,44,32,109,117,116,97,98,108,101,58,32,37,115,41,10,0,69,110,100,73,109,112,111,114,116,83,101,99,116,105,111,110,10,0,66,101,103,105,110,70,117,110,99,116,105,111,110,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,67,111,117,110,116,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,40,105,110,100,101,120,58,32,37,117,44,32,115,105,103,95,105,110,100,101,120,58,32,37,117,41,10,0,69,110,100,70,117,110,99,116,105,111,110,83,101,99,116,105,111,110,10,0,66,101,103,105,110,84,97,98,108,101,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,84,97,98,108,101,67,111,117,110,116,40,37,117,41,10,0,79,110,84,97,98,108,101,40,105,110,100,101,120,58,32,37,117,44,32,101,108,101,109,95,116,121,112,101,58,32,37,115,44,32,37,115,41,10,0,69,110,100,84,97,98,108,101,83,101,99,116,105,111,110,10,0,66,101,103,105,110,77,101,109,111,114,121,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,77,101,109,111,114,121,67,111,117,110,116,40,37,117,41,10,0,79,110,77,101,109,111,114,121,40,105,110,100,101,120,58,32,37,117,44,32,37,115,41,10,0,69,110,100,77,101,109,111,114,121,83,101,99,116,105,111,110,10,0,66,101,103,105,110,71,108,111,98,97,108,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,71,108,111,98,97,108,67,111,117,110,116,40,37,117,41,10,0,66,101,103,105,110,71,108,111,98,97,108,40,105,110,100,101,120,58,32,37,117,44,32,116,121,112,101,58,32,37,115,44,32,109,117,116,97,98,108,101,58,32,37,115,41,10,0,66,101,103,105,110,71,108,111,98,97,108,73,110,105,116,69,120,112,114,40,37,117,41,10,0,69,110,100,71,108,111,98,97,108,73,110,105,116,69,120,112,114,40,37,117,41,10,0,69,110,100,71,108,111,98,97,108,40,37,117,41,10,0,69,110,100,71,108,111,98,97,108,83,101,99,116,105,111,110,10,0,66,101,103,105,110,69,120,112,111,114,116,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,69,120,112,111,114,116,67,111,117,110,116,40,37,117,41,10,0,79,110,69,120,112,111,114,116,40,105,110,100,101,120,58,32,37,117,44,32,107,105,110,100,58,32,37,115,44,32,105,116,101,109,95,105,110,100,101,120,58,32,37,117,44,32,110,97,109,101,58,32,34,37,46,42,115,34,41,10,0,69,110,100,69,120,112,111,114,116,83,101,99,116,105,111,110,10,0,66,101,103,105,110,83,116,97,114,116,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,83,116,97,114,116,70,117,110,99,116,105,111,110,40,37,117,41,10,0,69,110,100,83,116,97,114,116,83,101,99,116,105,111,110,10,0,66,101,103,105,110,67,111,100,101,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,66,111,100,121,67,111,117,110,116,40,37,117,41,10,0,66,101,103,105,110,70,117,110,99,116,105,111,110,66,111,100,121,40,37,117,41,10,0,79,110,76,111,99,97,108,68,101,99,108,67,111,117,110,116,40,37,117,41,10,0,79,110,76,111,99,97,108,68,101,99,108,40,105,110,100,101,120,58,32,37,117,44,32,99,111,117,110,116,58,32,37,117,44,32,116,121,112,101,58,32,37,115,41,10,0,79,110,66,105,110,97,114,121,69,120,112,114,40,34,37,115,34,32,40,37,117,41,41,10,0,79,110,66,108,111,99,107,69,120,112,114,40,115,105,103,58,32,0,79,110,66,114,69,120,112,114,40,100,101,112,116,104,58,32,37,117,41,10,0,79,110,66,114,73,102,69,120,112,114,40,100,101,112,116,104,58,32,37,117,41,10,0,79,110,66,114,84,97,98,108,101,69,120,112,114,40,110,117,109,95,116,97,114,103,101,116,115,58,32,37,117,44,32,100,101,112,116,104,115,58,32,91,0,93,44,32,100,101,102,97,117,108,116,58,32,37,117,41,10,0,37,117,0,79,110,67,97,108,108,69,120,112,114,40,102,117,110,99,95,105,110,100,101,120,58,32,37,117,41,10,0,79,110,67,97,108,108,73,110,100,105,114,101,99,116,69,120,112,114,40,115,105,103,95,105,110,100,101,120,58,32,37,117,41,10,0,79,110,67,111,109,112,97,114,101,69,120,112,114,40,34,37,115,34,32,40,37,117,41,41,10,0,79,110,67,111,110,118,101,114,116,69,120,112,114,40,34,37,115,34,32,40,37,117,41,41,10,0,79,110,67,117,114,114,101,110,116,77,101,109,111,114,121,69,120,112,114,10,0,79,110,68,114,111,112,69,120,112,114,10,0,79,110,69,108,115,101,69,120,112,114,10,0,79,110,69,110,100,69,120,112,114,10,0,79,110,70,51,50,67,111,110,115,116,69,120,112,114,40,37,103,32,40,48,120,48,52,37,120,41,41,10,0,79,110,70,54,52,67,111,110,115,116,69,120,112,114,40,37,103,32,40,48,120,48,56,37,108,108,120,41,41,10,0,79,110,71,101,116,71,108,111,98,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,71,101,116,76,111,99,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,71,114,111,119,77,101,109,111,114,121,69,120,112,114,10,0,79,110,73,51,50,67,111,110,115,116,69,120,112,114,40,37,117,32,40,48,120,37,120,41,41,10,0,79,110,73,54,52,67,111,110,115,116,69,120,112,114,40,37,108,108,117,32,40,48,120,37,108,108,120,41,41,10,0,79,110,73,102,69,120,112,114,40,115,105,103,58,32,0,79,110,76,111,97,100,69,120,112,114,40,111,112,99,111,100,101,58,32,34,37,115,34,32,40,37,117,41,44,32,97,108,105,103,110,32,108,111,103,50,58,32,37,117,44,32,111,102,102,115,101,116,58,32,37,117,41,10,0,79,110,76,111,111,112,69,120,112,114,40,115,105,103,58,32,0,79,110,78,111,112,69,120,112,114,10,0,79,110,82,101,116,117,114,110,69,120,112,114,10,0,79,110,83,101,108,101,99,116,69,120,112,114,10,0,79,110,83,101,116,71,108,111,98,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,83,101,116,76,111,99,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,83,116,111,114,101,69,120,112,114,40,111,112,99,111,100,101,58,32,34,37,115,34,32,40,37,117,41,44,32,97,108,105,103,110,32,108,111,103,50,58,32,37,117,44,32,111,102,102,115,101,116,58,32,37,117,41,10,0,79,110,84,101,101,76,111,99,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,41,10,0,79,110,85,110,97,114,121,69,120,112,114,40,34,37,115,34,32,40,37,117,41,41,10,0,79,110,85,110,114,101,97,99,104,97,98,108,101,69,120,112,114,10,0,69,110,100,70,117,110,99,116,105,111,110,66,111,100,121,40,37,117,41,10,0,69,110,100,67,111,100,101,83,101,99,116,105,111,110,10,0,66,101,103,105,110,69,108,101,109,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,69,108,101,109,83,101,103,109,101,110,116,67,111,117,110,116,40,37,117,41,10,0,66,101,103,105,110,69,108,101,109,83,101,103,109,101,110,116,40,105,110,100,101,120,58,32,37,117,44,32,116,97,98,108,101,95,105,110,100,101,120,58,32,37,117,41,10,0,66,101,103,105,110,69,108,101,109,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,40,37,117,41,10,0,69,110,100,69,108,101,109,83,101,103,109,101,110,116,73,110],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([105,116,69,120,112,114,40,37,117,41,10,0,79,110,69,108,101,109,83,101,103,109,101,110,116,70,117,110,99,116,105,111,110,73,110,100,101,120,67,111,117,110,116,40,105,110,100,101,120,58,32,37,117,44,32,99,111,117,110,116,58,32,37,117,41,10,0,79,110,69,108,101,109,83,101,103,109,101,110,116,70,117,110,99,116,105,111,110,73,110,100,101,120,40,105,110,100,101,120,58,32,37,117,44,32,102,117,110,99,95,105,110,100,101,120,58,32,37,117,41,10,0,69,110,100,69,108,101,109,83,101,103,109,101,110,116,40,37,117,41,10,0,69,110,100,69,108,101,109,83,101,99,116,105,111,110,10,0,66,101,103,105,110,68,97,116,97,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,68,97,116,97,83,101,103,109,101,110,116,67,111,117,110,116,40,37,117,41,10,0,66,101,103,105,110,68,97,116,97,83,101,103,109,101,110,116,40,105,110,100,101,120,58,32,37,117,44,32,109,101,109,111,114,121,95,105,110,100,101,120,58,32,37,117,41,10,0,66,101,103,105,110,68,97,116,97,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,40,37,117,41,10,0,69,110,100,68,97,116,97,83,101,103,109,101,110,116,73,110,105,116,69,120,112,114,40,37,117,41,10,0,79,110,68,97,116,97,83,101,103,109,101,110,116,68,97,116,97,40,105,110,100,101,120,58,37,117,44,32,115,105,122,101,58,37,117,41,10,0,69,110,100,68,97,116,97,83,101,103,109,101,110,116,40,37,117,41,10,0,69,110,100,68,97,116,97,83,101,99,116,105,111,110,10,0,66,101,103,105,110,78,97,109,101,115,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,83,117,98,115,101,99,116,105,111,110,40,105,110,100,101,120,58,37,117,44,32,110,97,109,101,116,121,112,101,58,37,117,44,32,115,105,122,101,58,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,115,67,111,117,110,116,40,37,117,41,10,0,79,110,70,117,110,99,116,105,111,110,78,97,109,101,40,105,110,100,101,120,58,32,37,117,44,32,110,97,109,101,58,32,34,37,46,42,115,34,41,10,0,79,110,76,111,99,97,108,78,97,109,101,83,117,98,115,101,99,116,105,111,110,40,105,110,100,101,120,58,37,117,44,32,110,97,109,101,116,121,112,101,58,37,117,44,32,115,105,122,101,58,37,117,41,10,0,79,110,76,111,99,97,108,78,97,109,101,70,117,110,99,116,105,111,110,67,111,117,110,116,40,37,117,41,10,0,79,110,76,111,99,97,108,78,97,109,101,76,111,99,97,108,67,111,117,110,116,40,105,110,100,101,120,58,32,37,117,44,32,99,111,117,110,116,58,32,37,117,41,10,0,79,110,76,111,99,97,108,78,97,109,101,40,102,117,110,99,95,105,110,100,101,120,58,32,37,117,44,32,108,111,99,97,108,95,105,110,100,101,120,58,32,37,117,44,32,110,97,109,101,58,32,34,37,46,42,115,34,41,10,0,69,110,100,78,97,109,101,115,83,101,99,116,105,111,110,10,0,66,101,103,105,110,82,101,108,111,99,83,101,99,116,105,111,110,40,37,117,41,10,0,79,110,82,101,108,111,99,67,111,117,110,116,40,99,111,117,110,116,58,32,37,100,44,32,115,101,99,116,105,111,110,58,32,37,115,44,32,115,101,99,116,105,111,110,95,110,97,109,101,58,32,37,46,42,115,41,10,0,79,110,82,101,108,111,99,40,116,121,112,101,58,32,37,115,44,32,111,102,102,115,101,116,58,32,37,117,44,32,105,110,100,101,120,58,32,37,117,44,32,97,100,100,101,110,100,58,32,37,100,41,10,0,69,110,100,82,101,108,111,99,83,101,99,116,105,111,110,10,0,79,110,73,110,105,116,69,120,112,114,70,51,50,67,111,110,115,116,69,120,112,114,40,105,110,100,101,120,58,32,37,117,44,32,118,97,108,117,101,58,32,37,103,32,40,48,120,48,52,37,120,41,41,10,0,79,110,73,110,105,116,69,120,112,114,70,54,52,67,111,110,115,116,69,120,112,114,40,105,110,100,101,120,58,32,37,117,32,118,97,108,117,101,58,32,37,103,32,40,48,120,48,56,37,108,108,120,41,41,10,0,79,110,73,110,105,116,69,120,112,114,71,101,116,71,108,111,98,97,108,69,120,112,114,40,105,110,100,101,120,58,32,37,117,44,32,103,108,111,98,97,108,95,105,110,100,101,120,58,32,37,117,41,10,0,79,110,73,110,105,116,69,120,112,114,73,51,50,67,111,110,115,116,69,120,112,114,40,105,110,100,101,120,58,32,37,117,44,32,118,97,108,117,101,58,32,37,117,41,10,0,79,110,73,110,105,116,69,120,112,114,73,54,52,67,111,110,115,116,69,120,112,114,40,105,110,100,101,120,58,32,37,117,44,32,118,97,108,117,101,58,32,37,108,108,117,41,10,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,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,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,46,0,105,110,102,105,110,105,116,121,0,110,97,110,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,98,105,110,106,105,47,100,101,118,47,101,109,115,99,114,105,112,116,101,110,47,101,109,115,99,114,105,112,116,101,110,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,98,105,110,106,105,47,100,101,118,47,101,109,115,99,114,105,112,116,101,110,47,101,109,115,99,114,105,112,116,101,110,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,117,110,99,97,117,103,104,116,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){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 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:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var _llvm_fabs_f64=Math_abs;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){asm["setThrew"](env,value||1);throw"longjmp"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _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}Module["_i64Add"]=_i64Add;function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);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}return ret}Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){___syscall146.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_ctlz_i64"]=_llvm_ctlz_i64;__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);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_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){return Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6,a7)}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function 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;asm["setThrew"](1,0)}}function jsCall_viiiii(index,a1,a2,a3,a4,a5){Runtime.functionPointers[index](a1,a2,a3,a4,a5)}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_vi(index,a1){Runtime.functionPointers[index](a1)}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_vii(index,a1,a2){Runtime.functionPointers[index](a1,a2)}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6){return Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6)}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_ii(index,a1){return Runtime.functionPointers[index](a1)}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_viii(index,a1,a2,a3){Runtime.functionPointers[index](a1,a2,a3)}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_v(index){Runtime.functionPointers[index]()}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiii(index,a1,a2,a3,a4){return Runtime.functionPointers[index](a1,a2,a3,a4)}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_viiiiii(index,a1,a2,a3,a4,a5,a6){Runtime.functionPointers[index](a1,a2,a3,a4,a5,a6)}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iii(index,a1,a2){return Runtime.functionPointers[index](a1,a2)}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_iiiiii(index,a1,a2,a3,a4,a5){return Runtime.functionPointers[index](a1,a2,a3,a4,a5)}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function jsCall_viiii(index,a1,a2,a3,a4){Runtime.functionPointers[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_iiiiiiii":invoke_iiiiiiii,"jsCall_iiiiiiii":jsCall_iiiiiiii,"invoke_iiii":invoke_iiii,"jsCall_iiii":jsCall_iiii,"invoke_viiiii":invoke_viiiii,"jsCall_viiiii":jsCall_viiiii,"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,"___syscall54":___syscall54,"_abort":_abort,"_llvm_fabs_f64":_llvm_fabs_f64,"___gxx_personality_v0":___gxx_personality_v0,"___assert_fail":___assert_fail,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"_longjmp":_longjmp,"___setErrNo":___setErrNo,"_sbrk":_sbrk,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"__exit":__exit,"_pthread_getspecific":_pthread_getspecific,"_pthread_self":_pthread_self,"_pthread_once":_pthread_once,"_pthread_key_create":_pthread_key_create,"___unlock":___unlock,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"_sysconf":_sysconf,"___lock":___lock,"___syscall6":___syscall6,"_pthread_cleanup_push":_pthread_cleanup_push,"_time":_time,"___syscall140":___syscall140,"_exit":_exit,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM var asm=(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_iiiiiiii;var ea=env.jsCall_iiiiiiii;var fa=env.invoke_iiii;var ga=env.jsCall_iiii;var ha=env.invoke_viiiii;var ia=env.jsCall_viiiii;var ja=env.invoke_vi;var ka=env.jsCall_vi;var la=env.invoke_vii;var ma=env.jsCall_vii;var na=env.invoke_iiiiiii;var oa=env.jsCall_iiiiiii;var pa=env.invoke_ii;var qa=env.jsCall_ii;var ra=env.invoke_viii;var sa=env.jsCall_viii;var ta=env.invoke_v;var ua=env.jsCall_v;var va=env.invoke_iiiii;var wa=env.jsCall_iiiii;var xa=env.invoke_viiiiii;var ya=env.jsCall_viiiiii;var za=env.invoke_iii;var Aa=env.jsCall_iii;var Ba=env.invoke_iiiiii;var Ca=env.jsCall_iiiiii;var Da=env.invoke_viiii;var Ea=env.jsCall_viiii;var Fa=env._pthread_cleanup_pop;var Ga=env.___syscall54;var Ha=env._abort;var Ia=env._llvm_fabs_f64;var Ja=env.___gxx_personality_v0;var Ka=env.___assert_fail;var La=env.___cxa_allocate_exception;var Ma=env.__ZSt18uncaught_exceptionv;var Na=env._longjmp;var Oa=env.___setErrNo;var Pa=env._sbrk;var Qa=env.___cxa_begin_catch;var Ra=env._emscripten_memcpy_big;var Sa=env.___resumeException;var Ta=env.___cxa_find_matching_catch;var Ua=env.__exit;var Va=env._pthread_getspecific;var Wa=env._pthread_self;var Xa=env._pthread_once;var Ya=env._pthread_key_create;var Za=env.___unlock;var _a=env._pthread_setspecific;var $a=env.___cxa_throw;var ab=env._sysconf;var bb=env.___lock;var cb=env.___syscall6;var db=env._pthread_cleanup_push;var eb=env._time;var fb=env.___syscall140;var gb=env._exit;var hb=env.___syscall146;var ib=0.0; // EMSCRIPTEN_START_FUNCS -function Ud(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,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,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,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=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,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=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,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0;h=i;i=i+64|0;j=h+48|0;k=h+40|0;l=h+32|0;m=h+24|0;n=h+16|0;o=h+8|0;p=h;q=f+56|0;r=f+52|0;s=f+60|0;t=f+16|0;u=f+20|0;v=e+4|0;w=f+40|0;x=f+28|0;y=f+32|0;z=e+8|0;A=e+12|0;B=f+48|0;C=f+24|0;D=0;a:while(1){E=c[q>>2]|0;c[r>>2]=E;F=E;if((D|0)>=2){G=c[s>>2]|0;if((D|0)<3){if(G>>>0>F>>>0)H=F;else{if((Vd(f,1)|0)==1){I=62;break}H=c[q>>2]|0}if((a[H>>0]|0)==10){J=H+1|0;c[q>>2]=J;c[u>>2]=(c[u>>2]|0)+1;c[y>>2]=J-(c[w>>2]|0)+(c[x>>2]|0);D=0;continue}else K=H;while(1){J=K+1|0;c[q>>2]=J;if((c[s>>2]|0)>>>0>J>>>0)L=J;else{if((Vd(f,1)|0)==1){I=67;break a}L=c[q>>2]|0}if((a[L>>0]|0)==10){M=D;D=M;continue a}else K=L}}if((G-E|0)<2){if((Vd(f,2)|0)==1){I=47;break}N=c[q>>2]|0}else N=F;J=a[N>>0]|0;b:do if((J&255)>=40){if((J&255)<41){O=N+1|0;c[q>>2]=O;if((a[O>>0]|0)!=59){M=D;D=M;continue a}c[q>>2]=N+2;c[C>>2]=(c[C>>2]|0)+1;M=D;D=M;continue a}if(J<<24>>24==59){O=N+1|0;c[q>>2]=O;if((a[O>>0]|0)!=41){M=D;D=M;continue a}c[q>>2]=N+2;O=(c[C>>2]|0)+-1|0;c[C>>2]=O;D=(O|0)==0?0:D;continue a}}else{switch(J<<24>>24){case 0:{P=N;I=52;break a;break}case 10:break;default:break b}O=N+1|0;c[q>>2]=O;c[u>>2]=(c[u>>2]|0)+1;c[y>>2]=O-(c[w>>2]|0)+(c[x>>2]|0);M=D;D=M;continue a}while(0);c[q>>2]=N+1;M=D;D=M;continue}J=(c[s>>2]|0)-E|0;if((D|0)>=1){if((J|0)<3){if((Vd(f,3)|0)==1){I=8;break}Q=c[q>>2]|0}else Q=F;G=a[Q>>0]|0;c:do if((G&255)<34){if((G&255)<10)if(!(G<<24>>24)){R=Q;I=18;break a}else{I=19;break}if((G&255)>=11)if((G&255)<32){I=19;break}else{S=Q;I=22;break}else{O=Q+1|0;c[q>>2]=O;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];T=c[w>>2]|0;U=c[x>>2]|0;V=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-T+U-V;c[A>>2]=O+1-T+U-V;xi(e,f,g,7321,n);c[u>>2]=(c[u>>2]|0)+1;c[y>>2]=(c[q>>2]|0)-(c[w>>2]|0)+(c[x>>2]|0);D=0;continue a}}else{if((G&255)>=93)if(G<<24>>24==127){I=19;break}else{S=Q;I=22;break}if((G&255)<35){W=Q;I=23;break a}if((G&255)<92){S=Q;I=22}else{V=Q+1|0;c[q>>2]=V;U=a[V>>0]|0;do if((U&255)<65){if((U&255)<35){if(U<<24>>24==10){X=V;break c}if((U&255)>33){S=V;I=22;break c}else{I=39;break}}if((U&255)<40)if((U&255)>38){S=V;I=22;break c}else{I=39;break}else if((U+-48&255)<10){I=41;break}else{I=39;break}}else{if((U&255)>=103)if((U&255)<111)if((U&255)>109){S=V;I=22;break c}else{I=39;break}else if(U<<24>>24==116){S=V;I=22;break c}else{I=39;break}if((U&255)<92)if((U&255)<71){I=41;break}else{I=39;break}if((U&255)<93){S=V;I=22;break c}if((U&255)>96)I=41;else I=39}while(0);do if((I|0)==39){I=0;U=Q+2|0;c[q>>2]=U;Y=U}else if((I|0)==41){I=0;U=Q+2|0;c[q>>2]=U;V=a[U>>0]|0;T=U;if((V&255)<65)if((V+-48&255)<10){S=U;I=22;break c}else{Y=T;break}else if((V&255)<71|(V+-97&255)<6){S=U;I=22;break c}else{Y=T;break}}while(0);c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];T=c[r>>2]|0;U=c[w>>2]|0;V=c[x>>2]|0;O=c[y>>2]|0;c[z>>2]=T+1-U+V-O;c[A>>2]=Y+1-U+V-O;c[m>>2]=Y-T;c[m+4>>2]=T;xi(e,f,g,7339,m);D=1;continue a}}while(0);if((I|0)==19){I=0;G=Q+1|0;c[q>>2]=G;X=G}else if((I|0)==22){I=0;c[q>>2]=S+1;D=1;continue}c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];G=c[w>>2]|0;E=c[x>>2]|0;T=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-G+E-T;c[A>>2]=X+1-G+E-T;xi(e,f,g,7293,o);D=1;continue}if((J|0)<29){if((Vd(f,29)|0)==1){I=73;break}Z=c[q>>2]|0}else Z=F;T=d[Z>>0]|0;if(a[7357+T>>0]&8){E=Z;while(1){G=E+1|0;c[q>>2]=G;if((c[s>>2]|0)>>>0>G>>>0)_=G;else{if((Vd(f,1)|0)==1){I=82;break a}_=c[q>>2]|0}if(!(a[7357+(d[_>>0]|0)>>0]&8)){M=D;D=M;continue a}else E=_}}d:do switch(T|0){case 0:{$=Z;I=76;break a;break}case 41:{aa=Z;I=108;break a;break}case 10:case 9:{E=Z+1|0;c[q>>2]=E;c[u>>2]=(c[u>>2]|0)+1;c[y>>2]=E-(c[w>>2]|0)+(c[x>>2]|0);M=D;D=M;continue a;break}case 126:case 124:case 122:case 121:case 120:case 119:case 118:case 113:case 107:case 106:case 104:case 96:case 95:case 94:case 92:case 90:case 89:case 88:case 87:case 86:case 85:case 84:case 83:case 82:case 81:case 80:case 79:case 78:case 77:case 76:case 75:case 74:case 73:case 72:case 71:case 70:case 69:case 68:case 67:case 66:case 65:case 64:case 63:case 62:case 61:case 60:case 58:case 47:case 46:case 42:case 39:case 38:case 37:case 35:case 33:case 32:{I=85;break}case 34:{E=Z+1|0;c[q>>2]=E;c[B>>2]=E;F=a[E>>0]|0;if((F&255)<32|F<<24>>24==127){D=1;continue a}else{ba=E;ca=F}e:while(1){f:do if(!(a[7357+(ca&255)>>0]&64)){if((ca&255)<32)break e;if((ca&255)<35){da=ba;I=214;break a}if((ca&255)>=93)break e;F=ba+1|0;c[q>>2]=F;if((c[s>>2]|0)>>>0>F>>>0)ea=F;else{if((Vd(f,1)|0)==1){I=218;break a}ea=c[q>>2]|0}F=a[ea>>0]|0;do if((F&255)<71)if((F&255)<40)if(F<<24>>24!=34&(F&255)<39)break e;else{fa=ea;break f}else if((F&255)<48|(F+-58&255)<7)break e;else break;else{if((F&255)<103){if(F<<24>>24==92){fa=ea;break f}if((F&255)<97)break e;else break}if((F&255)<111)if((F&255)<110)break e;else{fa=ea;break f}else if(F<<24>>24==116){fa=ea;break f}else break e}while(0);F=ea+1|0;c[q>>2]=F;if((c[s>>2]|0)>>>0>F>>>0)ga=F;else{if((Vd(f,1)|0)==1){I=403;break a}ga=c[q>>2]|0}F=a[ga>>0]|0;if((F&255)<65)if((F+-48&255)<10){fa=ga;break}else break e;else if((F&255)<71|(F+-97&255)<6){fa=ga;break}else break e}else fa=ba;while(0);F=fa+1|0;c[q>>2]=F;if((c[s>>2]|0)>>>0>F>>>0)ha=F;else{if((Vd(f,1)|0)==1){I=207;break a}ha=c[q>>2]|0}ba=ha;ca=a[ha>>0]|0}c[q>>2]=c[B>>2];D=1;continue a;break}case 36:{F=Z+1|0;c[q>>2]=F;E=a[F>>0]|0;if((E&255)<60){if((E&255)<40)if(E<<24>>24!=33&(E&255)<35){I=91;break d}else{ia=F;I=229;break a}if((E&255)<44)if((E&255)<42){I=91;break d}else{ia=F;I=229;break a}else if((E+-45&255)<14){ia=F;I=229;break a}else{I=91;break d}}if((E&255)<123)if((E&255)<92)if((E&255)<91){ia=F;I=229;break a}else{I=91;break d}else if(E<<24>>24==93){I=91;break d}else{ia=F;I=229;break a}else if((E&255)<125)if((E&255)<124){I=91;break d}else{ia=F;I=229;break a}else if(E<<24>>24==126){ia=F;I=229;break a}else{I=91;break d}break}case 40:{F=Z+1|0;c[q>>2]=F;if((a[F>>0]|0)!=59){ja=F;I=107;break a}c[q>>2]=Z+2;c[C>>2]=1;D=3;continue a;break}case 45:case 43:{F=Z+1|0;c[q>>2]=F;E=a[F>>0]|0;if((E&255)>=105)if((E&255)<106){J=Z+2|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+3|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24==102){la=G;I=553;break d}else{ka=J;I=90;break d}}else{if(E<<24>>24!=110){ka=E;I=90;break d}J=Z+2|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24==97){ma=J;I=384;break d}else{ka=G;I=90;break d}}if((E&255)>=48){do if((E&255)<49){G=Z+2|0;c[q>>2]=G;J=a[G>>0]|0;O=G;if((J&255)<69){if((J&255)<45)if((J&255)<35)if(J<<24>>24==33){I=85;break d}else{na=O;I=267;break a}else if((J&255)<40|(J&-2)<<24>>24==42){I=85;break d}else{na=O;I=267;break a}if((J&255)<48)if(J<<24>>24==46){oa=G;I=293;break d}else{I=85;break d}if((J&255)<58){pa=G;break}if(J<<24>>24==59){na=O;I=267;break a}else{I=85;break d}}if((J&255)<102)if((J&255)<92){if((J&255)<70){qa=G;I=316;break d}if((J&255)<91){I=85;break d}else{na=O;I=267;break a}}else{if(J<<24>>24==93){na=O;I=267;break a}if((J&255)<101){I=85;break d}else{qa=G;I=316;break d}}if((J&255)>=124)if(J<<24>>24!=125&(J&255)<127){I=85;break d}else{na=O;I=267;break a}if(J<<24>>24!=120)if((J&255)<123){I=85;break d}else{na=O;I=267;break a}O=Z+3|0;c[q>>2]=O;J=a[O>>0]|0;if((J&255)<65)if((J+-48&255)<10)ra=O;else{ka=J;I=90;break d}else if((J&255)<71|(J+-97&255)<6)ra=O;else{ka=J;I=90;break d}while(1){J=ra+1|0;c[q>>2]=J;O=J;if(((c[s>>2]|0)-O|0)<3){if((Vd(f,3)|0)==1){I=615;break a}G=c[q>>2]|0;sa=G;ta=G}else{sa=J;ta=O}O=a[sa>>0]|0;if((O&255)<65){if((O&255)<45){ua=ta;va=O;I=618;break}if((O&255)<48){wa=sa;xa=O;I=622;break}if((O&255)<58){ra=sa;continue}else{ya=ta;za=O;I=624;break}}if((O&255)>=103){Aa=ta;Ba=sa;Ca=O;I=631;break}if((O&255)<92)if((O&255)<71){ra=sa;continue}else{Da=ta;Ea=O;I=628;break}if(O<<24>>24==93){na=ta;I=267;break a}if((O&255)<97){I=85;break d}else ra=sa}if((I|0)==618){I=0;if((va&255)<35)if(va<<24>>24==33){I=85;break d}else{na=ua;I=267;break a}else if((va&255)<40|(va&-2)<<24>>24==42){I=85;break d}else{na=ua;I=267;break a}}else if((I|0)==622){I=0;if(xa<<24>>24==46){Fa=wa;I=635;break d}else{I=85;break d}}else if((I|0)==624){I=0;if(za<<24>>24==59){na=ya;I=267;break a}else{I=85;break d}}else if((I|0)==628){I=0;if((Ea&255)<91){I=85;break d}else{na=Da;I=267;break a}}else if((I|0)==631){I=0;if((Ca&255)>=124)if(Ca<<24>>24!=125&(Ca&255)<127){I=85;break d}else{na=Aa;I=267;break a}if(Ca<<24>>24==112){Ga=Ba;I=658;break d}if((Ca&255)<123){I=85;break d}else{na=Aa;I=267;break a}}}else if((E&255)<58)pa=F;else{ka=E;I=90;break d}while(0);while(1){F=pa+1|0;c[q>>2]=F;O=F;if(((c[s>>2]|0)-O|0)<3){if((Vd(f,3)|0)==1){I=271;break a}J=c[q>>2]|0;Ha=J;Ia=J}else{Ha=O;Ia=F}F=a[Ia>>0]|0;if((F&255)>=60){Ja=Ha;Ka=Ia;La=F;I=283;break}if((F&255)<44){Ma=Ha;Na=F;I=274;break}if((F&255)<47){Oa=Ha;Pa=Ia;Qa=F;I=278;break}if((F&255)<48){I=85;break d}if((F&255)<58)pa=Ia;else{Ra=Ha;Sa=F;I=282;break}}if((I|0)==274){I=0;if((Na&255)<35)if(Na<<24>>24==33){I=85;break d}else{na=Ma;I=267;break a}else if((Na&-2)<<24>>24==40){na=Ma;I=267;break a}else{I=85;break d}}else if((I|0)==278){I=0;if((Qa&255)<45){na=Oa;I=267;break a}if((Qa&255)<46){I=85;break d}else{oa=Pa;I=293;break d}}else if((I|0)==282){I=0;if((Sa&255)<59){I=85;break d}else{na=Ra;I=267;break a}}else if((I|0)==283){I=0;if((La&255)<101)if((La&255)<91)if(La<<24>>24==69){qa=Ka;I=316;break d}else{I=85;break d}else if(La<<24>>24!=92&(La&255)<94){na=Ja;I=267;break a}else{I=85;break d}if((La&255)>=124)if(La<<24>>24!=125&(La&255)<127){I=85;break d}else{na=Ja;I=267;break a}if((La&255)<102){qa=Ka;I=316;break d}if((La&255)<123){I=85;break d}else{na=Ja;I=267;break a}}}else{ka=E;I=90}break}case 48:{F=Z+1|0;c[q>>2]=F;O=a[F>>0]|0;J=F;if(((O&255)+-48|0)>>>0>=10){if((O&255)<70){if((O&255)<44)if((O&255)<35)if(O<<24>>24==33){I=85;break d}else{Ta=J;I=135;break a}else if((O&-2)<<24>>24==40){Ta=J;I=135;break a}else{I=85;break d}if((O&255)<47){if((O&255)<45){Ta=J;I=135;break a}if((O&255)<46){I=85;break d}else{oa=F;I=293;break d}}else{if(O<<24>>24==59){Ta=J;I=135;break a}if((O&255)<69){I=85;break d}else{qa=F;I=316;break d}}}if((O&255)<120){if((O&255)<93)if(O<<24>>24==91){Ta=J;I=135;break a}else{I=85;break d}if((O&255)<94){Ta=J;I=135;break a}if(O<<24>>24==101){qa=F;I=316;break d}else{I=85;break d}}if((O&255)>=124)if(O<<24>>24!=125&(O&255)<127){I=85;break d}else{Ta=J;I=135;break a}if((O&255)>=121)if((O&255)<123){I=85;break d}else{Ta=J;I=135;break a}J=Z+2|0;c[q>>2]=J;O=a[J>>0]|0;if((a[7357+(O&255)>>0]|0)<0){G=J;while(1){J=G+1|0;c[q>>2]=J;V=J;if(((c[s>>2]|0)-V|0)<3){if((Vd(f,3)|0)==1){I=434;break a}U=c[q>>2]|0;Ua=U;Va=U}else{Ua=J;Va=V}V=a[Ua>>0]|0;if((a[7357+(V&255)>>0]|0)<0)G=Ua;else{Wa=Va;Xa=Ua;Ya=V;break}}if((Ya&255)<60){if((Ya&255)<42)if((Ya&255)<34)if((Ya&255)<33){Ta=Wa;I=135;break a}else{I=85;break d}else if((Ya+-35&255)<5){I=85;break d}else{Ta=Wa;I=135;break a}if((Ya&255)<46)if(Ya<<24>>24==44){Ta=Wa;I=135;break a}else{I=85;break d}if((Ya&255)<47){Fa=Xa;I=635;break d}if((Ya&255)<59){I=85;break d}else{Ta=Wa;I=135;break a}}else{if((Ya&255)>=113)if((Ya&255)<125)if(Ya<<24>>24==123){Ta=Wa;I=135;break a}else{I=85;break d}else if(Ya<<24>>24==126){I=85;break d}else{Ta=Wa;I=135;break a}if((Ya&255)<93)if(Ya<<24>>24==91){Ta=Wa;I=135;break a}else{I=85;break d}if((Ya&255)<94){Ta=Wa;I=135;break a}if((Ya&255)<112){I=85;break d}else{Ga=Xa;I=658;break d}}}else{ka=O;I=90}}else{Za=F;I=136}break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{Za=Z;I=136;break}case 59:{G=Z+1|0;c[q>>2]=G;if((a[G>>0]|0)==59){c[q>>2]=Z+2;D=2;continue a}else{_a=G;I=78}break}case 97:{G=Z+1|0;c[q>>2]=G;E=a[G>>0]|0;if((E&255)<110){if(E<<24>>24!=108){ka=E;I=90;break d}G=Z+2|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+3|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=103){ka=G;I=90;break d}G=Z+4|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=61){ka=G;I=90;break d}G=Z+6|0;c[q>>2]=G;V=a[G>>0]|0;if((V&255)<48){ka=V;I=90;break d}do if((V&255)<49){J=Z+7|0;c[q>>2]=J;U=a[J>>0]|0;$a=J;if((U&255)<60){if((U&255)<42)if((U&255)<34)if((U&255)>32){I=85;break d}else{ab=$a;I=1131;break a}else if((U+-35&255)<5){I=85;break d}else{ab=$a;I=1131;break a}if((U&255)<48)if(U<<24>>24==44){ab=$a;I=1131;break a}else{I=85;break d}if((U&255)<58){bb=J;break}if((U&255)<59){I=85;break d}else{ab=$a;I=1131;break a}}if((U&255)>=121)if((U&255)<125)if(U<<24>>24==123){ab=$a;I=1131;break a}else{I=85;break d}else if(U<<24>>24==126){I=85;break d}else{ab=$a;I=1131;break a}if((U&255)<93)if(U<<24>>24==91){ab=$a;I=1131;break a}else{I=85;break d}if((U&255)<94){ab=$a;I=1131;break a}if((U&255)<120){I=85;break d}U=Z+8|0;c[q>>2]=U;$a=a[U>>0]|0;if(($a&255)<65)if(($a+-48&255)<10)cb=U;else{ka=$a;I=90;break d}else if(($a&255)<71|($a+-97&255)<6)cb=U;else{ka=$a;I=90;break d}while(1){$a=cb+1|0;c[q>>2]=$a;if((c[s>>2]|0)>>>0>$a>>>0)db=$a;else{if((Vd(f,1)|0)==1){I=1502;break a}db=c[q>>2]|0}$a=a[db>>0]|0;if(($a&255)<65){if(($a&255)<44){eb=db;fb=$a;I=1505;break}if(($a&255)>=58){gb=db;hb=$a;I=1511;break}if(($a&255)<45){ib=db;I=1130;break a}if(($a&255)<48){I=85;break d}else{cb=db;continue}}if(($a&255)<97){if(($a&255)>=92){jb=db;kb=$a;I=1516;break}if(($a&255)<71){cb=db;continue}else{lb=db;mb=$a;I=1515;break}}else{if(($a&255)>=124){nb=db;ob=$a;I=1520;break}if(($a&255)<103){cb=db;continue}else{pb=db;qb=$a;I=1519;break}}}if((I|0)==1505){I=0;$a=eb;if((fb&255)<35)if(fb<<24>>24==33){I=85;break d}else{ab=$a;I=1131;break a}else if((fb&-2)<<24>>24==40){ab=$a;I=1131;break a}else{I=85;break d}}else if((I|0)==1511){I=0;if(hb<<24>>24==59){ab=gb;I=1131;break a}else{I=85;break d}}else if((I|0)==1515){I=0;if((mb&255)<91){I=85;break d}else{ab=lb;I=1131;break a}}else if((I|0)==1516){I=0;if(kb<<24>>24==93){ab=jb;I=1131;break a}else{I=85;break d}}else if((I|0)==1519){I=0;if((qb&255)<123){I=85;break d}else{ab=pb;I=1131;break a}}else if((I|0)==1520){I=0;if(ob<<24>>24!=125&(ob&255)<127){I=85;break d}else{ab=nb;I=1131;break a}}}else if((V&255)<58)bb=G;else{ka=V;I=90;break d}while(0);while(1){V=bb+1|0;c[q>>2]=V;if((c[s>>2]|0)>>>0>V>>>0)rb=V;else{if((Vd(f,1)|0)==1){I=1135;break a}rb=c[q>>2]|0}V=a[rb>>0]|0;if((V&255)>=59){sb=rb;tb=V;I=1144;break}if((V&255)<42){ub=rb;vb=V;I=1138;break}if((V&255)<45){wb=rb;xb=V;I=1142;break}if((V+-48&255)<10)bb=rb;else{I=85;break d}}if((I|0)==1138){I=0;V=ub;if((vb&255)<34)if((vb&255)<33){ab=V;I=1131;break a}else{I=85;break d}else if((vb+-35&255)<5){I=85;break d}else{ab=V;I=1131;break a}}else if((I|0)==1142){I=0;if((xb&255)<44){I=85;break d}else{ab=wb;I=1131;break a}}else if((I|0)==1144){I=0;V=sb;if((tb&255)<94)if((tb&255)<91)if((tb&255)<60){ab=V;I=1131;break a}else{I=85;break d}else if(tb<<24>>24==92){I=85;break d}else{ab=V;I=1131;break a}else if((tb&255)<125)if(tb<<24>>24==123){ab=V;I=1131;break a}else{I=85;break d}else if(tb<<24>>24==126){I=85;break d}else{ab=V;I=1131;break a}}}if((E&255)<111){V=Z+2|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=121){ka=G;I=90;break d}G=Z+3|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=102){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=117){ka=G;I=90;break d}G=Z+5|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=99){ka=G;I=90;break d}G=Z+7|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){yb=G;I=1152;break a}else{I=85;break d}}if(E<<24>>24==115){G=Z+2|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24==115){G=Z+3|0;c[q>>2]=G;F=a[G>>0]|0;if(F<<24>>24==101){G=Z+4|0;c[q>>2]=G;O=a[G>>0]|0;if(O<<24>>24==114){G=Z+5|0;c[q>>2]=G;$a=a[G>>0]|0;if($a<<24>>24==116){G=Z+6|0;c[q>>2]=G;U=a[G>>0]|0;if(U<<24>>24==95){G=Z+7|0;c[q>>2]=G;J=a[G>>0]|0;switch(J&255|0){case 101:{G=Z+8|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=120){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=104){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=117){ka=G;I=90;break d}G=Z+12|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+13|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=116){ka=G;I=90;break d}G=Z+14|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+15|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=111){ka=G;I=90;break d}G=Z+16|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+17|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Ab=zb;I=1930;break a}else{I=85;break d}break}case 105:{zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+9|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=118){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=97){ka=G;I=90;break d}G=Z+11|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=105){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=100){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Bb=zb;I=1847;break a}else{I=85;break d}break}case 109:{zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=97){ka=G;I=90;break d}G=Z+9|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=102){ka=G;I=90;break d}G=Z+11|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=114){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=109){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=101){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=100){ka=zb;I=90;break d}zb=Z+16|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Cb=zb;I=1909;break a}else{I=85;break d}break}case 114:{zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=101){ka=G;I=90;break d}G=Z+9|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=117){ka=G;I=90;break d}G=Z+11|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;zb=a[G>>0]|0;if((zb&255)<91)if((zb&255)<42)if((zb&255)<34)if((zb&255)>32){I=85;break d}else{Db=G;I=1824;break a}else if((zb+-35&255)<5){I=85;break d}else{Db=G;I=1824;break a}else if((zb&255)<45)if((zb&255)<44){I=85;break d}else{Db=G;I=1824;break a}else if(zb<<24>>24==59){Db=G;I=1824;break a}else{I=85;break d}if((zb&255)>=96)if((zb&255)<125)if(zb<<24>>24==123){Db=G;I=1824;break a}else{I=85;break d}else if(zb<<24>>24==126){I=85;break d}else{Db=G;I=1824;break a}if((zb&255)<93)if((zb&255)>91){I=85;break d}else{Db=G;I=1824;break a}if((zb&255)<94){Db=G;I=1824;break a}if((zb&255)<95){I=85;break d}zb=Z+14|0;c[q>>2]=zb;G=a[zb>>0]|0;switch(G<<24>>24){case 97:break;case 99:{zb=Z+15|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=97){ka=Eb;I=90;break d}Eb=Z+16|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+17|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=111){ka=Eb;I=90;break d}Eb=Z+18|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+19|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=105){ka=Eb;I=90;break d}Eb=Z+20|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=99){ka=zb;I=90;break d}zb=Z+21|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=97){ka=Eb;I=90;break d}Eb=Z+22|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+23|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=95){ka=Eb;I=90;break d}Eb=Z+24|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+25|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=97){ka=Eb;I=90;break d}Eb=Z+26|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+27|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Fb=zb;I=1987;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}G=Z+15|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+16|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=105){ka=G;I=90;break d}G=Z+17|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+18|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=104){ka=G;I=90;break d}G=Z+19|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=109){ka=zb;I=90;break d}zb=Z+20|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=101){ka=G;I=90;break d}G=Z+21|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+22|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=105){ka=G;I=90;break d}G=Z+23|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=99){ka=zb;I=90;break d}zb=Z+24|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=95){ka=G;I=90;break d}G=Z+25|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+26|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=97){ka=G;I=90;break d}G=Z+27|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+28|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Gb=zb;I=1989;break a}else{I=85;break d}break}case 116:{zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=114){ka=G;I=90;break d}G=Z+9|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=112){ka=G;I=90;break d}G=Z+11|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){Hb=G;I=1719;break a}else{I=85;break d}break}case 117:{G=Z+8|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=108){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+12|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=107){ka=zb;I=90;break d}zb=Z+13|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=97){ka=G;I=90;break d}G=Z+14|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=98){ka=zb;I=90;break d}zb=Z+15|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=108){ka=G;I=90;break d}G=Z+16|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+17|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Ib=zb;I=1934;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}}else{ka=U;I=90}}else{ka=$a;I=90}}else{ka=O;I=90}}else{ka=F;I=90}}else{ka=V;I=90}}else{ka=E;I=90}break}case 98:{V=Z+1|0;c[q>>2]=V;F=a[V>>0]|0;switch(F<<24>>24){case 108:{V=Z+2|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=111){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=99){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=107){ka=O;I=90;break d}O=Z+5|0;c[q>>2]=O;if(!(a[7357+(d[O>>0]|0)>>0]&16)){Jb=O;I=756;break a}else{I=85;break d}break}case 114:break;default:{ka=F;I=90;break d}}F=Z+2|0;c[q>>2]=F;O=a[F>>0]|0;if((O&255)<91)if((O&255)<42)if((O&255)<34)if((O&255)>32){I=85;break d}else{Kb=F;I=342;break a}else if((O+-35&255)<5){I=85;break d}else{Kb=F;I=342;break a}else if((O&255)<45)if((O&255)<44){I=85;break d}else{Kb=F;I=342;break a}else if(O<<24>>24==59){Kb=F;I=342;break a}else{I=85;break d}if((O&255)>=96)if((O&255)<125)if(O<<24>>24==123){Kb=F;I=342;break a}else{I=85;break d}else if(O<<24>>24==126){I=85;break d}else{Kb=F;I=342;break a}if((O&255)<93)if((O&255)>91){I=85;break d}else{Kb=F;I=342;break a}if((O&255)<94){Kb=F;I=342;break a}if((O&255)>=95){O=Z+3|0;c[q>>2]=O;F=a[O>>0]|0;switch(F<<24>>24){case 105:{O=Z+4|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=102){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Lb=V;I=758;break a}else{I=85;break d}break}case 116:break;default:{ka=F;I=90;break d}}F=Z+4|0;c[q>>2]=F;V=a[F>>0]|0;if(V<<24>>24==97){F=Z+5|0;c[q>>2]=F;O=a[F>>0]|0;if(O<<24>>24==98){F=Z+6|0;c[q>>2]=F;$a=a[F>>0]|0;if($a<<24>>24==108){F=Z+7|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24==101){F=Z+8|0;c[q>>2]=F;if(!(a[7357+(d[F>>0]|0)>>0]&16)){Mb=F;I=1324;break a}else I=85}else{ka=U;I=90}}else{ka=$a;I=90}}else{ka=O;I=90}}else{ka=V;I=90}}else I=85;break}case 99:{V=Z+1|0;c[q>>2]=V;O=a[V>>0]|0;switch(O<<24>>24){case 97:break;case 117:{V=Z+2|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+3|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+5|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=116){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=109){ka=$a;I=90;break d}$a=Z+9|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+10|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=109){ka=$a;I=90;break d}$a=Z+11|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+12|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+13|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=121){ka=V;I=90;break d}V=Z+14|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Nb=V;I=1852;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24==108){O=Z+3|0;c[q>>2]=O;$a=a[O>>0]|0;if($a<<24>>24==108){O=Z+4|0;c[q>>2]=O;U=a[O>>0]|0;if((U&255)<91)if((U&255)<42)if((U&255)<34)if((U&255)>32){I=85;break d}else{Ob=O;I=684;break a}else if((U+-35&255)<5){I=85;break d}else{Ob=O;I=684;break a}else if((U&255)<45)if((U&255)<44){I=85;break d}else{Ob=O;I=684;break a}else if(U<<24>>24==59){Ob=O;I=684;break a}else{I=85;break d}if((U&255)>=96)if((U&255)<125)if(U<<24>>24==123){Ob=O;I=684;break a}else{I=85;break d}else if(U<<24>>24==126){I=85;break d}else{Ob=O;I=684;break a}if((U&255)<93)if((U&255)>91){I=85;break d}else{Ob=O;I=684;break a}if((U&255)<94){Ob=O;I=684;break a}if((U&255)>=95){U=Z+5|0;c[q>>2]=U;O=a[U>>0]|0;if(O<<24>>24==105){U=Z+6|0;c[q>>2]=U;F=a[U>>0]|0;if((F&255)>=109){if((F&255)<110){U=Z+7|0;c[q>>2]=U;J=a[U>>0]|0;if(J<<24>>24!=112){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;U=a[J>>0]|0;if(U<<24>>24!=111){ka=U;I=90;break d}U=Z+9|0;c[q>>2]=U;J=a[U>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;U=a[J>>0]|0;if(U<<24>>24!=116){ka=U;I=90;break d}U=Z+11|0;c[q>>2]=U;if(!(a[7357+(d[U>>0]|0)>>0]&16)){Pb=U;I=1722;break a}else{I=85;break d}}if((F&255)<111){U=Z+7|0;c[q>>2]=U;J=a[U>>0]|0;if(J<<24>>24==100){U=Z+8|0;c[q>>2]=U;zb=a[U>>0]|0;if(zb<<24>>24==105){U=Z+9|0;c[q>>2]=U;G=a[U>>0]|0;if(G<<24>>24==114){U=Z+10|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24!=101){ka=Eb;I=90;break d}Eb=Z+11|0;c[q>>2]=Eb;U=a[Eb>>0]|0;if(U<<24>>24!=99){ka=U;I=90;break d}U=Z+12|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24!=116){ka=Eb;I=90;break d}Eb=Z+13|0;c[q>>2]=Eb;if(!(a[7357+(d[Eb>>0]|0)>>0]&16)){Qb=Eb;I=1827;break a}else I=85}else{ka=G;I=90}}else{ka=zb;I=90}}else{ka=J;I=90}}else{ka=F;I=90}}else{ka=F;I=90}}else{ka=O;I=90}}else I=85}else{ka=$a;I=90}}else{ka=V;I=90}break}case 100:{V=Z+1|0;c[q>>2]=V;$a=a[V>>0]|0;switch($a<<24>>24){case 97:{V=Z+2|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=116){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=97){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Rb=V;I=687;break a}else{I=85;break d}break}case 114:{V=Z+2|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=111){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=112){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Sb=V;I=689;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}break}case 101:{$a=Z+1|0;c[q>>2]=$a;V=a[$a>>0]|0;if((V&255)<110){if(V<<24>>24!=108){ka=V;I=90;break d}$a=Z+2|0;c[q>>2]=$a;O=a[$a>>0]|0;switch(O<<24>>24){case 101:{$a=Z+3|0;c[q>>2]=$a;F=a[$a>>0]|0;if(F<<24>>24!=109){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;if(!(a[7357+(d[F>>0]|0)>>0]&16)){Tb=F;I=691;break a}else{I=85;break d}break}case 115:{F=Z+3|0;c[q>>2]=F;$a=a[F>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+4|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Ub=$a;I=693;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}}if((V&255)<111){O=Z+2|0;c[q>>2]=O;$a=a[O>>0]|0;if($a<<24>>24!=100){ka=$a;I=90;break d}$a=Z+3|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Vb=$a;I=465;break a}else{I=85;break d}}if(V<<24>>24==120){$a=Z+2|0;c[q>>2]=$a;O=a[$a>>0]|0;if(O<<24>>24==112){$a=Z+3|0;c[q>>2]=$a;F=a[$a>>0]|0;if(F<<24>>24==111){$a=Z+4|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24==114){$a=Z+5|0;c[q>>2]=$a;zb=a[$a>>0]|0;if(zb<<24>>24==116){$a=Z+6|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Wb=$a;I=895;break a}else I=85}else{ka=zb;I=90}}else{ka=J;I=90}}else{ka=F;I=90}}else{ka=O;I=90}}else{ka=V;I=90}break}case 102:{V=Z+1|0;c[q>>2]=V;O=a[V>>0]|0;if((O&255)<54){if(O<<24>>24!=51){ka=O;I=90;break d}V=Z+2|0;c[q>>2]=V;F=a[V>>0]|0;if(F<<24>>24!=50){ka=F;I=90;break d}F=Z+3|0;c[q>>2]=F;V=a[F>>0]|0;if((V&255)>=59)if((V&255)<94)if((V&255)<91)if((V&255)>59){I=85;break d}else{Xb=F;I=482;break a}else if(V<<24>>24==92){I=85;break d}else{Xb=F;I=482;break a}else if((V&255)<125)if(V<<24>>24==123){Xb=F;I=482;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{Xb=F;I=482;break a}if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{Xb=F;I=482;break a}else if((V+-35&255)<5){I=85;break d}else{Xb=F;I=482;break a}if((V&255)<45)if((V&255)<44){I=85;break d}else{Xb=F;I=482;break a}if(V<<24>>24!=46){I=85;break d}V=Z+4|0;c[q>>2]=V;F=a[V>>0]|0;do switch(F&255|0){case 97:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 98:{V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Yb=zb;I=1159;break a}else{I=85;break d}break}case 100:{zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=100){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Zb=V;I=1161;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 99:{J=Z+5|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 101:{J=Z+6|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=108){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){_b=J;I=1329;break a}else{I=85;break d}break}case 111:break;default:{ka=V;I=90;break d}}V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 110:break;case 112:{V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=121){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=115){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=103){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){$b=zb;I=1775;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;switch(zb<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){ac=V;I=1531;break a}else{I=85;break d}break}case 118:break;default:{ka=zb;I=90;break d}}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=95){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;V=a[zb>>0]|0;switch(V<<24>>24){case 115:{zb=Z+13|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+14|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+15|0;c[q>>2]=zb;J=a[zb>>0]|0;switch(J<<24>>24){case 51:{zb=Z+16|0;c[q>>2]=zb;$a=a[zb>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){bc=$a;I=1936;break a}else{I=85;break d}break}case 54:{$a=Z+16|0;c[q>>2]=$a;zb=a[$a>>0]|0;if(zb<<24>>24!=52){ka=zb;I=90;break d}zb=Z+17|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){cc=zb;I=1938;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 117:{J=Z+13|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=47){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;zb=a[J>>0]|0;switch(zb<<24>>24){case 51:{J=Z+16|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){dc=$a;I=1940;break a}else{I=85;break d}break}case 54:{$a=Z+16|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=52){ka=J;I=90;break d}J=Z+17|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){ec=J;I=1942;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}break}default:{ka=V;I=90;break d}}break}case 100:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;switch(zb<<24>>24){case 101:break;case 105:{V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=118){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){fc=J;I=1167;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=109){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=102){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+13|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=52){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){gc=zb;I=1856;break a}else{I=85;break d}break}case 101:{zb=Z+5|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=113){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){hc=J;I=903;break a}else{I=85;break d}break}case 102:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){ic=J;I=1536;break a}else{I=85;break d}break}case 103:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;switch(zb<<24>>24){case 101:{J=Z+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){jc=J;I=906;break a}else{I=85;break d}break}case 116:{J=Z+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){kc=J;I=908;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}break}case 108:{zb=Z+5|0;c[q>>2]=zb;J=a[zb>>0]|0;if((J&255)<111){if(J<<24>>24!=101){ka=J;I=90;break d}zb=Z+6|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){lc=zb;I=910;break a}else{I=85;break d}}if((J&255)>=112){if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){mc=J;I=913;break a}else{I=85;break d}}J=Z+6|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=100){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){nc=J;I=1336;break a}else{I=85;break d}break}case 109:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if((zb&255)<105){if(zb<<24>>24!=97){ka=zb;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=120){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){oc=V;I=1171;break a}else{I=85;break d}}if((zb&255)<106){V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){pc=J;I=1173;break a}else{I=85;break d}}if(zb<<24>>24!=117){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=108){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){qc=J;I=1175;break a}else{I=85;break d}break}case 110:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if((J&255)<92)if((J&255)<42)if((J&255)<34)if((J&255)>32){I=85;break d}else{rc=zb;I=933;break a}else if((J+-35&255)<5){I=85;break d}else{rc=zb;I=933;break a}else if((J&255)<59)if(J<<24>>24==44){rc=zb;I=933;break a}else{I=85;break d}else if((J+-60&255)<31){I=85;break d}else{rc=zb;I=933;break a}if((J&255)>=104)if((J&255)<125)if(J<<24>>24==123){rc=zb;I=933;break a}else{I=85;break d}else if(J<<24>>24==126){I=85;break d}else{rc=zb;I=933;break a}if((J&255)<97)if(J<<24>>24==93){rc=zb;I=933;break a}else{I=85;break d}if((J&255)>=98){if((J&255)<103){I=85;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){sc=J;I=1178;break a}else{I=85;break d}}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){tc=J;I=1729;break a}else{I=85;break d}break}case 114:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=112){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+13|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=47){ka=zb;I=90;break d}zb=Z+16|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+17|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=51){ka=zb;I=90;break d}zb=Z+18|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=50){ka=J;I=90;break d}J=Z+19|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){uc=J;I=1964;break a}else{I=85;break d}break}case 115:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if((zb&255)<116){if(zb<<24>>24!=113){ka=zb;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){vc=J;I=1340;break a}else{I=85;break d}}if((zb&255)>=117){if((zb&255)>=118){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=98){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){wc=J;I=1183;break a}else{I=85;break d}}J=Z+6|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){xc=zb;I=1540;break a}else{I=85;break d}break}case 116:{zb=Z+5|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=117){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=99){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){yc=zb;I=1542;break a}else{I=85;break d}break}default:{ka=F;I=90;break d}}while(0)}if((O&255)>=55){if(O<<24>>24!=117){ka=O;I=90;break d}F=Z+2|0;c[q>>2]=F;E=a[F>>0]|0;if(E<<24>>24!=110){ka=E;I=90;break d}E=Z+3|0;c[q>>2]=E;F=a[E>>0]|0;if(F<<24>>24!=99){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;if(!(a[7357+(d[F>>0]|0)>>0]&16)){zc=F;I=698;break a}else{I=85;break d}}F=Z+2|0;c[q>>2]=F;E=a[F>>0]|0;if(E<<24>>24==52){F=Z+3|0;c[q>>2]=F;zb=a[F>>0]|0;if((zb&255)>=59)if((zb&255)<94)if((zb&255)<91)if((zb&255)>59){I=85;break d}else{Ac=F;I=498;break a}else if(zb<<24>>24==92){I=85;break d}else{Ac=F;I=498;break a}else if((zb&255)<125)if(zb<<24>>24==123){Ac=F;I=498;break a}else{I=85;break d}else if(zb<<24>>24==126){I=85;break d}else{Ac=F;I=498;break a}if((zb&255)<42)if((zb&255)<34)if((zb&255)>32){I=85;break d}else{Ac=F;I=498;break a}else if((zb+-35&255)<5){I=85;break d}else{Ac=F;I=498;break a}if((zb&255)<45)if((zb&255)<44){I=85;break d}else{Ac=F;I=498;break a}if(zb<<24>>24==46){zb=Z+4|0;c[q>>2]=zb;F=a[zb>>0]|0;do switch(F&255|0){case 97:{zb=Z+5|0;c[q>>2]=zb;J=a[zb>>0]|0;switch(J<<24>>24){case 98:{zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=115){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Bc=V;I=1186;break a}else{I=85;break d}break}case 100:{V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=100){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Cc=zb;I=1188;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 99:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;switch(zb<<24>>24){case 101:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=108){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Dc=J;I=1344;break a}else{I=85;break d}break}case 111:break;default:{ka=zb;I=90;break d}}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;switch(J<<24>>24){case 110:break;case 112:{zb=Z+7|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=121){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+10|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=103){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+12|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Ec=V;I=1780;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}J=Z+7|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Fc=zb;I=1544;break a}else{I=85;break d}break}case 118:break;default:{ka=V;I=90;break d}}V=Z+8|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+10|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+12|0;c[q>>2]=V;zb=a[V>>0]|0;switch(zb<<24>>24){case 115:{V=Z+13|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+14|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+15|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 51:{V=Z+16|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Gc=$a;I=1945;break a}else{I=85;break d}break}case 54:{$a=Z+16|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=52){ka=V;I=90;break d}V=Z+17|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Hc=V;I=1947;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 117:{J=Z+13|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=47){ka=V;I=90;break d}V=Z+14|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 51:{J=Z+16|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Ic=$a;I=1949;break a}else{I=85;break d}break}case 54:{$a=Z+16|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=52){ka=J;I=90;break d}J=Z+17|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Jc=J;I=1951;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}default:{ka=zb;I=90;break d}}break}case 100:{zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=118){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Kc=zb;I=1193;break a}else{I=85;break d}break}case 101:{zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=113){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Lc=V;I=945;break a}else{I=85;break d}break}case 102:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Mc=V;I=1548;break a}else{I=85;break d}break}case 103:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;switch(zb<<24>>24){case 101:{V=Z+6|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Nc=V;I=948;break a}else{I=85;break d}break}case 116:{V=Z+6|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Oc=V;I=950;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}break}case 108:{zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if((V&255)<111){if(V<<24>>24!=101){ka=V;I=90;break d}zb=Z+6|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){Pc=zb;I=952;break a}else{I=85;break d}}if((V&255)>=112){if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Qc=V;I=955;break a}else{I=85;break d}}V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=100){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Rc=V;I=1350;break a}else{I=85;break d}break}case 109:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if((zb&255)<105){if(zb<<24>>24!=97){ka=zb;I=90;break d}V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=120){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Sc=J;I=1197;break a}else{I=85;break d}}if((zb&255)<106){J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Tc=V;I=1199;break a}else{I=85;break d}}if(zb<<24>>24!=117){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=108){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Uc=V;I=1201;break a}else{I=85;break d}break}case 110:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if((V&255)<92)if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{Vc=zb;I=975;break a}else if((V+-35&255)<5){I=85;break d}else{Vc=zb;I=975;break a}else if((V&255)<59)if(V<<24>>24==44){Vc=zb;I=975;break a}else{I=85;break d}else if((V+-60&255)<31){I=85;break d}else{Vc=zb;I=975;break a}if((V&255)>=104)if((V&255)<125)if(V<<24>>24==123){Vc=zb;I=975;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{Vc=zb;I=975;break a}if((V&255)<97)if(V<<24>>24==93){Vc=zb;I=975;break a}else{I=85;break d}if((V&255)>=98){if((V&255)<103){I=85;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Wc=V;I=1204;break a}else{I=85;break d}}V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Xc=V;I=1734;break a}else{I=85;break d}break}case 112:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=109){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=47){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=102){ka=V;I=90;break d}V=Z+13|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=51){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=50){ka=V;I=90;break d}V=Z+15|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Yc=V;I=1885;break a}else{I=85;break d}break}case 114:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=112){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+13|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+15|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=47){ka=zb;I=90;break d}zb=Z+16|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+17|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=54){ka=zb;I=90;break d}zb=Z+18|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=52){ka=V;I=90;break d}V=Z+19|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Zc=V;I=1966;break a}else{I=85;break d}break}case 115:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if((zb&255)<116){if(zb<<24>>24!=113){ka=zb;I=90;break d}V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){_c=V;I=1355;break a}else{I=85;break d}}if((zb&255)>=117){if((zb&255)>=118){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=98){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){$c=V;I=1210;break a}else{I=85;break d}}V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){ad=zb;I=1553;break a}else{I=85;break d}break}case 116:{zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=117){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=99){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){bd=zb;I=1555;break a}else{I=85;break d}break}default:{ka=F;I=90;break d}}while(0)}else I=85}else{ka=E;I=90}break}case 103:{F=Z+1|0;c[q>>2]=F;O=a[F>>0]|0;if((O&255)>=108){if((O&255)<109){F=Z+2|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+3|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=98){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+5|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=108){ka=F;I=90;break d}F=Z+6|0;c[q>>2]=F;if(!(a[7357+(d[F>>0]|0)>>0]&16)){cd=F;I=985;break a}else{I=85;break d}}if(O<<24>>24!=114){ka=O;I=90;break d}F=Z+2|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+3|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=119){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=95){ka=zb;I=90;break d}zb=Z+5|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=109){ka=F;I=90;break d}F=Z+6|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=109){ka=F;I=90;break d}F=Z+8|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=114){ka=F;I=90;break d}F=Z+10|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=121){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){dd=zb;I=1738;break a}else{I=85;break d}}if(O<<24>>24==101){zb=Z+2|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24==116){zb=Z+3|0;c[q>>2]=zb;V=a[zb>>0]|0;if((V&255)<91)if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{ed=zb;I=516;break a}else if((V+-35&255)<5){I=85;break d}else{ed=zb;I=516;break a}else if((V&255)<45)if((V&255)<44){I=85;break d}else{ed=zb;I=516;break a}else if(V<<24>>24==59){ed=zb;I=516;break a}else{I=85;break d}if((V&255)>=96)if((V&255)<125)if(V<<24>>24==123){ed=zb;I=516;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{ed=zb;I=516;break a}if((V&255)<93)if((V&255)>91){I=85;break d}else{ed=zb;I=516;break a}if((V&255)<94){ed=zb;I=516;break a}if((V&255)>=95){V=Z+4|0;c[q>>2]=V;zb=a[V>>0]|0;switch(zb<<24>>24){case 103:break;case 108:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=99){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=97){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=108){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){fd=V;I=1558;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24==108){zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24==111){zb=Z+7|0;c[q>>2]=zb;$a=a[zb>>0]|0;if($a<<24>>24==98){zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24==97){zb=Z+9|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24==108){zb=Z+10|0;c[q>>2]=zb;if(!(a[7357+(d[zb>>0]|0)>>0]&16)){gd=zb;I=1665;break a}else I=85}else{ka=Eb;I=90}}else{ka=G;I=90}}else{ka=$a;I=90}}else{ka=J;I=90}}else{ka=V;I=90}}else I=85}else{ka=F;I=90}}else{ka=O;I=90}break}case 105:{O=Z+1|0;c[q>>2]=O;F=a[O>>0]|0;if((F&255)>=102){if((F&255)>=109){if((F&255)<110){O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=112){ka=V;I=90;break d}V=Z+3|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=111){ka=O;I=90;break d}O=Z+4|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=116){ka=O;I=90;break d}O=Z+6|0;c[q>>2]=O;if(!(a[7357+(d[O>>0]|0)>>0]&16)){hd=O;I=1073;break a}else{I=85;break d}}if((F&255)>=111){ka=F;I=90;break d}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if((V&255)<112)if(V<<24>>24==102){la=O;I=553;break d}else{ka=V;I=90;break d}if((V&255)<113){O=Z+3|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24!=117){ka=J;I=90;break d}J=Z+4|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24!=116){ka=O;I=90;break d}O=Z+5|0;c[q>>2]=O;if(!(a[7357+(d[O>>0]|0)>>0]&16)){id=O;I=861;break a}else{I=85;break d}}if(V<<24>>24!=118){ka=V;I=90;break d}V=Z+3|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=111){ka=O;I=90;break d}O=Z+4|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=107){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=101){ka=O;I=90;break d}O=Z+6|0;c[q>>2]=O;if(!(a[7357+(d[O>>0]|0)>>0]&16)){jd=O;I=1076;break a}else{I=85;break d}}if((F&255)>=103){ka=F;I=90;break d}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if((V&255)<91)if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{kd=O;I=374;break a}else if((V+-35&255)<5){I=85;break d}else{kd=O;I=374;break a}else if((V&255)<45)if((V&255)<44){I=85;break d}else{kd=O;I=374;break a}else if(V<<24>>24==59){kd=O;I=374;break a}else{I=85;break d}if((V&255)>=96)if((V&255)<125)if(V<<24>>24==123){kd=O;I=374;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{kd=O;I=374;break a}if((V&255)<93)if((V&255)>91){I=85;break d}else{kd=O;I=374;break a}if((V&255)<94){kd=O;I=374;break a}if((V&255)<95){I=85;break d}V=Z+3|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=101){ka=O;I=90;break d}O=Z+4|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=108){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=115){ka=O;I=90;break d}O=Z+6|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){ld=V;I=1282;break a}else{I=85;break d}}if((F&255)<52){if((F&255)<51){ka=F;I=90;break d}V=Z+2|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=50){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if((V&255)>=59)if((V&255)<94)if((V&255)<91)if((V&255)>59){I=85;break d}else{md=O;I=534;break a}else if(V<<24>>24==92){I=85;break d}else{md=O;I=534;break a}else if((V&255)<125)if(V<<24>>24==123){md=O;I=534;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{md=O;I=534;break a}if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{md=O;I=534;break a}else if((V+-35&255)<5){I=85;break d}else{md=O;I=534;break a}if((V&255)<45)if((V&255)<44){I=85;break d}else{md=O;I=534;break a}if(V<<24>>24!=46){I=85;break d}V=Z+4|0;c[q>>2]=V;O=a[V>>0]|0;do switch(O&255|0){case 97:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 100:{V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=100){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){nd=$a;I=1216;break a}else{I=85;break d}break}case 110:{$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=100){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){od=V;I=1218;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 99:{J=Z+5|0;c[q>>2]=J;V=a[J>>0]|0;if((V&255)<111){if(V<<24>>24!=108){ka=V;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=122){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){pd=$a;I=1220;break a}else{I=85;break d}}if((V&255)>=112){if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=122){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){qd=$a;I=1223;break a}else{I=85;break d}}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=115){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){rd=V;I=1561;break a}else{I=85;break d}break}case 100:{V=Z+5|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=105){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=118){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;V=a[$a>>0]|0;switch(V<<24>>24){case 115:{$a=Z+9|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){sd=$a;I=1563;break a}else{I=85;break d}break}case 117:{$a=Z+9|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){td=$a;I=1565;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}case 101:{V=Z+5|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=113){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if((V&255)<91)if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{ud=$a;I=1009;break a}else if((V+-35&255)<5){I=85;break d}else{ud=$a;I=1009;break a}else if((V&255)<45)if((V&255)<44){I=85;break d}else{ud=$a;I=1009;break a}else if(V<<24>>24==59){ud=$a;I=1009;break a}else{I=85;break d}if((V&255)>=123)if((V&255)<125)if((V&255)>123){I=85;break d}else{ud=$a;I=1009;break a}else if(V<<24>>24==126){I=85;break d}else{ud=$a;I=1009;break a}if((V&255)<93)if((V&255)>91){I=85;break d}else{ud=$a;I=1009;break a}if((V&255)<94){ud=$a;I=1009;break a}if((V&255)<122){I=85;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){vd=V;I=1226;break a}else{I=85;break d}break}case 103:{V=Z+5|0;c[q>>2]=V;$a=a[V>>0]|0;switch($a<<24>>24){case 101:{V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){wd=J;I=1364;break a}else{I=85;break d}break}case 117:{J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){xd=J;I=1366;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}case 116:{V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){yd=J;I=1368;break a}else{I=85;break d}break}case 117:{J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){zd=J;I=1370;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}default:{ka=$a;I=90;break d}}break}case 108:{$a=Z+5|0;c[q>>2]=$a;V=a[$a>>0]|0;if((V&255)<111){if(V<<24>>24!=101){ka=V;I=90;break d}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Ad=J;I=1372;break a}else{I=85;break d}break}case 117:{J=Z+8|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Bd=J;I=1374;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}}if((V&255)>=112){if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;switch(V<<24>>24){case 115:{$a=Z+8|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Cd=$a;I=1393;break a}else{I=85;break d}break}case 117:{$a=Z+8|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Dd=$a;I=1395;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=97){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=100){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;$a=a[V>>0]|0;if(($a&255)>=57)if(($a&255)<94)if(($a&255)<91)if($a<<24>>24==59){Ed=V;I=1391;break a}else{I=85;break d}else if($a<<24>>24==92){I=85;break d}else{Ed=V;I=1391;break a}else if(($a&255)<125)if($a<<24>>24==123){Ed=V;I=1391;break a}else{I=85;break d}else if($a<<24>>24==126){I=85;break d}else{Ed=V;I=1391;break a}if(($a&255)<42)if(($a&255)<34)if(($a&255)>32){I=85;break d}else{Ed=V;I=1391;break a}else if(($a+-35&255)<5){I=85;break d}else{Ed=V;I=1391;break a}if(($a&255)<49)if($a<<24>>24==44){Ed=V;I=1391;break a}else{I=85;break d}if(($a&255)<50){V=Z+9|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 115:{V=Z+12|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Fd=V;I=1784;break a}else{I=85;break d}break}case 117:{V=Z+12|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Gd=V;I=1786;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}}else{if(($a&255)<56){I=85;break d}$a=Z+9|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 115:{J=Z+11|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Hd=J;I=1741;break a}else{I=85;break d}break}case 117:{J=Z+11|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Id=J;I=1743;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}}break}case 109:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=117){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=108){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Jd=$a;I=1233;break a}else{I=85;break d}break}case 110:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Kd=J;I=1017;break a}else{I=85;break d}break}case 111:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Ld=$a;I=1019;break a}else{I=85;break d}break}case 112:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=112){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=99){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=110){ka=$a;I=90;break d}$a=Z+9|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Md=J;I=1670;break a}else{I=85;break d}break}case 114:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 101:break;case 111:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 108:{V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Nd=V;I=1400;break a}else{I=85;break d}break}case 114:{V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Od=V;I=1402;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=$a;I=90;break d}}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 105:break;case 109:{$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;$a=a[V>>0]|0;switch($a<<24>>24){case 115:{V=Z+9|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Pd=V;I=1571;break a}else{I=85;break d}break}case 117:{V=Z+9|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Qd=V;I=1573;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}break}default:{ka=J;I=90;break d}}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=110){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+10|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=112){ka=$a;I=90;break d}$a=Z+12|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+13|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+14|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=47){ka=$a;I=90;break d}$a=Z+16|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=102){ka=J;I=90;break d}J=Z+17|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=51){ka=$a;I=90;break d}$a=Z+18|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=50){ka=J;I=90;break d}J=Z+19|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Rd=J;I=1968;break a}else{I=85;break d}break}case 115:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if(($a&255)<116){if($a<<24>>24!=104){ka=$a;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 108:{J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Sd=J;I=1239;break a}else{I=85;break d}break}case 114:break;default:{ka=V;I=90;break d}}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+9|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Td=J;I=1575;break a}else{I=85;break d}break}case 117:{J=Z+9|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Ud=J;I=1577;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}}if(($a&255)>=117){if(($a&255)>=118){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=98){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Wd=V;I=1243;break a}else{I=85;break d}}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=111){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+9|0;c[q>>2]=$a;V=a[$a>>0]|0;if((V&255)>=57)if((V&255)<94)if((V&255)<91)if(V<<24>>24==59){Xd=$a;I=1594;break a}else{I=85;break d}else if(V<<24>>24==92){I=85;break d}else{Xd=$a;I=1594;break a}else if((V&255)<125)if(V<<24>>24==123){Xd=$a;I=1594;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{Xd=$a;I=1594;break a}if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{Xd=$a;I=1594;break a}else if((V+-35&255)<5){I=85;break d}else{Xd=$a;I=1594;break a}if((V&255)<49)if(V<<24>>24==44){Xd=$a;I=1594;break a}else{I=85;break d}if((V&255)<50){$a=Z+10|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Yd=J;I=1746;break a}else{I=85;break d}}else{if((V&255)<56){I=85;break d}V=Z+10|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Zd=V;I=1674;break a}else{I=85;break d}}break}case 116:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=117){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=99){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+11|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=47){ka=$a;I=90;break d}$a=Z+12|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=102){ka=J;I=90;break d}J=Z+13|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 51:{J=Z+14|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=50){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){_d=G;I=1889;break a}else{I=85;break d}break}case 54:{G=Z+14|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=52){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){$d=J;I=1891;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}break}case 117:{$a=Z+11|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+12|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=102){ka=$a;I=90;break d}$a=Z+13|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 51:{$a=Z+14|0;c[q>>2]=$a;G=a[$a>>0]|0;if(G<<24>>24!=50){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){ae=G;I=1893;break a}else{I=85;break d}break}case 54:{G=Z+14|0;c[q>>2]=G;$a=a[G>>0]|0;if($a<<24>>24!=52){ka=$a;I=90;break d}$a=Z+15|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){be=$a;I=1895;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=V;I=90;break d}}break}case 119:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=97){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=112){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=47){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=54){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=52){ka=J;I=90;break d}J=Z+12|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){ce=J;I=1791;break a}else{I=85;break d}break}case 120:{J=Z+5|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){de=J;I=1247;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}while(0)}if(F<<24>>24==54){O=Z+2|0;c[q>>2]=O;E=a[O>>0]|0;if(E<<24>>24==52){O=Z+3|0;c[q>>2]=O;J=a[O>>0]|0;if((J&255)>=59)if((J&255)<94)if((J&255)<91)if((J&255)>59){I=85;break d}else{ee=O;I=550;break a}else if(J<<24>>24==92){I=85;break d}else{ee=O;I=550;break a}else if((J&255)<125)if(J<<24>>24==123){ee=O;I=550;break a}else{I=85;break d}else if(J<<24>>24==126){I=85;break d}else{ee=O;I=550;break a}if((J&255)<42)if((J&255)<34)if((J&255)>32){I=85;break d}else{ee=O;I=550;break a}else if((J+-35&255)<5){I=85;break d}else{ee=O;I=550;break a}if((J&255)<45)if((J&255)<44){I=85;break d}else{ee=O;I=550;break a}if(J<<24>>24==46){J=Z+4|0;c[q>>2]=J;O=a[J>>0]|0;do switch(O&255|0){case 97:{J=Z+5|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 100:{J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=100){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){fe=$a;I=1249;break a}else{I=85;break d}break}case 110:{$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=100){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){ge=J;I=1251;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}case 99:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;if((J&255)<111){if(J<<24>>24!=108){ka=J;I=90;break d}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=122){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){he=$a;I=1253;break a}else{I=85;break d}}if((J&255)>=112){if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=122){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){ie=$a;I=1256;break a}else{I=85;break d}}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=115){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){je=J;I=1598;break a}else{I=85;break d}break}case 100:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=105){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=118){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 115:{$a=Z+9|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){ke=$a;I=1600;break a}else{I=85;break d}break}case 117:{$a=Z+9|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){le=$a;I=1602;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 101:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 113:break;case 120:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=100){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 115:{V=Z+12|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=47){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+14|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=51){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=50){ka=V;I=90;break d}V=Z+16|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){me=V;I=1925;break a}else{I=85;break d}break}case 117:{V=Z+12|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=47){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+14|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=51){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=50){ka=V;I=90;break d}V=Z+16|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){ne=V;I=1927;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=$a;I=90;break d}}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if((J&255)<91)if((J&255)<42)if((J&255)<34)if((J&255)>32){I=85;break d}else{oe=$a;I=1051;break a}else if((J+-35&255)<5){I=85;break d}else{oe=$a;I=1051;break a}else if((J&255)<45)if((J&255)<44){I=85;break d}else{oe=$a;I=1051;break a}else if(J<<24>>24==59){oe=$a;I=1051;break a}else{I=85;break d}if((J&255)>=123)if((J&255)<125)if((J&255)>123){I=85;break d}else{oe=$a;I=1051;break a}else if(J<<24>>24==126){I=85;break d}else{oe=$a;I=1051;break a}if((J&255)<93)if((J&255)>91){I=85;break d}else{oe=$a;I=1051;break a}if((J&255)<94){oe=$a;I=1051;break a}if((J&255)<122){I=85;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){pe=J;I=1259;break a}else{I=85;break d}break}case 103:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 101:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 115:{V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){qe=V;I=1411;break a}else{I=85;break d}break}case 117:{V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){re=V;I=1413;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 116:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 115:{V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){se=V;I=1415;break a}else{I=85;break d}break}case 117:{V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){te=V;I=1417;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=$a;I=90;break d}}break}case 108:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if((J&255)<111){if(J<<24>>24!=101){ka=J;I=90;break d}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;$a=a[V>>0]|0;switch($a<<24>>24){case 115:{V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){ue=V;I=1419;break a}else{I=85;break d}break}case 117:{V=Z+8|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){ve=V;I=1421;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}}if((J&255)>=112){if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 115:{$a=Z+8|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){we=$a;I=1441;break a}else{I=85;break d}break}case 117:{$a=Z+8|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){xe=$a;I=1443;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=97){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=100){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;$a=a[J>>0]|0;if(($a&255)>=56){if(($a&255)>=93)if(($a&255)<124)if(($a+-94&255)<29){I=85;break d}else{ye=J;I=1439;break a}else if($a<<24>>24!=125&($a&255)<127){I=85;break d}else{ye=J;I=1439;break a}if(($a&255)>=60)if($a<<24>>24==91){ye=J;I=1439;break a}else{I=85;break d}if(($a&255)>=57)if(($a&255)<59){I=85;break d}else{ye=J;I=1439;break a}V=Z+9|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=95){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;V=a[G>>0]|0;switch(V<<24>>24){case 115:{G=Z+11|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){ze=G;I=1754;break a}else{I=85;break d}break}case 117:{G=Z+11|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){Ae=G;I=1756;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}}if(($a&255)<44)if(($a&255)<35)if($a<<24>>24==33){I=85;break d}else{ye=J;I=1439;break a}else if(($a&-2)<<24>>24==40){ye=J;I=1439;break a}else{I=85;break d}if(($a&255)>=50){if($a<<24>>24!=51){I=85;break d}V=Z+9|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=50){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;G=a[V>>0]|0;switch(G<<24>>24){case 115:{V=Z+12|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Be=V;I=1799;break a}else{I=85;break d}break}case 117:{V=Z+12|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Ce=V;I=1801;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}}if(($a&255)<45){ye=J;I=1439;break a}if(($a&255)<49){I=85;break d}$a=Z+9|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+11|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 115:{$a=Z+12|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){De=$a;I=1795;break a}else{I=85;break d}break}case 117:{$a=Z+12|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Ee=$a;I=1797;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 109:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=117){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=108){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Fe=J;I=1267;break a}else{I=85;break d}break}case 110:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Ge=$a;I=1060;break a}else{I=85;break d}break}case 111:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){He=J;I=1062;break a}else{I=85;break d}break}case 112:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=111){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=112){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=99){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=116){ka=$a;I=90;break d}$a=Z+10|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Ie=$a;I=1682;break a}else{I=85;break d}break}case 114:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 101:break;case 111:{$a=Z+6|0;c[q>>2]=$a;G=a[$a>>0]|0;if(G<<24>>24!=116){ka=G;I=90;break d}G=Z+7|0;c[q>>2]=G;$a=a[G>>0]|0;switch($a<<24>>24){case 108:{G=Z+8|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){Je=G;I=1448;break a}else{I=85;break d}break}case 114:{G=Z+8|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){Ke=G;I=1450;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}break}default:{ka=J;I=90;break d}}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 105:break;case 109:{J=Z+7|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=95){ka=G;I=90;break d}G=Z+8|0;c[q>>2]=G;J=a[G>>0]|0;switch(J<<24>>24){case 115:{G=Z+9|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){Le=G;I=1610;break a}else{I=85;break d}break}case 117:{G=Z+9|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){Me=G;I=1612;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=$a;I=90;break d}}$a=Z+7|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=116){ka=$a;I=90;break d}$a=Z+9|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+11|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=112){ka=J;I=90;break d}J=Z+12|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+13|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+14|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=116){ka=$a;I=90;break d}$a=Z+15|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+16|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=102){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+18|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=52){ka=$a;I=90;break d}$a=Z+19|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Ne=$a;I=1970;break a}else{I=85;break d}break}case 115:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if((J&255)<116){if(J<<24>>24!=104){ka=J;I=90;break d}$a=Z+6|0;c[q>>2]=$a;G=a[$a>>0]|0;switch(G<<24>>24){case 108:{$a=Z+7|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Oe=$a;I=1273;break a}else{I=85;break d}break}case 114:break;default:{ka=G;I=90;break d}}G=Z+7|0;c[q>>2]=G;$a=a[G>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;G=a[$a>>0]|0;switch(G<<24>>24){case 115:{$a=Z+9|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Pe=$a;I=1614;break a}else{I=85;break d}break}case 117:{$a=Z+9|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Qe=$a;I=1616;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}}if((J&255)>=117){if((J&255)>=118){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=98){ka=G;I=90;break d}G=Z+7|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){Re=G;I=1277;break a}else{I=85;break d}}G=Z+6|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=114){ka=G;I=90;break d}G=Z+8|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;G=a[J>>0]|0;if((G&255)>=56){if((G&255)>=93)if((G&255)<124)if((G+-94&255)<29){I=85;break d}else{Se=J;I=1634;break a}else if(G<<24>>24!=125&(G&255)<127){I=85;break d}else{Se=J;I=1634;break a}if((G&255)>=60)if(G<<24>>24==91){Se=J;I=1634;break a}else{I=85;break d}if((G&255)<57){$a=Z+10|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Te=$a;I=1687;break a}else{I=85;break d}}else if((G&255)<59){I=85;break d}else{Se=J;I=1634;break a}}if((G&255)<44)if((G&255)<35)if(G<<24>>24==33){I=85;break d}else{Se=J;I=1634;break a}else if((G&-2)<<24>>24==40){Se=J;I=1634;break a}else{I=85;break d}if((G&255)>=50){if(G<<24>>24!=51){I=85;break d}$a=Z+10|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=50){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Ue=V;I=1761;break a}else{I=85;break d}}if((G&255)<45){Se=J;I=1634;break a}if((G&255)<49){I=85;break d}G=Z+10|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){Ve=J;I=1759;break a}else{I=85;break d}break}case 116:{J=Z+5|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=114){ka=G;I=90;break d}G=Z+6|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=117){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+8|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=99){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=95){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;J=a[G>>0]|0;switch(J<<24>>24){case 115:{G=Z+11|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=47){ka=V;I=90;break d}V=Z+12|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=102){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;V=a[G>>0]|0;switch(V<<24>>24){case 51:{G=Z+14|0;c[q>>2]=G;$a=a[G>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+15|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){We=$a;I=1900;break a}else{I=85;break d}break}case 54:{$a=Z+14|0;c[q>>2]=$a;G=a[$a>>0]|0;if(G<<24>>24!=52){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){Xe=G;I=1902;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}case 117:{V=Z+11|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=47){ka=G;I=90;break d}G=Z+12|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=102){ka=V;I=90;break d}V=Z+13|0;c[q>>2]=V;G=a[V>>0]|0;switch(G<<24>>24){case 51:{V=Z+14|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+15|0;c[q>>2]=$a;if(!(a[7357+(d[$a>>0]|0)>>0]&16)){Ye=$a;I=1904;break a}else{I=85;break d}break}case 54:{$a=Z+14|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=52){ka=V;I=90;break d}V=Z+15|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){Ze=V;I=1906;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}break}default:{ka=J;I=90;break d}}break}case 120:{J=Z+5|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=111){ka=G;I=90;break d}G=Z+6|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){_e=J;I=1280;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}while(0)}else I=85}else{ka=E;I=90}}else{ka=F;I=90}break}case 108:{O=Z+1|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24==111){O=Z+2|0;c[q>>2]=O;G=a[O>>0]|0;switch(G<<24>>24){case 99:break;case 111:{O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=112){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){$e=V;I=711;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}G=Z+3|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24==97){G=Z+4|0;c[q>>2]=G;O=a[G>>0]|0;if(O<<24>>24==108){G=Z+5|0;c[q>>2]=G;if(!(a[7357+(d[G>>0]|0)>>0]&16)){af=G;I=864;break a}else I=85}else{ka=O;I=90}}else{ka=V;I=90}}else{ka=J;I=90}break}case 109:{J=Z+1|0;c[q>>2]=J;V=a[J>>0]|0;if((V&255)<111){if(V<<24>>24!=101){ka=V;I=90;break d}J=Z+2|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24!=109){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+4|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24!=114){ka=O;I=90;break d}O=Z+5|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24!=121){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){bf=J;I=1078;break a}else{I=85;break d}}if((V&255)>=112){if(V<<24>>24!=117){ka=V;I=90;break d}V=Z+2|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+3|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){cf=J;I=577;break a}else{I=85;break d}}J=Z+2|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24==100){J=Z+3|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24==117){J=Z+4|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24==108){J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24==101){J=Z+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){df=J;I=1080;break a}else I=85}else{ka=$a;I=90}}else{ka=G;I=90}}else{ka=O;I=90}}else{ka=V;I=90}break}case 110:{V=Z+1|0;c[q>>2]=V;O=a[V>>0]|0;switch(O<<24>>24){case 97:{ma=V;I=384;break d;break}case 111:break;default:{ka=O;I=90;break d}}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24==112){O=Z+3|0;c[q>>2]=O;if(!(a[7357+(d[O>>0]|0)>>0]&16)){ef=O;I=597;break a}else I=85}else{ka=V;I=90}break}case 111:{V=Z+1|0;c[q>>2]=V;O=a[V>>0]|0;switch(O<<24>>24){case 102:break;case 117:{V=Z+2|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=116){ka=G;I=90;break d}G=Z+3|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=112){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=117){ka=G;I=90;break d}G=Z+5|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;if(!(a[7357+(d[V>>0]|0)>>0]&16)){ff=V;I=1101;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24==102){O=Z+3|0;c[q>>2]=O;G=a[O>>0]|0;if(G<<24>>24==115){O=Z+4|0;c[q>>2]=O;$a=a[O>>0]|0;if($a<<24>>24==101){O=Z+5|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24==116){O=Z+6|0;c[q>>2]=O;Eb=a[O>>0]|0;if((Eb&255)<61)if((Eb&255)<42)if((Eb&255)<34)if((Eb&255)>32){I=85;break d}else{gf=O;I=1099;break a}else if((Eb+-35&255)<5){I=85;break d}else{gf=O;I=1099;break a}else if((Eb&255)<45)if((Eb&255)<44){I=85;break d}else{gf=O;I=1099;break a}else if(Eb<<24>>24==59){gf=O;I=1099;break a}else{I=85;break d}if((Eb&255)>=94)if((Eb&255)<125)if(Eb<<24>>24==123){gf=O;I=1099;break a}else{I=85;break d}else if(Eb<<24>>24==126){I=85;break d}else{gf=O;I=1099;break a}if((Eb&255)>=91)if(Eb<<24>>24==92){I=85;break d}else{gf=O;I=1099;break a}if((Eb&255)<62){Eb=Z+7|0;c[q>>2]=Eb;O=a[Eb>>0]|0;if((O&255)>=48){do if((O&255)<49){zb=Z+8|0;c[q>>2]=zb;U=a[zb>>0]|0;hf=zb;if((U&255)<60){if((U&255)<42)if((U&255)<34)if((U&255)>32){I=85;break d}else{jf=hf;I=1473;break a}else if((U+-35&255)<5){I=85;break d}else{jf=hf;I=1473;break a}if((U&255)<48)if(U<<24>>24==44){jf=hf;I=1473;break a}else{I=85;break d}if((U&255)<58){kf=zb;break}if((U&255)<59){I=85;break d}else{jf=hf;I=1473;break a}}if((U&255)>=121)if((U&255)<125)if(U<<24>>24==123){jf=hf;I=1473;break a}else{I=85;break d}else if(U<<24>>24==126){I=85;break d}else{jf=hf;I=1473;break a}if((U&255)<93)if(U<<24>>24==91){jf=hf;I=1473;break a}else{I=85;break d}if((U&255)<94){jf=hf;I=1473;break a}if((U&255)<120){I=85;break d}U=Z+9|0;c[q>>2]=U;hf=a[U>>0]|0;if((hf&255)<65)if((hf+-48&255)<10)lf=U;else{ka=hf;I=90;break d}else if((hf&255)<71|(hf+-97&255)<6)lf=U;else{ka=hf;I=90;break d}while(1){hf=lf+1|0;c[q>>2]=hf;if((c[s>>2]|0)>>>0>hf>>>0)mf=hf;else{if((Vd(f,1)|0)==1){I=1692;break a}mf=c[q>>2]|0}hf=a[mf>>0]|0;if((hf&255)<65){if((hf&255)<44){nf=mf;of=hf;I=1695;break}if((hf&255)>=58){pf=mf;qf=hf;I=1701;break}if((hf&255)<45){rf=mf;I=1472;break a}if((hf&255)<48){I=85;break d}else{lf=mf;continue}}if((hf&255)<97){if((hf&255)>=92){sf=mf;tf=hf;I=1706;break}if((hf&255)<71){lf=mf;continue}else{uf=mf;vf=hf;I=1705;break}}else{if((hf&255)>=124){wf=mf;xf=hf;I=1710;break}if((hf&255)<103){lf=mf;continue}else{yf=mf;zf=hf;I=1709;break}}}if((I|0)==1695){I=0;hf=nf;if((of&255)<35)if(of<<24>>24==33){I=85;break d}else{jf=hf;I=1473;break a}else if((of&-2)<<24>>24==40){jf=hf;I=1473;break a}else{I=85;break d}}else if((I|0)==1701){I=0;if(qf<<24>>24==59){jf=pf;I=1473;break a}else{I=85;break d}}else if((I|0)==1705){I=0;if((vf&255)<91){I=85;break d}else{jf=uf;I=1473;break a}}else if((I|0)==1706){I=0;if(tf<<24>>24==93){jf=sf;I=1473;break a}else{I=85;break d}}else if((I|0)==1709){I=0;if((zf&255)<123){I=85;break d}else{jf=yf;I=1473;break a}}else if((I|0)==1710){I=0;if(xf<<24>>24!=125&(xf&255)<127){I=85;break d}else{jf=wf;I=1473;break a}}}else if((O&255)<58)kf=Eb;else{ka=O;I=90;break d}while(0);while(1){Eb=kf+1|0;c[q>>2]=Eb;if((c[s>>2]|0)>>>0>Eb>>>0)Af=Eb;else{if((Vd(f,1)|0)==1){I=1477;break a}Af=c[q>>2]|0}Eb=a[Af>>0]|0;if((Eb&255)>=59){Bf=Af;Cf=Eb;I=1486;break}if((Eb&255)<42){Df=Af;Ef=Eb;I=1480;break}if((Eb&255)<45){Ff=Af;Gf=Eb;I=1484;break}if((Eb+-48&255)<10)kf=Af;else{I=85;break d}}if((I|0)==1480){I=0;Eb=Df;if((Ef&255)<34)if((Ef&255)<33){jf=Eb;I=1473;break a}else{I=85;break d}else if((Ef+-35&255)<5){I=85;break d}else{jf=Eb;I=1473;break a}}else if((I|0)==1484){I=0;if((Gf&255)<44){I=85;break d}else{jf=Ff;I=1473;break a}}else if((I|0)==1486){I=0;Eb=Bf;if((Cf&255)<94)if((Cf&255)<91)if((Cf&255)<60){jf=Eb;I=1473;break a}else{I=85;break d}else if(Cf<<24>>24==92){I=85;break d}else{jf=Eb;I=1473;break a}else if((Cf&255)<125)if(Cf<<24>>24==123){jf=Eb;I=1473;break a}else{I=85;break d}else if(Cf<<24>>24==126){I=85;break d}else{jf=Eb;I=1473;break a}}}else{ka=O;I=90}}else I=85}else{ka=J;I=90}}else{ka=$a;I=90}}else{ka=G;I=90}}else{ka=V;I=90}break}case 112:{Eb=Z+1|0;c[q>>2]=Eb;F=a[Eb>>0]|0;if(F<<24>>24==97){Eb=Z+2|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24==114){Eb=Z+3|0;c[q>>2]=Eb;hf=a[Eb>>0]|0;if(hf<<24>>24==97){Eb=Z+4|0;c[q>>2]=Eb;U=a[Eb>>0]|0;if(U<<24>>24==109){Eb=Z+5|0;c[q>>2]=Eb;if(!(a[7357+(d[Eb>>0]|0)>>0]&16)){Hf=Eb;I=871;break a}else I=85}else{ka=U;I=90}}else{ka=hf;I=90}}else{ka=E;I=90}}else{ka=F;I=90}break}case 114:{F=Z+1|0;c[q>>2]=F;E=a[F>>0]|0;if(E<<24>>24==101){F=Z+2|0;c[q>>2]=F;hf=a[F>>0]|0;if((hf&255)<115){if(hf<<24>>24!=103){ka=hf;I=90;break d}F=Z+3|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24!=105){ka=U;I=90;break d}U=Z+4|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24!=115){ka=F;I=90;break d}F=Z+5|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24!=116){ka=U;I=90;break d}U=Z+6|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24!=101){ka=F;I=90;break d}F=Z+7|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24!=114){ka=U;I=90;break d}U=Z+8|0;c[q>>2]=U;if(!(a[7357+(d[U>>0]|0)>>0]&16)){If=U;I=1494;break a}else{I=85;break d}}if((hf&255)<116){U=Z+3|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24!=117){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24!=108){ka=U;I=90;break d}U=Z+5|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24!=116){ka=F;I=90;break d}F=Z+6|0;c[q>>2]=F;if(!(a[7357+(d[F>>0]|0)>>0]&16)){Jf=F;I=1104;break a}else{I=85;break d}}if((hf&255)<117){F=Z+3|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24==117){F=Z+4|0;c[q>>2]=F;Eb=a[F>>0]|0;if(Eb<<24>>24==114){F=Z+5|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24==110){F=Z+6|0;c[q>>2]=F;if(!(a[7357+(d[F>>0]|0)>>0]&16)){Kf=F;I=1106;break a}else I=85}else{ka=zb;I=90}}else{ka=Eb;I=90}}else{ka=U;I=90}}else{ka=hf;I=90}}else{ka=E;I=90}break}case 115:{E=Z+1|0;c[q>>2]=E;hf=a[E>>0]|0;switch(hf<<24>>24){case 101:break;case 116:{E=Z+2|0;c[q>>2]=E;U=a[E>>0]|0;if(U<<24>>24!=97){ka=U;I=90;break d}U=Z+3|0;c[q>>2]=U;E=a[U>>0]|0;if(E<<24>>24!=114){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;U=a[E>>0]|0;if(U<<24>>24!=116){ka=U;I=90;break d}U=Z+5|0;c[q>>2]=U;if(!(a[7357+(d[U>>0]|0)>>0]&16)){Lf=U;I=879;break a}else{I=85;break d}break}default:{ka=hf;I=90;break d}}hf=Z+2|0;c[q>>2]=hf;U=a[hf>>0]|0;switch(U<<24>>24){case 108:{hf=Z+3|0;c[q>>2]=hf;E=a[hf>>0]|0;if(E<<24>>24!=101){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;hf=a[E>>0]|0;if(hf<<24>>24!=99){ka=hf;I=90;break d}hf=Z+5|0;c[q>>2]=hf;E=a[hf>>0]|0;if(E<<24>>24!=116){ka=E;I=90;break d}E=Z+6|0;c[q>>2]=E;if(!(a[7357+(d[E>>0]|0)>>0]&16)){Mf=E;I=1108;break a}else{I=85;break d}break}case 116:break;default:{ka=U;I=90;break d}}U=Z+3|0;c[q>>2]=U;E=a[U>>0]|0;if(E<<24>>24==95){U=Z+4|0;c[q>>2]=U;hf=a[U>>0]|0;switch(hf<<24>>24){case 103:break;case 108:{U=Z+5|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24!=111){ka=Eb;I=90;break d}Eb=Z+6|0;c[q>>2]=Eb;U=a[Eb>>0]|0;if(U<<24>>24!=99){ka=U;I=90;break d}U=Z+7|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24!=97){ka=Eb;I=90;break d}Eb=Z+8|0;c[q>>2]=Eb;U=a[Eb>>0]|0;if(U<<24>>24!=108){ka=U;I=90;break d}U=Z+9|0;c[q>>2]=U;if(!(a[7357+(d[U>>0]|0)>>0]&16)){Nf=U;I=1641;break a}else{I=85;break d}break}default:{ka=hf;I=90;break d}}hf=Z+5|0;c[q>>2]=hf;U=a[hf>>0]|0;if(U<<24>>24==108){hf=Z+6|0;c[q>>2]=hf;Eb=a[hf>>0]|0;if(Eb<<24>>24==111){hf=Z+7|0;c[q>>2]=hf;zb=a[hf>>0]|0;if(zb<<24>>24==98){hf=Z+8|0;c[q>>2]=hf;F=a[hf>>0]|0;if(F<<24>>24==97){hf=Z+9|0;c[q>>2]=hf;Of=a[hf>>0]|0;if(Of<<24>>24==108){hf=Z+10|0;c[q>>2]=hf;if(!(a[7357+(d[hf>>0]|0)>>0]&16)){Pf=hf;I=1712;break a}else I=85}else{ka=Of;I=90}}else{ka=F;I=90}}else{ka=zb;I=90}}else{ka=Eb;I=90}}else{ka=U;I=90}}else{ka=E;I=90}break}case 116:{E=Z+1|0;c[q>>2]=E;U=a[E>>0]|0;if((U&255)>=102)if((U&255)<105){if((U&255)<104){ka=U;I=90;break d}E=Z+2|0;c[q>>2]=E;Eb=a[E>>0]|0;if(Eb<<24>>24!=101){ka=Eb;I=90;break d}Eb=Z+3|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24!=110){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;if(!(a[7357+(d[E>>0]|0)>>0]&16)){Qf=E;I=727;break a}else{I=85;break d}}else{if(U<<24>>24!=121){ka=U;I=90;break d}E=Z+2|0;c[q>>2]=E;Eb=a[E>>0]|0;if(Eb<<24>>24!=112){ka=Eb;I=90;break d}Eb=Z+3|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24!=101){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;if(!(a[7357+(d[E>>0]|0)>>0]&16)){Rf=E;I=729;break a}else{I=85;break d}}if(U<<24>>24==97){E=Z+2|0;c[q>>2]=E;Eb=a[E>>0]|0;if(Eb<<24>>24!=98){ka=Eb;I=90;break d}Eb=Z+3|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24!=108){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;Eb=a[E>>0]|0;if(Eb<<24>>24!=101){ka=Eb;I=90;break d}Eb=Z+5|0;c[q>>2]=Eb;if(!(a[7357+(d[Eb>>0]|0)>>0]&16)){Sf=Eb;I=881;break a}else{I=85;break d}}if((U&255)>=101){Eb=Z+2|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24==101){Eb=Z+3|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24==95){Eb=Z+4|0;c[q>>2]=Eb;F=a[Eb>>0]|0;if(F<<24>>24==108){Eb=Z+5|0;c[q>>2]=Eb;Of=a[Eb>>0]|0;if(Of<<24>>24==111){Eb=Z+6|0;c[q>>2]=Eb;hf=a[Eb>>0]|0;if(hf<<24>>24==99){Eb=Z+7|0;c[q>>2]=Eb;Tf=a[Eb>>0]|0;if(Tf<<24>>24==97){Eb=Z+8|0;c[q>>2]=Eb;Uf=a[Eb>>0]|0;if(Uf<<24>>24==108){Eb=Z+9|0;c[q>>2]=Eb;if(!(a[7357+(d[Eb>>0]|0)>>0]&16)){Vf=Eb;I=1643;break a}else I=85}else{ka=Uf;I=90}}else{ka=Tf;I=90}}else{ka=hf;I=90}}else{ka=Of;I=90}}else{ka=F;I=90}}else{ka=zb;I=90}}else{ka=E;I=90}}else{ka=U;I=90}break}case 117:{U=Z+1|0;c[q>>2]=U;E=a[U>>0]|0;if(E<<24>>24==110){U=Z+2|0;c[q>>2]=U;zb=a[U>>0]|0;if(zb<<24>>24==114){U=Z+3|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24==101){U=Z+4|0;c[q>>2]=U;Of=a[U>>0]|0;if(Of<<24>>24==97){U=Z+5|0;c[q>>2]=U;hf=a[U>>0]|0;if(hf<<24>>24==99){U=Z+6|0;c[q>>2]=U;Tf=a[U>>0]|0;if(Tf<<24>>24==104){U=Z+7|0;c[q>>2]=U;Uf=a[U>>0]|0;if(Uf<<24>>24==97){U=Z+8|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24==98){U=Z+9|0;c[q>>2]=U;Wf=a[U>>0]|0;if(Wf<<24>>24==108){U=Z+10|0;c[q>>2]=U;Xf=a[U>>0]|0;if(Xf<<24>>24==101){U=Z+11|0;c[q>>2]=U;if(!(a[7357+(d[U>>0]|0)>>0]&16)){Yf=U;I=1765;break a}else I=85}else{ka=Xf;I=90}}else{ka=Wf;I=90}}else{ka=Eb;I=90}}else{ka=Uf;I=90}}else{ka=Tf;I=90}}else{ka=hf;I=90}}else{ka=Of;I=90}}else{ka=F;I=90}}else{ka=zb;I=90}}else{ka=E;I=90}break}default:{E=Z+1|0;c[q>>2]=E;_a=E;I=78}}while(0);g:do if((I|0)==78){I=0;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];T=c[w>>2]|0;E=c[x>>2]|0;zb=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-T+E-zb;c[A>>2]=_a+1-T+E-zb;xi(e,f,g,7613,k);M=D;D=M;continue a}else if((I|0)==136){while(1){I=0;zb=Za+1|0;c[q>>2]=zb;E=zb;if(((c[s>>2]|0)-E|0)<3){if((Vd(f,3)|0)==1){I=139;break a}T=c[q>>2]|0;Zf=T;_f=T}else{Zf=zb;_f=E}E=a[Zf>>0]|0;if(((E&255)+-48|0)>>>0<10){Za=Zf;I=136}else{$f=_f;ag=Zf;bg=E;break}}if((bg&255)<69){if((bg&255)<44)if((bg&255)<35)if(bg<<24>>24==33){I=85;break}else{Ta=$f;I=135;break a}else if((bg&-2)<<24>>24==40){Ta=$f;I=135;break a}else{I=85;break}if((bg&255)>=47)if(bg<<24>>24==59){Ta=$f;I=135;break a}else{I=85;break}if((bg&255)<45){Ta=$f;I=135;break a}if((bg&255)<46){I=85;break}else{oa=ag;I=293;break}}if((bg&255)<101){if((bg&255)>=92)if(bg<<24>>24==93){Ta=$f;I=135;break a}else{I=85;break}if((bg&255)<70){qa=ag;I=316;break}if((bg&255)<91){I=85;break}else{Ta=$f;I=135;break a}}else{if((bg&255)>=124)if(bg<<24>>24!=125&(bg&255)<127){I=85;break}else{Ta=$f;I=135;break a}if((bg&255)<102){qa=ag;I=316;break}if((bg&255)<123){I=85;break}else{Ta=$f;I=135;break a}}}else if((I|0)==384){I=0;V=ma+1|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24==110){V=ma+2|0;c[q>>2]=V;$a=a[V>>0]|0;J=V;if(($a&255)>=60)if(($a&255)<123)if(($a&255)<92)if(($a&255)<91){I=85;break}else{cg=J;I=595;break a}else if($a<<24>>24==93){cg=J;I=595;break a}else{I=85;break}else if(($a&255)<125)if(($a&255)>123){I=85;break}else{cg=J;I=595;break a}else if($a<<24>>24==126){I=85;break}else{cg=J;I=595;break a}if(($a&255)<42)if(($a&255)<34)if(($a&255)>32){I=85;break}else{cg=J;I=595;break a}else if(($a+-35&255)<5){I=85;break}else{cg=J;I=595;break a}if(($a&255)<45)if(($a&255)<44){I=85;break}else{cg=J;I=595;break a}if(($a&255)>=58){if(($a&255)>=59){cg=J;I=595;break a}J=ma+3|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24==48){J=ma+4|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24==120){J=ma+5|0;c[q>>2]=J;O=a[J>>0]|0;if((O&255)<65)if((O+-48&255)<10)dg=J;else{ka=O;I=90;break}else if((O&255)<71|(O+-97&255)<6)dg=J;else{ka=O;I=90;break}while(1){O=dg+1|0;c[q>>2]=O;if((c[s>>2]|0)>>>0>O>>>0)eg=O;else{if((Vd(f,1)|0)==1){I=1287;break a}eg=c[q>>2]|0}O=a[eg>>0]|0;if((O&255)<65){if((O&255)<44){fg=eg;gg=O;I=1290;break}if((O&255)>=58){hg=eg;ig=O;I=1296;break}if((O&255)<45){jg=eg;I=594;break a}if((O&255)<48){I=85;break g}else{dg=eg;continue}}if((O&255)<97){if((O&255)>=92){kg=eg;lg=O;I=1301;break}if((O&255)<71){dg=eg;continue}else{mg=eg;ng=O;I=1300;break}}else{if((O&255)>=124){og=eg;pg=O;I=1305;break}if((O&255)<103){dg=eg;continue}else{qg=eg;rg=O;I=1304;break}}}if((I|0)==1290){I=0;O=fg;if((gg&255)<35)if(gg<<24>>24==33){I=85;break}else{cg=O;I=595;break a}else if((gg&-2)<<24>>24==40){cg=O;I=595;break a}else{I=85;break}}else if((I|0)==1296){I=0;if(ig<<24>>24==59){cg=hg;I=595;break a}else{I=85;break}}else if((I|0)==1300){I=0;if((ng&255)<91){I=85;break}else{cg=mg;I=595;break a}}else if((I|0)==1301){I=0;if(lg<<24>>24==93){cg=kg;I=595;break a}else{I=85;break}}else if((I|0)==1304){I=0;if((rg&255)<123){I=85;break}else{cg=qg;I=595;break a}}else if((I|0)==1305){I=0;if(pg<<24>>24!=125&(pg&255)<127){I=85;break}else{cg=og;I=595;break a}}}else{ka=V;I=90}}else{ka=$a;I=90}}else I=85}else{ka=G;I=90}}else if((I|0)==553){I=0;O=la+1|0;c[q>>2]=O;J=a[O>>0]|0;E=O;if((J&255)<91)if((J&255)<42)if((J&255)<34)if((J&255)>32){I=85;break}else{sg=E;I=569;break a}else if((J+-35&255)<5){I=85;break}else{sg=E;I=569;break a}else if((J&255)<45)if((J&255)<44){I=85;break}else{sg=E;I=569;break a}else if(J<<24>>24==59){sg=E;I=569;break a}else{I=85;break}if((J&255)>=106)if((J&255)<125)if(J<<24>>24==123){sg=E;I=569;break a}else{I=85;break}else if(J<<24>>24==126){I=85;break}else{sg=E;I=569;break a}if((J&255)<93)if((J&255)>91){I=85;break}else{sg=E;I=569;break a}if((J&255)<94){sg=E;I=569;break a}if((J&255)>=105){J=la+2|0;c[q>>2]=J;E=a[J>>0]|0;if(E<<24>>24==110){J=la+3|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24==105){J=la+4|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24==116){J=la+5|0;c[q>>2]=J;T=a[J>>0]|0;if(T<<24>>24==121){J=la+6|0;c[q>>2]=J;if(!(a[7357+(d[J>>0]|0)>>0]&16)){sg=J;I=569;break a}else I=85}else{ka=T;I=90}}else{ka=zb;I=90}}else{ka=O;I=90}}else{ka=E;I=90}}else I=85}else if((I|0)==635){while(1){I=0;E=Fa+1|0;c[q>>2]=E;if(((c[s>>2]|0)-E|0)<3){if((Vd(f,3)|0)==1){I=638;break a}tg=c[q>>2]|0}else tg=E;E=a[tg>>0]|0;if((E&255)>=71){if((E&255)>=112){ug=tg;vg=E;I=654;break}if((E&255)<93){wg=E;I=651;break}if((E&255)<94){I=91;break g}if((E+-97&255)<6){Fa=tg;I=635;continue}else{I=85;break g}}if((E&255)<44){xg=E;I=641;break}if((E&255)<58){if((E&255)<45){I=91;break g}if((E&255)<48){I=85;break g}else{Fa=tg;I=635;continue}}else{if(E<<24>>24==59){I=91;break g}if((E&255)<65){I=85;break g}else{Fa=tg;I=635;continue}}}if((I|0)==641){I=0;if((xg&255)<35)if(xg<<24>>24==33){I=85;break}else{I=91;break}else if((xg&-2)<<24>>24==40){I=91;break}else{I=85;break}}else if((I|0)==651){I=0;if(wg<<24>>24==91){I=91;break}else{I=85;break}}else if((I|0)==654){I=0;if((vg&255)>=124)if(vg<<24>>24!=125&(vg&255)<127){I=85;break}else{I=91;break}if((vg&255)<113){Ga=ug;I=658;break}if((vg&255)<123){I=85;break}else{I=91;break}}}while(0);h:do if((I|0)==293){while(1){I=0;G=oa+1|0;c[q>>2]=G;$a=G;if(((c[s>>2]|0)-$a|0)<3){if((Vd(f,3)|0)==1){I=296;break a}V=c[q>>2]|0;yg=V;zg=V}else{yg=$a;zg=G}G=a[zg>>0]|0;if((G&255)>=69){Ag=yg;Bg=zg;Cg=G;I=306;break}if((G&255)<44){Dg=yg;Eg=G;I=299;break}if((G&255)>=58){Fg=yg;Gg=G;I=305;break}if((G&255)<45){Hg=yg;I=315;break a}if((G&255)<48){I=85;break h}else{oa=zg;I=293}}if((I|0)==299){I=0;if((Eg&255)<35)if(Eg<<24>>24==33){I=85;break}else{Hg=Dg;I=315;break a}else if((Eg&-2)<<24>>24==40){Hg=Dg;I=315;break a}else{I=85;break}}else if((I|0)==305){I=0;if(Gg<<24>>24==59){Hg=Fg;I=315;break a}else{I=85;break}}else if((I|0)==306){I=0;if((Cg&255)<101){if((Cg&255)>=92)if(Cg<<24>>24==93){Hg=Ag;I=315;break a}else{I=85;break}if((Cg&255)<70){qa=Bg;I=316;break}if((Cg&255)<91){I=85;break}else{Hg=Ag;I=315;break a}}else{if((Cg&255)>=124)if(Cg<<24>>24!=125&(Cg&255)<127){I=85;break}else{Hg=Ag;I=315;break a}if((Cg&255)<102){qa=Bg;I=316;break}if((Cg&255)<123){I=85;break}else{Hg=Ag;I=315;break a}}}}else if((I|0)==658){I=0;G=Ga+1|0;c[q>>2]=G;$a=a[G>>0]|0;if(($a&255)<45)if($a<<24>>24==43)I=731;else{ka=$a;I=90;break}else if(($a&255)>=46)if(($a+-48&255)<10)Ig=G;else{ka=$a;I=90;break}else I=731;if((I|0)==731){I=0;$a=Ga+2|0;c[q>>2]=$a;G=a[$a>>0]|0;if((G+-48&255)>9){ka=G;I=90;break}else Ig=$a}while(1){$a=Ig+1|0;c[q>>2]=$a;if((c[s>>2]|0)>>>0>$a>>>0)Jg=$a;else{if((Vd(f,1)|0)==1){I=735;break a}Jg=c[q>>2]|0}$a=a[Jg>>0]|0;if(($a&255)>=59){Kg=Jg;Lg=$a;I=744;break}if(($a&255)<42){Mg=Jg;Ng=$a;I=738;break}if(($a&255)<45){Og=Jg;Pg=$a;I=742;break}if(($a+-48&255)<10)Ig=Jg;else{I=85;break h}}if((I|0)==738){I=0;$a=Mg;if((Ng&255)<34)if((Ng&255)>32){I=85;break}else{Qg=$a;I=751;break a}else if((Ng+-35&255)<5){I=85;break}else{Qg=$a;I=751;break a}}else if((I|0)==742){I=0;if((Pg&255)<44){I=85;break}else{Qg=Og;I=751;break a}}else if((I|0)==744){I=0;$a=Kg;if((Lg&255)<94)if((Lg&255)<91)if((Lg&255)>59){I=85;break}else{Qg=$a;I=751;break a}else if(Lg<<24>>24==92){I=85;break}else{Qg=$a;I=751;break a}else if((Lg&255)<125)if(Lg<<24>>24==123){Qg=$a;I=751;break a}else{I=85;break}else if(Lg<<24>>24==126){I=85;break}else{Qg=$a;I=751;break a}}}while(0);i:do if((I|0)==316){I=0;$a=qa+1|0;c[q>>2]=$a;G=a[$a>>0]|0;if((G&255)<45)if(G<<24>>24==43)I=411;else{ka=G;I=90;break}else if((G&255)>=46)if((G+-48&255)<10)Rg=$a;else{ka=G;I=90;break}else I=411;if((I|0)==411){I=0;G=qa+2|0;c[q>>2]=G;$a=a[G>>0]|0;if(($a+-48&255)>9){ka=$a;I=90;break}else Rg=G}while(1){G=Rg+1|0;c[q>>2]=G;if((c[s>>2]|0)>>>0>G>>>0)Sg=G;else{if((Vd(f,1)|0)==1){I=415;break a}Sg=c[q>>2]|0}G=a[Sg>>0]|0;if((G&255)>=59){Tg=Sg;Ug=G;I=424;break}if((G&255)<42){Vg=Sg;Wg=G;I=418;break}if((G&255)<45){Xg=Sg;Yg=G;I=422;break}if((G+-48&255)<10)Rg=Sg;else{I=85;break i}}if((I|0)==418){I=0;G=Vg;if((Wg&255)<34)if((Wg&255)<33){Hg=G;I=315;break a}else{I=85;break}else if((Wg+-35&255)<5){I=85;break}else{Hg=G;I=315;break a}}else if((I|0)==422){I=0;if((Yg&255)<44){I=85;break}else{Hg=Xg;I=315;break a}}else if((I|0)==424){I=0;G=Tg;if((Ug&255)<94)if((Ug&255)<91)if((Ug&255)<60){Hg=G;I=315;break a}else{I=85;break}else if(Ug<<24>>24==92){I=85;break}else{Hg=G;I=315;break a}else if((Ug&255)<125)if(Ug<<24>>24==123){Hg=G;I=315;break a}else{I=85;break}else if(Ug<<24>>24==126){I=85;break}else{Hg=G;I=315;break a}}}while(0);while(1)if((I|0)==85){I=0;G=(c[q>>2]|0)+1|0;c[q>>2]=G;if((c[s>>2]|0)>>>0>G>>>0)Zg=G;else{if((Vd(f,1)|0)==1){I=88;break a}Zg=c[q>>2]|0}ka=a[Zg>>0]|0;I=90;continue}else if((I|0)==90){I=0;if(!(a[7357+(ka&255)>>0]&16)){I=91;continue}else{I=85;continue}}else if((I|0)==91){I=0;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];G=c[r>>2]|0;$a=c[w>>2]|0;V=c[x>>2]|0;E=c[y>>2]|0;c[z>>2]=G+1-$a+V-E;O=c[q>>2]|0;c[A>>2]=O+1-$a+V-E;c[j>>2]=O-G;c[j+4>>2]=G;xi(e,f,g,7629,j);M=D;D=M;continue a}}switch(I|0){case 8:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];M=c[w>>2]|0;D=c[x>>2]|0;j=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-M+D-j;c[A>>2]=(c[q>>2]|0)+1-M+D-j;_g=0;i=h;return _g|0}case 18:{j=R+1|0;c[q>>2]=j;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;D=c[x>>2]|0;M=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+D-M;c[A>>2]=j+1-R+D-M;xi(e,f,g,7278,p);c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];p=c[w>>2]|0;M=c[x>>2]|0;D=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-p+M-D;c[A>>2]=(c[q>>2]|0)+1-p+M-D;_g=0;i=h;return _g|0}case 23:{D=W+1|0;c[q>>2]=D;W=c[r>>2]|0;c[b>>2]=W;M=D;c[b+4>>2]=M-W;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];D=c[w>>2]|0;p=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=W+1-D+p-R;c[A>>2]=M+1-D+p-R;_g=263;i=h;return _g|0}case 47:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;p=c[x>>2]|0;D=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+p-D;c[A>>2]=(c[q>>2]|0)+1-R+p-D;_g=0;i=h;return _g|0}case 52:{D=P+1|0;c[q>>2]=D;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];P=c[w>>2]|0;p=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-P+p-R;c[A>>2]=D+1-P+p-R;xi(e,f,g,7278,l);c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];l=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-l+g-R;c[A>>2]=(c[q>>2]|0)+1-l+g-R;_g=0;i=h;return _g|0}case 62:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;g=c[x>>2]|0;l=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+g-l;c[A>>2]=(c[q>>2]|0)+1-R+g-l;_g=0;i=h;return _g|0}case 67:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];l=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-l+g-R;c[A>>2]=(c[q>>2]|0)+1-l+g-R;_g=0;i=h;return _g|0}case 73:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;g=c[x>>2]|0;l=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+g-l;c[A>>2]=(c[q>>2]|0)+1-R+g-l;_g=0;i=h;return _g|0}case 76:{l=$+1|0;c[q>>2]=l;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$+g-R;c[A>>2]=l+1-$+g-R;_g=0;i=h;return _g|0}case 82:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;g=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+g-$;c[A>>2]=(c[q>>2]|0)+1-R+g-$;_g=0;i=h;return _g|0}case 88:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$+g-R;c[A>>2]=(c[q>>2]|0)+1-$+g-R;_g=0;i=h;return _g|0}case 107:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;g=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+g-$;c[A>>2]=ja+1-R+g-$;_g=258;i=h;return _g|0}case 108:{$=aa+1|0;c[q>>2]=$;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];aa=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-aa+g-R;c[A>>2]=$+1-aa+g-R;_g=259;i=h;return _g|0}case 135:{c[b>>2]=0;R=c[r>>2]|0;g=b+4|0;c[g>>2]=R;c[g+4>>2]=Ta-R;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];g=c[w>>2]|0;aa=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=R+1-g+aa-$;c[A>>2]=Ta+1-g+aa-$;_g=260;i=h;return _g|0}case 139:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$=c[w>>2]|0;aa=c[x>>2]|0;g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$+aa-g;c[A>>2]=(c[q>>2]|0)+1-$+aa-g;_g=0;i=h;return _g|0}case 207:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];g=c[w>>2]|0;aa=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-g+aa-$;c[A>>2]=(c[q>>2]|0)+1-g+aa-$;_g=0;i=h;return _g|0}case 214:{$=da+1|0;c[q>>2]=$;da=c[r>>2]|0;c[b>>2]=da;aa=$;c[b+4>>2]=aa-da;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$=c[w>>2]|0;g=c[x>>2]|0;Ta=c[y>>2]|0;c[z>>2]=da+1-$+g-Ta;c[A>>2]=aa+1-$+g-Ta;_g=263;i=h;return _g|0}case 218:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Ta=c[w>>2]|0;g=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Ta+g-$;c[A>>2]=(c[q>>2]|0)+1-Ta+g-$;_g=0;i=h;return _g|0}case 229:{while(1){I=0;$=ia+1|0;c[q>>2]=$;if((c[s>>2]|0)>>>0>$>>>0)$g=$;else{if((Vd(f,1)|0)==1){I=232;break}$g=c[q>>2]|0}$=a[$g>>0]|0;if(($&255)<60){if(($&255)<40)if($<<24>>24==33|($&255)>34){ia=$g;I=229;continue}else{ah=$g;I=246;break}if(($&255)<44)if(($&255)>41){ia=$g;I=229;continue}else{ah=$g;I=246;break}else if(($+-45&255)<14){ia=$g;I=229;continue}else{ah=$g;I=246;break}}if(($&255)<123)if(($&255)<92)if(($&255)<91){ia=$g;I=229;continue}else{ah=$g;I=246;break}else if($<<24>>24==93){ah=$g;I=246;break}else{ia=$g;I=229;continue}else if(($&255)<125)if(($&255)>123){ia=$g;I=229;continue}else{ah=$g;I=246;break}else if($<<24>>24==126){ia=$g;I=229;continue}else{ah=$g;I=246;break}}if((I|0)==232){c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;ia=c[x>>2]|0;f=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+ia-f;c[A>>2]=(c[q>>2]|0)+1-$g+ia-f;_g=0;i=h;return _g|0}else if((I|0)==246){f=ah;ah=c[r>>2]|0;c[b>>2]=ah;c[b+4>>2]=f-ah;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;s=c[y>>2]|0;c[z>>2]=ah+1-ia+$g-s;c[A>>2]=f+1-ia+$g-s;_g=264;i=h;return _g|0}break}case 267:{c[b>>2]=0;s=c[r>>2]|0;$g=b+4|0;c[$g>>2]=s;c[$g+4>>2]=na-s;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;ia=c[x>>2]|0;f=c[y>>2]|0;c[z>>2]=s+1-$g+ia-f;c[A>>2]=na+1-$g+ia-f;_g=261;i=h;return _g|0}case 271:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];f=c[w>>2]|0;ia=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-f+ia-$g;c[A>>2]=(c[q>>2]|0)+1-f+ia-$g;_g=0;i=h;return _g|0}case 296:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;ia=c[x>>2]|0;f=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+ia-f;c[A>>2]=(c[q>>2]|0)+1-$g+ia-f;_g=0;i=h;return _g|0}case 315:{c[b>>2]=1;f=c[r>>2]|0;ia=b+4|0;c[ia>>2]=f;c[ia+4>>2]=Hg-f;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=f+1-ia+$g-na;c[A>>2]=Hg+1-ia+$g-na;_g=262;i=h;return _g|0}case 342:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=Kb+1-na+$g-ia;_g=276;i=h;return _g|0}case 374:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=kd+1-ia+$g-na;_g=272;i=h;return _g|0}case 403:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=(c[q>>2]|0)+1-na+$g-ia;_g=0;i=h;return _g|0}case 415:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=(c[q>>2]|0)+1-ia+$g-na;_g=0;i=h;return _g|0}case 434:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=(c[q>>2]|0)+1-na+$g-ia;_g=0;i=h;return _g|0}case 465:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=Vb+1-ia+$g-na;_g=271;i=h;return _g|0}case 482:{c[b>>2]=-3;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=Xb+1-na+$g-ia;_g=265;i=h;return _g|0}case 498:{c[b>>2]=-4;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=Ac+1-ia+$g-na;_g=265;i=h;return _g|0}case 516:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=ed+1-na+$g-ia;_g=318;i=h;return _g|0}case 534:{c[b>>2]=-1;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=md+1-ia+$g-na;_g=265;i=h;return _g|0}case 550:{c[b>>2]=-2;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=ee+1-na+$g-ia;_g=265;i=h;return _g|0}case 569:{c[b>>2]=3;ia=c[r>>2]|0;$g=b+4|0;c[$g>>2]=ia;c[$g+4>>2]=sg-ia;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;na=c[x>>2]|0;ee=c[y>>2]|0;c[z>>2]=ia+1-$g+na-ee;c[A>>2]=sg+1-$g+na-ee;_g=262;i=h;return _g|0}case 577:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ee=c[w>>2]|0;na=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ee+na-$g;c[A>>2]=cf+1-ee+na-$g;_g=267;i=h;return _g|0}case 594:{cg=jg;I=595;break}case 597:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=ef+1-jg+$g-na;_g=268;i=h;return _g|0}case 615:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=(c[q>>2]|0)+1-na+$g-jg;_g=0;i=h;return _g|0}case 638:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=(c[q>>2]|0)+1-jg+$g-na;_g=0;i=h;return _g|0}case 684:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=Ob+1-na+$g-jg;_g=279;i=h;return _g|0}case 687:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=Rb+1-jg+$g-na;_g=312;i=h;return _g|0}case 689:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=Sb+1-na+$g-jg;_g=269;i=h;return _g|0}case 691:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=Tb+1-jg+$g-na;_g=310;i=h;return _g|0}case 693:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=Ub+1-na+$g-jg;_g=274;i=h;return _g|0}case 698:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=zc+1-jg+$g-na;_g=301;i=h;return _g|0}case 711:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=$e+1-na+$g-jg;_g=275;i=h;return _g|0}case 727:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=Qf+1-jg+$g-na;_g=273;i=h;return _g|0}case 729:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=Rf+1-na+$g-jg;_g=303;i=h;return _g|0}case 735:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=(c[q>>2]|0)+1-jg+$g-na;_g=0;i=h;return _g|0}case 751:{c[b>>2]=2;na=c[r>>2]|0;$g=b+4|0;c[$g>>2]=na;c[$g+4>>2]=Qg-na;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=na+1-$g+jg-Rf;c[A>>2]=Qg+1-$g+jg-Rf;_g=262;i=h;return _g|0}case 756:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Jb+1-Rf+jg-$g;_g=270;i=h;return _g|0}case 758:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Lb+1-$g+jg-Rf;_g=277;i=h;return _g|0}case 861:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=id+1-Rf+jg-$g;_g=327;i=h;return _g|0}case 864:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=af+1-$g+jg-Rf;_g=306;i=h;return _g|0}case 871:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Hf+1-Rf+jg-$g;_g=304;i=h;return _g|0}case 879:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Lf+1-$g+jg-Rf;_g=302;i=h;return _g|0}case 881:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Sf+1-Rf+jg-$g;_g=309;i=h;return _g|0}case 895:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Wb+1-$g+jg-Rf;_g=315;i=h;return _g|0}case 903:{c[b>>2]=91;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=hc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 906:{c[b>>2]=96;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=jc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 908:{c[b>>2]=94;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=kc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 910:{c[b>>2]=95;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=lc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 913:{c[b>>2]=93;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=mc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 933:{c[b>>2]=92;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=rc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 945:{c[b>>2]=97;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Lc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 948:{c[b>>2]=102;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Nc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 950:{c[b>>2]=100;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Oc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 952:{c[b>>2]=101;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Pc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 955:{c[b>>2]=99;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Qc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 975:{c[b>>2]=98;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Vc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 985:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=cd+1-Rf+jg-$g;_g=307;i=h;return _g|0}case 1009:{c[b>>2]=70;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=ud+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 1017:{c[b>>2]=71;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Kd+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 1019:{c[b>>2]=114;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Ld+1-$g+jg-Rf;_g=294;i=h;return _g|0}case 1051:{c[b>>2]=81;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=oe+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 1060:{c[b>>2]=82;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Ge+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 1062:{c[b>>2]=132;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=He+1-Rf+jg-$g;_g=294;i=h;return _g|0}case 1073:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=hd+1-$g+jg-Rf;_g=314;i=h;return _g|0}case 1076:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=jd+1-Rf+jg-$g;_g=317;i=h;return _g|0}case 1078:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=bf+1-$g+jg-Rf;_g=311;i=h;return _g|0}case 1080:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=df+1-Rf+jg-$g;_g=308;i=h;return _g|0}case 1099:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=gf+1-$g+jg-Rf;_g=313;i=h;return _g|0}case 1101:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=ff+1-Rf+jg-$g;_g=328;i=h;return _g|0}case 1104:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Jf+1-$g+jg-Rf;_g=305;i=h;return _g|0}case 1106:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Kf+1-Rf+jg-$g;_g=282;i=h;return _g|0}case 1108:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Mf+1-$g+jg-Rf;_g=297;i=h;return _g|0}case 1130:{ab=ib;I=1131;break}case 1135:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=(c[q>>2]|0)+1-ib+Rf-jg;_g=0;i=h;return _g|0}case 1152:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=yb+1-jg+Rf-ib;_g=266;i=h;return _g|0}case 1159:{c[b>>2]=139;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Yb+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1161:{c[b>>2]=146;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Zb+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1167:{c[b>>2]=149;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=fc+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1171:{c[b>>2]=151;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=oc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1173:{c[b>>2]=150;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=pc+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1175:{c[b>>2]=148;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=qc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1178:{c[b>>2]=140;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=sc+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1183:{c[b>>2]=147;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=wc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1186:{c[b>>2]=153;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Bc+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1188:{c[b>>2]=160;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Cc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1193:{c[b>>2]=163;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Kc+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1197:{c[b>>2]=165;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Sc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1199:{c[b>>2]=164;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Tc+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1201:{c[b>>2]=162;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Uc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1204:{c[b>>2]=154;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Wc+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1210:{c[b>>2]=161;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=$c+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1216:{c[b>>2]=106;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=nd+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1218:{c[b>>2]=113;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=od+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1220:{c[b>>2]=103;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=pd+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1223:{c[b>>2]=104;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=qd+1-jg+Rf-ib;_g=293;i=h;return _g|0}case 1226:{c[b>>2]=69;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=vd+1-ib+Rf-jg;_g=296;i=h;return _g|0}case 1233:{c[b>>2]=108;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Jd+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1239:{c[b>>2]=116;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Sd+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1243:{c[b>>2]=107;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Wd+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1247:{c[b>>2]=115;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=de+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1249:{c[b>>2]=124;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=fe+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1251:{c[b>>2]=131;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ge+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1253:{c[b>>2]=121;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=he+1-jg+Rf-ib;_g=293;i=h;return _g|0}case 1256:{c[b>>2]=122;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ie+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1259:{c[b>>2]=80;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=pe+1-jg+Rf-ib;_g=296;i=h;return _g|0}case 1267:{c[b>>2]=126;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Fe+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1273:{c[b>>2]=134;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Oe+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1277:{c[b>>2]=125;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Re+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1280:{c[b>>2]=133;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=_e+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1282:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ld+1-ib+Rf-jg;_g=272;i=h;return _g|0}case 1287:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=(c[q>>2]|0)+1-jg+Rf-ib;_g=0;i=h;return _g|0}case 1324:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Mb+1-ib+Rf-jg;_g=278;i=h;return _g|0}case 1329:{c[b>>2]=141;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=_b+1-jg+Rf-ib;_g=293;i=h;return _g|0}case 1336:{c[b>>2]=42;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=nc+1-ib+Rf-jg;_g=288;i=h;return _g|0}case 1340:{c[b>>2]=145;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=vc+1-jg+Rf-ib;_g=293;i=h;return _g|0}case 1344:{c[b>>2]=155;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Dc+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1350:{c[b>>2]=43;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Rc+1-jg+Rf-ib;_g=288;i=h;return _g|0}case 1355:{c[b>>2]=159;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=_c+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1364:{c[b>>2]=78;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=wd+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1366:{c[b>>2]=79;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=xd+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1368:{c[b>>2]=74;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=yd+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1370:{c[b>>2]=75;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=zd+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1372:{c[b>>2]=76;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Ad+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1374:{c[b>>2]=77;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Bd+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1391:{c[b>>2]=40;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Ed+1-jg+Rf-ib;_g=288;i=h;return _g|0}case 1393:{c[b>>2]=72;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Cd+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1395:{c[b>>2]=73;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Dd+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1400:{c[b>>2]=119;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Nd+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1402:{c[b>>2]=120;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Od+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1411:{c[b>>2]=89;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=qe+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1413:{c[b>>2]=90;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=re+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1415:{c[b>>2]=85;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=se+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1417:{c[b>>2]=86;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=te+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1419:{c[b>>2]=87;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ue+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1421:{c[b>>2]=88;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=ve+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1439:{c[b>>2]=41;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ye+1-ib+Rf-jg;_g=288;i=h;return _g|0}case 1441:{c[b>>2]=83;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=we+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1443:{c[b>>2]=84;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=xe+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1448:{c[b>>2]=137;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Je+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1450:{c[b>>2]=138;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Ke+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1472:{jf=rf;I=1473;break}case 1477:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=(c[q>>2]|0)+1-rf+jg-Rf;_g=0;i=h;return _g|0}case 1494:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=If+1-Rf+jg-rf;_g=316;i=h;return _g|0}case 1502:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=(c[q>>2]|0)+1-rf+jg-Rf;_g=0;i=h;return _g|0}case 1531:{c[b>>2]=-3;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ac+1-Rf+jg-rf;_g=292;i=h;return _g|0}case 1536:{c[b>>2]=142;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=ic+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1540:{c[b>>2]=56;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=xc+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1542:{c[b>>2]=143;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=yc+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1544:{c[b>>2]=-4;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Fc+1-Rf+jg-rf;_g=292;i=h;return _g|0}case 1548:{c[b>>2]=156;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Mc+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1553:{c[b>>2]=57;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ad+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1555:{c[b>>2]=157;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=bd+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1558:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=fd+1-Rf+jg-rf;_g=283;i=h;return _g|0}case 1561:{c[b>>2]=-1;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=rd+1-rf+jg-Rf;_g=292;i=h;return _g|0}case 1563:{c[b>>2]=109;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=sd+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1565:{c[b>>2]=110;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=td+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1571:{c[b>>2]=111;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Pd+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1573:{c[b>>2]=112;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Qd+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1575:{c[b>>2]=117;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Td+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1577:{c[b>>2]=118;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ud+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1594:{c[b>>2]=54;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Xd+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1598:{c[b>>2]=-2;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=je+1-rf+jg-Rf;_g=292;i=h;return _g|0}case 1600:{c[b>>2]=127;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ke+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1602:{c[b>>2]=128;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=le+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1610:{c[b>>2]=129;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Le+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1612:{c[b>>2]=130;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Me+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1614:{c[b>>2]=135;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Pe+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1616:{c[b>>2]=136;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Qe+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1634:{c[b>>2]=55;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Se+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1641:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Nf+1-rf+jg-Rf;_g=284;i=h;return _g|0}case 1643:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Vf+1-Rf+jg-rf;_g=285;i=h;return _g|0}case 1665:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=gd+1-rf+jg-Rf;_g=286;i=h;return _g|0}case 1670:{c[b>>2]=105;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Md+1-Rf+jg-rf;_g=293;i=h;return _g|0}case 1674:{c[b>>2]=58;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Zd+1-rf+jg-Rf;_g=289;i=h;return _g|0}case 1682:{c[b>>2]=123;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ie+1-Rf+jg-rf;_g=293;i=h;return _g|0}case 1687:{c[b>>2]=60;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Te+1-rf+jg-Rf;_g=289;i=h;return _g|0}case 1692:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=(c[q>>2]|0)+1-Rf+jg-rf;_g=0;i=h;return _g|0}case 1712:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Pf+1-rf+jg-Rf;_g=287;i=h;return _g|0}case 1719:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Hb+1-Rf+jg-rf;_g=325;i=h;return _g|0}case 1722:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Pb+1-rf+jg-Rf;_g=280;i=h;return _g|0}case 1729:{c[b>>2]=144;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=tc+1-Rf+jg-rf;_g=293;i=h;return _g|0}case 1734:{c[b>>2]=158;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Xc+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1738:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=dd+1-Rf+jg-rf;_g=300;i=h;return _g|0}case 1741:{c[b>>2]=44;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Hd+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1743:{c[b>>2]=45;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Id+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1746:{c[b>>2]=59;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Yd+1-rf+jg-Rf;_g=289;i=h;return _g|0}case 1754:{c[b>>2]=48;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ze+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1756:{c[b>>2]=49;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ae+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1759:{c[b>>2]=61;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ve+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1761:{c[b>>2]=62;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ue+1-rf+jg-Rf;_g=289;i=h;return _g|0}case 1765:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Yf+1-Rf+jg-rf;_g=298;i=h;return _g|0}case 1775:{c[b>>2]=152;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=$b+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1780:{c[b>>2]=166;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ec+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1784:{c[b>>2]=46;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Fd+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1786:{c[b>>2]=47;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Gd+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1791:{c[b>>2]=167;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=ce+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1795:{c[b>>2]=50;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=De+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1797:{c[b>>2]=51;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ee+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1799:{c[b>>2]=52;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Be+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1801:{c[b>>2]=53;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ce+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1824:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Db+1-Rf+jg-rf;_g=322;i=h;return _g|0}case 1827:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Qb+1-rf+jg-Rf;_g=281;i=h;return _g|0}case 1847:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Bb+1-Rf+jg-rf;_g=320;i=h;return _g|0}case 1852:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Nb+1-rf+jg-Rf;_g=299;i=h;return _g|0}case 1856:{c[b>>2]=182;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=gc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1885:{c[b>>2]=187;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Yc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1889:{c[b>>2]=168;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=_d+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1891:{c[b>>2]=170;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=$d+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1893:{c[b>>2]=169;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ae+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1895:{c[b>>2]=171;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=be+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1900:{c[b>>2]=174;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=We+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1902:{c[b>>2]=176;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Xe+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1904:{c[b>>2]=175;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ye+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1906:{c[b>>2]=177;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ze+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1909:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Cb+1-Rf+jg-rf;_g=319;i=h;return _g|0}case 1925:{c[b>>2]=172;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=me+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1927:{c[b>>2]=173;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ne+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1930:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ab+1-rf+jg-Rf;_g=326;i=h;return _g|0}case 1934:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ib+1-Rf+jg-rf;_g=321;i=h;return _g|0}case 1936:{c[b>>2]=178;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=bc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1938:{c[b>>2]=180;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=cc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1940:{c[b>>2]=179;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=dc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1942:{c[b>>2]=181;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ec+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1945:{c[b>>2]=183;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Gc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1947:{c[b>>2]=185;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Hc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1949:{c[b>>2]=184;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ic+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1951:{c[b>>2]=186;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Jc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1964:{c[b>>2]=190;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=uc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1966:{c[b>>2]=191;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Zc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1968:{c[b>>2]=188;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Rd+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1970:{c[b>>2]=189;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ne+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1987:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Fb+1-rf+jg-Rf;_g=323;i=h;return _g|0}case 1989:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Gb+1-Rf+jg-rf;_g=324;i=h;return _g|0}}if((I|0)==595){c[b>>2]=4;rf=c[r>>2]|0;jg=b+4|0;c[jg>>2]=rf;c[jg+4>>2]=cg-rf;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;Gb=c[y>>2]|0;c[z>>2]=rf+1-jg+Rf-Gb;c[A>>2]=cg+1-jg+Rf-Gb;_g=262;i=h;return _g|0}else if((I|0)==1131){Gb=c[r>>2]|0;c[b>>2]=Gb+6;Rf=Gb;c[b+4>>2]=ab+-6-Rf;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Gb=c[w>>2]|0;jg=c[x>>2]|0;cg=c[y>>2]|0;c[z>>2]=Rf+1-Gb+jg-cg;c[A>>2]=ab+1-Gb+jg-cg;_g=291;i=h;return _g|0}else if((I|0)==1473){I=c[r>>2]|0;c[b>>2]=I+7;r=I;c[b+4>>2]=jf+-7-r;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];u=c[w>>2]|0;w=c[x>>2]|0;x=c[y>>2]|0;c[z>>2]=r+1-u+w-x;c[A>>2]=jf+1-u+w-x;_g=290;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,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;g=b+4|0;h=c[b>>2]|0;i=(((c[g>>2]|0)-h|0)/24|0)+1|0;if(i>>>0>178956970)sn(b);j=b+8|0;k=((c[j>>2]|0)-h|0)/24|0;if(k>>>0<89478485){l=k<<1;k=l>>>0<i>>>0?i:l;l=((c[g>>2]|0)-h|0)/24|0;if(!k){m=0;n=0;o=l}else{p=k;q=l;r=6}}else{p=178956970;q=((c[g>>2]|0)-h|0)/24|0;r=6}if((r|0)==6){m=p;n=Un(p*24|0)|0;o=q}q=n+(o*24|0)|0;p=q;r=n+(m*24|0)|0;m=c[f>>2]|0;c[q>>2]=c[d>>2];Di(n+(o*24|0)+4|0,e);c[n+(o*24|0)+16>>2]=m;a[n+(o*24|0)+20>>0]=0;o=q+24|0;n=c[b>>2]|0;m=c[g>>2]|0;if((m|0)==(n|0)){s=p;t=n;u=n}else{e=m;m=q;q=p;while(1){p=e;e=e+-24|0;c[m+-24>>2]=c[e>>2];d=m+-20|0;f=p+-20|0;c[d>>2]=0;h=m+-16|0;c[h>>2]=0;c[m+-12>>2]=0;c[d>>2]=c[f>>2];d=p+-16|0;c[h>>2]=c[d>>2];h=p+-12|0;c[m+-12>>2]=c[h>>2];c[h>>2]=0;c[d>>2]=0;c[f>>2]=0;f=m+-8|0;d=p+-8|0;c[f>>2]=c[d>>2];a[f+4>>0]=a[d+4>>0]|0;m=q+-24|0;d=m;if((e|0)==(n|0)){v=d;break}else q=d}s=v;t=c[b>>2]|0;u=c[g>>2]|0}c[b>>2]=s;c[g>>2]=o;c[j>>2]=r;r=t;if((u|0)!=(r|0)){j=u;do{u=c[j+-20>>2]|0;o=u;if(u|0){g=j+-16|0;s=c[g>>2]|0;if((s|0)!=(u|0))c[g>>2]=s+(~((s+-4-o|0)>>>2)<<2);Bn(u)}j=j+-24|0}while((j|0)!=(r|0))}if(!t)return;Bn(t);return}function Hi(a,b){a=a|0;b=b|0;return Ii(a,b)|0}function Ii(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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=i;i=i+80|0;f=e+56|0;g=e+40|0;h=e+32|0;j=e+24|0;k=e+8|0;l=e;m=e+68|0;Zh();n=c[30984+(d*20|0)+8>>2]|0;Zh();o=c[30984+(d*20|0)+12>>2]|0;Zh();p=c[30984+(d*20|0)>>2]|0;q=b+16|0;r=b+20|0;s=c[r>>2]|0;t=c[q>>2]|0;u=(s-t|0)/24|0;if((s|0)!=(t|0)){s=t;t=u+-1|0;v=((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2)-(c[s+(t*24|0)+16>>2]|0)|0;if(v>>>0<2?(a[s+(t*24|0)+20>>0]|0)==0:0){c[k>>2]=p;c[k+4>>2]=v;c[k+8>>2]=2;Ei(b,16e3,k);w=1}else w=0}else{c[l>>2]=0;c[l+4>>2]=u+-1;Ei(b,15971,l);w=1}l=c[r>>2]|0;u=c[q>>2]|0;k=(l-u|0)/24|0;do if((l|0)!=(u|0)){v=u;t=k+-1|0;s=b+8|0;x=c[s>>2]|0;y=c[b+4>>2]|0;z=x-y>>2;if((c[v+(t*24|0)+16>>2]|0)>>>0<z>>>0){A=c[y+(z+-1<<2)>>2]|0;c[s>>2]=x+-4;B=0;C=u;D=l;E=A;break}else{B=(a[v+(t*24|0)+20>>0]^1)&255;C=u;D=l;E=0;break}}else{c[j>>2]=0;c[j+4>>2]=k+-1;Ei(b,15971,j);B=1;C=c[q>>2]|0;D=c[r>>2]|0;E=0}while(0);r=B|w;w=(D-C|0)/24|0;do if((D|0)!=(C|0)){q=C;j=w+-1|0;k=b+8|0;l=c[k>>2]|0;u=c[b+4>>2]|0;t=l-u>>2;if((c[q+(j*24|0)+16>>2]|0)>>>0>=t>>>0){F=0;G=(a[q+(j*24|0)+20>>0]^1)&255|r;break}j=c[u+(t+-1<<2)>>2]|0;c[k>>2]=l+-4;if((j|0)!=0&((n|0)!=0&(j|0)!=(n|0))){switch(n|0){case -1:{H=24340;break}case -2:{H=24336;break}case -3:{H=24332;break}case -4:{H=24328;break}case -16:{H=24320;break}case -32:{H=24315;break}case -64:{H=24310;break}case 0:{H=24306;break}default:H=0}switch(j|0){case -1:{I=24340;break}case -2:{I=24336;break}case -3:{I=24332;break}case -4:{I=24328;break}case -16:{I=24320;break}case -32:{I=24315;break}case -64:{I=24310;break}case 0:{I=24306;break}default:I=0}c[g>>2]=p;c[g+4>>2]=H;c[g+8>>2]=I;Ei(b,16064,g);F=1;G=r}else{F=0;G=r}}else{c[h>>2]=0;c[h+4>>2]=w+-1;Ei(b,15971,h);F=0;G=B|1}while(0);B=F|G;if((E|0)!=0&((o|0)!=0&(E|0)!=(o|0))){switch(o|0){case -1:{J=24340;break}case -2:{J=24336;break}case -3:{J=24332;break}case -4:{J=24328;break}case -16:{J=24320;break}case -32:{J=24315;break}case -64:{J=24310;break}case 0:{J=24306;break}default:J=0}switch(E|0){case -1:{K=24340;break}case -2:{K=24336;break}case -3:{K=24332;break}case -4:{K=24328;break}case -16:{K=24320;break}case -32:{K=24315;break}case -64:{K=24310;break}case 0:{K=24306;break}default:K=0}c[f>>2]=p;c[f+4>>2]=J;c[f+8>>2]=K;Ei(b,16064,f);L=1}else L=0;f=B|L;Zh();L=c[30984+(d*20|0)+4>>2]|0;c[m>>2]=L;if((L|0)==-64){i=e;return f|0}d=b+8|0;B=c[d>>2]|0;if((B|0)==(c[b+12>>2]|0)){de(b+4|0,m);i=e;return f|0}else{c[B>>2]=L;c[d>>2]=B+4;i=e;return f|0}return 0}function Ji(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=1;h=(c[b+8>>2]|0)-(c[b+4>>2]|0)>>2;c[g>>2]=h;j=b+20|0;k=c[j>>2]|0;if(k>>>0<(c[b+24>>2]|0)>>>0){c[k>>2]=1;Di(k+4|0,d);c[k+16>>2]=h;a[k+20>>0]=0;c[j>>2]=(c[j>>2]|0)+24;i=e;return 0}else{Gi(b+16|0,f,d,g);i=e;return 0}return 0}function Ki(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;e=i;i=i+16|0;f=e+8|0;g=e;h=b+16|0;j=b+20|0;k=c[j>>2]|0;l=c[h>>2]|0;m=(k-l|0)/24|0;if(m>>>0<=d>>>0){c[g>>2]=d;c[g+4>>2]=m+-1;Ei(b,15971,g);n=1;i=e;return n|0}g=l;o=m+~d|0;if((c[g+(o*24|0)>>2]|0)==2){p=l;q=k;r=0}else{k=Li(b,g+(o*24|0)+4|0,16109)|0;p=c[h>>2]|0;q=c[j>>2]|0;r=k}k=(q-p|0)/24|0;if((q|0)==(p|0)){c[f>>2]=0;c[f+4>>2]=k+-1;Ei(b,15971,f);n=1;i=e;return n|0}f=p;p=k+-1|0;a[f+(p*24|0)+20>>0]=1;k=c[f+(p*24|0)+16>>2]|0;p=b+4|0;f=b+8|0;b=c[f>>2]|0;q=c[p>>2]|0;j=b-q>>2;h=b;if(k>>>0>j>>>0){Mi(p,k-j|0);n=r;i=e;return n|0}if(k>>>0>=j>>>0){n=r;i=e;return n|0}j=q+(k<<2)|0;if((h|0)==(j|0)){n=r;i=e;return n|0}c[f>>2]=h+(~((h+-4-j|0)>>>2)<<2);n=r;i=e;return n|0}function Li(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=i;i=i+48|0;g=f+32|0;h=f+24|0;j=f+8|0;k=f;l=d+4|0;m=(c[l>>2]|0)-(c[d>>2]|0)>>2;n=b+16|0;o=b+20|0;p=c[o>>2]|0;q=c[n>>2]|0;r=(p-q|0)/24|0;if((p|0)!=(q|0)){p=q;q=r+-1|0;s=((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2)-(c[p+(q*24|0)+16>>2]|0)|0;if(s>>>0<m>>>0?(a[p+(q*24|0)+20>>0]|0)==0:0){c[j>>2]=e;c[j+4>>2]=s;c[j+8>>2]=m;Ei(b,16e3,j);t=1}else t=0}else{c[k>>2]=0;c[k+4>>2]=r+-1;Ei(b,15971,k);t=1}k=c[d>>2]|0;r=(c[l>>2]|0)-k>>2;if(!r){u=t;i=f;return u|0}j=b+4|0;m=b+8|0;s=k;k=r;r=0;q=t;while(1){t=s;p=k-r|0;v=c[o>>2]|0;w=c[n>>2]|0;x=(v-w|0)/24|0;do if((v|0)!=(w|0)){y=w;z=x+-1|0;A=c[j>>2]|0;B=(c[m>>2]|0)-A>>2;if((p+-1+(c[y+(z*24|0)+16>>2]|0)|0)>>>0<B>>>0){C=0;D=t;E=s;F=c[A+(B-p<<2)>>2]|0;break}else{C=(a[y+(z*24|0)+20>>0]^1)&255;D=t;E=s;F=0;break}}else{c[h>>2]=0;c[h+4>>2]=x+-1;Ei(b,15971,h);z=c[d>>2]|0;C=1;D=z;E=z;F=0}while(0);x=C|q;t=c[D+(r<<2)>>2]|0;if((F|0)!=0&((t|0)!=(F|0)&(t|0)!=0)){switch(t|0){case -1:{G=24340;break}case -2:{G=24336;break}case -3:{G=24332;break}case -4:{G=24328;break}case -16:{G=24320;break}case -32:{G=24315;break}case -64:{G=24310;break}case 0:{G=24306;break}default:G=0}switch(F|0){case -1:{H=24340;break}case -2:{H=24336;break}case -3:{H=24332;break}case -4:{H=24328;break}case -16:{H=24320;break}case -32:{H=24315;break}case -64:{H=24310;break}case 0:{H=24306;break}default:H=0}c[g>>2]=e;c[g+4>>2]=G;c[g+8>>2]=H;Ei(b,16064,g);I=1;J=c[d>>2]|0}else{I=0;J=E}t=x|I;r=r+1|0;k=(c[l>>2]|0)-J>>2;if(k>>>0<=r>>>0){u=t;break}else{s=J;q=t}}i=f;return u|0}function Mi(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;d=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(e-g>>2>>>0>=b>>>0){ao(g|0,0,b<<2|0)|0;c[f>>2]=g+(b<<2);return}h=c[a>>2]|0;i=(g-h>>2)+b|0;if(i>>>0>1073741823)sn(a);g=e-h|0;if(g>>2>>>0<536870911){e=g>>1;g=e>>>0<i>>>0?i:e;e=c[f>>2]|0;i=e-h>>2;if(!g){j=0;k=0;l=i;m=e}else{n=g;o=e;p=i;q=8}}else{i=c[f>>2]|0;n=1073741823;o=i;p=i-h>>2;q=8}if((q|0)==8){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;ao(o|0,0,b<<2|0)|0;l=m-h|0;m=o+(0-(l>>2)<<2)|0;io(m|0,h|0,l|0)|0;c[a>>2]=m;c[f>>2]=o+(b<<2);c[d>>2]=k+(j<<2);if(!h)return;Bn(h);return}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=Oi(a,-1,16112)|0;g=c[a+16>>2]|0;h=((c[a+20>>2]|0)-g|0)/24|0;if(h>>>0<=b>>>0){c[e>>2]=b;c[e+4>>2]=h+-1;Ei(a,15971,e);j=1;i=d;return j|0}e=g;g=h+~b|0;if((c[e+(g*24|0)>>2]|0)==2){j=f;i=d;return j|0}j=Li(a,e+(g*24|0)+4|0,16112)|0|f;i=d;return j|0}function Oi(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;f=i;i=i+48|0;g=f+32|0;h=f+24|0;j=f+8|0;k=f;l=b+16|0;m=b+20|0;n=c[m>>2]|0;o=c[l>>2]|0;p=(n-o|0)/24|0;if((n|0)!=(o|0)){n=o;o=p+-1|0;if((a[n+(o*24|0)+20>>0]|0)==0?((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2|0)==(c[n+(o*24|0)+16>>2]|0):0){c[j>>2]=e;c[j+4>>2]=0;c[j+8>>2]=1;Ei(b,16e3,j);q=1}else q=0}else{c[k>>2]=0;c[k+4>>2]=p+-1;Ei(b,15971,k);q=1}k=c[m>>2]|0;m=c[l>>2]|0;l=(k-m|0)/24|0;if((k|0)==(m|0)){c[h>>2]=0;c[h+4>>2]=l+-1;Ei(b,15971,h);r=0;s=1;t=r|s;i=f;return t|0}h=m;m=l+-1|0;l=b+8|0;k=c[l>>2]|0;p=c[b+4>>2]|0;j=k-p>>2;if((c[h+(m*24|0)+16>>2]|0)>>>0>=j>>>0){r=0;s=(a[h+(m*24|0)+20>>0]^1)&255|q;t=r|s;i=f;return t|0}m=c[p+(j+-1<<2)>>2]|0;c[l>>2]=k+-4;if(!((m|0)!=0&((d|0)!=0&(m|0)!=(d|0)))){r=0;s=q;t=r|s;i=f;return t|0}switch(d|0){case -1:{u=24340;break}case -2:{u=24336;break}case -3:{u=24332;break}case -4:{u=24328;break}case -16:{u=24320;break}case -32:{u=24315;break}case -64:{u=24310;break}case 0:{u=24306;break}default:u=0}switch(m|0){case -1:{v=24340;break}case -2:{v=24336;break}case -3:{v=24332;break}case -4:{v=24328;break}case -16:{v=24320;break}case -32:{v=24315;break}case -64:{v=24310;break}case 0:{v=24306;break}default:v=0}c[g>>2]=e;c[g+4>>2]=u;c[g+8>>2]=v;Ei(b,16064,g);r=1;s=q;t=r|s;i=f;return t|0}function Pi(a){a=a|0;c[a+28>>2]=0;return Oi(a,-1,16118)|0}function Qi(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;d=i;i=i+32|0;e=d+8|0;f=d;g=c[a+16>>2]|0;h=((c[a+20>>2]|0)-g|0)/24|0;if(h>>>0<=b>>>0){c[f>>2]=b;c[f+4>>2]=h+-1;Ei(a,15971,f);j=1;i=d;return j|0}f=g;g=h+~b|0;b=f+(g*24|0)|0;h=c[b>>2]|0;if((h|0)!=2?(k=c[f+(g*24|0)+4>>2]|0,(c[f+(g*24|0)+8>>2]|0)!=(k|0)):0)l=c[k>>2]|0;else l=-64;k=a+28|0;m=c[k>>2]|0;if((m|0)!=0&((l|0)!=0&(l|0)!=(m|0))){switch(l|0){case -1:{n=24340;break}case -2:{n=24336;break}case -3:{n=24332;break}case -4:{n=24328;break}case -16:{n=24320;break}case -32:{n=24315;break}case -64:{n=24310;break}case 0:{n=24306;break}default:n=0}switch(m|0){case -1:{o=24340;break}case -2:{o=24336;break}case -3:{o=24332;break}case -4:{o=24328;break}case -16:{o=24320;break}case -32:{o=24315;break}case -64:{o=24310;break}case 0:{o=24306;break}default:o=0}c[e>>2]=16118;c[e+4>>2]=n;c[e+8>>2]=o;Ei(a,16064,e);p=1;q=c[b>>2]|0}else{p=0;q=h}c[k>>2]=l;if((q|0)==2){j=p;i=d;return j|0}j=Li(a,f+(g*24|0)+4|0,16118)|0|p;i=d;return j|0}function Ri(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d;f=c[b+20>>2]|0;g=c[b+16>>2]|0;h=(f-g|0)/24|0;if((f|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h+-1;Ei(b,15971,e);j=1;i=d;return j|0}e=g;g=h+-1|0;a[e+(g*24|0)+20>>0]=1;h=c[e+(g*24|0)+16>>2]|0;g=b+4|0;e=b+8|0;b=c[e>>2]|0;f=c[g>>2]|0;k=b-f>>2;l=b;if(h>>>0>k>>>0){Mi(g,h-k|0);j=0;i=d;return j|0}if(h>>>0>=k>>>0){j=0;i=d;return j|0}k=f+(h<<2)|0;if((l|0)==(k|0)){j=0;i=d;return j|0}c[e>>2]=l+(~((l+-4-k|0)>>>2)<<2);j=0;i=d;return j|0}function Si(a,b,c){a=a|0;b=b|0;c=c|0;return Ti(a,b,c,16127)|0}function Ti(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,M=0;g=i;i=i+48|0;h=g+32|0;j=g+24|0;k=g+8|0;l=g;m=g+44|0;n=d+4|0;o=(c[n>>2]|0)-(c[d>>2]|0)>>2;p=b+16|0;q=b+20|0;r=c[q>>2]|0;s=c[p>>2]|0;t=(r-s|0)/24|0;if((r|0)!=(s|0)){r=s;s=t+-1|0;u=((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2)-(c[r+(s*24|0)+16>>2]|0)|0;if(u>>>0<o>>>0?(a[r+(s*24|0)+20>>0]|0)==0:0){c[k>>2]=f;c[k+4>>2]=u;c[k+8>>2]=o;Ei(b,16e3,k);v=1}else v=0}else{c[l>>2]=0;c[l+4>>2]=t+-1;Ei(b,15971,l);v=1}l=c[d>>2]|0;t=(c[n>>2]|0)-l>>2;if(!t){w=0;x=v}else{k=b+4|0;o=b+8|0;u=l;l=t;t=0;s=v;while(1){v=u;r=l-t|0;y=c[q>>2]|0;z=c[p>>2]|0;A=(y-z|0)/24|0;do if((y|0)!=(z|0)){B=z;C=A+-1|0;D=c[k>>2]|0;E=(c[o>>2]|0)-D>>2;if((r+-1+(c[B+(C*24|0)+16>>2]|0)|0)>>>0<E>>>0){F=0;G=v;H=u;I=c[D+(E-r<<2)>>2]|0;break}else{F=(a[B+(C*24|0)+20>>0]^1)&255;G=v;H=u;I=0;break}}else{c[j>>2]=0;c[j+4>>2]=A+-1;Ei(b,15971,j);C=c[d>>2]|0;F=1;G=C;H=C;I=0}while(0);A=F|s;v=c[G+(t<<2)>>2]|0;if((I|0)!=0&((v|0)!=(I|0)&(v|0)!=0)){switch(v|0){case -1:{J=24340;break}case -2:{J=24336;break}case -3:{J=24332;break}case -4:{J=24328;break}case -16:{J=24320;break}case -32:{J=24315;break}case -64:{J=24310;break}case 0:{J=24306;break}default:J=0}switch(I|0){case -1:{K=24340;break}case -2:{K=24336;break}case -3:{K=24332;break}case -4:{K=24328;break}case -16:{K=24320;break}case -32:{K=24315;break}case -64:{K=24310;break}case 0:{K=24306;break}default:K=0}c[h>>2]=f;c[h+4>>2]=J;c[h+8>>2]=K;Ei(b,16064,h);L=1;M=c[d>>2]|0}else{L=0;M=H}v=A|L;t=t+1|0;A=(c[n>>2]|0)-M>>2;if(A>>>0<=t>>>0){w=A;x=v;break}else{u=M;l=A;s=v}}}s=Ui(b,w)|0|x;x=c[e>>2]|0;w=c[e+4>>2]|0;if((x|0)==(w|0)){i=g;return s|0}e=b+8|0;l=b+12|0;M=b+4|0;b=x;do{x=c[b>>2]|0;c[m>>2]=x;do if((x|0)!=-64){u=c[e>>2]|0;if((u|0)==(c[l>>2]|0)){de(M,m);break}else{c[u>>2]=x;c[e>>2]=u+4;break}}while(0);b=b+4|0}while((b|0)!=(w|0));i=g;return s|0}function Ui(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;e=i;i=i+16|0;f=e;g=c[b+20>>2]|0;h=c[b+16>>2]|0;j=(g-h|0)/24|0;if((g|0)==(h|0)){c[f>>2]=0;c[f+4>>2]=j+-1;Ei(b,15971,f);k=1;i=e;return k|0}f=h;h=j+-1|0;j=c[f+(h*24|0)+16>>2]|0;g=b+4|0;l=b+8|0;b=c[l>>2]|0;m=c[g>>2]|0;n=b-m>>2;o=b;if((j+d|0)>>>0<=n>>>0){if(!d){k=0;i=e;return k|0}b=o+(0-d<<2)|0;d=c[l>>2]|0;if((d|0)==(b|0)){k=0;i=e;return k|0}c[l>>2]=d+(~((d+-4-b|0)>>>2)<<2);k=0;i=e;return k|0}if(!(a[f+(h*24|0)+20>>0]|0)){k=1;i=e;return k|0}if(j>>>0>n>>>0){Mi(g,j-n|0);k=0;i=e;return k|0}if(j>>>0>=n>>>0){k=0;i=e;return k|0}n=m+(j<<2)|0;if((o|0)==(n|0)){k=0;i=e;return k|0}c[l>>2]=o+(~((o+-4-n|0)>>>2)<<2);k=0;i=e;return k|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Oi(a,-1,16132)|0;return Ti(a,b,c,16132)|0|d|0}function Wi(a,b){a=a|0;b=b|0;return Ii(a,b)|0}function Xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if((b|0)==-64){i=d;return 0}f=a+8|0;g=c[f>>2]|0;if((g|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return 0}else{c[g>>2]=b;c[f>>2]=g+4;i=d;return 0}return 0}function Yi(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;e=d;Zh();f=c[30984+(b*20|0)+8>>2]|0;Zh();g=Oi(a,f,c[30984+(b*20|0)>>2]|0)|0;Zh();f=c[30984+(b*20|0)+4>>2]|0;c[e>>2]=f;if((f|0)==-64){i=d;return g|0}b=a+8|0;h=c[b>>2]|0;if((h|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return g|0}else{c[h>>2]=f;c[b>>2]=h+4;i=d;return g|0}return 0}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=-1;e=a+8|0;f=c[e>>2]|0;if((f|0)==(c[a+12>>2]|0)){de(a+4|0,d);i=b;return 0}else{c[f>>2]=-1;c[e>>2]=f+4;i=b;return 0}return 0}function _i(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;d=i;i=i+32|0;e=d+24|0;f=d+8|0;g=d;h=b+16|0;j=b+20|0;k=c[j>>2]|0;l=c[h>>2]|0;m=(k-l|0)/24|0;if((k|0)!=(l|0)){k=l;l=m+-1|0;if((a[k+(l*24|0)+20>>0]|0)==0?((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2|0)==(c[k+(l*24|0)+16>>2]|0):0){c[f>>2]=16146;c[f+4>>2]=0;c[f+8>>2]=1;Ei(b,16e3,f);n=1}else n=0}else{c[g>>2]=0;c[g+4>>2]=m+-1;Ei(b,15971,g);n=1}g=c[j>>2]|0;j=c[h>>2]|0;h=(g-j|0)/24|0;if((g|0)==(j|0)){c[e>>2]=0;c[e+4>>2]=h+-1;Ei(b,15971,e);o=1;p=o|n;i=d;return p|0}e=j;j=h+-1|0;h=b+8|0;g=c[h>>2]|0;if((c[e+(j*24|0)+16>>2]|0)>>>0<g-(c[b+4>>2]|0)>>2>>>0){c[h>>2]=g+-4;o=0;p=o|n;i=d;return p|0}else{o=(a[e+(j*24|0)+20>>0]^1)&255;p=o|n;i=d;return p|0}return 0}function $i(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,t=0,u=0,v=0,w=0,x=0,y=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d;h=b+16|0;j=b+20|0;k=c[j>>2]|0;l=c[h>>2]|0;m=(k-l|0)/24|0;if((k|0)==(l|0)){c[g>>2]=0;c[g+4>>2]=m+-1;Ei(b,15971,g);n=1;i=d;return n|0}g=l;l=m+-1|0;m=g+(l*24|0)|0;k=(c[m>>2]|0)!=3&1;o=g+(l*24|0)+4|0;p=Li(b,o,16151)|0;q=Ui(b,(c[g+(l*24|0)+8>>2]|0)-(c[o>>2]|0)>>2)|0;o=c[j>>2]|0;j=c[h>>2]|0;h=(o-j|0)/24|0;if((o|0)!=(j|0)){o=b+4|0;r=b+8|0;s=(c[r>>2]|0)-(c[o>>2]|0)>>2;t=c[j+((h+-1|0)*24|0)+16>>2]|0;if((s|0)==(t|0)){u=0;v=r;w=r;x=o;y=o}else{c[e>>2]=16151;c[e+4>>2]=s;c[e+8>>2]=t;Ei(b,16166,e);u=1;v=r;w=r;x=o;y=o}}else{c[f>>2]=0;c[f+4>>2]=h+-1;Ei(b,15971,f);f=b+4|0;h=b+8|0;u=1;v=h;w=h;x=f;y=f}f=k|p|q|u;u=c[g+(l*24|0)+16>>2]|0;q=c[w>>2]|0;w=c[x>>2]|0;x=q-w>>2;p=w;w=q;if(u>>>0<=x>>>0){if(u>>>0<x>>>0?(q=p+(u<<2)|0,(w|0)!=(q|0)):0)c[v>>2]=w+(~((w+-4-q|0)>>>2)<<2)}else Mi(y,u-x|0);c[m>>2]=4;a[g+(l*24|0)+20>>0]=0;n=f;i=d;return n|0}function aj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+8|0;e=b;f=c[a+20>>2]|0;g=c[a+16>>2]|0;h=(f-g|0)/24|0;if((f|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h+-1;Ei(a,15971,e);j=1;i=b;return j|0}e=g;g=h+-1|0;h=e+(g*24|0)|0;f=c[h>>2]|0;if((f|0)==3)if((c[e+(g*24|0)+8>>2]|0)==(c[e+(g*24|0)+4>>2]|0)){k=3;l=0}else{Ei(a,16211,d);k=c[h>>2]|0;l=1}else{k=f;l=0}f=c[1536+(k<<2)>>2]|0;j=bj(a,h,f,f)|0|l;i=b;return j|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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=i;i=i+32|0;g=f+8|0;h=f;j=f+20|0;k=b+4|0;l=Li(a,k,d)|0;d=b+8|0;m=Ui(a,(c[d>>2]|0)-(c[k>>2]|0)>>2)|0|l;l=a+20|0;n=c[l>>2]|0;o=c[a+16>>2]|0;p=(n-o|0)/24|0;if((n|0)!=(o|0)){n=a+4|0;q=a+8|0;r=(c[q>>2]|0)-(c[n>>2]|0)>>2;s=c[o+((p+-1|0)*24|0)+16>>2]|0;if((r|0)==(s|0)){t=0;u=q;v=q;w=n;x=n}else{c[g>>2]=e;c[g+4>>2]=r;c[g+8>>2]=s;Ei(a,16166,g);t=1;u=q;v=q;w=n;x=n}}else{c[h>>2]=0;c[h+4>>2]=p+-1;Ei(a,15971,h);h=a+4|0;p=a+8|0;t=1;u=p;v=p;w=h;x=h}h=m|t;t=c[b+16>>2]|0;b=c[v>>2]|0;v=c[w>>2]|0;w=b-v>>2;m=v;v=b;if(t>>>0<=w>>>0){if(t>>>0<w>>>0?(b=m+(t<<2)|0,(v|0)!=(b|0)):0)c[u>>2]=v+(~((v+-4-b|0)>>>2)<<2)}else Mi(x,t-w|0);w=c[k>>2]|0;k=c[d>>2]|0;if((w|0)!=(k|0)){d=a+12|0;a=w;do{w=c[a>>2]|0;c[j>>2]=w;do if((w|0)!=-64){t=c[u>>2]|0;if((t|0)==(c[d>>2]|0)){de(x,j);break}else{c[t>>2]=w;c[u>>2]=t+4;break}}while(0);a=a+4|0}while((a|0)!=(k|0))}k=c[l>>2]|0;a=k+-24|0;u=k;while(1){k=u+-24|0;c[l>>2]=k;j=c[u+-20>>2]|0;x=j;if(!j)y=k;else{k=u+-16|0;d=c[k>>2]|0;if((d|0)!=(j|0))c[k>>2]=d+(~((d+-4-x|0)>>>2)<<2);Bn(j);y=c[l>>2]|0}if((y|0)==(a|0))break;else u=y}i=f;return h|0}function cj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;Zh();e=c[8068]|0;Zh();f=Oi(a,e,c[8066]|0)|0;Zh();e=c[8067]|0;c[d>>2]=e;if((e|0)==-64){i=b;return f|0}g=a+8|0;h=c[g>>2]|0;if((h|0)==(c[a+12>>2]|0)){de(a+4|0,d);i=b;return f|0}else{c[h>>2]=e;c[g>>2]=h+4;i=b;return f|0}return 0}function dj(b,d){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+16|0;f=e+4|0;g=e;h=Oi(b,-1,16275)|0;c[f>>2]=3;j=(c[b+8>>2]|0)-(c[b+4>>2]|0)>>2;c[g>>2]=j;k=b+20|0;l=c[k>>2]|0;if(l>>>0<(c[b+24>>2]|0)>>>0){c[l>>2]=3;Di(l+4|0,d);c[l+16>>2]=j;a[l+20>>0]=0;c[k>>2]=(c[k>>2]|0)+24;i=e;return h|0}else{Gi(b+16|0,f,d,g);i=e;return h|0}return 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;e=d;c[e>>2]=b;if((b|0)==-64){i=d;return 0}f=a+8|0;g=c[f>>2]|0;if((g|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return 0}else{c[g>>2]=b;c[f>>2]=g+4;i=d;return 0}return 0}function fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if((b|0)==-64){i=d;return 0}f=a+8|0;g=c[f>>2]|0;if((g|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return 0}else{c[g>>2]=b;c[f>>2]=g+4;i=d;return 0}return 0}function gj(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;e=d;Zh();f=c[30984+(b*20|0)+8>>2]|0;Zh();g=Oi(a,f,c[30984+(b*20|0)>>2]|0)|0;Zh();f=c[30984+(b*20|0)+4>>2]|0;c[e>>2]=f;if((f|0)==-64){i=d;return g|0}b=a+8|0;h=c[b>>2]|0;if((h|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return g|0}else{c[h>>2]=f;c[b>>2]=h+4;i=d;return g|0}return 0}function hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=2;h=(c[b+8>>2]|0)-(c[b+4>>2]|0)>>2;c[g>>2]=h;j=b+20|0;k=c[j>>2]|0;if(k>>>0<(c[b+24>>2]|0)>>>0){c[k>>2]=2;Di(k+4|0,d);c[k+16>>2]=h;a[k+20>>0]=0;c[j>>2]=(c[j>>2]|0)+24;i=e;return 0}else{Gi(b+16|0,f,d,g);i=e;return 0}return 0}function ij(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+16|0;e=d+8|0;f=d;g=b+16|0;h=b+20|0;j=c[h>>2]|0;k=c[g>>2]|0;l=((j-k|0)/24|0)+-1|0;if((j|0)==(k|0)){c[f>>2]=l;c[f+4>>2]=l;Ei(b,15971,f);m=1;i=d;return m|0}f=k;k=f+4|0;l=Li(b,k,16294)|0;j=Ui(b,(c[f+8>>2]|0)-(c[k>>2]|0)>>2)|0|l;l=c[h>>2]|0;h=c[g>>2]|0;g=(l-h|0)/24|0;if((l|0)==(h|0)){c[e>>2]=0;c[e+4>>2]=g+-1;Ei(b,15971,e);m=1;i=d;return m|0}e=h;h=g+-1|0;a[e+(h*24|0)+20>>0]=1;g=c[e+(h*24|0)+16>>2]|0;h=b+4|0;e=b+8|0;b=c[e>>2]|0;l=c[h>>2]|0;k=b-l>>2;f=b;if(g>>>0>k>>>0){Mi(h,g-k|0);m=j;i=d;return m|0}if(g>>>0>=k>>>0){m=j;i=d;return m|0}k=l+(g<<2)|0;if((f|0)==(k|0)){m=j;i=d;return m|0}c[e>>2]=f+(~((f+-4-k|0)>>>2)<<2);m=j;i=d;return m|0}function jj(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,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+64|0;e=d+40|0;f=d+32|0;g=d+24|0;h=d+8|0;j=d;k=d+52|0;l=Oi(b,-1,16301)|0;m=b+16|0;n=b+20|0;o=c[n>>2]|0;p=c[m>>2]|0;q=(o-p|0)/24|0;if((o|0)!=(p|0)){o=p;p=q+-1|0;r=((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2)-(c[o+(p*24|0)+16>>2]|0)|0;if(r>>>0<2?(a[o+(p*24|0)+20>>0]|0)==0:0){c[h>>2]=16301;c[h+4>>2]=r;c[h+8>>2]=2;Ei(b,16e3,h);s=1}else s=0}else{c[j>>2]=0;c[j+4>>2]=q+-1;Ei(b,15971,j);s=1}j=c[n>>2]|0;q=c[m>>2]|0;h=(j-q|0)/24|0;do if((j|0)!=(q|0)){r=q;p=h+-1|0;o=b+8|0;t=c[o>>2]|0;u=c[b+4>>2]|0;v=t-u>>2;if((c[r+(p*24|0)+16>>2]|0)>>>0<v>>>0){w=c[u+(v+-1<<2)>>2]|0;c[o>>2]=t+-4;x=0;y=q;z=j;A=w;break}else{x=(a[r+(p*24|0)+20>>0]^1)&255;y=q;z=j;A=0;break}}else{c[g>>2]=0;c[g+4>>2]=h+-1;Ei(b,15971,g);x=1;y=c[m>>2]|0;z=c[n>>2]|0;A=0}while(0);n=x|s;s=(z-y|0)/24|0;do if((z|0)!=(y|0)){m=y;g=s+-1|0;h=b+8|0;j=c[h>>2]|0;q=c[b+4>>2]|0;p=j-q>>2;if((c[m+(g*24|0)+16>>2]|0)>>>0>=p>>>0){B=0;C=(a[m+(g*24|0)+20>>0]^1)&255|n;break}g=c[q+(p+-1<<2)>>2]|0;c[h>>2]=j+-4;if((g|0)!=0&((A|0)!=0&(A|0)!=(g|0))){switch(A|0){case -1:{D=24340;break}case -2:{D=24336;break}case -3:{D=24332;break}case -4:{D=24328;break}case -16:{D=24320;break}case -32:{D=24315;break}case -64:{D=24310;break}case 0:{D=24306;break}default:D=0}switch(g|0){case -1:{E=24340;break}case -2:{E=24336;break}case -3:{E=24332;break}case -4:{E=24328;break}case -16:{E=24320;break}case -32:{E=24315;break}case -64:{E=24310;break}case 0:{E=24306;break}default:E=0}c[e>>2]=16301;c[e+4>>2]=D;c[e+8>>2]=E;Ei(b,16064,e);B=1;C=n}else{B=0;C=n}}else{c[f>>2]=0;c[f+4>>2]=s+-1;Ei(b,15971,f);B=0;C=x|1}while(0);x=C|l|B;c[k>>2]=A;if((A|0)==-64){i=d;return x|0}B=b+8|0;l=c[B>>2]|0;if((l|0)==(c[b+12>>2]|0)){de(b+4|0,k);i=d;return x|0}else{c[l>>2]=A;c[B>>2]=l+4;i=d;return x|0}return 0}function kj(a,b){a=a|0;b=b|0;return Oi(a,b,16308)|0}function lj(a,b){a=a|0;b=b|0;return Oi(a,b,16319)|0}function mj(a,b){a=a|0;b=b|0;return Ii(a,b)|0}function nj(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;e=i;i=i+48|0;f=e+32|0;g=e+24|0;h=e+8|0;j=e;k=b+16|0;l=b+20|0;m=c[l>>2]|0;n=c[k>>2]|0;o=(m-n|0)/24|0;if((m|0)!=(n|0)){m=n;n=o+-1|0;if((a[m+(n*24|0)+20>>0]|0)==0?((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2|0)==(c[m+(n*24|0)+16>>2]|0):0){c[h>>2]=16329;c[h+4>>2]=0;c[h+8>>2]=1;Ei(b,16e3,h);p=1}else p=0}else{c[j>>2]=0;c[j+4>>2]=o+-1;Ei(b,15971,j);p=1}j=c[l>>2]|0;l=c[k>>2]|0;k=(j-l|0)/24|0;do if((j|0)==(l|0)){c[g>>2]=0;c[g+4>>2]=k+-1;Ei(b,15971,g);q=1}else{o=l;h=k+-1|0;n=c[b+4>>2]|0;m=(c[b+8>>2]|0)-n>>2;if((c[o+(h*24|0)+16>>2]|0)>>>0>=m>>>0){q=(a[o+(h*24|0)+20>>0]^1)&255;break}h=c[n+(m+-1<<2)>>2]|0;if(!((h|0)!=0&((d|0)!=0&(h|0)!=(d|0)))){r=0;s=p;t=r|s;i=e;return t|0}switch(d|0){case -1:{u=24340;break}case -2:{u=24336;break}case -3:{u=24332;break}case -4:{u=24328;break}case -16:{u=24320;break}case -32:{u=24315;break}case -64:{u=24310;break}case 0:{u=24306;break}default:u=0}switch(h|0){case -1:{v=24340;break}case -2:{v=24336;break}case -3:{v=24332;break}case -4:{v=24328;break}case -16:{v=24320;break}case -32:{v=24315;break}case -64:{v=24310;break}case 0:{v=24306;break}default:v=0}c[f>>2]=16329;c[f+4>>2]=u;c[f+8>>2]=v;Ei(b,16064,f);r=1;s=p;t=r|s;i=e;return t|0}while(0);r=0;s=q|p;t=r|s;i=e;return t|0}function oj(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;e=d;Zh();f=c[30984+(b*20|0)+8>>2]|0;Zh();g=Oi(a,f,c[30984+(b*20|0)>>2]|0)|0;Zh();f=c[30984+(b*20|0)+4>>2]|0;c[e>>2]=f;if((f|0)==-64){i=d;return g|0}b=a+8|0;h=c[b>>2]|0;if((h|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return g|0}else{c[h>>2]=f;c[b>>2]=h+4;i=d;return g|0}return 0}function pj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d;f=c[b+20>>2]|0;g=c[b+16>>2]|0;h=(f-g|0)/24|0;if((f|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h+-1;Ei(b,15971,e);j=1;i=d;return j|0}e=g;g=h+-1|0;a[e+(g*24|0)+20>>0]=1;h=c[e+(g*24|0)+16>>2]|0;g=b+4|0;e=b+8|0;b=c[e>>2]|0;f=c[g>>2]|0;k=b-f>>2;l=b;if(h>>>0>k>>>0){Mi(g,h-k|0);j=0;i=d;return j|0}if(h>>>0>=k>>>0){j=0;i=d;return j|0}k=f+(h<<2)|0;if((l|0)==(k|0)){j=0;i=d;return j|0}c[e>>2]=l+(~((l+-4-k|0)>>>2)<<2);j=0;i=d;return j|0}function qj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;e=c[a+20>>2]|0;f=c[a+16>>2]|0;g=(e-f|0)/24|0;if((e|0)==(f|0)){c[d>>2]=0;c[d+4>>2]=g+-1;Ei(a,15971,d);h=1;i=b;return h|0}else{d=f+((g+-1|0)*24|0)|0;g=(c[d>>2]|0)!=0&1;h=g|(bj(a,d,16339,16255)|0);i=b;return h|0}return 0}function rj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(a>>>0<b>>>0?(f=d[a>>0]|0,(f&128|0)==0):0){c[e>>2]=f&127;g=1;return g|0}f=a+1|0;if(f>>>0<b>>>0?(h=d[f>>0]|0,(h&128|0)==0):0){c[e>>2]=(d[a>>0]|0)&127|h<<7&16256;g=2;return g|0}h=a+2|0;if(h>>>0<b>>>0?(i=d[h>>0]|0,(i&128|0)==0):0){c[e>>2]=(d[a>>0]|0)&127|i<<14&2080768|(d[f>>0]|0)<<7&16256;g=3;return g|0}i=a+3|0;if(i>>>0<b>>>0?(j=d[i>>0]|0,(j&128|0)==0):0){c[e>>2]=(d[h>>0]|0)<<14&2080768|j<<21&266338304|(d[a>>0]|0)&127|(d[f>>0]|0)<<7&16256;g=4;return g|0}j=a+4|0;if(j>>>0<b>>>0?(b=d[j>>0]|0,(b&128|0)==0):0){if(b&240|0){g=0;return g|0}c[e>>2]=(d[i>>0]|0)<<21&266338304|b<<28|(d[h>>0]|0)<<14&2080768|(d[a>>0]|0)&127|(d[f>>0]|0)<<7&16256;g=5;return g|0}c[e>>2]=0;g=0;return g|0}function sj(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;if(a>>>0<b>>>0?(f=d[a>>0]|0,(f&128|0)==0):0){c[e>>2]=f<<25>>25;g=1;return g|0}f=a+1|0;if(f>>>0<b>>>0?(h=d[f>>0]|0,(h&128|0)==0):0){c[e>>2]=((d[a>>0]|0)&127|h<<7)<<18>>18;g=2;return g|0}h=a+2|0;if(h>>>0<b>>>0?(i=d[h>>0]|0,(i&128|0)==0):0){c[e>>2]=((d[a>>0]|0)&127|i<<14|(d[f>>0]|0)<<7&16256)<<11>>11;g=3;return g|0}i=a+3|0;if(i>>>0<b>>>0?(j=d[i>>0]|0,(j&128|0)==0):0){c[e>>2]=((d[h>>0]|0)<<14&2080768|j<<21|(d[a>>0]|0)&127|(d[f>>0]|0)<<7&16256)<<4>>4;g=4;return g|0}j=a+4|0;if(j>>>0>=b>>>0){g=0;return g|0}b=d[j>>0]|0;if(b&128|0){g=0;return g|0}j=(b&8|0)!=0;k=b&240;if(j&(k|0)!=112){g=0;return g|0}if((k|0)!=0&(j^1)){g=0;return g|0}c[e>>2]=(d[i>>0]|0)<<21&266338304|b<<28|(d[h>>0]|0)<<14&2080768|(d[a>>0]|0)&127|(d[f>>0]|0)<<7&16256;g=5;return g|0}function tj(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,p=0,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;g=i;i=i+336|0;h=g+40|0;j=g+32|0;k=g+24|0;l=g+16|0;m=g+8|0;p=g;q=4;r=bn(40)|0;c[r>>2]=0;s=g+304|0;t=g+48|0;n=0;ra(24,s|0,c[f>>2]|0,e|0);u=n;n=0;if((u|0)!=0&(o|0)!=0){v=go(c[u>>2]|0,r|0,q|0)|0;if(!v)Na(u|0,o|0);C=o}else v=-1;if((v|0)!=1){v=t+4|0;u=t+176|0;w=t+204|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;x=t+208|0;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));x=t+8|0;c[x>>2]=a;c[t>>2]=b;c[t+12>>2]=b;b=t+16|0;c[b>>2]=0;c[v>>2]=c[f>>2]|0?s:e;c[t+200>>2]=f;c[w>>2]=12;r=co(t+20|0,1,r|0,q|0)|0;q=C;n=0;w=n;n=0;if((w|0)!=0&(o|0)!=0){z=go(c[w>>2]|0,r|0,q|0)|0;if(!z)Na(w|0,o|0);C=o}else z=-1;if((z|0)==1){A=u;B=v;D=t;E=t;F=C;G=b;H=x}else{A=u;B=v;D=t;E=t;F=0;G=b;H=x}}else{A=0;B=0;D=0;E=0;F=C;G=0;H=0}while(1){if((F|0)!=1){x=c[B>>2]|0;n=0;la(c[(c[x>>2]|0)+12>>2]|0,x|0,H|0);x=n;n=0;if((x|0)!=0&(o|0)!=0){I=go(c[x>>2]|0,r|0,q|0)|0;if(!I)Na(x|0,o|0);C=o}else I=-1;if((I|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}x=c[G>>2]|0;b=x+4|0;v=c[D>>2]|0;if(b>>>0>v>>>0){n=0;c[p>>2]=16355;ra(25,t|0,16361,p|0);u=n;n=0;if((u|0)!=0&(o|0)!=0){P=go(c[u>>2]|0,r|0,q|0)|0;if(!P)Na(u|0,o|0);C=o}else P=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}u=t+8|0;z=(c[u>>2]|0)+x|0;x=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;c[G>>2]=b;if((x|0)!=1836278016){n=0;ra(25,t|0,16412,m|0);x=n;n=0;if((x|0)!=0&(o|0)!=0){Q=go(c[x>>2]|0,r|0,q|0)|0;if(!Q)Na(x|0,o|0);C=o}else Q=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}x=b+4|0;if(x>>>0>v>>>0){n=0;c[l>>2]=16428;ra(25,t|0,16361,l|0);v=n;n=0;if((v|0)!=0&(o|0)!=0){R=go(c[v>>2]|0,r|0,q|0)|0;if(!R)Na(v|0,o|0);C=o}else R=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}v=(c[u>>2]|0)+b|0;b=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;c[G>>2]=x;if((b|0)!=1){n=0;c[k>>2]=b;c[k+4>>2]=1;ra(25,t|0,16436,k|0);x=n;n=0;if((x|0)!=0&(o|0)!=0){S=go(c[x>>2]|0,r|0,q|0)|0;if(!S)Na(x|0,o|0);C=o}else S=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}x=c[B>>2]|0;n=0;v=za(c[(c[x>>2]|0)+16>>2]|0,x|0,b|0)|0;b=n;n=0;if((b|0)!=0&(o|0)!=0){T=go(c[b>>2]|0,r|0,q|0)|0;if(!T)Na(b|0,o|0);C=o}else T=-1;if((T|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}if(v|0){n=0;ra(25,t|0,16478,j|0);v=n;n=0;if((v|0)!=0&(o|0)!=0){U=go(c[v>>2]|0,r|0,q|0)|0;if(!U)Na(v|0,o|0);C=o}else U=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}n=0;ja(41,t|0);v=n;n=0;if((v|0)!=0&(o|0)!=0){V=go(c[v>>2]|0,r|0,q|0)|0;if(!V)Na(v|0,o|0);C=o}else V=-1;if((V|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}v=c[B>>2]|0;n=0;b=pa(c[(c[v>>2]|0)+20>>2]|0,v|0)|0;v=n;n=0;if((v|0)!=0&(o|0)!=0){W=go(c[v>>2]|0,r|0,q|0)|0;if(!W)Na(v|0,o|0);C=o}else W=-1;if((W|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}if(!b)X=0;else{n=0;ra(25,t|0,23947,h|0);b=n;n=0;if((b|0)!=0&(o|0)!=0){Y=go(c[b>>2]|0,r|0,q|0)|0;if(!Y)Na(b|0,o|0);C=o}else Y=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}}else X=1;b=c[t+188>>2]|0;v=b;if(b|0){x=t+192|0;u=c[x>>2]|0;if((u|0)!=(b|0))c[x>>2]=u+(~((u+-4-v|0)>>>2)<<2);n=0;ja(42,b|0);b=n;n=0;if((b|0)!=0&(o|0)!=0){Z=go(c[b>>2]|0,r|0,q|0)|0;if(!Z)Na(b|0,o|0);C=o}else Z=-1;if((Z|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}}b=c[A>>2]|0;if(!b){_=31;break}v=t+180|0;u=c[v>>2]|0;if((u|0)!=(b|0))c[v>>2]=u+(~((u+-4-b|0)>>>2)<<2);n=0;ja(42,b|0);b=n;n=0;if((b|0)!=0&(o|0)!=0){$=go(c[b>>2]|0,r|0,q|0)|0;if(!$)Na(b|0,o|0);C=o}else $=-1;if(($|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O}else break}if((_|0)==31){cn(r|0);i=g;return X|0}cn(r|0);i=g;return X|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;e=i;i=i+176|0;f=e;g=e+24|0;h=e+8|0;j=e+40|0;c[g>>2]=d;c[h>>2]=c[g>>2];d=(fm(j,128,b,g)|0)+1|0;if(d>>>0>128){g=i;i=i+((1*d|0)+15&-16)|0;fm(g,d,b,h)|0;k=g}else k=j;j=c[a+4>>2]|0;if(ub[c[(c[j>>2]|0)+8>>2]&255](j,k)|0){l=a+20|0;Na(l|0,1)}j=c[550]|0;c[f>>2]=c[a+16>>2];c[f+4>>2]=k;Nm(j,16389,f)|0;l=a+20|0;Na(l|0,1)}function vj(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,w=0,x=0,y=0,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,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,lb=0,mb=0,nb=0,qb=0,rb=0,tb=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,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,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,_d=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,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=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,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0;e=i;i=i+2544|0;f=e+2512|0;g=e+2488|0;h=e+2480|0;j=e+2472|0;k=e+2464|0;l=e+2456|0;m=e+2448|0;n=e+2440|0;o=e+2432|0;p=e+2424|0;q=e+2416|0;r=e+2408|0;s=e+2400|0;t=e+2392|0;u=e+2384|0;v=e+2376|0;w=e+2368|0;x=e+2360|0;y=e+2352|0;z=e+2344|0;A=e+2336|0;B=e+2328|0;C=e+2320|0;D=e+2312|0;E=e+2304|0;F=e+2296|0;G=e+2288|0;H=e+2280|0;I=e+2272|0;J=e+2264|0;K=e+2256|0;L=e+2248|0;M=e+2240|0;N=e+2232|0;O=e+2224|0;P=e+2216|0;Q=e+2208|0;R=e+2200|0;S=e+2192|0;T=e+2184|0;U=e+2176|0;V=e+2168|0;W=e+2160|0;X=e+2152|0;Y=e+2144|0;Z=e+2136|0;_=e+2128|0;$=e+2120|0;aa=e+2112|0;ba=e+2104|0;ca=e+2096|0;da=e+2088|0;ea=e+2080|0;fa=e+2072|0;ga=e+2064|0;ha=e+2056|0;ia=e+2048|0;ja=e+2040|0;ka=e+2032|0;la=e+2024|0;ma=e+2016|0;na=e+2008|0;oa=e+2e3|0;pa=e+1992|0;qa=e+1984|0;ra=e+1976|0;sa=e+1968|0;ta=e+1960|0;ua=e+1952|0;va=e+1944|0;wa=e+1936|0;xa=e+1928|0;ya=e+1920|0;za=e+1912|0;Aa=e+1904|0;Ba=e+1896|0;Ca=e+1888|0;Da=e+1880|0;Ea=e+1872|0;Fa=e+1864|0;Ga=e+1856|0;Ha=e+1848|0;Ia=e+1840|0;Ja=e+1832|0;Ka=e+1824|0;La=e+1816|0;Ma=e+1808|0;Na=e+1800|0;Oa=e+1792|0;Pa=e+1784|0;Qa=e+1776|0;Ra=e+1768|0;Sa=e+1760|0;Ta=e+1752|0;Ua=e+1744|0;Va=e+1736|0;Wa=e+1728|0;Xa=e+1720|0;Ya=e+1712|0;Za=e+1704|0;_a=e+1696|0;$a=e+1688|0;ab=e+1680|0;bb=e+1672|0;cb=e+1664|0;db=e+1656|0;eb=e+1648|0;fb=e+1640|0;gb=e+1632|0;hb=e+1624|0;ib=e+1616|0;lb=e+1608|0;mb=e+1600|0;nb=e+1592|0;qb=e+1584|0;rb=e+1576|0;tb=e+1568|0;wb=e+1560|0;xb=e+1552|0;yb=e+1544|0;zb=e+1536|0;Ab=e+1528|0;Bb=e+1520|0;Cb=e+1512|0;Db=e+1504|0;Eb=e+1496|0;Fb=e+1488|0;Gb=e+1480|0;Hb=e+1472|0;Ib=e+1464|0;Jb=e+1456|0;Kb=e+1448|0;Lb=e+1440|0;Mb=e+1432|0;Nb=e+1424|0;Ob=e+1416|0;Pb=e+1408|0;Qb=e+1400|0;Rb=e+1392|0;Sb=e+1384|0;Tb=e+1376|0;Ub=e+1368|0;Vb=e+1360|0;Wb=e+1352|0;Xb=e+1344|0;Yb=e+1336|0;Zb=e+1328|0;_b=e+1320|0;$b=e+1312|0;ac=e+1304|0;bc=e+1296|0;cc=e+1288|0;dc=e+1280|0;ec=e+1272|0;fc=e+1264|0;gc=e+1256|0;hc=e+1248|0;ic=e+1240|0;jc=e+1232|0;kc=e+1224|0;lc=e+1216|0;mc=e+1208|0;nc=e+1200|0;oc=e+1192|0;pc=e+1184|0;qc=e+1176|0;rc=e+1168|0;sc=e+1160|0;tc=e+1152|0;uc=e+1144|0;vc=e+1136|0;wc=e+1128|0;xc=e+1120|0;yc=e+1112|0;zc=e+1104|0;Ac=e+1096|0;Bc=e+1088|0;Cc=e+1080|0;Dc=e+1072|0;Ec=e+1064|0;Fc=e+1056|0;Gc=e+1048|0;Hc=e+1040|0;Ic=e+1032|0;Jc=e+1024|0;Kc=e+1016|0;Lc=e+1008|0;Mc=e+1e3|0;Nc=e+992|0;Oc=e+984|0;Pc=e+976|0;Qc=e+968|0;Rc=e+960|0;Sc=e+952|0;Tc=e+944|0;Uc=e+936|0;Vc=e+928|0;Wc=e+920|0;Xc=e+912|0;Yc=e+904|0;Zc=e+896|0;_c=e+888|0;$c=e+880|0;ad=e+872|0;bd=e+864|0;cd=e+856|0;dd=e+848|0;ed=e+840|0;fd=e+832|0;gd=e+824|0;hd=e+816|0;id=e+808|0;jd=e+800|0;kd=e+792|0;ld=e+784|0;md=e+776|0;nd=e+768|0;od=e+760|0;pd=e+752|0;qd=e+744|0;rd=e+736|0;sd=e+728|0;td=e+720|0;ud=e+712|0;vd=e+704|0;wd=e+696|0;xd=e+688|0;yd=e+680|0;zd=e+672|0;Ad=e+664|0;Bd=e+656|0;Cd=e+648|0;Dd=e+640|0;Ed=e+632|0;Fd=e+624|0;Gd=e+616|0;Hd=e+608|0;Id=e+600|0;Jd=e+592|0;Kd=e+584|0;Ld=e+576|0;Md=e+568|0;Nd=e+560|0;Od=e+552|0;Pd=e+544|0;Qd=e+536|0;Rd=e+528|0;Sd=e+520|0;Td=e+512|0;Ud=e+504|0;Vd=e+496|0;Wd=e+488|0;Xd=e+480|0;Yd=e+472|0;Zd=e+464|0;_d=e+456|0;$d=e+448|0;ae=e+440|0;be=e+432|0;ce=e+424|0;de=e+416|0;ee=e+408|0;fe=e+400|0;ge=e+392|0;he=e+384|0;ie=e+376|0;je=e+368|0;ke=e+360|0;le=e+352|0;me=e+344|0;ne=e+336|0;oe=e+328|0;pe=e+320|0;qe=e+312|0;re=e+304|0;se=e+296|0;te=e+288|0;ue=e+280|0;ve=e+272|0;we=e+264|0;xe=e+256|0;ye=e+248|0;ze=e+240|0;Ae=e+232|0;Be=e+224|0;Ce=e+216|0;De=e+208|0;Ee=e+200|0;Fe=e+192|0;Ge=e+184|0;He=e+176|0;Ie=e+152|0;Je=e+144|0;Ke=e+136|0;Le=e+128|0;Me=e+120|0;Ne=e+96|0;Oe=e+88|0;Pe=e+80|0;Qe=e+72|0;Re=e+64|0;Se=e+56|0;Te=e+48|0;Ue=e+40|0;Ve=e+32|0;We=e+24|0;Xe=e+16|0;Ye=e+8|0;Ze=e;_e=e+2540|0;$e=e+2536|0;af=b+16|0;bf=b+12|0;if((c[af>>2]|0)>>>0>=(c[bf>>2]|0)>>>0){i=e;return}cf=b+8|0;df=b+204|0;ef=b+4|0;ff=g+4|0;gf=b+200|0;hf=Pe+4|0;jf=b+216|0;kf=b+232|0;lf=Le+4|0;mf=Oe+4|0;nf=b+208|0;of=b+176|0;pf=b+180|0;qf=b+212|0;rf=Je+4|0;sf=Ke+4|0;tf=Le+4|0;uf=Me+4|0;vf=Oe+4|0;wf=Pe+4|0;xf=Qe+4|0;yf=Re+4|0;zf=b+220|0;Af=Se+4|0;Bf=Te+4|0;Cf=Ue+4|0;Df=Ve+4|0;Ef=b+224|0;Ff=We+4|0;Gf=Xe+4|0;Hf=Ye+4|0;If=Ze+4|0;Jf=b+228|0;Kf=b+236|0;Lf=b+240|0;Mf=b+244|0;Nf=b+248|0;Of=He+4|0;Pf=b+252|0;Qf=b+188|0;Rf=b+192|0;Sf=c[bf>>2]|0;Tf=c[af>>2]|0;a:while(1){c[b>>2]=Sf;Uf=c[cf>>2]|0;Vf=rj(Uf+Tf|0,Uf+Sf|0,_e)|0;if(!Vf){Wf=4;break}Uf=(c[af>>2]|0)+Vf|0;c[af>>2]=Uf;Vf=c[cf>>2]|0;Xf=rj(Vf+Uf|0,Vf+(c[b>>2]|0)|0,$e)|0;if(!Xf){Wf=6;break}Vf=(c[af>>2]|0)+Xf|0;c[af>>2]=Vf;Xf=c[$e>>2]|0;Uf=Xf+Vf|0;c[b>>2]=Uf;Vf=c[_e>>2]|0;if(Vf>>>0>11){Yf=Vf;Wf=8;break}if(Uf>>>0>(c[bf>>2]|0)>>>0){Wf=10;break}Uf=c[df>>2]|0;Zf=(Vf|0)!=0;if(!((Vf|0)>(Uf|0)|Zf&(Uf|0)!=12^1)){_f=Vf;Wf=12;break}Uf=c[ef>>2]|0;if(kb[c[(c[Uf>>2]|0)+24>>2]&127](Uf,Vf,Xf)|0){Wf=14;break}do switch(Vf|0){case 0:{c[f>>2]=0;Uf=c[cf>>2]|0;$f=rj(Uf+(c[af>>2]|0)|0,Uf+(c[b>>2]|0)|0,f)|0;if(!$f){Wf=17;break a}Uf=(c[af>>2]|0)+$f|0;c[af>>2]=Uf;$f=c[f>>2]|0;ag=$f+Uf|0;if(ag>>>0>(c[b>>2]|0)>>>0){Wf=19;break a}bg=(c[cf>>2]|0)+Uf|0;c[af>>2]=ag;ag=c[ef>>2]|0;Uf=c[(c[ag>>2]|0)+28>>2]|0;c[g>>2]=bg;c[ff>>2]=$f;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];if(kb[Uf&127](ag,Xf,f)|0){Wf=21;break a}if(((a[(c[gf>>2]|0)+4>>0]|0)!=0?(c[df>>2]|0)>1:0)?(Om(bg,16778,$f)|0)==0:0){$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+448>>2]&255]($f,Xf)|0){Wf=26;break a}$f=c[b>>2]|0;ag=c[af>>2]|0;b:do if(ag>>>0<$f>>>0){Uf=ag;cg=0;dg=0;while(1){eg=c[cf>>2]|0;fg=rj(eg+Uf|0,eg+$f|0,He)|0;if(!fg){Wf=29;break a}eg=(c[af>>2]|0)+fg|0;c[af>>2]=eg;fg=dg;dg=c[He>>2]|0;if(cg|0){if((dg|0)==(fg|0)){Wf=32;break a}if(dg>>>0<fg>>>0){Wf=34;break a}}fg=c[cf>>2]|0;gg=rj(fg+eg|0,fg+(c[b>>2]|0)|0,Ie)|0;if(!gg){Wf=36;break a}fg=(c[af>>2]|0)+gg|0;c[af>>2]=fg;gg=c[Ie>>2]|0;Uf=gg+fg|0;if(Uf>>>0>(c[b>>2]|0)>>>0){Wf=38;break a}c[b>>2]=Uf;c:do switch(dg|0){case 1:{fg=c[ef>>2]|0;if(sb[c[(c[fg>>2]|0)+452>>2]&63](fg,cg,1,gg)|0){Wf=41;break a}if(!gg)break c;fg=c[cf>>2]|0;eg=rj(fg+(c[af>>2]|0)|0,fg+(c[b>>2]|0)|0,Je)|0;if(!eg){Wf=44;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;fg=c[Je>>2]|0;if(ub[c[(c[eg>>2]|0)+456>>2]&255](eg,fg)|0){Wf=47;break a}if(fg|0){eg=0;do{hg=c[cf>>2]|0;ig=rj(hg+(c[af>>2]|0)|0,hg+(c[b>>2]|0)|0,Ke)|0;if(!ig){Wf=50;break a}hg=(c[af>>2]|0)+ig|0;c[af>>2]=hg;ig=c[Ke>>2]|0;if(ig>>>0>=((c[kf>>2]|0)+(c[jf>>2]|0)|0)>>>0){jg=ig;Wf=52;break a}c[f>>2]=0;kg=c[cf>>2]|0;lg=rj(kg+hg|0,kg+(c[b>>2]|0)|0,f)|0;if(!lg){Wf=54;break a}kg=(c[af>>2]|0)+lg|0;c[af>>2]=kg;lg=c[f>>2]|0;hg=lg+kg|0;if(hg>>>0>(c[b>>2]|0)>>>0){Wf=56;break a}mg=(c[cf>>2]|0)+kg|0;c[af>>2]=hg;hg=c[ef>>2]|0;kg=c[(c[hg>>2]|0)+460>>2]|0;c[Le>>2]=mg;c[lf>>2]=lg;c[f>>2]=c[Le>>2];c[f+4>>2]=c[Le+4>>2];if(kb[kg&127](hg,ig,f)|0){Wf=58;break a}eg=eg+1|0}while(eg>>>0<fg>>>0)}break}case 2:{fg=c[ef>>2]|0;if(sb[c[(c[fg>>2]|0)+464>>2]&63](fg,cg,2,gg)|0){Wf=61;break a}if(!gg)break c;fg=c[cf>>2]|0;eg=rj(fg+(c[af>>2]|0)|0,fg+(c[b>>2]|0)|0,Je)|0;if(!eg){Wf=64;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;fg=c[Je>>2]|0;if(ub[c[(c[eg>>2]|0)+468>>2]&255](eg,fg)|0){Wf=67;break a}if(fg|0){eg=0;do{ig=c[cf>>2]|0;hg=rj(ig+(c[af>>2]|0)|0,ig+(c[b>>2]|0)|0,Ke)|0;if(!hg){Wf=70;break a}ig=(c[af>>2]|0)+hg|0;c[af>>2]=ig;hg=c[cf>>2]|0;kg=rj(hg+ig|0,hg+(c[b>>2]|0)|0,Me)|0;if(!kg){Wf=72;break a}c[af>>2]=(c[af>>2]|0)+kg;kg=c[ef>>2]|0;hg=c[Ke>>2]|0;ig=c[Me>>2]|0;if(kb[c[(c[kg>>2]|0)+472>>2]&127](kg,hg,ig)|0){Wf=75;break a}if(ig|0){kg=0;do{lg=c[cf>>2]|0;mg=rj(lg+(c[af>>2]|0)|0,lg+(c[b>>2]|0)|0,Ne)|0;if(!mg){Wf=78;break a}lg=(c[af>>2]|0)+mg|0;c[af>>2]=lg;c[f>>2]=0;mg=c[cf>>2]|0;ng=rj(mg+lg|0,mg+(c[b>>2]|0)|0,f)|0;if(!ng){Wf=80;break a}mg=(c[af>>2]|0)+ng|0;c[af>>2]=mg;ng=c[f>>2]|0;lg=ng+mg|0;if(lg>>>0>(c[b>>2]|0)>>>0){Wf=82;break a}og=(c[cf>>2]|0)+mg|0;c[af>>2]=lg;lg=c[ef>>2]|0;mg=c[(c[lg>>2]|0)+476>>2]|0;pg=c[Ne>>2]|0;c[Oe>>2]=og;c[mf>>2]=ng;c[f>>2]=c[Oe>>2];c[f+4>>2]=c[Oe+4>>2];if(sb[mg&63](lg,hg,pg,f)|0){Wf=84;break a}kg=kg+1|0}while(kg>>>0<ig>>>0)}eg=eg+1|0}while(eg>>>0<fg>>>0)}break}default:c[af>>2]=Uf}while(0);if((c[af>>2]|0)!=(Uf|0)){qg=Uf;Wf=88;break a}c[b>>2]=$f;if(Uf>>>0>=$f>>>0)break b;else cg=cg+1|0}}while(0);$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+480>>2]&127]($f)|0){Wf=91;break a}}else Wf=92;do if((Wf|0)==92){Wf=0;if(Om(bg,17370,5)|0){c[af>>2]=c[b>>2];break}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+484>>2]&255]($f,Xf)|0){Wf=94;break a}$f=c[cf>>2]|0;ag=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,Ie)|0;if(!ag){Wf=96;break a}$f=(c[af>>2]|0)+ag|0;c[af>>2]=$f;ag=c[Ie>>2]|0;if(!ag){c[f>>2]=0;cg=c[cf>>2]|0;Uf=rj(cg+$f|0,cg+(c[b>>2]|0)|0,f)|0;if(!Uf){Wf=100;break a}cg=(c[af>>2]|0)+Uf|0;c[af>>2]=cg;Uf=c[f>>2]|0;dg=Uf+cg|0;gg=c[b>>2]|0;if(dg>>>0>gg>>>0){Wf=102;break a}fg=c[cf>>2]|0;c[af>>2]=dg;rg=fg;sg=dg;tg=gg;ug=fg+cg|0;vg=Uf}else{rg=c[cf>>2]|0;sg=$f;tg=c[b>>2]|0;ug=0;vg=0}$f=rj(rg+sg|0,rg+tg|0,He)|0;if(!$f){Wf=105;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;Uf=c[(c[$f>>2]|0)+488>>2]|0;cg=c[He>>2]|0;c[Pe>>2]=ug;c[hf>>2]=vg;c[f>>2]=c[Pe>>2];c[f+4>>2]=c[Pe+4>>2];if(sb[Uf&63]($f,cg,ag,f)|0){Wf=108;break a}if(cg|0){ag=0;do{c[Me>>2]=0;$f=c[cf>>2]|0;Uf=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!Uf){Wf=111;break a}$f=(c[af>>2]|0)+Uf|0;c[af>>2]=$f;Uf=c[cf>>2]|0;fg=rj(Uf+$f|0,Uf+(c[b>>2]|0)|0,Je)|0;if(!fg){Wf=113;break a}Uf=(c[af>>2]|0)+fg|0;c[af>>2]=Uf;fg=c[cf>>2]|0;$f=rj(fg+Uf|0,fg+(c[b>>2]|0)|0,Ke)|0;if(!$f){Wf=115;break a}fg=(c[af>>2]|0)+$f|0;c[af>>2]=fg;$f=c[f>>2]|0;if(($f+-3|0)>>>0<3){Uf=c[cf>>2]|0;gg=rj(Uf+fg|0,Uf+(c[b>>2]|0)|0,Me)|0;if(!gg){Wf=118;break a}c[af>>2]=(c[af>>2]|0)+gg;wg=c[Me>>2]|0}else wg=0;gg=c[ef>>2]|0;if(vb[c[(c[gg>>2]|0)+492>>2]&31](gg,$f,c[Je>>2]|0,c[Ke>>2]|0,wg)|0){Wf=121;break a}ag=ag+1|0}while(ag>>>0<cg>>>0)}cg=c[ef>>2]|0;if(pb[c[(c[cg>>2]|0)+496>>2]&127](cg)|0){Wf=123;break a}}while(0);bg=c[ef>>2]|0;if(pb[c[(c[bg>>2]|0)+32>>2]&127](bg)|0){Wf=127;break a}break}case 1:{bg=c[ef>>2]|0;if(ub[c[(c[bg>>2]|0)+36>>2]&255](bg,Xf)|0){Wf=130;break a}bg=c[cf>>2]|0;cg=rj(bg+(c[af>>2]|0)|0,bg+(c[b>>2]|0)|0,nf)|0;if(!cg){Wf=132;break a}c[af>>2]=(c[af>>2]|0)+cg;cg=c[ef>>2]|0;if(ub[c[(c[cg>>2]|0)+40>>2]&255](cg,c[nf>>2]|0)|0){Wf=135;break a}if(c[nf>>2]|0){cg=0;do{c[f>>2]=0;bg=c[cf>>2]|0;ag=sj(bg+(c[af>>2]|0)|0,bg+(c[b>>2]|0)|0,f)|0;if(!ag){Wf=138;break a}bg=(c[af>>2]|0)+ag|0;c[af>>2]=bg;ag=c[f>>2]|0;if((ag+128|0)>>>0>255){xg=ag;Wf=140;break a}if((ag|0)!=-32){yg=ag;Wf=142;break a}ag=c[cf>>2]|0;$f=rj(ag+bg|0,ag+(c[b>>2]|0)|0,g)|0;if(!$f){Wf=144;break a}ag=(c[af>>2]|0)+$f|0;c[af>>2]=ag;$f=c[g>>2]|0;bg=c[pf>>2]|0;gg=c[of>>2]|0;Uf=bg-gg>>2;fg=gg;gg=bg;do if($f>>>0>Uf>>>0){Mi(of,$f-Uf|0);zg=c[af>>2]|0}else{if($f>>>0>=Uf>>>0){zg=ag;break}bg=fg+($f<<2)|0;if((gg|0)==(bg|0)){zg=ag;break}c[pf>>2]=gg+(~((gg+-4-bg|0)>>>2)<<2);zg=ag}while(0);ag=($f|0)==0;if(ag)Ag=zg;else{gg=zg;fg=0;while(1){c[f>>2]=0;Uf=c[cf>>2]|0;bg=sj(Uf+gg|0,Uf+(c[b>>2]|0)|0,f)|0;if(!bg){Wf=155;break a}Uf=(c[af>>2]|0)+bg|0;c[af>>2]=Uf;bg=c[f>>2]|0;if((bg+128|0)>>>0>255){Bg=bg;Wf=157;break a}if(bg>>>0<=4294967291){Cg=bg;Wf=159;break a}c[(c[of>>2]|0)+(fg<<2)>>2]=bg;fg=fg+1|0;if(fg>>>0>=$f>>>0){Ag=Uf;break}else gg=Uf}}gg=c[cf>>2]|0;fg=rj(gg+Ag|0,gg+(c[b>>2]|0)|0,He)|0;if(!fg){Wf=152;break a}gg=(c[af>>2]|0)+fg|0;c[af>>2]=gg;fg=c[He>>2]|0;if(fg>>>0>=2){Wf=161;break a}c[Ie>>2]=-64;if(fg|0){c[f>>2]=0;Uf=c[cf>>2]|0;bg=sj(Uf+gg|0,Uf+(c[b>>2]|0)|0,f)|0;if(!bg){Wf=164;break a}c[af>>2]=(c[af>>2]|0)+bg;bg=c[f>>2]|0;if((bg+128|0)>>>0>255){Dg=bg;Wf=166;break a}c[Ie>>2]=bg;if(bg>>>0<=4294967291){Eg=bg;Wf=168;break a}}if(ag)Fg=0;else Fg=c[of>>2]|0;bg=c[ef>>2]|0;if(ob[c[(c[bg>>2]|0)+44>>2]&31](bg,cg,$f,Fg,fg,Ie)|0){Wf=172;break a}cg=cg+1|0}while(cg>>>0<(c[nf>>2]|0)>>>0)}cg=c[ef>>2]|0;if(pb[c[(c[cg>>2]|0)+48>>2]&127](cg)|0){Wf=174;break a}break}case 2:{cg=c[ef>>2]|0;if(ub[c[(c[cg>>2]|0)+52>>2]&255](cg,Xf)|0){Wf=176;break a}cg=c[cf>>2]|0;fg=rj(cg+(c[af>>2]|0)|0,cg+(c[b>>2]|0)|0,qf)|0;if(!fg){Wf=178;break a}c[af>>2]=(c[af>>2]|0)+fg;fg=c[ef>>2]|0;if(ub[c[(c[fg>>2]|0)+56>>2]&255](fg,c[qf>>2]|0)|0){Wf=181;break a}d:do if(c[qf>>2]|0){fg=0;while(1){c[f>>2]=0;cg=c[cf>>2]|0;bg=rj(cg+(c[af>>2]|0)|0,cg+(c[b>>2]|0)|0,f)|0;if(!bg){Wf=184;break a}cg=(c[af>>2]|0)+bg|0;c[af>>2]=cg;bg=c[f>>2]|0;Uf=bg+cg|0;gg=c[b>>2]|0;if(Uf>>>0>gg>>>0){Wf=186;break a}dg=c[cf>>2]|0;eg=dg+cg|0;c[af>>2]=Uf;c[f>>2]=0;cg=rj(dg+Uf|0,dg+gg|0,f)|0;if(!cg){Wf=188;break a}gg=(c[af>>2]|0)+cg|0;c[af>>2]=gg;cg=c[f>>2]|0;dg=cg+gg|0;Uf=c[b>>2]|0;if(dg>>>0>Uf>>>0){Wf=190;break a}ig=c[cf>>2]|0;kg=ig+gg|0;c[af>>2]=dg;gg=rj(ig+dg|0,ig+Uf|0,He)|0;if(!gg){Wf=192;break a}Uf=(c[af>>2]|0)+gg|0;c[af>>2]=Uf;gg=c[He>>2]|0;switch(gg|0){case 0:{ig=c[cf>>2]|0;dg=rj(ig+Uf|0,ig+(c[b>>2]|0)|0,Ie)|0;if(!dg){Wf=195;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[Ie>>2]|0;if(dg>>>0>=(c[nf>>2]|0)>>>0){Wf=197;break a}ig=c[ef>>2]|0;hg=c[(c[ig>>2]|0)+60>>2]|0;c[Je>>2]=eg;c[rf>>2]=bg;c[Ke>>2]=kg;c[sf>>2]=cg;c[g>>2]=c[Je>>2];c[g+4>>2]=c[Je+4>>2];c[f>>2]=c[Ke>>2];c[f+4>>2]=c[Ke+4>>2];if(sb[hg&63](ig,fg,g,f)|0){Wf=199;break a}ig=c[ef>>2]|0;hg=c[(c[ig>>2]|0)+64>>2]|0;c[Le>>2]=eg;c[tf>>2]=bg;c[Me>>2]=kg;c[uf>>2]=cg;pg=c[jf>>2]|0;c[g>>2]=c[Le>>2];c[g+4>>2]=c[Le+4>>2];c[f>>2]=c[Me>>2];c[f+4>>2]=c[Me+4>>2];if(ob[hg&31](ig,fg,g,f,pg,dg)|0){Wf=201;break a}c[jf>>2]=(c[jf>>2]|0)+1;break}case 1:{wj(b,Ie,Ne);dg=c[ef>>2]|0;pg=c[(c[dg>>2]|0)+60>>2]|0;c[Oe>>2]=eg;c[vf>>2]=bg;c[Pe>>2]=kg;c[wf>>2]=cg;c[g>>2]=c[Oe>>2];c[g+4>>2]=c[Oe+4>>2];c[f>>2]=c[Pe>>2];c[f+4>>2]=c[Pe+4>>2];if(sb[pg&63](dg,fg,g,f)|0){Wf=204;break a}dg=c[ef>>2]|0;pg=c[(c[dg>>2]|0)+68>>2]|0;c[Qe>>2]=eg;c[xf>>2]=bg;c[Re>>2]=kg;c[yf>>2]=cg;ig=c[zf>>2]|0;hg=c[Ie>>2]|0;c[g>>2]=c[Qe>>2];c[g+4>>2]=c[Qe+4>>2];c[f>>2]=c[Re>>2];c[f+4>>2]=c[Re+4>>2];if(jb[pg&31](dg,fg,g,f,ig,hg,Ne)|0){Wf=206;break a}c[zf>>2]=(c[zf>>2]|0)+1;break}case 2:{xj(b,Ie);hg=c[ef>>2]|0;ig=c[(c[hg>>2]|0)+60>>2]|0;c[Se>>2]=eg;c[Af>>2]=bg;c[Te>>2]=kg;c[Bf>>2]=cg;c[g>>2]=c[Se>>2];c[g+4>>2]=c[Se+4>>2];c[f>>2]=c[Te>>2];c[f+4>>2]=c[Te+4>>2];if(sb[ig&63](hg,fg,g,f)|0){Wf=209;break a}hg=c[ef>>2]|0;ig=c[(c[hg>>2]|0)+72>>2]|0;c[Ue>>2]=eg;c[Cf>>2]=bg;c[Ve>>2]=kg;c[Df>>2]=cg;dg=c[Ef>>2]|0;c[g>>2]=c[Ue>>2];c[g+4>>2]=c[Ue+4>>2];c[f>>2]=c[Ve>>2];c[f+4>>2]=c[Ve+4>>2];if(ob[ig&31](hg,fg,g,f,dg,Ie)|0){Wf=211;break a}c[Ef>>2]=(c[Ef>>2]|0)+1;break}case 3:{c[f>>2]=0;dg=c[cf>>2]|0;hg=sj(dg+Uf|0,dg+(c[b>>2]|0)|0,f)|0;if(!hg){Wf=214;break a}dg=(c[af>>2]|0)+hg|0;c[af>>2]=dg;hg=c[f>>2]|0;if((hg+128|0)>>>0>255){Gg=hg;Wf=216;break a}if(hg>>>0<=4294967291){Hg=hg;Wf=218;break a}Uf=dg+1|0;if(Uf>>>0>(c[b>>2]|0)>>>0){Wf=220;break a}ig=a[(c[cf>>2]|0)+dg>>0]|0;c[af>>2]=Uf;if((ig&255)>=2){Wf=222;break a}Uf=c[ef>>2]|0;dg=c[(c[Uf>>2]|0)+60>>2]|0;c[We>>2]=eg;c[Ff>>2]=bg;c[Xe>>2]=kg;c[Gf>>2]=cg;c[g>>2]=c[We>>2];c[g+4>>2]=c[We+4>>2];c[f>>2]=c[Xe>>2];c[f+4>>2]=c[Xe+4>>2];if(sb[dg&63](Uf,fg,g,f)|0){Wf=224;break a}Uf=c[ef>>2]|0;dg=c[(c[Uf>>2]|0)+76>>2]|0;c[Ye>>2]=eg;c[Hf>>2]=bg;c[Ze>>2]=kg;c[If>>2]=cg;cg=c[Jf>>2]|0;c[g>>2]=c[Ye>>2];c[g+4>>2]=c[Ye+4>>2];c[f>>2]=c[Ze>>2];c[f+4>>2]=c[Ze+4>>2];if(jb[dg&31](Uf,fg,g,f,cg,hg,ig<<24>>24!=0)|0){Wf=226;break a}c[Jf>>2]=(c[Jf>>2]|0)+1;break}default:{Ig=gg;Wf=228;break a}}fg=fg+1|0;if(fg>>>0>=(c[qf>>2]|0)>>>0)break d}}while(0);fg=c[ef>>2]|0;if(pb[c[(c[fg>>2]|0)+80>>2]&127](fg)|0){Wf=230;break a}break}case 3:{fg=c[ef>>2]|0;if(ub[c[(c[fg>>2]|0)+84>>2]&255](fg,Xf)|0){Wf=233;break a}fg=c[cf>>2]|0;$f=rj(fg+(c[af>>2]|0)|0,fg+(c[b>>2]|0)|0,kf)|0;if(!$f){Wf=235;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+88>>2]&255]($f,c[kf>>2]|0)|0){Wf=238;break a}if(c[kf>>2]|0){$f=0;do{fg=(c[jf>>2]|0)+$f|0;ag=c[cf>>2]|0;gg=rj(ag+(c[af>>2]|0)|0,ag+(c[b>>2]|0)|0,f)|0;if(!gg){Wf=241;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[f>>2]|0;if(gg>>>0>=(c[nf>>2]|0)>>>0){Jg=gg;Wf=243;break a}ag=c[ef>>2]|0;if(kb[c[(c[ag>>2]|0)+92>>2]&127](ag,fg,gg)|0){Wf=245;break a}$f=$f+1|0}while($f>>>0<(c[kf>>2]|0)>>>0)}$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+96>>2]&127]($f)|0){Wf=247;break a}break}case 4:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+100>>2]&255]($f,Xf)|0){Wf=249;break a}$f=c[cf>>2]|0;gg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,Kf)|0;if(!gg){Wf=251;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[Kf>>2]|0;if(gg>>>0>=2){Kg=gg;Wf=253;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+104>>2]&255]($f,gg)|0){Wf=256;break a}if(c[Kf>>2]|0){gg=0;do{$f=(c[zf>>2]|0)+gg|0;wj(b,f,g);fg=c[ef>>2]|0;if(sb[c[(c[fg>>2]|0)+108>>2]&63](fg,$f,c[f>>2]|0,g)|0){Wf=259;break a}gg=gg+1|0}while(gg>>>0<(c[Kf>>2]|0)>>>0)}gg=c[ef>>2]|0;if(pb[c[(c[gg>>2]|0)+112>>2]&127](gg)|0){Wf=261;break a}break}case 5:{gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+116>>2]&255](gg,Xf)|0){Wf=263;break a}gg=c[cf>>2]|0;$f=rj(gg+(c[af>>2]|0)|0,gg+(c[b>>2]|0)|0,Lf)|0;if(!$f){Wf=265;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[Lf>>2]|0;if($f>>>0>=2){Wf=267;break a}gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+120>>2]&255](gg,$f)|0){Wf=270;break a}if(c[Lf>>2]|0){$f=0;do{gg=(c[Ef>>2]|0)+$f|0;xj(b,f);fg=c[ef>>2]|0;if(kb[c[(c[fg>>2]|0)+124>>2]&127](fg,gg,f)|0){Wf=273;break a}$f=$f+1|0}while($f>>>0<(c[Lf>>2]|0)>>>0)}$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+128>>2]&127]($f)|0){Wf=275;break a}break}case 6:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+132>>2]&255]($f,Xf)|0){Wf=277;break a}$f=c[cf>>2]|0;gg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,Mf)|0;if(!gg){Wf=279;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+136>>2]&255](gg,c[Mf>>2]|0)|0){Wf=282;break a}if(c[Mf>>2]|0){gg=0;do{$f=(c[Jf>>2]|0)+gg|0;c[f>>2]=0;fg=c[cf>>2]|0;ag=sj(fg+(c[af>>2]|0)|0,fg+(c[b>>2]|0)|0,f)|0;if(!ag){Wf=286;break a}fg=(c[af>>2]|0)+ag|0;c[af>>2]=fg;ag=c[f>>2]|0;if((ag+128|0)>>>0>255){Lg=ag;Wf=288;break a}if(ag>>>0<=4294967291){Mg=ag;Wf=290;break a}ig=fg+1|0;if(ig>>>0>(c[b>>2]|0)>>>0){Wf=292;break a}hg=a[(c[cf>>2]|0)+fg>>0]|0;c[af>>2]=ig;if((hg&255)>=2){Wf=294;break a}ig=c[ef>>2]|0;if(sb[c[(c[ig>>2]|0)+140>>2]&63](ig,$f,ag,hg<<24>>24!=0)|0){Wf=296;break a}hg=c[ef>>2]|0;if(ub[c[(c[hg>>2]|0)+144>>2]&255](hg,$f)|0){Wf=298;break a}yj(b,$f);hg=c[ef>>2]|0;if(ub[c[(c[hg>>2]|0)+148>>2]&255](hg,$f)|0){Wf=300;break a}hg=c[ef>>2]|0;gg=gg+1|0;if(ub[c[(c[hg>>2]|0)+152>>2]&255](hg,$f)|0){Wf=302;break a}}while(gg>>>0<(c[Mf>>2]|0)>>>0)}gg=c[ef>>2]|0;if(pb[c[(c[gg>>2]|0)+156>>2]&127](gg)|0){Wf=303;break a}break}case 7:{gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+160>>2]&255](gg,Xf)|0){Wf=305;break a}gg=c[cf>>2]|0;$f=rj(gg+(c[af>>2]|0)|0,gg+(c[b>>2]|0)|0,Nf)|0;if(!$f){Wf=307;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+164>>2]&255]($f,c[Nf>>2]|0)|0){Wf=310;break a}e:do if(c[Nf>>2]|0){$f=0;while(1){c[f>>2]=0;gg=c[cf>>2]|0;hg=rj(gg+(c[af>>2]|0)|0,gg+(c[b>>2]|0)|0,f)|0;if(!hg){Wf=313;break a}gg=(c[af>>2]|0)+hg|0;c[af>>2]=gg;hg=c[f>>2]|0;ag=hg+gg|0;ig=c[b>>2]|0;if(ag>>>0>ig>>>0){Wf=315;break a}fg=c[cf>>2]|0;cg=fg+gg|0;c[af>>2]=ag;gg=ag+1|0;if(gg>>>0>ig>>>0){Wf=317;break a}Uf=a[fg+ag>>0]|0;c[af>>2]=gg;if((Uf&255)>=4){Wf=319;break a}ag=rj(fg+gg|0,fg+ig|0,g)|0;if(!ag){Wf=321;break a}c[af>>2]=(c[af>>2]|0)+ag;ag=Uf&255;switch(ag|0){case 0:{Uf=c[g>>2]|0;if(Uf>>>0<((c[kf>>2]|0)+(c[jf>>2]|0)|0)>>>0)Ng=Uf;else{Og=Uf;Wf=325;break a}break}case 1:{Uf=c[g>>2]|0;if(Uf>>>0<((c[Kf>>2]|0)+(c[zf>>2]|0)|0)>>>0)Ng=Uf;else{Wf=327;break a}break}case 2:{Uf=c[g>>2]|0;if(Uf>>>0<((c[Lf>>2]|0)+(c[Ef>>2]|0)|0)>>>0)Ng=Uf;else{Wf=329;break a}break}case 3:{Uf=c[g>>2]|0;if(Uf>>>0<((c[Mf>>2]|0)+(c[Jf>>2]|0)|0)>>>0)Ng=Uf;else{Wf=331;break a}break}default:Ng=c[g>>2]|0}Uf=c[ef>>2]|0;ig=c[(c[Uf>>2]|0)+168>>2]|0;c[He>>2]=cg;c[Of>>2]=hg;c[f>>2]=c[He>>2];c[f+4>>2]=c[He+4>>2];if(vb[ig&31](Uf,$f,ag,Ng,f)|0){Wf=333;break a}$f=$f+1|0;if($f>>>0>=(c[Nf>>2]|0)>>>0)break e}}while(0);$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+172>>2]&127]($f)|0){Wf=335;break a}break}case 8:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+176>>2]&255]($f,Xf)|0){Wf=338;break a}$f=c[cf>>2]|0;ag=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!ag){Wf=340;break a}c[af>>2]=(c[af>>2]|0)+ag;ag=c[f>>2]|0;if(ag>>>0>=((c[kf>>2]|0)+(c[jf>>2]|0)|0)>>>0){Wf=342;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+180>>2]&255]($f,ag)|0){Wf=344;break a}ag=c[ef>>2]|0;if(pb[c[(c[ag>>2]|0)+184>>2]&127](ag)|0){Wf=346;break a}break}case 9:{ag=c[ef>>2]|0;if(ub[c[(c[ag>>2]|0)+380>>2]&255](ag,Xf)|0){Wf=349;break a}ag=c[cf>>2]|0;$f=rj(ag+(c[af>>2]|0)|0,ag+(c[b>>2]|0)|0,f)|0;if(!$f){Wf=351;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;ag=c[f>>2]|0;if(ub[c[(c[$f>>2]|0)+384>>2]&255]($f,ag)|0){Wf=353;break a}if(ag|0){if((c[Kf>>2]|0)==(0-(c[zf>>2]|0)|0)){Wf=356;break a}else Pg=0;do{$f=c[cf>>2]|0;Uf=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,g)|0;if(!Uf){Wf=359;break a}c[af>>2]=(c[af>>2]|0)+Uf;Uf=c[ef>>2]|0;if(kb[c[(c[Uf>>2]|0)+388>>2]&127](Uf,Pg,c[g>>2]|0)|0){Wf=361;break a}Uf=c[ef>>2]|0;if(ub[c[(c[Uf>>2]|0)+392>>2]&255](Uf,Pg)|0){Wf=363;break a}yj(b,Pg);Uf=c[ef>>2]|0;if(ub[c[(c[Uf>>2]|0)+396>>2]&255](Uf,Pg)|0){Wf=365;break a}Uf=c[cf>>2]|0;$f=rj(Uf+(c[af>>2]|0)|0,Uf+(c[b>>2]|0)|0,He)|0;if(!$f){Wf=367;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;Uf=c[He>>2]|0;if(kb[c[(c[$f>>2]|0)+400>>2]&127]($f,Pg,Uf)|0){Wf=370;break a}if(Uf|0){$f=0;do{ig=c[cf>>2]|0;hg=rj(ig+(c[af>>2]|0)|0,ig+(c[b>>2]|0)|0,Ie)|0;if(!hg){Wf=373;break a}c[af>>2]=(c[af>>2]|0)+hg;hg=c[ef>>2]|0;if(kb[c[(c[hg>>2]|0)+404>>2]&127](hg,Pg,c[Ie>>2]|0)|0){Wf=375;break a}$f=$f+1|0}while($f>>>0<Uf>>>0)}Uf=c[ef>>2]|0;if(ub[c[(c[Uf>>2]|0)+408>>2]&255](Uf,Pg)|0){Wf=377;break a}Pg=Pg+1|0}while(Pg>>>0<ag>>>0)}ag=c[ef>>2]|0;if(pb[c[(c[ag>>2]|0)+412>>2]&127](ag)|0){Wf=379;break a}break}case 10:{ag=c[ef>>2]|0;if(ub[c[(c[ag>>2]|0)+188>>2]&255](ag,Xf)|0){Wf=382;break a}ag=c[cf>>2]|0;Uf=rj(ag+(c[af>>2]|0)|0,ag+(c[b>>2]|0)|0,Pf)|0;if(!Uf){Wf=384;break a}c[af>>2]=(c[af>>2]|0)+Uf;Uf=c[kf>>2]|0;if((Uf|0)!=(c[Pf>>2]|0)){Wf=386;break a}ag=c[ef>>2]|0;if(ub[c[(c[ag>>2]|0)+192>>2]&255](ag,Uf)|0){Wf=389;break a}if(c[Pf>>2]|0){Uf=0;do{ag=(c[jf>>2]|0)+Uf|0;$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+196>>2]&255]($f,ag)|0){Wf=392;break a}$f=c[cf>>2]|0;hg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,He)|0;if(!hg){Wf=394;break a}$f=(c[af>>2]|0)+hg|0;c[af>>2]=$f;hg=(c[He>>2]|0)+$f|0;ig=c[cf>>2]|0;cg=rj(ig+$f|0,ig+(c[b>>2]|0)|0,Ie)|0;if(!cg){Wf=396;break a}c[af>>2]=(c[af>>2]|0)+cg;cg=c[ef>>2]|0;ig=c[Ie>>2]|0;if(ub[c[(c[cg>>2]|0)+200>>2]&255](cg,ig)|0){Wf=399;break a}if(ig|0){cg=0;do{$f=c[cf>>2]|0;fg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,g)|0;if(!fg){Wf=641;break a}$f=(c[af>>2]|0)+fg|0;c[af>>2]=$f;c[f>>2]=0;fg=c[cf>>2]|0;gg=sj(fg+$f|0,fg+(c[b>>2]|0)|0,f)|0;if(!gg){Wf=643;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[f>>2]|0;if((gg+128|0)>>>0>255){Qg=gg;Wf=645;break a}if(gg>>>0<=4294967291){Wf=647;break a}fg=c[ef>>2]|0;if(sb[c[(c[fg>>2]|0)+204>>2]&63](fg,cg,c[g>>2]|0,gg)|0){Wf=649;break a}cg=cg+1|0}while(cg>>>0<ig>>>0)}ig=c[af>>2]|0;f:do if(ig>>>0<hg>>>0){cg=ig;gg=0;while(1){fg=cg+1|0;if(fg>>>0>(c[b>>2]|0)>>>0){Wf=402;break a}$f=a[(c[cf>>2]|0)+cg>>0]|0;c[af>>2]=fg;fg=$f&255;$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+208>>2]&255]($f,fg)|0){Wf=404;break a}g:do switch(fg|0){case 0:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+368>>2]&127]($f)|0){Wf=407;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=409;break a}break}case 2:{c[f>>2]=0;$f=c[cf>>2]|0;dg=sj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=411;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[f>>2]|0;if((dg+128|0)>>>0>255){Sg=dg;Wf=413;break a}c[g>>2]=dg;switch(dg|0){case -64:case -4:case -3:case -2:case -1:break;default:{Wf=415;break a}}$f=(dg|0)!=-64&1;dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+244>>2]&127](dg,$f,g)|0){Wf=417;break a}dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+236>>2]&127](dg,$f,g)|0){Wf=419;break a}Rg=gg;break}case 3:{c[f>>2]=0;$f=c[cf>>2]|0;dg=sj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=422;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[f>>2]|0;if((dg+128|0)>>>0>255){Tg=dg;Wf=424;break a}c[g>>2]=dg;switch(dg|0){case -64:case -4:case -3:case -2:case -1:break;default:{Wf=426;break a}}$f=(dg|0)!=-64&1;dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+332>>2]&127](dg,$f,g)|0){Wf=428;break a}dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+236>>2]&127](dg,$f,g)|0){Wf=430;break a}Rg=gg;break}case 4:{c[f>>2]=0;$f=c[cf>>2]|0;dg=sj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=433;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[f>>2]|0;if((dg+128|0)>>>0>255){Ug=dg;Wf=435;break a}c[g>>2]=dg;switch(dg|0){case -64:case -4:case -3:case -2:case -1:break;default:{Wf=437;break a}}$f=(dg|0)!=-64&1;dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+324>>2]&127](dg,$f,g)|0){Wf=439;break a}dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+236>>2]&127](dg,$f,g)|0){Wf=441;break a}Rg=gg;break}case 5:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+284>>2]&127]($f)|0){Wf=444;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=446;break a}break}case 27:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+344>>2]&127]($f)|0){Wf=448;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=450;break a}break}case 12:{$f=c[cf>>2]|0;dg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=452;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[dg>>2]|0)+248>>2]&255](dg,$f)|0){Wf=454;break a}dg=c[ef>>2]|0;if(ub[c[(c[dg>>2]|0)+216>>2]&255](dg,$f)|0){Wf=456;break a}Rg=gg;break}case 13:{$f=c[cf>>2]|0;dg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=459;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[dg>>2]|0)+252>>2]&255](dg,$f)|0){Wf=461;break a}dg=c[ef>>2]|0;if(ub[c[(c[dg>>2]|0)+216>>2]&255](dg,$f)|0){Wf=463;break a}Rg=gg;break}case 14:{$f=c[cf>>2]|0;dg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=466;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[f>>2]|0;$f=c[Rf>>2]|0;kg=c[Qf>>2]|0;bg=$f-kg>>2;eg=kg;kg=$f;do if(dg>>>0>bg>>>0)Aj(Qf,dg-bg|0);else{if(dg>>>0>=bg>>>0)break;$f=eg+(dg<<2)|0;if((kg|0)==($f|0))break;c[Rf>>2]=kg+(~((kg+-4-$f|0)>>>2)<<2)}while(0);kg=(dg|0)==0;if(!kg){eg=0;do{bg=c[cf>>2]|0;$f=rj(bg+(c[af>>2]|0)|0,bg+(c[b>>2]|0)|0,g)|0;if(!$f){Wf=477;break a}c[af>>2]=(c[af>>2]|0)+$f;c[(c[Qf>>2]|0)+(eg<<2)>>2]=c[g>>2];eg=eg+1|0}while(eg>>>0<dg>>>0)}eg=c[cf>>2]|0;$f=rj(eg+(c[af>>2]|0)|0,eg+(c[b>>2]|0)|0,g)|0;if(!$f){Wf=474;break a}c[af>>2]=(c[af>>2]|0)+$f;if(kg)Vg=0;else Vg=c[Qf>>2]|0;$f=c[ef>>2]|0;if(sb[c[(c[$f>>2]|0)+256>>2]&63]($f,dg,Vg,c[g>>2]|0)|0){Wf=481;break a}Rg=gg;break}case 15:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+340>>2]&127]($f)|0){Wf=484;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=486;break a}break}case 1:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+336>>2]&127]($f)|0){Wf=488;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=490;break a}break}case 26:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+280>>2]&127]($f)|0){Wf=492;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=494;break a}break}case 11:{$f=c[ef>>2]|0;eg=c[$f>>2]|0;if((c[af>>2]|0)==(hg|0))if(!(pb[c[eg+292>>2]&127]($f)|0)){Rg=1;break g}else{Wf=497;break a}else if(!(pb[c[eg+288>>2]&127]($f)|0)){Rg=gg;break g}else{Wf=499;break a}break}case 65:{c[f>>2]=0;$f=c[cf>>2]|0;eg=sj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=501;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+316>>2]&255](eg,$f)|0){Wf=503;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=505;break a}Rg=gg;break}case 66:{$f=f;c[$f>>2]=0;c[$f+4>>2]=0;zj(b,f,22051);$f=c[ef>>2]|0;eg=f;bg=c[eg>>2]|0;pg=c[eg+4>>2]|0;if(kb[c[(c[$f>>2]|0)+320>>2]&127]($f,bg,pg)|0){Wf=508;break a}$f=c[ef>>2]|0;if(kb[c[(c[$f>>2]|0)+224>>2]&127]($f,bg,pg)|0){Wf=510;break a}Rg=gg;break}case 67:{pg=c[af>>2]|0;bg=pg+4|0;if(bg>>>0>(c[b>>2]|0)>>>0){Wf=513;break a}$f=(c[cf>>2]|0)+pg|0;pg=d[$f>>0]|d[$f+1>>0]<<8|d[$f+2>>0]<<16|d[$f+3>>0]<<24;c[af>>2]=bg;bg=c[ef>>2]|0;if(ub[c[(c[bg>>2]|0)+296>>2]&255](bg,pg)|0){Wf=515;break a}bg=c[ef>>2]|0;if(!(ub[c[(c[bg>>2]|0)+228>>2]&255](bg,pg)|0))Rg=gg;else{Wf=517;break a}break}case 68:{pg=c[af>>2]|0;bg=pg+8|0;if(bg>>>0>(c[b>>2]|0)>>>0){Wf=519;break a}$f=(c[cf>>2]|0)+pg|0;pg=$f;eg=d[pg>>0]|d[pg+1>>0]<<8|d[pg+2>>0]<<16|d[pg+3>>0]<<24;pg=$f+4|0;$f=d[pg>>0]|d[pg+1>>0]<<8|d[pg+2>>0]<<16|d[pg+3>>0]<<24;c[af>>2]=bg;bg=c[ef>>2]|0;if(kb[c[(c[bg>>2]|0)+300>>2]&127](bg,eg,$f)|0){Wf=521;break a}bg=c[ef>>2]|0;if(!(kb[c[(c[bg>>2]|0)+232>>2]&127](bg,eg,$f)|0))Rg=gg;else{Wf=524;break a}break}case 35:{$f=c[cf>>2]|0;eg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=526;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+304>>2]&255](eg,$f)|0){Wf=528;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=530;break a}Rg=gg;break}case 32:{$f=c[cf>>2]|0;eg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=533;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+308>>2]&255](eg,$f)|0){Wf=535;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=537;break a}Rg=gg;break}case 36:{$f=c[cf>>2]|0;eg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=540;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+348>>2]&255](eg,$f)|0){Wf=542;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=544;break a}Rg=gg;break}case 33:{$f=c[cf>>2]|0;eg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=547;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+352>>2]&255](eg,$f)|0){Wf=549;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=551;break a}Rg=gg;break}case 16:{$f=c[cf>>2]|0;eg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=554;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[f>>2]|0;if(eg>>>0>=((c[kf>>2]|0)+(c[jf>>2]|0)|0)>>>0){Wf=556;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+260>>2]&255]($f,eg)|0){Wf=558;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+216>>2]&255]($f,eg)|0){Wf=560;break a}Rg=gg;break}case 17:{eg=c[cf>>2]|0;$f=rj(eg+(c[af>>2]|0)|0,eg+(c[b>>2]|0)|0,f)|0;if(!$f){Wf=563;break a}eg=(c[af>>2]|0)+$f|0;c[af>>2]=eg;$f=c[f>>2]|0;if($f>>>0>=(c[nf>>2]|0)>>>0){Wf=565;break a}bg=c[cf>>2]|0;pg=rj(bg+eg|0,bg+(c[b>>2]|0)|0,g)|0;if(!pg){Wf=567;break a}c[af>>2]=(c[af>>2]|0)+pg;if(c[g>>2]|0){Wf=569;break a}pg=c[ef>>2]|0;if(ub[c[(c[pg>>2]|0)+264>>2]&255](pg,$f)|0){Wf=571;break a}pg=c[ef>>2]|0;if(kb[c[(c[pg>>2]|0)+220>>2]&127](pg,$f,0)|0){Wf=573;break a}Rg=gg;break}case 34:{$f=c[cf>>2]|0;pg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!pg){Wf=576;break a}c[af>>2]=(c[af>>2]|0)+pg;pg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[pg>>2]|0)+360>>2]&255](pg,$f)|0){Wf=578;break a}pg=c[ef>>2]|0;if(ub[c[(c[pg>>2]|0)+216>>2]&255](pg,$f)|0){Wf=580;break a}Rg=gg;break}case 43:case 42:case 41:case 40:case 53:case 52:case 51:case 50:case 49:case 48:case 47:case 46:case 45:case 44:{$f=c[cf>>2]|0;pg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!pg){Wf=583;break a}$f=(c[af>>2]|0)+pg|0;c[af>>2]=$f;pg=c[cf>>2]|0;bg=rj(pg+$f|0,pg+(c[b>>2]|0)|0,g)|0;if(!bg){Wf=585;break a}c[af>>2]=(c[af>>2]|0)+bg;bg=c[ef>>2]|0;pg=c[f>>2]|0;$f=c[g>>2]|0;if(sb[c[(c[bg>>2]|0)+328>>2]&63](bg,fg,pg,$f)|0){Wf=587;break a}bg=c[ef>>2]|0;if(kb[c[(c[bg>>2]|0)+220>>2]&127](bg,pg,$f)|0){Wf=589;break a}Rg=gg;break}case 57:case 56:case 55:case 54:case 62:case 61:case 60:case 59:case 58:{$f=c[cf>>2]|0;pg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!pg){Wf=592;break a}$f=(c[af>>2]|0)+pg|0;c[af>>2]=$f;pg=c[cf>>2]|0;bg=rj(pg+$f|0,pg+(c[b>>2]|0)|0,g)|0;if(!bg){Wf=594;break a}c[af>>2]=(c[af>>2]|0)+bg;bg=c[ef>>2]|0;pg=c[f>>2]|0;$f=c[g>>2]|0;if(sb[c[(c[bg>>2]|0)+356>>2]&63](bg,fg,pg,$f)|0){Wf=596;break a}bg=c[ef>>2]|0;if(kb[c[(c[bg>>2]|0)+220>>2]&127](bg,pg,$f)|0){Wf=598;break a}Rg=gg;break}case 63:{$f=c[cf>>2]|0;pg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!pg){Wf=601;break a}c[af>>2]=(c[af>>2]|0)+pg;if(c[f>>2]|0){Wf=603;break a}pg=c[ef>>2]|0;if(pb[c[(c[pg>>2]|0)+276>>2]&127](pg)|0){Wf=605;break a}pg=c[ef>>2]|0;if(ub[c[(c[pg>>2]|0)+216>>2]&255](pg,0)|0){Wf=607;break a}Rg=gg;break}case 64:{pg=c[cf>>2]|0;$f=rj(pg+(c[af>>2]|0)|0,pg+(c[b>>2]|0)|0,f)|0;if(!$f){Wf=610;break a}c[af>>2]=(c[af>>2]|0)+$f;if(c[f>>2]|0){Wf=612;break a}$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+312>>2]&127]($f)|0){Wf=614;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+216>>2]&255]($f,0)|0){Wf=616;break a}Rg=gg;break}case 166:case 165:case 164:case 163:case 162:case 161:case 160:case 152:case 151:case 150:case 149:case 148:case 147:case 146:case 137:case 138:case 135:case 136:case 134:case 133:case 132:case 131:case 130:case 129:case 128:case 127:case 126:case 125:case 124:case 119:case 120:case 117:case 118:case 116:case 115:case 114:case 113:case 112:case 111:case 110:case 109:case 108:case 107:case 106:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+240>>2]&255]($f,fg)|0){Wf=619;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=621;break a}break}case 102:case 100:case 101:case 99:case 98:case 97:case 96:case 94:case 95:case 93:case 92:case 91:case 90:case 86:case 89:case 85:case 88:case 84:case 87:case 83:case 82:case 81:case 79:case 75:case 78:case 74:case 77:case 73:case 76:case 72:case 71:case 70:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+268>>2]&255]($f,fg)|0){Wf=623;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=625;break a}break}case 159:case 158:case 157:case 156:case 155:case 154:case 153:case 145:case 144:case 143:case 142:case 141:case 140:case 139:case 123:case 122:case 121:case 105:case 104:case 103:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+364>>2]&255]($f,fg)|0){Wf=627;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=629;break a}break}case 80:case 69:case 189:case 188:case 191:case 187:case 186:case 185:case 184:case 183:case 190:case 182:case 181:case 180:case 179:case 178:case 173:case 172:case 177:case 175:case 176:case 174:case 167:case 171:case 169:case 170:case 168:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+272>>2]&255]($f,fg)|0){Wf=631;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=633;break a}break}default:{Wg=fg;Wf=634;break a}}while(0);fg=c[af>>2]|0;if(fg>>>0<hg>>>0){cg=fg;gg=Rg}else{Xg=fg;Yg=Rg;break f}}}else{Xg=ig;Yg=0}while(0);if((Xg|0)!=(hg|0)){Wf=636;break a}if(!Yg){Wf=638;break a}ig=c[ef>>2]|0;if(ub[c[(c[ig>>2]|0)+372>>2]&255](ig,ag)|0){Wf=651;break a}Uf=Uf+1|0}while(Uf>>>0<(c[Pf>>2]|0)>>>0)}Uf=c[ef>>2]|0;if(pb[c[(c[Uf>>2]|0)+376>>2]&127](Uf)|0){Wf=653;break a}break}case 11:{Uf=c[ef>>2]|0;if(ub[c[(c[Uf>>2]|0)+416>>2]&255](Uf,Xf)|0){Wf=655;break a}Uf=c[cf>>2]|0;ig=rj(Uf+(c[af>>2]|0)|0,Uf+(c[b>>2]|0)|0,g)|0;if(!ig){Wf=657;break a}c[af>>2]=(c[af>>2]|0)+ig;ig=c[ef>>2]|0;Uf=c[g>>2]|0;if(ub[c[(c[ig>>2]|0)+420>>2]&255](ig,Uf)|0){Wf=659;break a}if(Uf|0){if((c[Lf>>2]|0)==(0-(c[Ef>>2]|0)|0)){Wf=662;break a}else Zg=0;do{ig=c[cf>>2]|0;gg=rj(ig+(c[af>>2]|0)|0,ig+(c[b>>2]|0)|0,He)|0;if(!gg){Wf=665;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[ef>>2]|0;if(kb[c[(c[gg>>2]|0)+424>>2]&127](gg,Zg,c[He>>2]|0)|0){Wf=667;break a}gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+428>>2]&255](gg,Zg)|0){Wf=669;break a}yj(b,Zg);gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+432>>2]&255](gg,Zg)|0){Wf=671;break a}c[f>>2]=0;gg=c[cf>>2]|0;ig=rj(gg+(c[af>>2]|0)|0,gg+(c[b>>2]|0)|0,f)|0;if(!ig){Wf=673;break a}gg=(c[af>>2]|0)+ig|0;c[af>>2]=gg;ig=c[f>>2]|0;cg=ig+gg|0;if(cg>>>0>(c[b>>2]|0)>>>0){Wf=675;break a}fg=(c[cf>>2]|0)+gg|0;c[af>>2]=cg;cg=c[ef>>2]|0;if(sb[c[(c[cg>>2]|0)+436>>2]&63](cg,Zg,fg,ig)|0){Wf=677;break a}ig=c[ef>>2]|0;if(ub[c[(c[ig>>2]|0)+440>>2]&255](ig,Zg)|0){Wf=679;break a}Zg=Zg+1|0}while(Zg>>>0<Uf>>>0)}Uf=c[ef>>2]|0;if(pb[c[(c[Uf>>2]|0)+444>>2]&127](Uf)|0){Wf=681;break a}break}default:{}}while(0);Tf=c[af>>2]|0;Xf=c[b>>2]|0;if((Tf|0)!=(Xf|0)){_g=Xf;Wf=684;break}if(Zf)c[df>>2]=Vf;Sf=c[bf>>2]|0;if(Tf>>>0>=Sf>>>0){Wf=688;break}}switch(Wf|0){case 4:{c[Ge>>2]=16506;uj(b,16519,Ge);break}case 6:{c[Fe>>2]=16549;uj(b,16519,Fe);break}case 8:{c[Ee>>2]=Yf;c[Ee+4>>2]=11;uj(b,16562,Ee);break}case 10:{uj(b,16598,De);break}case 12:{c[Ce>>2]=c[1416+(_f<<2)>>2];uj(b,16637,Ce);break}case 14:{uj(b,16661,Be);break}case 17:{c[Ae>>2]=16703;uj(b,16519,Ae);break}case 19:{c[ze>>2]=16690;uj(b,16717,ze);break}case 21:{uj(b,16743,ye);break}case 26:{uj(b,16783,xe);break}case 29:{c[we>>2]=16817;uj(b,16519,we);break}case 32:{uj(b,16827,ve);break}case 34:{uj(b,16849,ue);break}case 36:{c[te>>2]=16874;uj(b,16519,te);break}case 38:{uj(b,16890,se);break}case 41:{uj(b,16933,re);break}case 44:{c[qe>>2]=16974;uj(b,16519,qe);break}case 47:{uj(b,16985,pe);break}case 50:{c[oe>>2]=17022;uj(b,16519,oe);break}case 52:{c[ne>>2]=jg;uj(b,17037,ne);break}case 54:{c[me>>2]=16703;uj(b,16519,me);break}case 56:{c[le>>2]=17064;uj(b,16717,le);break}case 58:{uj(b,17078,ke);break}case 61:{uj(b,17109,je);break}case 64:{c[ie>>2]=17147;uj(b,16519,ie);break}case 67:{uj(b,17162,he);break}case 70:{c[ge>>2]=17022;uj(b,16519,ge);break}case 72:{c[fe>>2]=17203;uj(b,16519,fe);break}case 75:{uj(b,17215,ee);break}case 78:{c[de>>2]=17253;uj(b,16519,de);break}case 80:{c[ce>>2]=16703;uj(b,16519,ce);break}case 82:{c[be>>2]=16778;uj(b,16717,be);break}case 84:{uj(b,17265,ae);break}case 88:{c[$d>>2]=qg;uj(b,17293,$d);break}case 91:{uj(b,17338,_d);break}case 94:{uj(b,17376,Zd);break}case 96:{c[Yd>>2]=17410;uj(b,16519,Yd);break}case 100:{c[Xd>>2]=16703;uj(b,16519,Xd);break}case 102:{c[Wd>>2]=16690;uj(b,16717,Wd);break}case 105:{c[Vd>>2]=17418;uj(b,16519,Vd);break}case 108:{uj(b,17435,Ud);break}case 111:{c[Td>>2]=17464;uj(b,16519,Td);break}case 113:{c[Sd>>2]=17480;uj(b,16519,Sd);break}case 115:{c[Rd>>2]=17487;uj(b,16519,Rd);break}case 118:{c[Qd>>2]=17493;uj(b,16519,Qd);break}case 121:{uj(b,17500,Pd);break}case 123:{uj(b,17524,Od);break}case 127:{uj(b,17556,Nd);break}case 130:{uj(b,17589,Md);break}case 132:{c[Ld>>2]=17622;uj(b,16519,Ld);break}case 135:{uj(b,17633,Kd);break}case 138:{c[Jd>>2]=17661;uj(b,17671,Jd);break}case 140:{c[Id>>2]=xg;uj(b,17701,Id);break}case 142:{c[Hd>>2]=yg;uj(b,17718,Hd);break}case 144:{c[Gd>>2]=17743;uj(b,16519,Gd);break}case 152:{c[Fd>>2]=17764;uj(b,16519,Fd);break}case 155:{c[Ed>>2]=17786;uj(b,17671,Ed);break}case 157:{c[Dd>>2]=Bg;uj(b,17701,Dd);break}case 159:{c[Cd>>2]=Cg;uj(b,17806,Cd);break}case 161:{uj(b,17841,Bd);break}case 164:{c[Ad>>2]=17869;uj(b,17671,Ad);break}case 166:{c[zd>>2]=Dg;uj(b,17701,zd);break}case 168:{c[yd>>2]=Eg;uj(b,17890,yd);break}case 172:{uj(b,17921,xd);break}case 174:{uj(b,17944,wd);break}case 176:{uj(b,17975,vd);break}case 178:{c[ud>>2]=18010;uj(b,16519,ud);break}case 181:{uj(b,18023,td);break}case 184:{c[sd>>2]=16703;uj(b,16519,sd);break}case 186:{c[rd>>2]=18053;uj(b,16717,rd);break}case 188:{c[qd>>2]=16703;uj(b,16519,qd);break}case 190:{c[pd>>2]=18072;uj(b,16717,pd);break}case 192:{c[od>>2]=18090;uj(b,16519,od);break}case 195:{c[nd>>2]=18102;uj(b,16519,nd);break}case 197:{uj(b,18125,md);break}case 199:{uj(b,18156,ld);break}case 201:{uj(b,18181,kd);break}case 204:{uj(b,18156,jd);break}case 206:{uj(b,18367,id);break}case 209:{uj(b,18156,hd);break}case 211:{uj(b,18550,gd);break}case 214:{c[fd>>2]=18581;uj(b,17671,fd);break}case 216:{c[ed>>2]=Gg;uj(b,17701,ed);break}case 218:{c[dd>>2]=Hg;uj(b,18593,dd);break}case 220:{c[cd>>2]=18618;uj(b,18636,cd);break}case 222:{uj(b,18663,bd);break}case 224:{uj(b,18156,ad);break}case 226:{uj(b,18696,$c);break}case 228:{c[_c>>2]=Ig;uj(b,18727,_c);break}case 230:{uj(b,18751,Zc);break}case 233:{uj(b,18784,Yc);break}case 235:{c[Xc>>2]=18821;uj(b,16519,Xc);break}case 238:{uj(b,18846,Wc);break}case 241:{c[Vc>>2]=18878;uj(b,16519,Vc);break}case 243:{c[Uc>>2]=Jg;uj(b,18903,Uc);break}case 245:{uj(b,18940,Tc);break}case 247:{uj(b,18967,Sc);break}case 249:{uj(b,19002,Rc);break}case 251:{c[Qc>>2]=19036;uj(b,16519,Qc);break}case 253:{c[Pc>>2]=Kg;uj(b,19048,Pc);break}case 256:{uj(b,19080,Oc);break}case 259:{uj(b,19109,Nc);break}case 261:{uj(b,19133,Mc);break}case 263:{uj(b,19165,Lc);break}case 265:{c[Kc>>2]=19200;uj(b,16519,Kc);break}case 267:{uj(b,19213,Jc);break}case 270:{uj(b,19241,Ic);break}case 273:{uj(b,19271,Hc);break}case 275:{uj(b,19296,Gc);break}case 277:{uj(b,19329,Fc);break}case 279:{c[Ec>>2]=19364;uj(b,16519,Ec);break}case 282:{uj(b,19377,Dc);break}case 286:{c[Cc>>2]=18581;uj(b,17671,Cc);break}case 288:{c[Bc>>2]=Lg;uj(b,17701,Bc);break}case 290:{c[Ac>>2]=Mg;uj(b,18593,Ac);break}case 292:{c[zc>>2]=18618;uj(b,18636,zc);break}case 294:{uj(b,18663,yc);break}case 296:{uj(b,19407,xc);break}case 298:{uj(b,19435,wc);break}case 300:{uj(b,20013,vc);break}case 302:{uj(b,20047,uc);break}case 303:{uj(b,20073,tc);break}case 305:{uj(b,20106,sc);break}case 307:{c[rc>>2]=20141;uj(b,16519,rc);break}case 310:{uj(b,20154,qc);break}case 313:{c[pc>>2]=16703;uj(b,16519,pc);break}case 315:{c[oc>>2]=20184;uj(b,16717,oc);break}case 317:{c[nc>>2]=20201;uj(b,18636,nc);break}case 319:{uj(b,20222,mc);break}case 321:{c[lc>>2]=20251;uj(b,16519,lc);break}case 325:{c[kc>>2]=Og;uj(b,20269,kc);break}case 327:{uj(b,20299,jc);break}case 329:{uj(b,20326,ic);break}case 331:{uj(b,20354,hc);break}case 333:{uj(b,20382,gc);break}case 335:{uj(b,20407,fc);break}case 338:{uj(b,20440,ec);break}case 340:{c[dc>>2]=20474;uj(b,16519,dc);break}case 342:{uj(b,20495,cc);break}case 344:{uj(b,20524,bc);break}case 346:{uj(b,20556,ac);break}case 349:{uj(b,20588,$b);break}case 351:{c[_b>>2]=20621;uj(b,16519,_b);break}case 353:{uj(b,20640,Zb);break}case 356:{uj(b,20675,Yb);break}case 359:{c[Xb>>2]=20710;uj(b,16519,Xb);break}case 361:{uj(b,20735,Wb);break}case 363:{uj(b,20768,Vb);break}case 365:{uj(b,20809,Ub);break}case 367:{c[Tb>>2]=20848;uj(b,16519,Tb);break}case 370:{uj(b,20882,Sb);break}case 373:{c[Rb>>2]=20930;uj(b,16519,Rb);break}case 375:{uj(b,20958,Qb);break}case 377:{uj(b,21001,Pb);break}case 379:{uj(b,21032,Ob);break}case 382:{uj(b,21063,Nb);break}case 384:{c[Mb>>2]=21096;uj(b,16519,Mb);break}case 386:{uj(b,21116,Lb);break}case 389:{uj(b,21164,Kb);break}case 392:{uj(b,21200,Jb);break}case 394:{c[Ib>>2]=21234;uj(b,16519,Ib);break}case 396:{c[Hb>>2]=21253;uj(b,16519,Hb);break}case 399:{uj(b,21277,Gb);break}case 402:{c[Fb>>2]=19471;uj(b,18636,Fb);break}case 404:{uj(b,21310,Eb);break}case 407:{uj(b,21335,Db);break}case 409:{uj(b,21369,Cb);break}case 411:{c[Bb>>2]=21398;uj(b,17671,Bb);break}case 413:{c[Ab>>2]=Sg;uj(b,17701,Ab);break}case 415:{uj(b,21419,zb);break}case 417:{uj(b,21455,yb);break}case 419:{uj(b,21483,xb);break}case 422:{c[wb>>2]=21516;uj(b,17671,wb);break}case 424:{c[tb>>2]=Tg;uj(b,17701,tb);break}case 426:{uj(b,21419,rb);break}case 428:{uj(b,21536,qb);break}case 430:{uj(b,21483,nb);break}case 433:{c[mb>>2]=21563;uj(b,17671,mb);break}case 435:{c[lb>>2]=Ug;uj(b,17701,lb);break}case 437:{uj(b,21419,ib);break}case 439:{uj(b,21581,hb);break}case 441:{uj(b,21483,gb);break}case 444:{uj(b,21606,fb);break}case 446:{uj(b,21369,eb);break}case 448:{uj(b,21633,db);break}case 450:{uj(b,21369,cb);break}case 452:{c[bb>>2]=21662;uj(b,16519,bb);break}case 454:{uj(b,21671,ab);break}case 456:{uj(b,21696,$a);break}case 459:{c[_a>>2]=21727;uj(b,16519,_a);break}case 461:{uj(b,21739,Za);break}case 463:{uj(b,21696,Ya);break}case 466:{c[Xa>>2]=21766;uj(b,16519,Xa);break}case 474:{c[Wa>>2]=21788;uj(b,16519,Wa);break}case 477:{c[Va>>2]=21818;uj(b,16519,Va);break}case 481:{uj(b,21840,Ua);break}case 484:{uj(b,21870,Ta);break}case 486:{uj(b,21369,Sa);break}case 488:{uj(b,21899,Ra);break}case 490:{uj(b,21369,Qa);break}case 492:{uj(b,21925,Pa);break}case 494:{uj(b,21369,Oa);break}case 497:{uj(b,21952,Na);break}case 499:{uj(b,21978,Ma);break}case 501:{c[La>>2]=22004;uj(b,17671,La);break}case 503:{uj(b,22020,Ka);break}case 505:{uj(b,21696,Ja);break}case 508:{uj(b,22067,Ia);break}case 510:{uj(b,22098,Ha);break}case 513:{c[Ga>>2]=22129;uj(b,19687,Ga);break}case 515:{uj(b,22145,Fa);break}case 517:{uj(b,22176,Ea);break}case 519:{c[Da>>2]=22204;uj(b,19777,Da);break}case 521:{uj(b,22220,Ca);break}case 524:{uj(b,22251,Ba);break}case 526:{c[Aa>>2]=22279;uj(b,16519,Aa);break}case 528:{uj(b,22303,za);break}case 530:{uj(b,21696,ya);break}case 533:{c[xa>>2]=22335;uj(b,16519,xa);break}case 535:{uj(b,22357,wa);break}case 537:{uj(b,21696,va);break}case 540:{c[ua>>2]=22388;uj(b,16519,ua);break}case 542:{uj(b,22412,ta);break}case 544:{uj(b,21696,sa);break}case 547:{c[ra>>2]=22444;uj(b,16519,ra);break}case 549:{uj(b,22466,qa);break}case 551:{uj(b,21696,pa);break}case 554:{c[oa>>2]=22497;uj(b,16519,oa);break}case 556:{uj(b,22517,na);break}case 558:{uj(b,22545,ma);break}case 560:{uj(b,21696,la);break}case 563:{c[ka>>2]=22572;uj(b,16519,ka);break}case 565:{uj(b,22602,ja);break}case 567:{c[ia>>2]=22640;uj(b,16519,ia);break}case 569:{uj(b,22663,ha);break}case 571:{uj(b,22702,ga);break}case 573:{uj(b,22737,fa);break}case 576:{c[ea>>2]=22774;uj(b,16519,ea);break}case 578:{uj(b,22796,da);break}case 580:{uj(b,21696,ca);break}case 583:{c[ba>>2]=22827;uj(b,16519,ba);break}case 585:{c[aa>>2]=22842;uj(b,16519,aa);break}case 587:{uj(b,22854,$);break}case 589:{uj(b,22737,_);break}case 592:{c[Z>>2]=22881;uj(b,16519,Z);break}case 594:{c[Y>>2]=22897;uj(b,16519,Y);break}case 596:{uj(b,22910,X);break}case 598:{uj(b,22737,W);break}case 601:{c[V>>2]=22938;uj(b,16519,V);break}case 603:{uj(b,22962,U);break}case 605:{uj(b,23002,T);break}case 607:{uj(b,21696,S);break}case 610:{c[R>>2]=23038;uj(b,16519,R);break}case 612:{uj(b,23059,Q);break}case 614:{uj(b,23096,P);break}case 616:{uj(b,21696,O);break}case 619:{uj(b,23129,N);break}case 621:{uj(b,21369,M);break}case 623:{uj(b,23158,L);break}case 625:{uj(b,21369,K);break}case 627:{uj(b,23188,J);break}case 629:{uj(b,21369,I);break}case 631:{uj(b,23216,H);break}case 633:{uj(b,21369,G);break}case 634:{c[F>>2]=Wg;c[F+4>>2]=Wg;uj(b,23246,F);break}case 636:{uj(b,23275,E);break}case 638:{uj(b,23312,D);break}case 641:{c[C>>2]=23351;uj(b,16519,C);break}case 643:{c[B>>2]=23368;uj(b,17671,B);break}case 645:{c[A>>2]=Qg;uj(b,17701,A);break}case 647:{uj(b,23379,z);break}case 649:{uj(b,23405,y);break}case 651:{uj(b,23433,x);break}case 653:{uj(b,23465,w);break}case 655:{uj(b,23496,v);break}case 657:{c[u>>2]=23529;uj(b,16519,u);break}case 659:{uj(b,23548,t);break}case 662:{uj(b,23583,s);break}case 665:{c[r>>2]=23619;uj(b,16519,r);break}case 667:{uj(b,23645,q);break}case 669:{uj(b,23678,p);break}case 671:{uj(b,23719,o);break}case 673:{c[n>>2]=23776;uj(b,16519,n);break}case 675:{c[m>>2]=23758;uj(b,23786,m);break}case 677:{uj(b,23810,l);break}case 679:{uj(b,23844,k);break}case 681:{uj(b,23875,j);break}case 684:{c[h>>2]=_g;uj(b,23906,h);break}case 688:{i=e;return}}}function wj(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=i;i=i+64|0;g=f+40|0;h=f+32|0;j=f+24|0;k=f+8|0;l=f;m=f+60|0;n=f+56|0;o=f+52|0;c[m>>2]=0;p=b+8|0;q=c[p>>2]|0;r=b+16|0;s=sj(q+(c[r>>2]|0)|0,q+(c[b>>2]|0)|0,m)|0;if(!s){c[l>>2]=18210;uj(b,17671,l)}l=(c[r>>2]|0)+s|0;c[r>>2]=l;s=c[m>>2]|0;if((s+128|0)>>>0>255){c[k>>2]=s;uj(b,17701,k)}c[d>>2]=s;if((s|0)!=-16)uj(b,18226,f+16|0);c[o>>2]=0;s=c[p>>2]|0;d=rj(s+l|0,s+(c[b>>2]|0)|0,m)|0;if(!d){c[j>>2]=18258;uj(b,16519,j)}j=(c[r>>2]|0)+d|0;c[r>>2]=j;d=c[p>>2]|0;s=rj(d+j|0,d+(c[b>>2]|0)|0,n)|0;if(!s){c[h>>2]=18270;uj(b,16519,h)}h=(c[r>>2]|0)+s|0;c[r>>2]=h;s=c[m>>2]&1;if(!s){t=c[n>>2]|0;u=0;v=e+16|0;w=s&255;a[v>>0]=w;x=e;y=x;c[y>>2]=t;z=x+4|0;A=z;c[A>>2]=0;B=e+8|0;C=B;D=C;c[D>>2]=u;E=C+4|0;F=E;c[F>>2]=0;i=f;return}m=c[p>>2]|0;p=rj(m+h|0,m+(c[b>>2]|0)|0,o)|0;if(!p){c[g>>2]=18295;uj(b,16519,g)}c[r>>2]=(c[r>>2]|0)+p;p=c[n>>2]|0;n=c[o>>2]|0;if(p>>>0>n>>>0)uj(b,18316,f+48|0);else{t=p;u=n;v=e+16|0;w=s&255;a[v>>0]=w;x=e;y=x;c[y>>2]=t;z=x+4|0;A=z;c[A>>2]=0;B=e+8|0;C=B;D=C;c[D>>2]=u;E=C+4|0;F=E;c[F>>2]=0;i=f;return}}function xj(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;e=i;i=i+64|0;f=e+24|0;g=e+8|0;h=e;j=e+52|0;k=e+48|0;l=e+44|0;c[l>>2]=0;m=b+8|0;n=c[m>>2]|0;o=b+16|0;p=rj(n+(c[o>>2]|0)|0,n+(c[b>>2]|0)|0,j)|0;if(!p){c[h>>2]=18397;uj(b,16519,h)}h=(c[o>>2]|0)+p|0;c[o>>2]=h;p=c[m>>2]|0;n=rj(p+h|0,p+(c[b>>2]|0)|0,k)|0;if(!n){c[g>>2]=18410;uj(b,16519,g)}g=(c[o>>2]|0)+n|0;c[o>>2]=g;n=c[j>>2]&1;j=c[k>>2]|0;if(j>>>0>=65537)uj(b,18436,e+16|0);if(!n){q=0;r=d+16|0;s=n&255;a[r>>0]=s;t=d;u=t;c[u>>2]=j;v=t+4|0;w=v;c[w>>2]=0;x=d+8|0;y=x;z=y;c[z>>2]=q;A=y+4|0;B=A;c[B>>2]=0;i=e;return}k=c[m>>2]|0;m=rj(k+g|0,k+(c[b>>2]|0)|0,l)|0;if(!m){c[f>>2]=18464;uj(b,16519,f)}c[o>>2]=(c[o>>2]|0)+m;m=c[l>>2]|0;if(m>>>0>=65537)uj(b,18486,e+32|0);if(j>>>0>m>>>0)uj(b,18510,e+40|0);else{q=m;r=d+16|0;s=n&255;a[r>>0]=s;t=d;u=t;c[u>>2]=j;v=t+4|0;w=v;c[w>>2]=0;x=d+8|0;y=x;z=y;c[z>>2]=q;A=y+4|0;B=A;c[B>>2]=0;i=e;return}}function yj(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;f=i;i=i+112|0;g=f+104|0;h=f+96|0;j=f+88|0;k=f+72|0;l=f+56|0;m=f+40|0;n=f+16|0;o=f+8|0;p=f;q=b+16|0;r=c[q>>2]|0;s=r+1|0;t=c[b>>2]|0;if(s>>>0>t>>>0){c[o>>2]=19471;uj(b,18636,o)}o=b+8|0;u=c[o>>2]|0;v=a[u+r>>0]|0;c[q>>2]=s;w=v&255;a:do switch(w|0){case 65:{c[p>>2]=0;v=sj(u+s|0,u+t|0,p)|0;if(!v){c[n>>2]=19478;uj(b,17671,n)}c[q>>2]=(c[q>>2]|0)+v;v=c[b+4>>2]|0;if(!(kb[c[(c[v>>2]|0)+512>>2]&127](v,e,c[p>>2]|0)|0))break a;else uj(b,19504,f+24|0);break}case 66:{v=p;c[v>>2]=0;c[v+4>>2]=0;zj(b,p,19543);v=c[b+4>>2]|0;x=p;if(!(sb[c[(c[v>>2]|0)+516>>2]&63](v,e,c[x>>2]|0,c[x+4>>2]|0)|0))break a;else uj(b,19622,f+32|0);break}case 67:{x=r+5|0;if(x>>>0>t>>>0){c[m>>2]=19661;uj(b,19687,m)}v=u+s|0;y=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;c[q>>2]=x;x=c[b+4>>2]|0;if(kb[c[(c[x>>2]|0)+500>>2]&127](x,e,y)|0)uj(b,19712,f+48|0);break}case 68:{y=r+9|0;if(y>>>0>t>>>0){c[l>>2]=19751;uj(b,19777,l)}x=u+s|0;v=x;z=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=x+4|0;x=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;c[q>>2]=y;y=c[b+4>>2]|0;if(sb[c[(c[y>>2]|0)+504>>2]&63](y,e,z,x)|0)uj(b,19803,f+64|0);break}case 35:{x=rj(u+s|0,u+t|0,p)|0;if(!x){c[k>>2]=19842;uj(b,16519,k)}c[q>>2]=(c[q>>2]|0)+x;x=c[b+4>>2]|0;if(!(kb[c[(c[x>>2]|0)+508>>2]&127](x,e,c[p>>2]|0)|0))break a;else uj(b,19869,f+80|0);break}case 11:{i=f;return}default:{c[j>>2]=w;c[j+4>>2]=w;uj(b,19909,j)}}while(0);j=c[q>>2]|0;w=j+1|0;if(w>>>0>(c[b>>2]|0)>>>0){c[h>>2]=19471;uj(b,18636,h)}h=a[(c[o>>2]|0)+j>>0]|0;c[q>>2]=w;if(h<<24>>24==11){i=f;return}else uj(b,19964,g)}function zj(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,F=0,G=0,H=0;g=i;i=i+16|0;h=g+8|0;j=g;k=c[b+8>>2]|0;l=b+16|0;m=c[l>>2]|0;n=k+m|0;o=c[b>>2]|0;p=k+o|0;if((m|0)<(o|0)?(o=a[n>>0]|0,o<<24>>24>-1):0){k=bo(o&255|0,0,57)|0;o=eo(k|0,C|0,57)|0;k=e;c[k>>2]=o;c[k+4>>2]=C;c[l>>2]=m+1;i=g;return}k=n+1|0;if(k>>>0<p>>>0?(o=a[k>>0]|0,o<<24>>24>-1):0){q=bo(o&255|0,0,7)|0;o=bo((d[n>>0]|0)&127|q|0,C|0,50)|0;q=eo(o|0,C|0,50)|0;o=e;c[o>>2]=q;c[o+4>>2]=C;c[l>>2]=m+2;i=g;return}o=n+2|0;if(o>>>0<p>>>0?(q=a[o>>0]|0,q<<24>>24>-1):0){r=bo(q&255|0,0,14)|0;q=C;s=bo(d[k>>0]|0|0,0,7)|0;t=bo((d[n>>0]|0)&127|r|s&16256|0,q|0,43)|0;q=eo(t|0,C|0,43)|0;t=e;c[t>>2]=q;c[t+4>>2]=C;c[l>>2]=m+3;i=g;return}t=n+3|0;if(t>>>0<p>>>0?(q=a[t>>0]|0,q<<24>>24>-1):0){s=bo(q&255|0,0,21)|0;q=C;r=bo(d[o>>0]|0|0,0,14)|0;u=bo(d[k>>0]|0|0,0,7)|0;v=bo(r&2080768|s|(d[n>>0]|0)&127|u&16256|0,q|0,36)|0;q=eo(v|0,C|0,36)|0;v=e;c[v>>2]=q;c[v+4>>2]=C;c[l>>2]=m+4;i=g;return}v=n+4|0;if(v>>>0<p>>>0?(q=a[v>>0]|0,q<<24>>24>-1):0){u=bo(q&255|0,0,28)|0;q=C;s=bo(d[t>>0]|0|0,0,21)|0;r=bo(d[o>>0]|0|0,0,14)|0;w=bo(d[k>>0]|0|0,0,7)|0;x=bo(s&266338304|u|r&2080768|(d[n>>0]|0)&127|w&16256|0,q|0,29)|0;q=eo(x|0,C|0,29)|0;x=e;c[x>>2]=q;c[x+4>>2]=C;c[l>>2]=m+5;i=g;return}x=n+5|0;if(x>>>0<p>>>0?(q=a[x>>0]|0,q<<24>>24>-1):0){w=bo(q&255|0,0,35)|0;q=C;r=bo(d[v>>0]|0|0,0,28)|0;u=C&7;s=bo(d[t>>0]|0|0,0,21)|0;y=bo(d[o>>0]|0|0,0,14)|0;z=bo(d[k>>0]|0|0,0,7)|0;A=bo(r&-268435456|w|s&266338304|y&2080768|(d[n>>0]|0)&127|z&16256|0,u|q|0,22)|0;q=eo(A|0,C|0,22)|0;A=e;c[A>>2]=q;c[A+4>>2]=C;c[l>>2]=m+6;i=g;return}A=n+6|0;if(A>>>0<p>>>0?(q=a[A>>0]|0,q<<24>>24>-1):0){u=bo(q&255|0,0,42)|0;q=C;bo(d[x>>0]|0|0,0,35)|0;z=C&1016;y=bo(d[v>>0]|0|0,0,28)|0;s=C&7;w=bo(d[t>>0]|0|0,0,21)|0;r=bo(d[o>>0]|0|0,0,14)|0;B=bo(d[k>>0]|0|0,0,7)|0;D=bo(u|y&-268435456|w&266338304|r&2080768|(d[n>>0]|0)&127|B&16256|0,z|q|s|0,15)|0;s=eo(D|0,C|0,15)|0;D=e;c[D>>2]=s;c[D+4>>2]=C;c[l>>2]=m+7;i=g;return}D=n+7|0;if(D>>>0<p>>>0?(s=a[D>>0]|0,s<<24>>24>-1):0){q=bo(s&255|0,0,49)|0;s=C;bo(d[A>>0]|0|0,0,42)|0;z=C&130048;bo(d[x>>0]|0|0,0,35)|0;B=C&1016;r=bo(d[v>>0]|0|0,0,28)|0;w=C&7;y=bo(d[t>>0]|0|0,0,21)|0;u=bo(d[o>>0]|0|0,0,14)|0;E=bo(d[k>>0]|0|0,0,7)|0;F=bo(q|r&-268435456|y&266338304|u&2080768|(d[n>>0]|0)&127|E&16256|0,z|s|B|w|0,8)|0;w=eo(F|0,C|0,8)|0;F=e;c[F>>2]=w;c[F+4>>2]=C;c[l>>2]=m+8;i=g;return}F=n+8|0;if(F>>>0<p>>>0?(w=a[F>>0]|0,w<<24>>24>-1):0){B=bo(w&255|0,0,56)|0;w=C;bo(d[D>>0]|0|0,0,49)|0;s=C&16646144;bo(d[A>>0]|0|0,0,42)|0;z=C&130048;bo(d[x>>0]|0|0,0,35)|0;E=C&1016;u=bo(d[v>>0]|0|0,0,28)|0;y=C&7;r=bo(d[t>>0]|0|0,0,21)|0;q=bo(d[o>>0]|0|0,0,14)|0;G=bo(d[k>>0]|0|0,0,7)|0;H=bo(B|u&-268435456|r&266338304|q&2080768|(d[n>>0]|0)&127|G&16256|0,s|w|z|E|y|0,1)|0;y=eo(H|0,C|0,1)|0;H=e;c[H>>2]=y;c[H+4>>2]=C;c[l>>2]=m+9;i=g;return}H=n+9|0;if(H>>>0>=p>>>0){c[h>>2]=f;uj(b,19592,h)}p=a[H>>0]|0;H=p&255;if(H&128|0){c[h>>2]=f;uj(b,19592,h)}h=(H&1|0)!=0;y=H&254;if(h&(y|0)!=126){c[j>>2]=f;uj(b,19569,j)}if((y|0)!=0&(h^1)){c[j>>2]=f;uj(b,19569,j)}j=bo(p&255|0,0,63)|0;p=C;bo(d[F>>0]|0|0,0,56)|0;F=C&2130706432;bo(d[D>>0]|0|0,0,49)|0;D=C&16646144;bo(d[A>>0]|0|0,0,42)|0;A=C&130048;bo(d[x>>0]|0|0,0,35)|0;x=C&1016;b=bo(d[v>>0]|0|0,0,28)|0;v=C&7;f=bo(d[t>>0]|0|0,0,21)|0;t=bo(d[o>>0]|0|0,0,14)|0;o=bo(d[k>>0]|0|0,0,7)|0;k=e;c[k>>2]=j|b&-268435456|f&266338304|t&2080768|(d[n>>0]|0)&127|o&16256;c[k+4>>2]=F|p|D|A|x|v;c[l>>2]=m+10;i=g;return}function Aj(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;d=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(e-g>>2>>>0>=b>>>0){ao(g|0,0,b<<2|0)|0;c[f>>2]=g+(b<<2);return}h=c[a>>2]|0;i=(g-h>>2)+b|0;if(i>>>0>1073741823)sn(a);g=e-h|0;if(g>>2>>>0<536870911){e=g>>1;g=e>>>0<i>>>0?i:e;e=c[f>>2]|0;i=e-h>>2;if(!g){j=0;k=0;l=i;m=e}else{n=g;o=e;p=i;q=8}}else{i=c[f>>2]|0;n=1073741823;o=i;p=i-h>>2;q=8}if((q|0)==8){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;ao(o|0,0,b<<2|0)|0;l=m-h|0;m=o+(0-(l>>2)<<2)|0;io(m|0,h|0,l|0)|0;c[a>>2]=m;c[f>>2]=o+(b<<2);c[d>>2]=k+(j<<2);if(!h)return;Bn(h);return}function Bj(a){a=a|0;return}function Cj(a){a=a|0;Bn(a);return}function Dj(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return ub[c[(c[d>>2]|0)+8>>2]&255](d,b)|0}function Ej(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b;d=c[a+12>>2]|0;nb[c[(c[d>>2]|0)+12>>2]&31](d,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,k=0,l=0;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,24145,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+16>>2]&255](f,b)|0;i=d;return a|0}function Gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,24171,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+20>>2]&127](d)|0;i=b;return a|0}function Hj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+24>>2]&127](e,b,d)|0}function Ij(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;e=i;i=i+32|0;f=e+8|0;g=e;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);n=c[j>>2]|0;j=c[d>>2]|0;c[f>>2]=c[d+4>>2];c[f+4>>2]=j;c[f+8>>2]=b;mi(n,24182,f);c[h>>2]=(c[h>>2]|0)+2;h=c[a+12>>2]|0;a=c[(c[h>>2]|0)+28>>2]|0;n=d;d=c[n+4>>2]|0;j=g;c[j>>2]=c[n>>2];c[j+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];g=kb[a&127](h,b,f)|0;i=e;return g|0}function Jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,24220,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+32>>2]&127](d)|0;i=b;return a|0}function Kj(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,24238,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+36>>2]&255](f,b)|0;i=d;return a|0}function Lj(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,24260,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+40>>2]&255](e,b)|0;i=d;return a|0}function Mj(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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;h=i;i=i+96|0;j=h+80|0;k=h+72|0;l=h+64|0;m=h+56|0;n=h+48|0;o=h+40|0;p=h+32|0;q=h+24|0;r=h+16|0;s=h+8|0;t=h;u=a+16|0;v=c[u>>2]|0;if(v>>>0>142){w=a+8|0;x=v;while(1){ni(c[w>>2]|0,24002,142,0,0);y=x+-142|0;if(y>>>0>142)x=y;else{z=y;break}}}else z=v;v=a+8|0;if(z|0)ni(c[v>>2]|0,24002,c[u>>2]|0,0,0);u=c[v>>2]|0;c[t>>2]=b;mi(u,24277,t);mi(c[v>>2]|0,24304,s);s=c[v>>2]|0;a:do if(!d)A=s;else{t=d+-1|0;u=s;z=0;while(1){switch(c[e+(z<<2)>>2]|0){case -1:{B=24340;break}case -2:{B=24336;break}case -3:{B=24332;break}case -4:{B=24328;break}case -16:{B=24320;break}case -32:{B=24315;break}case -64:{B=24310;break}case 0:{B=24306;break}default:B=0}c[r>>2]=B;mi(u,24344,r);if((z|0)!=(t|0))mi(c[v>>2]|0,24347,q);z=z+1|0;x=c[v>>2]|0;if((z|0)==(d|0)){A=x;break a}else u=x}}while(0);mi(A,24350,p);mi(c[v>>2]|0,24352,o);mi(c[v>>2]|0,24304,n);n=c[v>>2]|0;if(!f){C=n;mi(C,24350,k);D=c[v>>2]|0;mi(D,24364,j);E=a+12|0;F=c[E>>2]|0;G=c[F>>2]|0;H=G+44|0;I=c[H>>2]|0;J=ob[I&31](F,b,d,e,f,g)|0;i=h;return J|0}o=f+-1|0;p=n;n=0;while(1){switch(c[g+(n<<2)>>2]|0){case -1:{K=24340;break}case -2:{K=24336;break}case -3:{K=24332;break}case -4:{K=24328;break}case -16:{K=24320;break}case -32:{K=24315;break}case -64:{K=24310;break}case 0:{K=24306;break}default:K=0}c[m>>2]=K;mi(p,24344,m);if((n|0)!=(o|0))mi(c[v>>2]|0,24347,l);n=n+1|0;A=c[v>>2]|0;if((n|0)==(f|0)){C=A;break}else p=A}mi(C,24350,k);D=c[v>>2]|0;mi(D,24364,j);E=a+12|0;F=c[E>>2]|0;G=c[F>>2]|0;H=G+44|0;I=c[H>>2]|0;J=ob[I&31](F,b,d,e,f,g)|0;i=h;return J|0}function Nj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,24367,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+48>>2]&127](d)|0;i=b;return a|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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,24383,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+52>>2]&255](f,b)|0;i=d;return a|0}function Pj(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,24407,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+56>>2]&255](e,b)|0;i=d;return a|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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;g=f+16|0;h=f+40|0;j=f+8|0;k=f;l=a+16|0;m=c[l>>2]|0;if(m>>>0>142){n=a+8|0;o=m;while(1){ni(c[n>>2]|0,24002,142,0,0);p=o+-142|0;if(p>>>0>142)o=p;else{q=p;break}}}else q=m;m=a+8|0;if(q|0)ni(c[m>>2]|0,24002,c[l>>2]|0,0,0);l=c[m>>2]|0;m=c[d+4>>2]|0;q=c[d>>2]|0;o=c[e+4>>2]|0;n=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=m;c[g+8>>2]=q;c[g+12>>2]=o;c[g+16>>2]=n;mi(l,24426,g);l=c[a+12>>2]|0;a=c[(c[l>>2]|0)+60>>2]|0;n=d;d=c[n+4>>2]|0;o=j;c[o>>2]=c[n>>2];c[o+4>>2]=d;d=e;e=c[d+4>>2]|0;o=k;c[o>>2]=c[d>>2];c[o+4>>2]=e;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];k=sb[a&63](l,b,h,g)|0;i=f;return k|0}function Rj(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;h=i;i=i+48|0;j=h+16|0;k=h+32|0;l=h+8|0;m=h;n=a+16|0;o=c[n>>2]|0;if(o>>>0>142){p=a+8|0;q=o;while(1){ni(c[p>>2]|0,24002,142,0,0);r=q+-142|0;if(r>>>0>142)q=r;else{s=r;break}}}else s=o;o=a+8|0;if(s|0)ni(c[o>>2]|0,24002,c[n>>2]|0,0,0);n=c[o>>2]|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;mi(n,24478,j);n=c[a+12>>2]|0;a=c[(c[n>>2]|0)+64>>2]|0;o=d;d=c[o+4>>2]|0;s=l;c[s>>2]=c[o>>2];c[s+4>>2]=d;d=e;e=c[d+4>>2]|0;s=m;c[s>>2]=c[d>>2];c[s+4>>2]=e;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];m=ob[a&31](n,b,k,j,f,g)|0;i=h;return m|0}function Sj(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;k=i;i=i+176|0;l=k+40|0;m=k+56|0;n=k+32|0;o=k+16|0;p=k+64|0;q=k+8|0;r=k;s=j;t=c[s>>2]|0;u=c[s+4>>2]|0;if(!(a[j+16>>0]|0)){s=n;c[s>>2]=t;c[s+4>>2]=u;em(p,100,24566,n)|0}else{n=j+8|0;s=c[n>>2]|0;v=c[n+4>>2]|0;n=o;c[n>>2]=t;c[n+4>>2]=u;u=o+8|0;c[u>>2]=s;c[u+4>>2]=v;em(p,100,24541,o)|0}o=b+16|0;v=c[o>>2]|0;if(v>>>0>142){u=b+8|0;s=v;while(1){ni(c[u>>2]|0,24002,142,0,0);n=s+-142|0;if(n>>>0>142)s=n;else{w=n;break}}}else w=v;v=b+8|0;if(w|0)ni(c[v>>2]|0,24002,c[o>>2]|0,0,0);o=c[v>>2]|0;switch(h|0){case -1:{x=24340;break}case -2:{x=24336;break}case -3:{x=24332;break}case -4:{x=24328;break}case -16:{x=24320;break}case -32:{x=24315;break}case -64:{x=24310;break}case 0:{x=24306;break}default:x=0}c[l>>2]=d;c[l+4>>2]=g;c[l+8>>2]=x;c[l+12>>2]=p;mi(o,24580,l);o=c[b+12>>2]|0;b=c[(c[o>>2]|0)+68>>2]|0;p=e;e=c[p+4>>2]|0;x=q;c[x>>2]=c[p>>2];c[x+4>>2]=e;e=f;f=c[e+4>>2]|0;x=r;c[x>>2]=c[e>>2];c[x+4>>2]=f;c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];r=jb[b&31](o,d,m,l,g,h,j)|0;i=k;return r|0}function Tj(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;j=i;i=i+176|0;k=j+40|0;l=j+56|0;m=j+32|0;n=j+16|0;o=j+64|0;p=j+8|0;q=j;r=h;s=c[r>>2]|0;t=c[r+4>>2]|0;if(!(a[h+16>>0]|0)){r=m;c[r>>2]=s;c[r+4>>2]=t;em(o,100,24566,m)|0}else{m=h+8|0;r=c[m>>2]|0;u=c[m+4>>2]|0;m=n;c[m>>2]=s;c[m+4>>2]=t;t=n+8|0;c[t>>2]=r;c[t+4>>2]=u;em(o,100,24541,n)|0}n=b+16|0;u=c[n>>2]|0;if(u>>>0>142){t=b+8|0;r=u;while(1){ni(c[t>>2]|0,24002,142,0,0);m=r+-142|0;if(m>>>0>142)r=m;else{v=m;break}}}else v=u;u=b+8|0;if(v|0)ni(c[u>>2]|0,24002,c[n>>2]|0,0,0);n=c[u>>2]|0;c[k>>2]=d;c[k+4>>2]=g;c[k+8>>2]=o;mi(n,24649,k);n=c[b+12>>2]|0;b=c[(c[n>>2]|0)+72>>2]|0;o=e;e=c[o+4>>2]|0;u=p;c[u>>2]=c[o>>2];c[u+4>>2]=e;e=f;f=c[e+4>>2]|0;u=q;c[u>>2]=c[e>>2];c[u+4>>2]=f;c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];q=ob[b&31](n,d,l,k,g,h)|0;i=j;return q|0}function Uj(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;j=i;i=i+48|0;k=j+16|0;l=j+32|0;m=j+8|0;n=j;o=a+16|0;p=c[o>>2]|0;if(p>>>0>142){q=a+8|0;r=p;while(1){ni(c[q>>2]|0,24002,142,0,0);s=r+-142|0;if(s>>>0>142)r=s;else{t=s;break}}}else t=p;p=a+8|0;if(t|0)ni(c[p>>2]|0,24002,c[o>>2]|0,0,0);o=c[p>>2]|0;switch(g|0){case -1:{u=24340;break}case -2:{u=24336;break}case -3:{u=24332;break}case -4:{u=24328;break}case -16:{u=24320;break}case -32:{u=24315;break}case -64:{u=24310;break}case 0:{u=24306;break}default:u=0}c[k>>2]=b;c[k+4>>2]=f;c[k+8>>2]=u;c[k+12>>2]=h?24705:24710;mi(o,24716,k);o=c[a+12>>2]|0;a=c[(c[o>>2]|0)+76>>2]|0;u=d;d=c[u+4>>2]|0;p=m;c[p>>2]=c[u>>2];c[p+4>>2]=d;d=e;e=c[d+4>>2]|0;p=n;c[p>>2]=c[d>>2];c[p+4>>2]=e;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];n=jb[a&31](o,b,l,k,f,g,h)|0;i=j;return n|0}function Vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,24791,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+80>>2]&127](d)|0;i=b;return a|0}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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,24809,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+84>>2]&255](f,b)|0;i=d;return a|0}function Xj(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,24835,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+88>>2]&255](e,b)|0;i=d;return a|0}function Yj(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;mi(g,24856,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+92>>2]&127](f,b,d)|0;i=e;return a|0}function Zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,24894,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+96>>2]&127](d)|0;i=b;return a|0}function _j(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,24914,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+100>>2]&255](f,b)|0;i=d;return a|0}function $j(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,24937,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+104>>2]&255](e,b)|0;i=d;return a|0}function ak(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;g=i;i=i+144|0;h=g+24|0;j=g+16|0;k=g;l=g+36|0;m=f;n=c[m>>2]|0;o=c[m+4>>2]|0;if(!(a[f+16>>0]|0)){m=j;c[m>>2]=n;c[m+4>>2]=o;em(l,100,24566,j)|0}else{j=f+8|0;m=c[j>>2]|0;p=c[j+4>>2]|0;j=k;c[j>>2]=n;c[j+4>>2]=o;o=k+8|0;c[o>>2]=m;c[o+4>>2]=p;em(l,100,24541,k)|0}k=b+16|0;p=c[k>>2]|0;if(p>>>0>142){o=b+8|0;m=p;while(1){ni(c[o>>2]|0,24002,142,0,0);j=m+-142|0;if(j>>>0>142)m=j;else{q=j;break}}}else q=p;p=b+8|0;if(q|0)ni(c[p>>2]|0,24002,c[k>>2]|0,0,0);k=c[p>>2]|0;switch(e|0){case -1:{r=24340;break}case -2:{r=24336;break}case -3:{r=24332;break}case -4:{r=24328;break}case -16:{r=24320;break}case -32:{r=24315;break}case -64:{r=24310;break}case 0:{r=24306;break}default:r=0}c[h>>2]=d;c[h+4>>2]=r;c[h+8>>2]=l;mi(k,24955,h);h=c[b+12>>2]|0;b=sb[c[(c[h>>2]|0)+108>>2]&63](h,d,e,f)|0;i=g;return b|0}function bk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,24994,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+112>>2]&127](d)|0;i=b;return a|0}function ck(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,25011,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+116>>2]&255](f,b)|0;i=d;return a|0}function dk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25035,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+120>>2]&255](e,b)|0;i=d;return a|0}function ek(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;f=i;i=i+144|0;g=f+24|0;h=f+16|0;j=f;k=f+32|0;l=e;m=c[l>>2]|0;n=c[l+4>>2]|0;if(!(a[e+16>>0]|0)){l=h;c[l>>2]=m;c[l+4>>2]=n;em(k,100,24566,h)|0}else{h=e+8|0;l=c[h>>2]|0;o=c[h+4>>2]|0;h=j;c[h>>2]=m;c[h+4>>2]=n;n=j+8|0;c[n>>2]=l;c[n+4>>2]=o;em(k,100,24541,j)|0}j=b+16|0;o=c[j>>2]|0;if(o>>>0>142){n=b+8|0;l=o;while(1){ni(c[n>>2]|0,24002,142,0,0);h=l+-142|0;if(h>>>0>142)l=h;else{p=h;break}}}else p=o;o=b+8|0;if(p|0)ni(c[o>>2]|0,24002,c[j>>2]|0,0,0);j=c[o>>2]|0;c[g>>2]=d;c[g+4>>2]=k;mi(j,25054,g);g=c[b+12>>2]|0;b=kb[c[(c[g>>2]|0)+124>>2]&127](g,d,e)|0;i=f;return b|0}function fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,25079,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+128>>2]&127](d)|0;i=b;return a|0}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,l=0;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,25097,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+132>>2]&255](f,b)|0;i=d;return a|0}function hk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25121,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+136>>2]&255](e,b)|0;i=d;return a|0}function ik(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;switch(d|0){case -1:{o=24340;break}case -2:{o=24336;break}case -3:{o=24332;break}case -4:{o=24328;break}case -16:{o=24320;break}case -32:{o=24315;break}case -64:{o=24310;break}case 0:{o=24306;break}default:o=0}c[g>>2]=b;c[g+4>>2]=o;c[g+8>>2]=e?24705:24710;mi(h,25140,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+140>>2]&63](g,b,d,e)|0;i=f;return a|0}function jk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25187,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+144>>2]&255](e,b)|0;i=d;return a|0}function kk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25212,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+148>>2]&255](e,b)|0;i=d;return a|0}function lk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25235,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+152>>2]&255](e,b)|0;i=d;return a|0}function mk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,25250,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+156>>2]&127](d)|0;i=b;return a|0}function nk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,25268,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+160>>2]&255](f,b)|0;i=d;return a|0}function ok(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25292,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+164>>2]&255](e,b)|0;i=d;return a|0}function pk(a,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;g=i;i=i+32|0;h=g+8|0;j=g;k=a+16|0;l=c[k>>2]|0;if(l>>>0>142){m=a+8|0;n=l;while(1){ni(c[m>>2]|0,24002,142,0,0);o=n+-142|0;if(o>>>0>142)n=o;else{p=o;break}}}else p=l;l=a+8|0;if(p|0)ni(c[l>>2]|0,24002,c[k>>2]|0,0,0);k=c[l>>2]|0;l=c[1464+(d<<2)>>2]|0;p=c[f+4>>2]|0;n=c[f>>2]|0;c[h>>2]=b;c[h+4>>2]=l;c[h+8>>2]=e;c[h+12>>2]=p;c[h+16>>2]=n;mi(k,25311,h);k=c[a+12>>2]|0;a=c[(c[k>>2]|0)+168>>2]|0;n=f;f=c[n+4>>2]|0;p=j;c[p>>2]=c[n>>2];c[p+4>>2]=f;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];j=vb[a&31](k,b,d,e,h)|0;i=g;return j|0}function qk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,25372,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+172>>2]&127](d)|0;i=b;return a|0}function rk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,25390,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+176>>2]&255](f,b)|0;i=d;return a|0}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,l=0;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25413,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+180>>2]&255](e,b)|0;i=d;return a|0}function tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,25434,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+184>>2]&127](d)|0;i=b;return a|0}function uk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,25451,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+188>>2]&255](f,b)|0;i=d;return a|0}function vk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25473,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+192>>2]&255](e,b)|0;i=d;return a|0}function wk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25498,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+196>>2]&255](e,b)|0;i=d;return a|0}function xk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25521,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+200>>2]&255](e,b)|0;i=d;return a|0}function yk(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;switch(e|0){case -1:{o=24340;break}case -2:{o=24336;break}case -3:{o=24332;break}case -4:{o=24328;break}case -16:{o=24320;break}case -32:{o=24315;break}case -64:{o=24310;break}case 0:{o=24306;break}default:o=0}c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=o;mi(h,25543,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+204>>2]&63](g,b,d,e)|0;i=f;return a|0}function zk(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return ub[c[(c[d>>2]|0)+208>>2]&255](d,b)|0}function Ak(a){a=a|0;var b=0;b=c[a+12>>2]|0;return pb[c[(c[b>>2]|0)+212>>2]&127](b)|0}function Bk(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return ub[c[(c[d>>2]|0)+216>>2]&255](d,b)|0}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+220>>2]&127](e,b,d)|0}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+224>>2]&127](e,b,d)|0}function Ek(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return ub[c[(c[d>>2]|0)+228>>2]&255](d,b)|0}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+232>>2]&127](e,b,d)|0}function Gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+236>>2]&127](e,b,d)|0}function Hk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;Zh();c[e>>2]=c[30984+(b*20|0)>>2];c[e+4>>2]=b;mi(f,25588,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+240>>2]&255](e,b)|0;i=d;return a|0}function Ik(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;e=i;i=i+48|0;f=e+40|0;g=e+32|0;h=e+24|0;j=e+16|0;k=e+8|0;l=e;m=a+16|0;n=c[m>>2]|0;if(n>>>0>142){o=a+8|0;p=n;while(1){ni(c[o>>2]|0,24002,142,0,0);q=p+-142|0;if(q>>>0>142)p=q;else{r=q;break}}}else r=n;n=a+8|0;if(r|0)ni(c[n>>2]|0,24002,c[m>>2]|0,0,0);mi(c[n>>2]|0,25613,l);mi(c[n>>2]|0,24304,k);k=c[n>>2]|0;a:do if(!b)s=k;else{l=b+-1|0;m=k;r=0;while(1){switch(c[d+(r<<2)>>2]|0){case -1:{t=24340;break}case -2:{t=24336;break}case -3:{t=24332;break}case -4:{t=24328;break}case -16:{t=24320;break}case -32:{t=24315;break}case -64:{t=24310;break}case 0:{t=24306;break}default:t=0}c[j>>2]=t;mi(m,24344,j);if((r|0)!=(l|0))mi(c[n>>2]|0,24347,h);r=r+1|0;p=c[n>>2]|0;if((r|0)==(b|0)){s=p;break a}else m=p}}while(0);mi(s,24350,g);mi(c[n>>2]|0,24364,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+244>>2]&127](f,b,d)|0;i=e;return a|0}function Jk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25631,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+248>>2]&255](e,b)|0;i=d;return a|0}function Kk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25652,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+252>>2]&255](e,b)|0;i=d;return a|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,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+32|0;g=f+24|0;h=f+16|0;j=f+8|0;k=f;l=a+16|0;m=c[l>>2]|0;if(m>>>0>142){n=a+8|0;o=m;while(1){ni(c[n>>2]|0,24002,142,0,0);p=o+-142|0;if(p>>>0>142)o=p;else{q=p;break}}}else q=m;m=a+8|0;if(q|0)ni(c[m>>2]|0,24002,c[l>>2]|0,0,0);l=c[m>>2]|0;c[k>>2]=b;mi(l,25675,k);k=c[m>>2]|0;if(!b)r=k;else{l=b+-1|0;q=k;k=0;while(1){c[h>>2]=c[d+(k<<2)>>2];mi(q,25733,h);if((k|0)!=(l|0))mi(c[m>>2]|0,24347,g);k=k+1|0;o=c[m>>2]|0;if((k|0)==(b|0)){r=o;break}else q=o}}c[j>>2]=e;mi(r,25716,j);j=c[a+12>>2]|0;a=sb[c[(c[j>>2]|0)+256>>2]&63](j,b,d,e)|0;i=f;return a|0}function Mk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25736,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+260>>2]&255](e,b)|0;i=d;return a|0}function Nk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25764,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+264>>2]&255](e,b)|0;i=d;return a|0}function Ok(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;Zh();c[e>>2]=c[30984+(b*20|0)>>2];c[e+4>>2]=b;mi(f,25799,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+268>>2]&255](e,b)|0;i=d;return a|0}function Pk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;Zh();c[e>>2]=c[30984+(b*20|0)>>2];c[e+4>>2]=b;mi(f,25825,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+272>>2]&255](e,b)|0;i=d;return a|0}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,25851,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+276>>2]&127](d)|0;i=b;return a|0}function Rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,25872,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+280>>2]&127](d)|0;i=b;return a|0}function Sk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,25884,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+284>>2]&127](d)|0;i=b;return a|0}function Tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,25896,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+288>>2]&127](d)|0;i=b;return a|0}function Uk(a){a=a|0;var b=0;b=c[a+12>>2]|0;return pb[c[(c[b>>2]|0)+292>>2]&127](b)|0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,j=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+16|0;e=d;f=(c[k>>2]=b,+g[k>>2]);j=a+16|0;l=c[j>>2]|0;if(l>>>0>142){m=a+8|0;n=l;while(1){ni(c[m>>2]|0,24002,142,0,0);o=n+-142|0;if(o>>>0>142)n=o;else{p=o;break}}}else p=l;l=a+8|0;if(p|0)ni(c[l>>2]|0,24002,c[j>>2]|0,0,0);j=c[l>>2]|0;h[e>>3]=f;c[e+8>>2]=b;mi(j,25907,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+296>>2]&255](e,b)|0;i=d;return a|0}function Wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+16|0;f=e;c[k>>2]=b;c[k+4>>2]=d;g=+h[k>>3];j=a+16|0;l=c[j>>2]|0;if(l>>>0>142){m=a+8|0;n=l;while(1){ni(c[m>>2]|0,24002,142,0,0);o=n+-142|0;if(o>>>0>142)n=o;else{p=o;break}}}else p=l;l=a+8|0;if(p|0)ni(c[l>>2]|0,24002,c[j>>2]|0,0,0);j=c[l>>2]|0;h[f>>3]=g;l=f+8|0;c[l>>2]=b;c[l+4>>2]=d;mi(j,25936,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+300>>2]&127](f,b,d)|0;i=e;return a|0}function Xk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25967,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+304>>2]&255](e,b)|0;i=d;return a|0}function Yk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,25995,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+308>>2]&255](e,b)|0;i=d;return a|0}function Zk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,26022,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+312>>2]&127](d)|0;i=b;return a|0}function _k(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;c[e+4>>2]=b;mi(f,26040,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+316>>2]&255](e,b)|0;i=d;return a|0}function $k(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;h=f;c[h>>2]=b;c[h+4>>2]=d;h=f+8|0;c[h>>2]=b;c[h+4>>2]=d;mi(g,26067,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+320>>2]&127](f,b,d)|0;i=e;return a|0}function al(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;e=i;i=i+48|0;f=e+40|0;g=e+32|0;h=e+24|0;j=e+16|0;k=e+8|0;l=e;m=a+16|0;n=c[m>>2]|0;if(n>>>0>142){o=a+8|0;p=n;while(1){ni(c[o>>2]|0,24002,142,0,0);q=p+-142|0;if(q>>>0>142)p=q;else{r=q;break}}}else r=n;n=a+8|0;if(r|0)ni(c[n>>2]|0,24002,c[m>>2]|0,0,0);mi(c[n>>2]|0,26098,l);mi(c[n>>2]|0,24304,k);k=c[n>>2]|0;a:do if(!b)s=k;else{l=b+-1|0;m=k;r=0;while(1){switch(c[d+(r<<2)>>2]|0){case -1:{t=24340;break}case -2:{t=24336;break}case -3:{t=24332;break}case -4:{t=24328;break}case -16:{t=24320;break}case -32:{t=24315;break}case -64:{t=24310;break}case 0:{t=24306;break}default:t=0}c[j>>2]=t;mi(m,24344,j);if((r|0)!=(l|0))mi(c[n>>2]|0,24347,h);r=r+1|0;p=c[n>>2]|0;if((r|0)==(b|0)){s=p;break a}else m=p}}while(0);mi(s,24350,g);mi(c[n>>2]|0,24364,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+324>>2]&127](f,b,d)|0;i=e;return a|0}function bl(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;Zh();c[g>>2]=c[30984+(b*20|0)>>2];c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;mi(h,26113,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+328>>2]&63](g,b,d,e)|0;i=f;return a|0}function cl(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;e=i;i=i+48|0;f=e+40|0;g=e+32|0;h=e+24|0;j=e+16|0;k=e+8|0;l=e;m=a+16|0;n=c[m>>2]|0;if(n>>>0>142){o=a+8|0;p=n;while(1){ni(c[o>>2]|0,24002,142,0,0);q=p+-142|0;if(q>>>0>142)p=q;else{r=q;break}}}else r=n;n=a+8|0;if(r|0)ni(c[n>>2]|0,24002,c[m>>2]|0,0,0);mi(c[n>>2]|0,26172,l);mi(c[n>>2]|0,24304,k);k=c[n>>2]|0;a:do if(!b)s=k;else{l=b+-1|0;m=k;r=0;while(1){switch(c[d+(r<<2)>>2]|0){case -1:{t=24340;break}case -2:{t=24336;break}case -3:{t=24332;break}case -4:{t=24328;break}case -16:{t=24320;break}case -32:{t=24315;break}case -64:{t=24310;break}case 0:{t=24306;break}default:t=0}c[j>>2]=t;mi(m,24344,j);if((r|0)!=(l|0))mi(c[n>>2]|0,24347,h);r=r+1|0;p=c[n>>2]|0;if((r|0)==(b|0)){s=p;break a}else m=p}}while(0);mi(s,24350,g);mi(c[n>>2]|0,24364,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+332>>2]&127](f,b,d)|0;i=e;return a|0}function dl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,26189,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+336>>2]&127](d)|0;i=b;return a|0}function el(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,26200,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+340>>2]&127](d)|0;i=b;return a|0}function fl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,26214,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+344>>2]&127](d)|0;i=b;return a|0}function gl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26228,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+348>>2]&255](e,b)|0;i=d;return a|0}function hl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26256,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+352>>2]&255](e,b)|0;i=d;return a|0}function il(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;Zh();c[g>>2]=c[30984+(b*20|0)>>2];c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;mi(h,26283,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+356>>2]&63](g,b,d,e)|0;i=f;return a|0}function jl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26343,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+360>>2]&255](e,b)|0;i=d;return a|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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;Zh();c[e>>2]=c[30984+(b*20|0)>>2];c[e+4>>2]=b;mi(f,26370,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+364>>2]&255](e,b)|0;i=d;return a|0}function ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,26394,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+368>>2]&127](d)|0;i=b;return a|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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26413,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+372>>2]&255](e,b)|0;i=d;return a|0}function nl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,26434,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+376>>2]&127](d)|0;i=b;return a|0}function ol(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,26450,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+380>>2]&255](f,b)|0;i=d;return a|0}function pl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26472,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+384>>2]&255](e,b)|0;i=d;return a|0}function ql(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;mi(g,26496,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+388>>2]&127](f,b,d)|0;i=e;return a|0}function rl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26542,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+392>>2]&255](e,b)|0;i=d;return a|0}function sl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26572,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+396>>2]&255](e,b)|0;i=d;return a|0} -function Je(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,x=0,y=0,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,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;f=i;i=i+416|0;g=f+96|0;h=f+88|0;j=f+80|0;k=f+72|0;l=f+64|0;m=f+56|0;n=f+48|0;o=f+40|0;p=f+32|0;q=f+24|0;r=f+16|0;s=f+8|0;t=f;u=f+296|0;v=f+168|0;w=f+304|0;x=f+104|0;ii(x,b,c[e>>2]|0);b=x+16|0;c[b>>2]=e;e=x+20|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[x+44>>2]=12;y=x+48|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[u>>2]=1836278016;ni(x,u,4,12446,0);c[u>>2]=1;ni(x,u,4,12464,0);y=d+96|0;z=d+100|0;if((c[z>>2]|0)!=(c[y>>2]|0)){Ke(x,1);A=(c[z>>2]|0)-(c[y>>2]|0)>>2;B=A>>>7;if(!B){C=A;D=0}else{E=A;A=B;B=0;while(1){a[u+B>>0]=E|128;F=B+1|0;G=A>>>7;if(!G){C=A;D=F;break}else{H=A;A=G;B=F;E=H}}}a[u+D>>0]=C&127;ni(x,u,D+1|0,12529,0);D=c[y>>2]|0;if((c[z>>2]|0)!=(D|0)){C=x+12|0;E=D;D=0;do{B=c[E+(D<<2)>>2]|0;A=c[C>>2]|0;if(A|0){c[t>>2]=12558;c[t+4>>2]=D;mi(A,12563,t)}a[u>>0]=96;ni(x,u,1,24315,0);A=B+8|0;H=(c[B+12>>2]|0)-(c[A>>2]|0)>>2;F=B+20|0;G=(c[B+24>>2]|0)-(c[F>>2]|0)>>2;B=H>>>7;if(!B){I=H;J=0}else{K=H;L=B;B=0;while(1){a[u+B>>0]=K|128;M=B+1|0;N=L>>>7;if(!N){I=L;J=M;break}else{O=L;L=N;B=M;K=O}}}a[u+J>>0]=I&127;ni(x,u,J+1|0,12572,0);if(H|0){K=0;do{He(x,c[(c[A>>2]|0)+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(H|0))}H=G>>>7;if(!H){P=G;Q=0}else{K=G;A=H;H=0;while(1){a[u+H>>0]=K|128;B=H+1|0;L=A>>>7;if(!L){P=A;Q=B;break}else{O=A;A=L;H=B;K=O}}}a[u+Q>>0]=P&127;ni(x,u,Q+1|0,12583,0);if(G|0){K=0;do{He(x,c[(c[F>>2]|0)+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(G|0))}D=D+1|0;E=c[y>>2]|0}while(D>>>0<(c[z>>2]|0)-E>>2>>>0)}Le(x)}E=d+72|0;z=d+76|0;if((c[z>>2]|0)!=(c[E>>2]|0)){Ke(x,2);D=(c[z>>2]|0)-(c[E>>2]|0)>>2;y=D>>>7;if(!y){R=D;S=0}else{Q=D;D=y;y=0;while(1){a[u+y>>0]=Q|128;P=y+1|0;J=D>>>7;if(!J){R=D;S=P;break}else{I=D;D=J;y=P;Q=I}}}a[u+S>>0]=R&127;ni(x,u,S+1|0,12595,0);S=c[E>>2]|0;a:do if((c[z>>2]|0)!=(S|0)){R=x+12|0;Q=S;y=0;while(1){D=c[Q+(y<<2)>>2]|0;I=c[R>>2]|0;if(I|0){c[s>>2]=12607;c[s+4>>2]=y;mi(I,12563,s)}I=c[D>>2]|0;P=c[D+4>>2]|0;J=P>>>7;if(!J){T=P;U=0}else{t=P;C=J;J=0;while(1){a[u+J>>0]=t|128;G=J+1|0;K=C>>>7;if(!K){T=C;U=G;break}else{F=C;C=K;J=G;t=F}}}a[u+U>>0]=T&127;ni(x,u,U+1|0,16703,0);ni(x,I,P,18053,1);t=c[D+8>>2]|0;J=c[D+12>>2]|0;C=J>>>7;if(!C){V=J;W=0}else{F=J;G=C;C=0;while(1){a[u+C>>0]=F|128;K=C+1|0;H=G>>>7;if(!H){V=G;W=K;break}else{A=G;G=H;C=K;F=A}}}a[u+W>>0]=V&127;ni(x,u,W+1|0,16703,0);ni(x,t,J,18072,1);F=D+16|0;a[u>>0]=c[F>>2];ni(x,u,1,18090,0);switch(c[F>>2]|0){case 0:{F=tc(d,(c[D+20>>2]|0)+8|0)|0;C=F>>>7;if(!C){X=F;Y=0}else{G=F;F=C;C=0;while(1){a[u+C>>0]=G|128;P=C+1|0;I=F>>>7;if(!I){X=F;Y=P;break}else{A=F;F=I;C=P;G=A}}}a[u+Y>>0]=X&127;ni(x,u,Y+1|0,18102,0);break}case 1:{G=c[D+20>>2]|0;a[u>>0]=112;ni(x,u,1,24320,0);Ie(x,G+8|0);break}case 2:{Ie(x,(c[D+20>>2]|0)+8|0);break}case 3:{G=c[D+20>>2]|0;He(x,c[G+8>>2]|0);a[u>>0]=a[G+12>>0]|0;ni(x,u,1,18618,0);break}default:{}}y=y+1|0;Q=c[E>>2]|0;if(y>>>0>=(c[z>>2]|0)-Q>>2>>>0)break a}}while(0);Le(x)}z=d+48|0;E=d+52|0;Y=(c[E>>2]|0)-(c[z>>2]|0)>>2;X=d+32|0;W=c[X>>2]|0;V=Y-W|0;U=(Y|0)!=(W|0);if(U){Ke(x,3);W=V>>>7;if(!W){Z=V;_=0}else{Y=V;T=W;W=0;while(1){a[u+W>>0]=Y|128;s=W+1|0;S=T>>>7;if(!S){Z=T;_=s;break}else{Q=T;T=S;W=s;Y=Q}}}a[u+_>>0]=Z&127;ni(x,u,_+1|0,12621,0);_=0;do{Z=c[(c[z>>2]|0)+((c[X>>2]|0)+_<<2)>>2]|0;c[r>>2]=_;em(v,100,12635,r)|0;Y=tc(d,Z+8|0)|0;Z=Y>>>7;if(!Z){$=Y;aa=0}else{W=Y;Y=Z;Z=0;while(1){a[u+Z>>0]=W|128;T=Z+1|0;Q=Y>>>7;if(!Q){$=Y;aa=T;break}else{s=Y;Y=Q;Z=T;W=s}}}a[u+aa>>0]=$&127;ni(x,u,aa+1|0,v,0);_=_+1|0}while((_|0)!=(V|0));Le(x)}_=d+108|0;aa=(c[d+112>>2]|0)-(c[_>>2]|0)>>2;$=d+36|0;r=c[$>>2]|0;W=aa-r|0;if((aa|0)!=(r|0)){Ke(x,4);r=W>>>7;if(!r){ba=W;ca=0}else{aa=W;Z=r;r=0;while(1){a[u+r>>0]=aa|128;Y=r+1|0;s=Z>>>7;if(!s){ba=Z;ca=Y;break}else{T=Z;Z=s;r=Y;aa=T}}}a[u+ca>>0]=ba&127;ni(x,u,ca+1|0,12664,0);ca=x+12|0;ba=0;do{aa=c[(c[_>>2]|0)+((c[$>>2]|0)+ba<<2)>>2]|0;r=c[ca>>2]|0;if(r|0){c[q>>2]=14025;c[q+4>>2]=ba;mi(r,12563,q)}a[u>>0]=112;ni(x,u,1,24320,0);Ie(x,aa+8|0);ba=ba+1|0}while((ba|0)!=(W|0));Le(x)}W=d+132|0;ba=(c[d+136>>2]|0)-(c[W>>2]|0)>>2;q=d+40|0;ca=c[q>>2]|0;$=ba-ca|0;if((ba|0)!=(ca|0)){Ke(x,5);ca=$>>>7;if(!ca){da=$;ea=0}else{ba=$;_=ca;ca=0;while(1){a[u+ca>>0]=ba|128;aa=ca+1|0;r=_>>>7;if(!r){da=_;ea=aa;break}else{Z=_;_=r;ca=aa;ba=Z}}}a[u+ea>>0]=da&127;ni(x,u,ea+1|0,12675,0);ea=x+12|0;da=0;do{ba=c[(c[W>>2]|0)+((c[q>>2]|0)+da<<2)>>2]|0;ca=c[ea>>2]|0;if(ca|0){c[p>>2]=14031;c[p+4>>2]=da;mi(ca,12563,p)}Ie(x,ba+8|0);da=da+1|0}while((da|0)!=($|0));Le(x)}$=d+60|0;da=(c[d+64>>2]|0)-(c[$>>2]|0)>>2;p=d+44|0;ea=c[p>>2]|0;q=da-ea|0;if((da|0)!=(ea|0)){Ke(x,6);ea=q>>>7;if(!ea){fa=q;ga=0}else{da=q;W=ea;ea=0;while(1){a[u+ea>>0]=da|128;ba=ea+1|0;ca=W>>>7;if(!ca){fa=W;ga=ba;break}else{_=W;W=ca;ea=ba;da=_}}}a[u+ga>>0]=fa&127;ni(x,u,ga+1|0,12688,0);ga=0;do{fa=c[(c[$>>2]|0)+((c[p>>2]|0)+ga<<2)>>2]|0;He(x,c[fa+8>>2]|0);a[u>>0]=a[fa+12>>0]|0;ni(x,u,1,18618,0);da=c[fa+16>>2]|0;if(da|0){fa=da;do{Me(x,d,0,fa);fa=c[fa+20>>2]|0}while((fa|0)!=0)}Zh();fa=c[7801]|0;a[u>>0]=11;ni(x,u,1,fa,0);ga=ga+1|0}while((ga|0)!=(q|0));Le(x)}q=d+84|0;ga=d+88|0;if((c[ga>>2]|0)!=(c[q>>2]|0)){Ke(x,7);p=(c[ga>>2]|0)-(c[q>>2]|0)>>2;$=p>>>7;if(!$){ha=p;ia=0}else{fa=p;p=$;$=0;while(1){a[u+$>>0]=fa|128;da=$+1|0;ea=p>>>7;if(!ea){ha=p;ia=da;break}else{W=p;p=ea;$=da;fa=W}}}a[u+ia>>0]=ha&127;ni(x,u,ia+1|0,12872,0);ia=c[q>>2]|0;q=c[ga>>2]|0;b:do if((ia|0)!=(q|0)){ga=ia;while(1){ha=c[ga>>2]|0;fa=c[ha>>2]|0;$=c[ha+4>>2]|0;p=$>>>7;if(!p){ja=$;ka=0}else{W=$;da=p;p=0;while(1){a[u+p>>0]=W|128;ea=p+1|0;_=da>>>7;if(!_){ja=da;ka=ea;break}else{ba=da;da=_;p=ea;W=ba}}}a[u+ka>>0]=ja&127;ni(x,u,ka+1|0,16703,0);ni(x,fa,$,12884,1);W=ha+8|0;a[u>>0]=c[W>>2];ni(x,u,1,12896,0);switch(c[W>>2]|0){case 0:{W=kc(d,ha+16|0)|0;p=W>>>7;if(!p){la=W;ma=0}else{da=W;W=p;p=0;while(1){a[u+p>>0]=da|128;D=p+1|0;ba=W>>>7;if(!ba){la=W;ma=D;break}else{ea=W;W=ba;p=D;da=ea}}}a[u+ma>>0]=la&127;ni(x,u,ma+1|0,12908,0);break}case 1:{da=mc(d,ha+16|0)|0;p=da>>>7;if(!p){na=da;oa=0}else{W=da;da=p;p=0;while(1){a[u+p>>0]=W|128;$=p+1|0;fa=da>>>7;if(!fa){na=da;oa=$;break}else{ea=da;da=fa;p=$;W=ea}}}a[u+oa>>0]=na&127;ni(x,u,oa+1|0,12926,0);break}case 2:{W=nc(d,ha+16|0)|0;p=W>>>7;if(!p){pa=W;qa=0}else{da=W;W=p;p=0;while(1){a[u+p>>0]=da|128;ea=p+1|0;$=W>>>7;if(!$){pa=W;qa=ea;break}else{fa=W;W=$;p=ea;da=fa}}}a[u+qa>>0]=pa&127;ni(x,u,qa+1|0,12945,0);break}case 3:{da=lc(d,ha+16|0)|0;p=da>>>7;if(!p){ra=da;sa=0}else{W=da;da=p;p=0;while(1){a[u+p>>0]=W|128;fa=p+1|0;ea=da>>>7;if(!ea){ra=da;sa=fa;break}else{$=da;da=ea;p=fa;W=$}}}a[u+sa>>0]=ra&127;ni(x,u,sa+1|0,12965,0);break}default:{}}ga=ga+4|0;if((ga|0)==(q|0))break b}}while(0);Le(x)}q=c[d+156>>2]|0;if(q|0?(sa=kc(d,q)|0,(sa|0)!=-1):0){Ke(x,8);q=sa>>>7;if(!q){ta=sa;ua=0}else{ra=sa;sa=q;q=0;while(1){a[u+q>>0]=ra|128;qa=q+1|0;pa=sa>>>7;if(!pa){ta=sa;ua=qa;break}else{oa=sa;sa=pa;q=qa;ra=oa}}}a[u+ua>>0]=ta&127;ni(x,u,ua+1|0,12985,0);Le(x)}ua=d+120|0;ta=d+124|0;if((c[ta>>2]|0)!=(c[ua>>2]|0)){Ke(x,9);ra=(c[ta>>2]|0)-(c[ua>>2]|0)>>2;q=ra>>>7;if(!q){va=ra;wa=0}else{sa=ra;ra=q;q=0;while(1){a[u+q>>0]=sa|128;oa=q+1|0;qa=ra>>>7;if(!qa){va=ra;wa=oa;break}else{pa=ra;ra=qa;q=oa;sa=pa}}}a[u+wa>>0]=va&127;ni(x,u,wa+1|0,13002,0);wa=c[ua>>2]|0;if((c[ta>>2]|0)!=(wa|0)){va=x+12|0;sa=wa;wa=0;do{q=c[sa+(wa<<2)>>2]|0;ra=mc(d,q)|0;pa=c[va>>2]|0;if(pa|0){c[o>>2]=13020;c[o+4>>2]=wa;mi(pa,12563,o)}pa=ra>>>7;if(!pa){xa=ra;ya=0}else{oa=ra;ra=pa;pa=0;while(1){a[u+pa>>0]=oa|128;qa=pa+1|0;na=ra>>>7;if(!na){xa=ra;ya=qa;break}else{ma=ra;ra=na;pa=qa;oa=ma}}}a[u+ya>>0]=xa&127;ni(x,u,ya+1|0,13040,0);oa=c[q+32>>2]|0;if(oa|0){pa=oa;do{Me(x,d,0,pa);pa=c[pa+20>>2]|0}while((pa|0)!=0)}Zh();pa=c[7801]|0;a[u>>0]=11;ni(x,u,1,pa,0);pa=q+36|0;oa=q+40|0;ra=(c[oa>>2]|0)-(c[pa>>2]|0)>>5;ma=ra>>>7;if(!ma){za=ra;Aa=0}else{qa=ra;ra=ma;ma=0;while(1){a[u+ma>>0]=qa|128;na=ma+1|0;la=ra>>>7;if(!la){za=ra;Aa=na;break}else{ka=ra;ra=la;ma=na;qa=ka}}}a[u+Aa>>0]=za&127;ni(x,u,Aa+1|0,13052,0);qa=c[pa>>2]|0;ma=c[oa>>2]|0;if((qa|0)!=(ma|0)){ra=qa;do{Ne(x,kc(d,ra)|0,17022,0);ra=ra+32|0}while((ra|0)!=(ma|0))}wa=wa+1|0;sa=c[ua>>2]|0}while(wa>>>0<(c[ta>>2]|0)-sa>>2>>>0)}Le(x)}if(U){Ke(x,10);U=V>>>7;if(!U){Ba=V;Ca=0}else{sa=V;ta=U;U=0;while(1){a[u+U>>0]=sa|128;wa=U+1|0;ua=ta>>>7;if(!ua){Ba=ta;Ca=wa;break}else{Aa=ta;ta=ua;U=wa;sa=Aa}}}a[u+Ca>>0]=Ba&127;ni(x,u,Ca+1|0,12621,0);Ca=x+12|0;Ba=x+4|0;sa=u+1|0;U=u+2|0;ta=u+3|0;Aa=u+4|0;wa=0;do{ua=c[Ca>>2]|0;if(ua|0){c[n>>2]=13073;c[n+4>>2]=wa;mi(ua,12563,n)}ua=c[(c[z>>2]|0)+((c[X>>2]|0)+wa<<2)>>2]|0;a[u>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;a[u+3>>0]=0;a[u+4>>0]=0;za=c[Ba>>2]|0;ni(x,u,a[(c[b>>2]|0)+4>>0]|0?1:5,13087,0);ya=ua+72|0;xa=ua+76|0;o=c[xa>>2]|0;va=c[ya>>2]|0;ma=va;if((o|0)!=(va|0)){ra=(c[ua+52>>2]|0)-(c[ua+48>>2]|0)>>2;oa=ra+1|0;pa=ra+(o-va>>2)|0;if(oa>>>0<pa>>>0){va=c[ma>>2]|0;o=oa;qa=1;while(1){q=va;va=c[ma+(o-ra<<2)>>2]|0;ka=((q|0)!=(va|0)&1)+qa|0;o=o+1|0;if((o|0)==(pa|0)){Da=ka;break}else qa=ka}qa=Da>>>7;if(!qa){Ea=Da;Fa=0}else{pa=Da;o=qa;qa=0;while(1){a[u+qa>>0]=pa|128;va=qa+1|0;ma=o>>>7;if(!ma){Ea=o;Fa=va;break}else{ka=o;o=ma;qa=va;pa=ka}}}}else{Ea=1;Fa=0}a[u+Fa>>0]=Ea&127;ni(x,u,Fa+1|0,13110,0);pa=c[ya>>2]|0;qa=c[xa>>2]|0;o=pa;ka=(qa-o>>2)+ra|0;if(oa>>>0<=ka>>>0){va=o;o=qa;qa=ka;ka=pa;ma=c[pa>>2]|0;pa=oa;q=1;while(1){if((pa|0)==(qa|0))Ga=-64;else Ga=c[ka+(pa-ra<<2)>>2]|0;if((ma|0)==(Ga|0)){Ha=va;Ia=o;Ja=ma;Ka=q+1|0}else{na=q>>>7;if(!na){La=q;Ma=0}else{la=q;ja=na;na=0;while(1){a[u+na>>0]=la|128;ia=na+1|0;ga=ja>>>7;if(!ga){La=ja;Ma=ia;break}else{W=ja;ja=ga;na=ia;la=W}}}a[u+Ma>>0]=La&127;ni(x,u,Ma+1|0,23351,0);He(x,ma);Ha=c[ya>>2]|0;Ia=c[xa>>2]|0;Ja=Ga;Ka=1}pa=pa+1|0;qa=(Ia-Ha>>2)+ra|0;if(pa>>>0>qa>>>0)break;else{va=Ha;o=Ia;ka=Ha;ma=Ja;q=Ka}}}}else{a[u>>0]=0;ni(x,u,1,13110,0)}q=c[ua+124>>2]|0;if(q|0){ma=q;do{Me(x,d,ua,ma);ma=c[ma+20>>2]|0}while((ma|0)!=0)}Zh();ma=c[7801]|0;a[u>>0]=11;ni(x,u,1,ma,0);ma=(c[Ba>>2]|0)-za|0;if(!(a[(c[b>>2]|0)+4>>0]|0)){ua=ma+-5|0;a[u>>0]=ua|128;a[sa>>0]=ua>>>7|128;a[U>>0]=ua>>>14|128;a[ta>>0]=ua>>>21|128;a[Aa>>0]=ua>>>28;ki(x,za,u,5,13127,0)}else{ua=ma+-1|0;ma=ua;q=0;while(1){ma=ma>>>7;ka=q+1|0;if(!ma){Na=ka;Oa=q;break}else q=ka}if(Oa|0)oi(x,Na+za|0,za+1|0,ua);q=ua>>>7;if(!q){Pa=ua;Qa=0}else{ma=ua;ka=q;q=0;while(1){a[u+q>>0]=ma|128;o=q+1|0;va=ka>>>7;if(!va){Pa=ka;Qa=o;break}else{qa=ka;ka=va;q=o;ma=qa}}}a[u+Qa>>0]=Pa&127;ki(x,za,u,Qa+1|0,13127,0);ji(x,Oa)}wa=wa+1|0}while((wa|0)!=(V|0));Le(x)}V=d+144|0;wa=d+148|0;if((c[wa>>2]|0)!=(c[V>>2]|0)){Ke(x,11);Oa=(c[wa>>2]|0)-(c[V>>2]|0)>>2;Qa=Oa>>>7;if(!Qa){Ra=Oa;Sa=0}else{Pa=Oa;Oa=Qa;Qa=0;while(1){a[u+Qa>>0]=Pa|128;Na=Qa+1|0;Aa=Oa>>>7;if(!Aa){Ra=Oa;Sa=Na;break}else{ta=Oa;Oa=Aa;Qa=Na;Pa=ta}}}a[u+Sa>>0]=Ra&127;ni(x,u,Sa+1|0,13148,0);Sa=c[V>>2]|0;if((c[wa>>2]|0)!=(Sa|0)){Ra=x+12|0;Pa=Sa;Sa=0;do{Qa=c[Pa+(Sa<<2)>>2]|0;Oa=c[Ra>>2]|0;if(Oa|0){c[m>>2]=13166;c[m+4>>2]=Sa;mi(Oa,12563,m)}Oa=nc(d,Qa)|0;ta=Oa>>>7;if(!ta){Ta=Oa;Ua=0}else{Na=Oa;Oa=ta;ta=0;while(1){a[u+ta>>0]=Na|128;Aa=ta+1|0;U=Oa>>>7;if(!U){Ta=Oa;Ua=Aa;break}else{sa=Oa;Oa=U;ta=Aa;Na=sa}}}a[u+Ua>>0]=Ta&127;ni(x,u,Ua+1|0,13186,0);Na=c[Qa+32>>2]|0;if(Na|0){ta=Na;do{Me(x,d,0,ta);ta=c[ta+20>>2]|0}while((ta|0)!=0)}Zh();ta=c[7801]|0;a[u>>0]=11;ni(x,u,1,ta,0);ta=Qa+40|0;Na=c[ta>>2]|0;Oa=Na>>>7;if(!Oa){Va=Na;Wa=0}else{za=Na;Na=Oa;Oa=0;while(1){a[u+Oa>>0]=za|128;sa=Oa+1|0;Aa=Na>>>7;if(!Aa){Va=Na;Wa=sa;break}else{U=Na;Na=Aa;Oa=sa;za=U}}}a[u+Wa>>0]=Va&127;ni(x,u,Wa+1|0,13199,0);za=c[Ra>>2]|0;if(za|0){c[l>>2]=23758;c[l+4>>2]=Sa;mi(za,12563,l)}ni(x,c[Qa+36>>2]|0,c[ta>>2]|0,23758,0);Sa=Sa+1|0;Pa=c[V>>2]|0}while(Sa>>>0<(c[wa>>2]|0)-Pa>>2>>>0)}Le(x)}Pa=c[b>>2]|0;if(!(a[Pa+6>>0]|0))Xa=Pa;else{c[v>>2]=0;Pa=v+4|0;c[Pa>>2]=0;c[v+8>>2]=0;Pe(x,16778);wa=c[z>>2]|0;Sa=c[E>>2]|0;if((wa|0)!=(Sa|0)){V=wa;wa=0;while(1){l=((c[(c[V>>2]|0)+4>>2]|0)!=0&1)+wa|0;V=V+4|0;if((V|0)==(Sa|0)){Ya=l;break}else wa=l}if(Ya){a[u>>0]=1;ni(x,u,1,13270,0);c[x+56>>2]=1;a[u>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;a[u+3>>0]=0;a[u+4>>0]=0;wa=x+4|0;Sa=c[wa>>2]|0;ni(x,u,a[(c[b>>2]|0)+4>>0]|0?1:5,13289,0);c[x+52>>2]=Sa;c[x+60>>2]=c[wa>>2];wa=Ya>>>7;if(!wa){Za=Ya;_a=0}else{Sa=Ya;Ya=wa;wa=0;while(1){a[u+wa>>0]=Sa|128;V=wa+1|0;l=Ya>>>7;if(!l){Za=Ya;_a=V;break}else{Ra=Ya;Ya=l;wa=V;Sa=Ra}}}a[u+_a>>0]=Za&127;ni(x,u,_a+1|0,12621,0);_a=c[E>>2]|0;Za=c[z>>2]|0;if((_a|0)!=(Za|0)){Sa=_a;_a=Za;Za=0;while(1){wa=c[_a+(Za<<2)>>2]|0;Ya=wa+4|0;if(!(c[Ya>>2]|0)){$a=_a;ab=Sa}else{Ra=Za>>>7;if(!Ra){bb=Za;cb=0}else{V=Za;l=Ra;Ra=0;while(1){a[u+Ra>>0]=V|128;Wa=Ra+1|0;Va=l>>>7;if(!Va){bb=l;cb=Wa;break}else{d=l;l=Va;Ra=Wa;V=d}}}a[u+cb>>0]=bb&127;ni(x,u,cb+1|0,17022,0);c[k>>2]=Za;em(w,100,13335,k)|0;V=c[wa>>2]|0;Ra=c[Ya>>2]|0;l=Ra>>>7;if(!l){db=Ra;eb=0}else{ta=Ra;Qa=l;l=0;while(1){a[u+l>>0]=ta|128;d=l+1|0;Wa=Qa>>>7;if(!Wa){db=Qa;eb=d;break}else{Va=Qa;Qa=Wa;l=d;ta=Va}}}a[u+eb>>0]=db&127;ni(x,u,eb+1|0,16703,0);ni(x,V,Ra,w,1);$a=c[z>>2]|0;ab=c[E>>2]|0}Za=Za+1|0;if(Za>>>0>=ab-$a>>2>>>0)break;else{Sa=ab;_a=$a}}}Qe(x);fb=u}else gb=172}else gb=172;if((gb|0)==172)fb=u;a[fb>>0]=2;ni(x,fb,1,13349,0);c[x+56>>2]=1;a[fb>>0]=0;a[fb+1>>0]=0;a[fb+2>>0]=0;a[fb+3>>0]=0;a[fb+4>>0]=0;gb=x+4|0;$a=c[gb>>2]|0;ni(x,fb,a[(c[b>>2]|0)+4>>0]|0?1:5,13289,0);c[x+52>>2]=$a;c[x+60>>2]=c[gb>>2];gb=(c[E>>2]|0)-(c[z>>2]|0)>>2;$a=gb>>>7;if(!$a){hb=gb;ib=0}else{_a=gb;gb=$a;$a=0;while(1){a[u+$a>>0]=_a|128;ab=$a+1|0;Sa=gb>>>7;if(!Sa){hb=gb;ib=ab;break}else{Za=gb;gb=Sa;$a=ab;_a=Za}}}a[u+ib>>0]=hb&127;ni(x,fb,ib+1|0,12621,0);ib=c[z>>2]|0;if((c[E>>2]|0)!=(ib|0)){hb=ib;ib=0;do{_a=c[hb+(ib<<2)>>2]|0;$a=_a+48|0;gb=(c[_a+52>>2]|0)-(c[$a>>2]|0)>>2;Za=_a+72|0;ab=(c[_a+76>>2]|0)-(c[Za>>2]|0)>>2;Sa=ab+gb|0;eb=ib>>>7;if(!eb){jb=ib;kb=0}else{db=ib;k=eb;eb=0;while(1){a[u+eb>>0]=db|128;cb=eb+1|0;bb=k>>>7;if(!bb){jb=k;kb=cb;break}else{ta=k;k=bb;eb=cb;db=ta}}}a[u+kb>>0]=jb&127;ni(x,fb,kb+1|0,17022,0);db=Sa>>>7;if(!db){lb=Sa;mb=0}else{eb=Sa;k=db;db=0;while(1){a[u+db>>0]=eb|128;Ra=db+1|0;V=k>>>7;if(!V){lb=k;mb=Ra;break}else{ta=k;k=V;db=Ra;eb=ta}}}a[u+mb>>0]=lb&127;ni(x,fb,mb+1|0,13365,0);wc($a,_a+84|0,v);if(gb|0){eb=0;do{db=c[v>>2]|0;k=db+(eb*12|0)|0;c[j>>2]=eb;em(w,100,13376,j)|0;Sa=eb>>>7;if(!Sa){nb=eb;ob=0}else{ta=eb;Ra=Sa;Sa=0;while(1){a[u+Sa>>0]=ta|128;V=Sa+1|0;cb=Ra>>>7;if(!cb){nb=Ra;ob=V;break}else{bb=Ra;Ra=cb;Sa=V;ta=bb}}}a[u+ob>>0]=nb&127;ni(x,fb,ob+1|0,12850,0);ta=a[k>>0]|0;if(!(ta&1)){pb=(ta&255)>>>1;qb=k+1|0}else{pb=c[db+(eb*12|0)+4>>2]|0;qb=c[db+(eb*12|0)+8>>2]|0}ta=pb>>>7;if(!ta){rb=pb;sb=0}else{Sa=pb;Ra=ta;ta=0;while(1){a[u+ta>>0]=Sa|128;bb=ta+1|0;V=Ra>>>7;if(!V){rb=Ra;sb=bb;break}else{cb=Ra;Ra=V;ta=bb;Sa=cb}}}a[u+sb>>0]=rb&127;ni(x,fb,sb+1|0,16703,0);ni(x,qb,pb,w,1);eb=eb+1|0}while(eb>>>0<gb>>>0)}wc(Za,_a+104|0,v);if(ab|0){eb=0;do{$a=c[v>>2]|0;Sa=$a+(eb*12|0)|0;ta=eb+gb|0;c[h>>2]=ta;em(w,100,13376,h)|0;Ra=ta>>>7;if(!Ra){tb=ta;ub=0}else{db=ta;ta=Ra;Ra=0;while(1){a[u+Ra>>0]=db|128;k=Ra+1|0;cb=ta>>>7;if(!cb){tb=ta;ub=k;break}else{bb=ta;ta=cb;Ra=k;db=bb}}}a[u+ub>>0]=tb&127;ni(x,fb,ub+1|0,12850,0);db=a[Sa>>0]|0;if(!(db&1)){vb=(db&255)>>>1;wb=Sa+1|0}else{vb=c[$a+(eb*12|0)+4>>2]|0;wb=c[$a+(eb*12|0)+8>>2]|0}db=vb>>>7;if(!db){xb=vb;yb=0}else{Ra=vb;ta=db;db=0;while(1){a[u+db>>0]=Ra|128;bb=db+1|0;k=ta>>>7;if(!k){xb=ta;yb=bb;break}else{cb=ta;ta=k;db=bb;Ra=cb}}}a[u+yb>>0]=xb&127;ni(x,fb,yb+1|0,16703,0);ni(x,wb,vb,w,1);eb=eb+1|0}while(eb>>>0<ab>>>0)}ib=ib+1|0;hb=c[z>>2]|0}while(ib>>>0<(c[E>>2]|0)-hb>>2>>>0)}Qe(x);Le(x);hb=c[v>>2]|0;if(hb|0){E=c[Pa>>2]|0;if((E|0)==(hb|0))zb=hb;else{ib=E;do{E=ib+-12|0;c[Pa>>2]=E;kn(E);ib=c[Pa>>2]|0}while((ib|0)!=(hb|0));zb=c[v>>2]|0}Bn(zb)}Xa=c[b>>2]|0}if(a[Xa+5>>0]|0?(Xa=c[e>>2]|0,e=c[x+24>>2]|0,(Xa|0)!=(e|0)):0){b=Xa;do{Xa=c[b>>2]|0;c[g>>2]=17370;c[g+4>>2]=Xa;em(v,128,13391,g)|0;Pe(x,v);Xa=c[b+4>>2]|0;zb=Xa>>>7;if(!zb){Ab=Xa;Bb=0}else{hb=Xa;Xa=zb;zb=0;while(1){a[u+zb>>0]=hb|128;ib=zb+1|0;Pa=Xa>>>7;if(!Pa){Ab=Xa;Bb=ib;break}else{E=Xa;Xa=Pa;zb=ib;hb=E}}}a[u+Bb>>0]=Ab&127;ni(x,u,Bb+1|0,13397,0);hb=b+8|0;zb=b+12|0;Xa=(c[zb>>2]|0)-(c[hb>>2]|0)>>4;E=Xa>>>7;if(!E){Cb=Xa;Db=0}else{ib=Xa;Xa=E;E=0;while(1){a[u+E>>0]=ib|128;Pa=E+1|0;z=Xa>>>7;if(!z){Cb=Xa;Db=Pa;break}else{w=Xa;Xa=z;E=Pa;ib=w}}}a[u+Db>>0]=Cb&127;ni(x,u,Db+1|0,13416,0);ib=c[hb>>2]|0;E=c[zb>>2]|0;if((ib|0)!=(E|0)){Xa=ib;do{ib=c[Xa>>2]|0;w=ib>>>7;if(!w){Eb=ib;Fb=0}else{Pa=ib;ib=w;w=0;while(1){a[u+w>>0]=Pa|128;z=w+1|0;vb=ib>>>7;if(!vb){Eb=ib;Fb=z;break}else{wb=ib;ib=vb;w=z;Pa=wb}}}a[u+Fb>>0]=Eb&127;ni(x,u,Fb+1|0,13427,0);Pa=c[Xa+4>>2]|0;w=Pa>>>7;if(!w){Gb=Pa;Hb=0}else{ib=Pa;Pa=w;w=0;while(1){a[u+w>>0]=ib|128;wb=w+1|0;z=Pa>>>7;if(!z){Gb=Pa;Hb=wb;break}else{vb=Pa;Pa=z;w=wb;ib=vb}}}a[u+Hb>>0]=Gb&127;ni(x,u,Hb+1|0,13438,0);ib=c[Xa+8>>2]|0;w=ib>>>7;if(!w){Ib=ib;Jb=0}else{Pa=ib;ib=w;w=0;while(1){a[u+w>>0]=Pa|128;vb=w+1|0;wb=ib>>>7;if(!wb){Ib=ib;Jb=vb;break}else{z=ib;ib=wb;w=vb;Pa=z}}}a[u+Jb>>0]=Ib&127;ni(x,u,Jb+1|0,13451,0);if(((c[Xa>>2]|0)+-3|0)>>>0<3){Pa=c[Xa+12>>2]|0;w=Pa>>>7;if(!w){Kb=Pa;Lb=0}else{ib=Pa;Pa=w;w=0;while(1){a[u+w>>0]=ib|128;z=w+1|0;vb=Pa>>>7;if(!vb){Kb=Pa;Lb=z;break}else{wb=Pa;Pa=vb;w=z;ib=wb}}}a[u+Lb>>0]=Kb&127;ni(x,u,Lb+1|0,13463,0)}Xa=Xa+16|0}while((Xa|0)!=(E|0))}Le(x);b=b+20|0}while((b|0)!=(e|0))}e=c[x+8>>2]|0;b=x+20|0;Lb=c[b>>2]|0;if(!Lb){i=f;return e|0}u=x+24|0;x=c[u>>2]|0;if((x|0)==(Lb|0))Mb=Lb;else{Kb=x;while(1){x=Kb+-20|0;c[u>>2]=x;Jb=c[Kb+-12>>2]|0;Ib=Jb;if(!Jb)Nb=x;else{x=Kb+-8|0;Hb=c[x>>2]|0;if((Hb|0)!=(Jb|0))c[x>>2]=Hb+(~((Hb+-16-Ib|0)>>>4)<<4);Bn(Jb);Nb=c[u>>2]|0}if((Nb|0)==(Lb|0))break;else Kb=Nb}Mb=c[b>>2]|0}Bn(Mb);i=f;return e|0}function Ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+112|0;f=e+8|0;g=e;h=e+12|0;c[g>>2]=c[1416+(d<<2)>>2];c[g+4>>2]=d;em(h,100,12484,g)|0;j=c[b+12>>2]|0;if(j|0){c[f>>2]=h;mi(j,12502,f)}a[g>>0]=d;ni(b,g,1,16506,0);c[b+44>>2]=d;c[b+40>>2]=1;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;a[g+4>>0]=0;d=b+4|0;f=c[d>>2]|0;ni(b,g,a[(c[b+16>>2]|0)+4>>0]|0?1:5,12508,0);c[b+36>>2]=f;c[b+48>>2]=c[d>>2];i=e;return}function Le(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;d=i;i=i+16|0;e=d;f=c[b+36>>2]|0;g=b+40|0;h=c[g>>2]|0;j=(c[b+4>>2]|0)-f|0;if(!(a[(c[b+16>>2]|0)+4>>0]|0)){k=j+-5|0;a[e>>0]=k|128;a[e+1>>0]=k>>>7|128;a[e+2>>0]=k>>>14|128;a[e+3>>0]=k>>>21|128;a[e+4>>0]=k>>>28;ki(b,f,e,5,12539,0);c[g>>2]=0;i=d;return}k=j-h|0;j=k;l=0;while(1){j=j>>>7;m=l+1|0;if(!j){n=m;break}else l=m}if((n|0)!=(h|0))oi(b,n+f|0,h+f|0,k);l=k>>>7;if(!l){o=k;p=0}else{j=k;k=l;l=0;while(1){a[e+l>>0]=j|128;m=l+1|0;q=k>>>7;if(!q){o=k;p=m;break}else{r=k;k=q;l=m;j=r}}}a[e+p>>0]=o&127;ki(b,f,e,p+1|0,12539,0);ji(b,n-h|0);c[g>>2]=0;i=d;return}function Me(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,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;g=i;i=i+16|0;h=g;do switch(c[f+16>>2]|0){case 0:{j=c[f+24>>2]|0;Zh();k=c[30984+(j*20|0)>>2]|0;a[h>>0]=j;ni(b,h,1,k,0);i=g;return}case 1:{Zh();k=c[7756]|0;a[h>>0]=2;ni(b,h,1,k,0);k=f+24|0;j=c[k>>2]|0;l=c[j+8>>2]|0;switch((c[j+12>>2]|0)-l>>2|0){case 0:{a[h>>0]=64;ni(b,h,1,24310,0);break}case 1:{He(b,c[l>>2]|0);break}default:{a[h>>0]=-1;ni(b,h,1,12700,0)}}l=c[(c[k>>2]|0)+20>>2]|0;if(l|0){k=l;do{Me(b,d,e,k);k=c[k+20>>2]|0}while((k|0)!=0)}Zh();k=c[7801]|0;a[h>>0]=11;ni(b,h,1,k,0);i=g;return}case 2:{Zh();k=c[7806]|0;a[h>>0]=12;ni(b,h,1,k,0);k=c[f+48>>2]|0;l=k>>>7;if(!l){m=k;n=0}else{j=k;k=l;l=0;while(1){a[h+l>>0]=j|128;o=l+1|0;p=k>>>7;if(!p){m=k;n=o;break}else{q=k;k=p;l=o;j=q}}}a[h+n>>0]=m&127;ni(b,h,n+1|0,12725,0);i=g;return}case 3:{Zh();j=c[7811]|0;a[h>>0]=13;ni(b,h,1,j,0);j=c[f+48>>2]|0;l=j>>>7;if(!l){r=j;s=0}else{k=j;j=l;l=0;while(1){a[h+l>>0]=k|128;q=l+1|0;o=j>>>7;if(!o){r=j;s=q;break}else{p=j;j=o;l=q;k=p}}}a[h+s>>0]=r&127;ni(b,h,s+1|0,12725,0);i=g;return}case 4:{Zh();k=c[7816]|0;a[h>>0]=14;ni(b,h,1,k,0);k=f+24|0;l=c[k>>2]|0;j=(c[l+4>>2]|0)-(c[l>>2]|0)>>5;l=j>>>7;if(!l){t=j;u=0}else{p=j;j=l;l=0;while(1){a[h+l>>0]=p|128;q=l+1|0;o=j>>>7;if(!o){t=j;u=q;break}else{v=j;j=o;l=q;p=v}}}a[h+u>>0]=t&127;ni(b,h,u+1|0,12737,0);p=c[k>>2]|0;l=c[p>>2]|0;j=c[p+4>>2]|0;if((l|0)!=(j|0)){p=l;do{l=c[p+24>>2]|0;v=l>>>7;if(!v){w=l;x=0}else{q=l;l=v;v=0;while(1){a[h+v>>0]=q|128;o=v+1|0;y=l>>>7;if(!y){w=l;x=o;break}else{z=l;l=y;v=o;q=z}}}a[h+x>>0]=w&127;ni(b,h,x+1|0,12725,0);p=p+32|0}while((p|0)!=(j|0))}j=c[f+56>>2]|0;p=j>>>7;if(!p){A=j;B=0}else{k=j;j=p;p=0;while(1){a[h+p>>0]=k|128;q=p+1|0;v=j>>>7;if(!v){A=j;B=q;break}else{l=j;j=v;p=q;k=l}}}a[h+B>>0]=A&127;ni(b,h,B+1|0,12749,0);i=g;return}case 5:{k=kc(d,f+24|0)|0;Zh();p=c[7826]|0;a[h>>0]=16;ni(b,h,1,p,0);Ne(b,k,17022,0);i=g;return}case 6:{k=oc(d,f+24|0)|0;Zh();p=c[7831]|0;a[h>>0]=17;ni(b,h,1,p,0);p=k>>>7;if(!p){D=k;E=0}else{j=k;k=p;p=0;while(1){a[h+p>>0]=j|128;l=p+1|0;q=k>>>7;if(!q){D=k;E=l;break}else{v=k;k=q;p=l;j=v}}}a[h+E>>0]=D&127;ni(b,h,E+1|0,12773,0);a[h>>0]=0;ni(b,h,1,22640,0);i=g;return}case 7:{j=c[f+24>>2]|0;Zh();p=c[30984+(j*20|0)>>2]|0;a[h>>0]=j;ni(b,h,1,p,0);i=g;return}case 8:{switch(c[f+40>>2]|0){case -1:{Zh();p=c[8071]|0;a[h>>0]=65;ni(b,h,1,p,0);p=c[f+48>>2]|0;j=p>>7;if((p|0)<0){if((j|0)!=-1|(p&64|0)==0){k=p;v=j;l=0;while(1){a[h+l>>0]=k|128;q=l+1|0;z=v>>7;if((z|0)!=-1|(v&64|0)==0){o=v;v=z;l=q;k=o}else{F=v;G=q;break}}}else{F=p;G=0}a[h+G>>0]=F&127;H=G}else{if(!(j|p&64)){I=p;J=0}else{v=p;k=j;l=0;while(1){a[h+l>>0]=v|128;q=l+1|0;o=k>>7;if(!(o|k&64)){I=k;J=q;break}else{z=k;k=o;l=q;v=z}}}a[h+J>>0]=I&127;H=J}ni(b,h,H+1|0,12789,0);i=g;return}case -2:{Zh();v=c[8076]|0;a[h>>0]=66;ni(b,h,1,v,0);v=f+48|0;l=c[v>>2]|0;k=c[v+4>>2]|0;v=l&255;j=eo(l|0,k|0,7)|0;p=C;if((k|0)<0){if((j|0)!=-1|(p|0)!=-1|(v&64)==0){k=l;z=j;q=p;o=0;while(1){a[h+o>>0]=k|128;y=o+1|0;K=z&255;L=eo(z|0,q|0,7)|0;q=C;if(!((L|0)!=-1|(q|0)!=-1|(K&64)==0)){M=K;N=y;break}else{K=z;z=L;o=y;k=K}}}else{M=v;N=0}a[h+N>>0]=M&127;O=N}else{if((j|0)==0&(p|0)==0&(v&64)==0){P=v;Q=0}else{k=l;o=j;z=p;q=0;while(1){a[h+q>>0]=k|128;K=q+1|0;y=o&255;L=eo(o|0,z|0,7)|0;z=C;if((L|0)==0&(z|0)==0&(y&64)==0){P=y;Q=K;break}else{y=o;o=L;q=K;k=y}}}a[h+Q>>0]=P&127;O=Q}ni(b,h,O+1|0,12801,0);i=g;return}case -3:{Zh();k=c[8081]|0;a[h>>0]=67;ni(b,h,1,k,0);c[h>>2]=c[f+48>>2];ni(b,h,4,12813,0);i=g;return}case -4:{Zh();k=c[8086]|0;a[h>>0]=68;ni(b,h,1,k,0);k=f+48|0;q=c[k+4>>2]|0;o=h;c[o>>2]=c[k>>2];c[o+4>>2]=q;ni(b,h,8,12825,0);i=g;return}default:{i=g;return}}break}case 9:{q=c[f+24>>2]|0;Zh();o=c[30984+(q*20|0)>>2]|0;a[h>>0]=q;ni(b,h,1,o,0);i=g;return}case 10:{Zh();o=c[8061]|0;a[h>>0]=63;ni(b,h,1,o,0);a[h>>0]=0;ni(b,h,1,22938,0);i=g;return}case 11:{Zh();o=c[7876]|0;a[h>>0]=26;ni(b,h,1,o,0);i=g;return}case 12:{o=lc(d,f+24|0)|0;Zh();q=c[7921]|0;a[h>>0]=35;ni(b,h,1,q,0);Ne(b,o,12837,7);i=g;return}case 13:{o=pc(e,f+24|0)|0;Zh();q=c[7906]|0;a[h>>0]=32;ni(b,h,1,q,0);q=o>>>7;if(!q){R=o;S=0}else{k=o;o=q;q=0;while(1){a[h+q>>0]=k|128;z=q+1|0;p=o>>>7;if(!p){R=o;S=z;break}else{j=o;o=p;q=z;k=j}}}a[h+S>>0]=R&127;ni(b,h,S+1|0,12850,0);i=g;return}case 14:{Zh();k=c[8066]|0;a[h>>0]=64;ni(b,h,1,k,0);a[h>>0]=0;ni(b,h,1,23038,0);i=g;return}case 15:{Zh();k=c[7766]|0;a[h>>0]=4;ni(b,h,1,k,0);k=f+24|0;q=c[k>>2]|0;o=c[q+8>>2]|0;switch((c[q+12>>2]|0)-o>>2|0){case 0:{a[h>>0]=64;ni(b,h,1,24310,0);break}case 1:{He(b,c[o>>2]|0);break}default:{a[h>>0]=-1;ni(b,h,1,12700,0)}}o=c[(c[k>>2]|0)+20>>2]|0;if(o|0){q=o;do{Me(b,d,e,q);q=c[q+20>>2]|0}while((q|0)!=0)}q=k+4|0;if(c[q>>2]|0?(Zh(),o=c[7771]|0,a[h>>0]=5,ni(b,h,1,o,0),o=c[q>>2]|0,o|0):0){q=o;do{Me(b,d,e,q);q=c[q+20>>2]|0}while((q|0)!=0)}Zh();q=c[7801]|0;a[h>>0]=11;ni(b,h,1,q,0);i=g;return}case 16:{q=f+24|0;k=c[q>>2]|0;Zh();o=c[30984+(k*20|0)>>2]|0;a[h>>0]=k;ni(b,h,1,o,0);o=_h(c[q>>2]|0,c[q+4>>2]|0)|0;if(o>>>0>1){q=o;o=0;while(1){k=o+1<<24>>24;if(q>>>0>3){q=q>>>1;o=k}else{T=k;break}}}else T=0;a[h>>0]=T;ni(b,h,1,12862,0);o=c[f+32>>2]|0;q=o>>>7;if(!q){U=o;V=0}else{k=o;o=q;q=0;while(1){a[h+q>>0]=k|128;j=q+1|0;z=o>>>7;if(!z){U=o;V=j;break}else{p=o;o=z;q=j;k=p}}}a[h+V>>0]=U&127;ni(b,h,V+1|0,22842,0);i=g;return}case 17:{Zh();k=c[7761]|0;a[h>>0]=3;ni(b,h,1,k,0);k=f+24|0;q=c[k>>2]|0;o=c[q+8>>2]|0;switch((c[q+12>>2]|0)-o>>2|0){case 0:{a[h>>0]=64;ni(b,h,1,24310,0);break}case 1:{He(b,c[o>>2]|0);break}default:{a[h>>0]=-1;ni(b,h,1,12700,0)}}o=c[(c[k>>2]|0)+20>>2]|0;if(o|0){k=o;do{Me(b,d,e,k);k=c[k+20>>2]|0}while((k|0)!=0)}Zh();k=c[7801]|0;a[h>>0]=11;ni(b,h,1,k,0);i=g;return}case 18:{Zh();k=c[7751]|0;a[h>>0]=1;ni(b,h,1,k,0);i=g;return}case 19:{Zh();k=c[7821]|0;a[h>>0]=15;ni(b,h,1,k,0);i=g;return}case 20:{Zh();k=c[7881]|0;a[h>>0]=27;ni(b,h,1,k,0);i=g;return}case 21:{k=lc(d,f+24|0)|0;Zh();o=c[7926]|0;a[h>>0]=36;ni(b,h,1,o,0);Ne(b,k,12837,7);i=g;return}case 22:{k=pc(e,f+24|0)|0;Zh();o=c[7911]|0;a[h>>0]=33;ni(b,h,1,o,0);o=k>>>7;if(!o){W=k;X=0}else{q=k;k=o;o=0;while(1){a[h+o>>0]=q|128;p=o+1|0;j=k>>>7;if(!j){W=k;X=p;break}else{z=k;k=j;o=p;q=z}}}a[h+X>>0]=W&127;ni(b,h,X+1|0,12850,0);i=g;return}case 23:{q=f+24|0;o=c[q>>2]|0;Zh();k=c[30984+(o*20|0)>>2]|0;a[h>>0]=o;ni(b,h,1,k,0);k=_h(c[q>>2]|0,c[q+4>>2]|0)|0;if(k>>>0>1){q=k;k=0;while(1){o=k+1<<24>>24;if(q>>>0>3){q=q>>>1;k=o}else{Y=o;break}}}else Y=0;a[h>>0]=Y;ni(b,h,1,12862,0);k=c[f+32>>2]|0;q=k>>>7;if(!q){Z=k;_=0}else{o=k;k=q;q=0;while(1){a[h+q>>0]=o|128;z=q+1|0;p=k>>>7;if(!p){Z=k;_=z;break}else{j=k;k=p;q=z;o=j}}}a[h+_>>0]=Z&127;ni(b,h,_+1|0,22897,0);i=g;return}case 24:{o=pc(e,f+24|0)|0;Zh();q=c[7916]|0;a[h>>0]=34;ni(b,h,1,q,0);q=o>>>7;if(!q){$=o;aa=0}else{k=o;o=q;q=0;while(1){a[h+q>>0]=k|128;j=q+1|0;z=o>>>7;if(!z){$=o;aa=j;break}else{p=o;o=z;q=j;k=p}}}a[h+aa>>0]=$&127;ni(b,h,aa+1|0,12850,0);i=g;return}case 25:{k=c[f+24>>2]|0;Zh();q=c[30984+(k*20|0)>>2]|0;a[h>>0]=k;ni(b,h,1,q,0);i=g;return}case 26:{Zh();q=c[7746]|0;a[h>>0]=0;ni(b,h,1,q,0);i=g;return}default:{i=g;return}}while(0)}function Ne(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;g=i;i=i+16|0;h=g+8|0;j=g+4|0;k=g;if(!(a[(c[b+16>>2]|0)+5>>0]|0)){l=d>>>7;if(!l){m=d;n=0}else{o=d;p=l;l=0;while(1){a[h+l>>0]=o|128;q=l+1|0;r=p>>>7;if(!r){m=p;n=q;break}else{s=p;p=r;l=q;o=s}}}a[h+n>>0]=m&127;ni(b,h,n+1|0,e,0);i=g;return}c[h>>2]=f;c[j>>2]=d;n=b+32|0;m=c[n>>2]|0;if(m){o=b+44|0;l=c[o>>2]|0;if((c[m+4>>2]|0)==(l|0))t=m;else{u=o;v=l;w=5}}else{l=b+44|0;u=l;v=c[l>>2]|0;w=5}if((w|0)==5){l=b+20|0;o=c[1416+(v<<2)>>2]|0;m=b+24|0;p=c[m>>2]|0;s=b+28|0;q=c[s>>2]|0;r=q;if(p>>>0>=q>>>0){q=c[l>>2]|0;x=((p-q|0)/20|0)+1|0;if(x>>>0>214748364)sn(l);y=q;z=(r-q|0)/20|0;if(z>>>0<107374182){r=z<<1;z=r>>>0<x>>>0?x:r;r=c[m>>2]|0;x=(r-q|0)/20|0;A=r;if(!z){B=0;C=0;D=x;E=A}else{F=z;G=A;H=x;w=12}}else{x=c[m>>2]|0;F=214748364;G=x;H=(x-q|0)/20|0;w=12}if((w|0)==12){B=F;C=Un(F*20|0)|0;D=H;E=G}G=C+(D*20|0)|0;H=G;F=C+(B*20|0)|0;B=c[u>>2]|0;c[G>>2]=o;c[C+(D*20|0)+4>>2]=B;c[C+(D*20|0)+8>>2]=0;c[C+(D*20|0)+12>>2]=0;c[C+(D*20|0)+16>>2]=0;D=G+20|0;if((E|0)==(y|0)){I=H;J=q;K=y}else{q=E;E=G;G=H;while(1){H=q;q=q+-20|0;C=q;B=c[C+4>>2]|0;u=E+-20|0;c[u>>2]=c[C>>2];c[u+4>>2]=B;B=E+-12|0;u=H+-12|0;c[B>>2]=0;C=E+-8|0;c[C>>2]=0;c[E+-4>>2]=0;c[B>>2]=c[u>>2];B=H+-8|0;c[C>>2]=c[B>>2];C=H+-4|0;c[E+-4>>2]=c[C>>2];c[C>>2]=0;c[B>>2]=0;c[u>>2]=0;E=G+-20|0;u=E;if((q|0)==(y|0)){L=u;break}else G=u}I=L;J=c[l>>2]|0;K=c[m>>2]|0}c[l>>2]=I;c[m>>2]=D;c[s>>2]=F;F=J;if((K|0)!=(F|0)){s=K;do{K=c[s+-12>>2]|0;D=K;if(K|0){I=s+-8|0;l=c[I>>2]|0;if((l|0)!=(K|0))c[I>>2]=l+(~((l+-16-D|0)>>>4)<<4);Bn(K)}s=s+-20|0}while((s|0)!=(F|0))}if(J|0)Bn(J)}else{c[p>>2]=o;c[p+4>>2]=v;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[m>>2]=p+20}p=(c[m>>2]|0)+-20|0;c[n>>2]=p;t=p}p=(c[b+4>>2]|0)-(c[b+48>>2]|0)|0;c[k>>2]=p;n=t+12|0;m=c[n>>2]|0;if(m>>>0<(c[t+16>>2]|0)>>>0){Yh(m,f,p,d,0);c[n>>2]=(c[n>>2]|0)+16}else Oe(t+8|0,h,k,j);a[h>>0]=d|128;a[h+1>>0]=d>>>7|128;a[h+2>>0]=d>>>14|128;a[h+3>>0]=d>>>21|128;a[h+4>>0]=d>>>28;ni(b,h,5,e,0);i=g;return}function Oe(a,b,d,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,l=0,m=0,n=0,o=0,p=0,q=0;f=a+4|0;g=c[a>>2]|0;h=((c[f>>2]|0)-g>>4)+1|0;if(h>>>0>268435455)sn(a);i=a+8|0;j=(c[i>>2]|0)-g|0;if(j>>4>>>0<134217727){k=j>>3;j=k>>>0<h>>>0?h:k;k=(c[f>>2]|0)-g>>4;if(!j){l=0;m=0;n=k}else{o=j;p=k;q=6}}else{o=268435455;p=(c[f>>2]|0)-g>>4;q=6}if((q|0)==6){l=o;m=Un(o<<4)|0;n=p}p=m+(n<<4)|0;Yh(p,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,0);e=c[a>>2]|0;d=(c[f>>2]|0)-e|0;b=p+(0-(d>>4)<<4)|0;io(b|0,e|0,d|0)|0;c[a>>2]=b;c[f>>2]=p+16;c[i>>2]=m+(l<<4);if(!e)return;Bn(e);return}function Pe(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;e=i;i=i+112|0;f=e+8|0;g=e;h=e+12|0;c[g>>2]=d;em(h,100,13217,g)|0;j=c[b+12>>2]|0;if(j|0){c[f>>2]=h;mi(j,12502,f)}a[g>>0]=0;ni(b,g,1,13230,0);c[b+44>>2]=0;c[b+40>>2]=1;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;a[g+4>>0]=0;f=b+4|0;j=c[f>>2]|0;ni(b,g,a[(c[b+16>>2]|0)+4>>0]|0?1:5,12508,0);c[b+36>>2]=j;c[b+48>>2]=c[f>>2];f=wm(d)|0;j=f>>>7;if(!j){k=f;l=0}else{h=f;m=j;j=0;while(1){a[g+j>>0]=h|128;n=j+1|0;o=m>>>7;if(!o){k=m;l=n;break}else{p=m;m=o;j=n;h=p}}}a[g+l>>0]=k&127;ni(b,g,l+1|0,16703,0);ni(b,d,f,13250,1);i=e;return}function Qe(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;d=i;i=i+16|0;e=d;f=c[b+52>>2]|0;g=b+56|0;h=c[g>>2]|0;j=(c[b+4>>2]|0)-f|0;if(!(a[(c[b+16>>2]|0)+4>>0]|0)){k=j+-5|0;a[e>>0]=k|128;a[e+1>>0]=k>>>7|128;a[e+2>>0]=k>>>14|128;a[e+3>>0]=k>>>21|128;a[e+4>>0]=k>>>28;ki(b,f,e,5,13313,0);c[g>>2]=0;i=d;return}k=j-h|0;j=k;l=0;while(1){j=j>>>7;m=l+1|0;if(!j){n=m;break}else l=m}if((n|0)!=(h|0))oi(b,n+f|0,h+f|0,k);l=k>>>7;if(!l){o=k;p=0}else{j=k;k=l;l=0;while(1){a[e+l>>0]=j|128;m=l+1|0;q=k>>>7;if(!q){o=k;p=m;break}else{r=k;k=q;l=m;j=r}}}a[e+p>>0]=o&127;ki(b,f,e,p+1|0,13313,0);ji(b,n-h|0);c[g>>2]=0;i=d;return}function Re(a,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+48|0;h=g;c[h+4>>2]=0;c[h>>2]=872;c[h+8>>2]=e;c[h+12>>2]=f;f=h+16|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;f=tj(a,b,h,d)|0;c[h>>2]=872;d=c[h+20>>2]|0;if(!d){i=g;return f|0}b=h+24|0;h=c[b>>2]|0;if((h|0)!=(d|0))c[b>>2]=h+(~(((h+-12-d|0)>>>0)/12|0)*12|0);Bn(d);i=g;return f|0}function Se(a){a=a|0;var b=0,d=0;c[a>>2]=872;b=c[a+20>>2]|0;if(!b)return;d=a+24|0;a=c[d>>2]|0;if((a|0)!=(b|0))c[d>>2]=a+(~(((a+-12-b|0)>>>0)/12|0)*12|0);Bn(b);return}function Te(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=872;b=c[a+20>>2]|0;if(!b){Bn(a);return}d=a+24|0;e=c[d>>2]|0;if((e|0)!=(b|0))c[d>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);Bn(b);Bn(a);return}function Ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[(c[a+4>>2]|0)+8>>2]|0;g=c[a+8>>2]|0;a=c[(c[g>>2]|0)+8>>2]|0;jn(e,b,wm(b)|0);b=kb[a&127](g,f,e)|0;kn(e);i=d;return b|0}function Ve(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function We(a,b){a=a|0;b=b|0;return 0}function Xe(a){a=a|0;return 0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function _e(a){a=a|0;return 0}function $e(a,b){a=a|0;b=b|0;return 0}function af(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;d=c[a+12>>2]|0;a=d+96|0;e=d+104|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+100|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Un(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;Bn(h);return 0}function bf(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;b=i;i=i+16|0;h=b;j=a+12|0;a=yc(c[j>>2]|0)|0;c[a+16>>2]=4;k=Un(32)|0;nd(k);c[a+24>>2]=k;c[h>>2]=k;Ac(k+8|0,e,e+(d<<2)|0);Ac(k+20|0,g,g+(f<<2)|0);f=c[j>>2]|0;j=f+100|0;g=c[j>>2]|0;if((g|0)==(c[f+104>>2]|0)){Bc(f+96|0,h);i=b;return 0}else{c[g>>2]=k;c[j>>2]=(c[j>>2]|0)+4;i=b;return 0}return 0}function cf(a){a=a|0;return 0}function df(a,b){a=a|0;b=b|0;return 0}function ef(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;d=c[a+12>>2]|0;a=d+72|0;e=d+80|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+76|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Un(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;Bn(h);return 0}function ff(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;d=i;i=i+16|0;g=d;h=b+12|0;b=yc(c[h>>2]|0)|0;c[b+16>>2]=2;j=Un(24)|0;Cd(j);c[b+24>>2]=j;c[g>>2]=j;b=c[e>>2]|0;k=c[e+4>>2]|0;a:do if(!k)l=0;else{e=b;m=0;while(1){if(!(a[e>>0]|0)){l=m;break a}n=m+1|0;if(n>>>0<k>>>0){e=e+1|0;m=n}else{l=n;break}}}while(0);m=Wn(l+1|0)|0;io(m|0,b|0,l|0)|0;a[m+l>>0]=0;c[j>>2]=m;c[j+4>>2]=k;k=c[f>>2]|0;m=c[f+4>>2]|0;b:do if(!m)o=0;else{f=k;l=0;while(1){if(!(a[f>>0]|0)){o=l;break b}b=l+1|0;if(b>>>0<m>>>0){f=f+1|0;l=b}else{o=b;break}}}while(0);l=Wn(o+1|0)|0;io(l|0,k|0,o|0)|0;a[l+o>>0]=0;c[j+8>>2]=l;c[j+12>>2]=m;m=c[h>>2]|0;h=m+76|0;j=c[h>>2]|0;if((j|0)==(c[m+80>>2]|0)){qe(m+72|0,g);i=d;return 0}else{c[j>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+4;i=d;return 0}return 0}function gf(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,l=0,m=0,n=0;g=b+12|0;b=c[(c[(c[g>>2]|0)+72>>2]|0)+(d<<2)>>2]|0;c[b+16>>2]=0;d=Un(128)|0;qd(d);f=b+20|0;c[f>>2]=d;a[d+8>>0]=1;c[d+32>>2]=0;b=d+40|0;c[b>>2]=h;c[b+4>>2]=0;b=d+48|0;e=c[g>>2]|0;i=c[(c[e+96>>2]|0)+(h<<2)>>2]|0;h=i+8|0;if((b|0)==(h|0))j=e;else{Ac(b,c[h>>2]|0,c[i+12>>2]|0);Ac(d+60|0,c[i+20>>2]|0,c[i+24>>2]|0);j=c[g>>2]|0}i=j+52|0;d=c[i>>2]|0;if((d|0)==(c[j+56>>2]|0)){pe(j+48|0,f);k=c[g>>2]|0;l=k+32|0;m=c[l>>2]|0;n=m+1|0;c[l>>2]=n;return 0}else{c[d>>2]=c[f>>2];c[i>>2]=(c[i>>2]|0)+4;k=c[g>>2]|0;l=k+32|0;m=c[l>>2]|0;n=m+1|0;c[l>>2]=n;return 0}return 0}function hf(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,l=0;g=a+12|0;a=c[(c[(c[g>>2]|0)+72>>2]|0)+(b<<2)>>2]|0;c[a+16>>2]=1;b=Un(32)|0;ud(b);f=a+20|0;c[f>>2]=b;a=b+8|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[a+16>>2]=c[h+16>>2];c[a+20>>2]=c[h+20>>2];h=c[g>>2]|0;a=h+112|0;b=c[a>>2]|0;if((b|0)==(c[h+116>>2]|0)){le(h+108|0,f);i=c[g>>2]|0;j=i+36|0;k=c[j>>2]|0;l=k+1|0;c[j>>2]=l;return 0}else{c[b>>2]=c[f>>2];c[a>>2]=(c[a>>2]|0)+4;i=c[g>>2]|0;j=i+36|0;k=c[j>>2]|0;l=k+1|0;c[j>>2]=l;return 0}return 0}function jf(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;f=a+12|0;a=c[(c[(c[f>>2]|0)+72>>2]|0)+(b<<2)>>2]|0;c[a+16>>2]=2;b=Un(32)|0;Ad(b);e=a+20|0;c[e>>2]=b;a=b+8|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];c[a+16>>2]=c[g+16>>2];c[a+20>>2]=c[g+20>>2];g=c[f>>2]|0;a=g+136|0;b=c[a>>2]|0;if((b|0)==(c[g+140>>2]|0)){ne(g+132|0,e);h=c[f>>2]|0;i=h+40|0;j=c[i>>2]|0;k=j+1|0;c[i>>2]=k;return 0}else{c[b>>2]=c[e>>2];c[a>>2]=(c[a>>2]|0)+4;h=c[f>>2]|0;i=h+40|0;j=c[i>>2]|0;k=j+1|0;c[i>>2]=k;return 0}return 0}function kf(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,l=0,m=0;g=b+12|0;b=c[(c[(c[g>>2]|0)+72>>2]|0)+(d<<2)>>2]|0;c[b+16>>2]=3;d=Un(20)|0;sd(d);f=b+20|0;c[f>>2]=d;c[d+8>>2]=h;a[d+12>>0]=i&1;i=c[g>>2]|0;h=i+64|0;b=c[h>>2]|0;if((b|0)==(c[i+68>>2]|0)){je(i+60|0,f);j=c[g>>2]|0;k=j+44|0;l=c[k>>2]|0;m=l+1|0;c[k>>2]=m;return 0}else{c[b>>2]=d;c[h>>2]=(c[h>>2]|0)+4;j=c[g>>2]|0;k=j+44|0;l=c[k>>2]|0;m=l+1|0;c[k>>2]=m;return 0}return 0}function lf(a){a=a|0;return 0}function mf(a,b){a=a|0;b=b|0;return 0}function nf(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;d=c[a+12>>2]|0;a=d+48|0;e=(c[d+32>>2]|0)+b|0;b=d+56|0;f=c[a>>2]|0;if((c[b>>2]|0)-f>>2>>>0>=e>>>0)return 0;g=d+52|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!e)i=0;else i=Un(e<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[b>>2]=i+(e<<2);if(!f)return 0;Bn(h);return 0}function of(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;d=i;i=i+16|0;f=d;g=b+12|0;b=yc(c[g>>2]|0)|0;c[b+16>>2]=0;h=Un(128)|0;qd(h);c[b+24>>2]=h;c[f>>2]=h;a[h+8>>0]=1;c[h+32>>2]=0;b=h+40|0;c[b>>2]=e;c[b+4>>2]=0;b=h+48|0;j=c[g>>2]|0;k=c[(c[j+96>>2]|0)+(e<<2)>>2]|0;e=k+8|0;if((b|0)==(e|0))l=j;else{Ac(b,c[e>>2]|0,c[k+12>>2]|0);Ac(h+60|0,c[k+20>>2]|0,c[k+24>>2]|0);l=c[g>>2]|0}g=l+52|0;k=c[g>>2]|0;if((k|0)==(c[l+56>>2]|0)){pe(l+48|0,f);i=d;return 0}else{c[k>>2]=h;c[g>>2]=(c[g>>2]|0)+4;i=d;return 0}return 0}function pf(a){a=a|0;return 0}function qf(a,b){a=a|0;b=b|0;return 0}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;d=c[a+12>>2]|0;a=d+108|0;e=(c[d+36>>2]|0)+b|0;b=d+116|0;f=c[a>>2]|0;if((c[b>>2]|0)-f>>2>>>0>=e>>>0)return 0;g=d+112|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!e)i=0;else i=Un(e<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[b>>2]=i+(e<<2);if(!f)return 0;Bn(h);return 0}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;d=a+12|0;a=yc(c[d>>2]|0)|0;c[a+16>>2]=5;b=Un(32)|0;ud(b);f=a+24|0;c[f>>2]=b;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];e=c[d>>2]|0;d=e+112|0;a=c[d>>2]|0;if((a|0)==(c[e+116>>2]|0)){le(e+108|0,f);return 0}else{c[a>>2]=c[f>>2];c[d>>2]=(c[d>>2]|0)+4;return 0}return 0}function tf(a){a=a|0;return 0}function uf(a,b){a=a|0;b=b|0;return 0}function vf(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;d=c[a+12>>2]|0;a=d+132|0;e=(c[d+40>>2]|0)+b|0;b=d+140|0;f=c[a>>2]|0;if((c[b>>2]|0)-f>>2>>>0>=e>>>0)return 0;g=d+136|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!e)i=0;else i=Un(e<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[b>>2]=i+(e<<2);if(!f)return 0;Bn(h);return 0}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=a+12|0;a=yc(c[b>>2]|0)|0;c[a+16>>2]=7;e=Un(32)|0;Ad(e);f=a+24|0;c[f>>2]=e;a=e+8|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];c[a+20>>2]=c[d+20>>2];d=c[b>>2]|0;b=d+136|0;a=c[b>>2]|0;if((a|0)==(c[d+140>>2]|0)){ne(d+132|0,f);return 0}else{c[a>>2]=c[f>>2];c[b>>2]=(c[b>>2]|0)+4;return 0}return 0}function xf(a){a=a|0;return 0}function yf(a,b){a=a|0;b=b|0;return 0}function zf(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;d=c[a+12>>2]|0;a=d+60|0;e=(c[d+44>>2]|0)+b|0;b=d+68|0;f=c[a>>2]|0;if((c[b>>2]|0)-f>>2>>>0>=e>>>0)return 0;g=d+64|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!e)i=0;else i=Un(e<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[b>>2]=i+(e<<2);if(!f)return 0;Bn(h);return 0}function Af(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;d=b+12|0;b=yc(c[d>>2]|0)|0;c[b+16>>2]=1;g=Un(20)|0;sd(g);h=b+24|0;c[h>>2]=g;c[g+8>>2]=e;a[g+12>>0]=f&1;f=c[d>>2]|0;d=f+64|0;e=c[d>>2]|0;if((e|0)==(c[f+68>>2]|0)){je(f+60|0,h);return 0}else{c[e>>2]=g;c[d>>2]=(c[d>>2]|0)+4;return 0}return 0}function Bf(a,b){a=a|0;b=b|0;c[a+36>>2]=(c[(c[(c[a+12>>2]|0)+60>>2]|0)+(b<<2)>>2]|0)+16;return 0}function Cf(a,b){a=a|0;b=b|0;c[a+36>>2]=0;return 0}function Df(a,b){a=a|0;b=b|0;return 0}function Ef(a){a=a|0;return 0}function Ff(a,b){a=a|0;b=b|0;return 0}function Gf(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;d=c[a+12>>2]|0;a=d+84|0;e=d+92|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+88|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Un(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;Bn(h);return 0}function Hf(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;d=i;i=i+16|0;h=d;j=b+12|0;b=yc(c[j>>2]|0)|0;c[b+16>>2]=3;k=Un(48)|0;Ed(k);c[b+24>>2]=k;c[h>>2]=k;b=c[g>>2]|0;l=c[g+4>>2]|0;g=k;a:do if(!l)m=0;else{n=b;o=0;while(1){if(!(a[n>>0]|0)){m=o;break a}p=o+1|0;if(p>>>0<l>>>0){n=n+1|0;o=p}else{m=p;break}}}while(0);o=Wn(m+1|0)|0;io(o|0,b|0,m|0)|0;a[o+m>>0]=0;c[k>>2]=o;c[k+4>>2]=l;c[k+32>>2]=0;l=k+40|0;c[l>>2]=f;c[l+4>>2]=0;c[k+8>>2]=e;e=c[j>>2]|0;j=e+88|0;k=c[j>>2]|0;if((k|0)==(c[e+92>>2]|0)){ke(e+84|0,h);i=d;return 0}else{c[k>>2]=g;c[j>>2]=(c[j>>2]|0)+4;i=d;return 0}return 0}function If(a){a=a|0;return 0}function Jf(a,b){a=a|0;b=b|0;return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;a=yc(c[d>>2]|0)|0;c[a+16>>2]=9;c[a+40>>2]=0;e=a+48|0;c[e>>2]=b;c[e+4>>2]=0;c[(c[d>>2]|0)+156>>2]=a+24;return 0}function Lf(a){a=a|0;return 0}function Mf(a,b){a=a|0;b=b|0;return 0}function Nf(a,b){a=a|0;b=b|0;return 0}function Of(a,b){a=a|0;b=b|0;var d=0;d=c[(c[(c[a+12>>2]|0)+48>>2]|0)+(b<<2)>>2]|0;c[a+16>>2]=d;Pf(a,0,d+124|0);return 0}function Pf(a,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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;d=a+32|0;c[d>>2]=(c[d>>2]|0)+1;d=a+20|0;f=a+24|0;g=c[f>>2]|0;h=a+28|0;a=c[h>>2]|0;if(g>>>0<a>>>0){c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=0;c[f>>2]=g+12;return}i=c[d>>2]|0;j=((g-i|0)/12|0)+1|0;if(j>>>0>357913941)sn(d);g=(a-i|0)/12|0;if(g>>>0<178956970){a=g<<1;g=a>>>0<j>>>0?j:a;a=c[f>>2]|0;j=(a-i|0)/12|0;if(!g){k=0;l=0;m=j;n=a}else{o=g;p=a;q=j;r=8}}else{j=c[f>>2]|0;o=357913941;p=j;q=(j-i|0)/12|0;r=8}if((r|0)==8){k=o;l=Un(o*12|0)|0;m=q;n=p}p=l+(m*12|0)|0;c[p>>2]=b;c[l+(m*12|0)+4>>2]=e;c[l+(m*12|0)+8>>2]=0;m=n-i|0;n=p+(((m|0)/-12|0)*12|0)|0;e=i;io(n|0,e|0,m|0)|0;c[d>>2]=n;c[f>>2]=p+12;c[h>>2]=l+(k*12|0);if(!i)return;Bn(e);return}function Qf(a,b){a=a|0;b=b|0;return 0}function Rf(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;b=i;i=i+16|0;f=b;c[f>>2]=e;g=c[a+16>>2]|0;a=g+72|0;h=g+76|0;j=c[a>>2]|0;k=(c[h>>2]|0)-j|0;l=k>>2;m=l+d|0;n=g+80|0;if((c[n>>2]|0)-j>>2>>>0<m>>>0){if(!m)o=0;else o=Un(m<<2)|0;g=o+(l<<2)|0;p=g+(0-l<<2)|0;l=j;io(p|0,l|0,k|0)|0;c[a>>2]=p;c[h>>2]=g;c[n>>2]=o+(m<<2);if(j|0)Bn(l)}if(!d){i=b;return 0}else q=0;do{l=c[h>>2]|0;if((l|0)==(c[n>>2]|0))de(a,f);else{c[l>>2]=e;c[h>>2]=l+4}q=q+1|0}while((q|0)!=(d|0));i=b;return 0}function Sf(a,b){a=a|0;b=b|0;return 0}function Tf(a){a=a|0;return 0}function Uf(a,b){a=a|0;b=b|0;return 0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Xf(a,b){a=a|0;b=b|0;return 0}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=Oc(b)|0;b=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(b-g|0)/12|0;if((b|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,13562,e);if(!f){j=1;i=d;return j|0}Ec(f);Bn(f);j=1;i=d;return j|0}e=g;g=h+-1|0;h=c[e+(g*12|0)+4>>2]|0;a=e+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=f;c[h>>2]=f;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=f;c[a>>2]=f;j=0;i=d;return j|0}return 0}function $f(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+176|0;f=e+32|0;g=e+16|0;h=e;j=e+48|0;c[g>>2]=d;c[h>>2]=c[g>>2];d=(fm(j,128,b,g)|0)+1|0;if(d>>>0>128){g=i;i=i+((1*d|0)+15&-16)|0;fm(g,d,b,h)|0;k=g}else k=j;j=c[a+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;jn(f,k,wm(k)|0);kb[a&127](j,-1,f)|0;kn(f);i=e;return}function ag(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;e=i;i=i+16|0;f=e;g=Un(24)|0;Mc(g);h=Pc(g)|0;g=h+24|0;Ac((c[g>>2]|0)+8|0,d,d+(b<<2)|0);b=c[a+24>>2]|0;d=c[a+20>>2]|0;j=(b-d|0)/12|0;do if((b|0)==(d|0)){c[f>>2]=0;c[f+4>>2]=j;$f(a,13562,f);if(h|0){Ec(h);Bn(h)}}else{k=d;l=j+-1|0;m=c[k+(l*12|0)+4>>2]|0;n=k+(l*12|0)+8|0;if(!(c[m>>2]|0)){c[n>>2]=h;c[m>>2]=h;break}else{c[(c[n>>2]|0)+20>>2]=h;c[n>>2]=h;break}}while(0);Pf(a,1,(c[g>>2]|0)+20|0);i=e;return 0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=Qc(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=Rc(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}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;f=i;i=i+112|0;g=f+72|0;h=f+64|0;j=f+32|0;k=f;l=Un(12)|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;if(b|0){eg(l,b);m=0;do{n=(c[l>>2]|0)+(m<<5)|0;Hc(j,c[d+(m<<2)>>2]|0,0);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];m=m+1|0}while((m|0)!=(b|0))}Hc(k,e,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[g+20>>2]=c[k+20>>2];c[g+24>>2]=c[k+24>>2];c[g+28>>2]=c[k+28>>2];k=Sc(l,g)|0;g=c[a+24>>2]|0;l=c[a+20>>2]|0;e=(g-l|0)/12|0;if((g|0)==(l|0)){c[h>>2]=0;c[h+4>>2]=e;$f(a,13562,h);if(!k){o=1;i=f;return o|0}Ec(k);Bn(k);o=1;i=f;return o|0}h=l;l=e+-1|0;e=c[h+(l*12|0)+4>>2]|0;a=h+(l*12|0)+8|0;if(!(c[e>>2]|0)){c[a>>2]=k;c[e>>2]=k;o=0;i=f;return o|0}else{c[(c[a>>2]|0)+20>>2]=k;c[a>>2]=k;o=0;i=f;return o|0}return 0}function eg(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;d=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(e-g>>5>>>0>=b>>>0){h=b;i=g;do{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;i=(c[f>>2]|0)+32|0;c[f>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=c[a>>2]|0;i=(g-h>>5)+b|0;if(i>>>0>134217727)sn(a);g=e-h|0;if(g>>5>>>0<67108863){e=g>>4;g=e>>>0<i>>>0?i:e;e=(c[f>>2]|0)-h>>5;if(!g){j=0;k=0;l=e}else{m=g;n=e;o=9}}else{m=134217727;n=(c[f>>2]|0)-h>>5;o=9}if((o|0)==9){j=m;k=Un(m<<5)|0;l=n}n=k+(l<<5)|0;l=k+(j<<5)|0;j=b;b=n;k=n;while(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[b+24>>2]=0;c[b+28>>2]=0;b=k+32|0;m=b;j=j+-1|0;if(!j){p=m;break}else k=m}k=c[a>>2]|0;j=(c[f>>2]|0)-k|0;b=n+(0-(j>>5)<<5)|0;io(b|0,k|0,j|0)|0;c[a>>2]=b;c[f>>2]=p;c[d>>2]=l;if(!k)return;Bn(k);return}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=Tc(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=Uc(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=Vc(b)|0;b=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(b-g|0)/12|0;if((b|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,13562,e);if(!f){j=1;i=d;return j|0}Ec(f);Bn(f);j=1;i=d;return j|0}e=g;g=h+-1|0;h=c[e+(g*12|0)+4>>2]|0;a=e+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=f;c[h>>2]=f;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=f;c[a>>2]=f;j=0;i=d;return j|0}return 0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=Xc(b)|0;b=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(b-g|0)/12|0;if((b|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,13562,e);if(!f){j=1;i=d;return j|0}Ec(f);Bn(f);j=1;i=d;return j|0}e=g;g=h+-1|0;h=c[e+(g*12|0)+4>>2]|0;a=e+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=f;c[h>>2]=f;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=f;c[a>>2]=f;j=0;i=d;return j|0}return 0}function jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=Yc()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,13562,d);if(!e){j=1;i=b;return j|0}Ec(e);Bn(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function kg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=Zc()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,13562,d);if(!e){j=1;i=b;return j|0}Ec(e);Bn(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function lg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b+16|0;e=b;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,13562,e);j=1;i=b;return j|0}e=g;g=h+-1|0;f=e+(g*12|0)|0;if((c[f>>2]|0)!=3){$f(a,13600,b+8|0);j=1;i=b;return j|0}if(h>>>0>1){c[f>>2]=4;c[e+(g*12|0)+4>>2]=(c[e+((h+-2|0)*12|0)+8>>2]|0)+24+4;c[e+(g*12|0)+8>>2]=0;j=0;i=b;return j|0}else{c[d>>2]=1;c[d+4>>2]=h;$f(a,13562,d);j=1;i=b;return j|0}return 0}function mg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=a+24|0;e=c[d>>2]|0;if((e|0)==(c[a+20>>2]|0)){$f(a,13636,b);f=1;i=b;return f|0}else{g=a+32|0;c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=e+-12;f=0;i=b;return f|0}return 0}function ng(a){a=a|0;return 0}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+48|0;f=e+41|0;g=e+32|0;h=e;a[f>>0]=a[e+40>>0]|0;Kc(h,f,d);d=Wc(h)|0;h=c[b+24>>2]|0;f=c[b+20>>2]|0;j=(h-f|0)/12|0;if((h|0)==(f|0)){c[g>>2]=0;c[g+4>>2]=j;$f(b,13562,g);if(!d){k=1;i=e;return k|0}Ec(d);Bn(d);k=1;i=e;return k|0}g=f;f=j+-1|0;j=c[g+(f*12|0)+4>>2]|0;b=g+(f*12|0)+8|0;if(!(c[j>>2]|0)){c[b>>2]=d;c[j>>2]=d;k=0;i=e;return k|0}else{c[(c[b>>2]|0)+20>>2]=d;c[b>>2]=d;k=0;i=e;return k|0}return 0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+48|0;g=f+41|0;h=f+32|0;j=f;a[g>>0]=a[f+40>>0]|0;Lc(j,g,d,e);e=Wc(j)|0;j=c[b+24>>2]|0;d=c[b+20>>2]|0;g=(j-d|0)/12|0;if((j|0)==(d|0)){c[h>>2]=0;c[h+4>>2]=g;$f(b,13562,h);if(!e){k=1;i=f;return k|0}Ec(e);Bn(e);k=1;i=f;return k|0}h=d;d=g+-1|0;g=c[h+(d*12|0)+4>>2]|0;b=h+(d*12|0)+8|0;if(!(c[g>>2]|0)){c[b>>2]=e;c[g>>2]=e;k=0;i=f;return k|0}else{c[(c[b>>2]|0)+20>>2]=e;c[b>>2]=e;k=0;i=f;return k|0}return 0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=_c(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=$c(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function sg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=ad()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,13562,d);if(!e){j=1;i=b;return j|0}Ec(e);Bn(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function tg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+48|0;f=e+41|0;g=e+32|0;h=e;a[f>>0]=a[e+40>>0]|0;Ic(h,f,d);d=Wc(h)|0;h=c[b+24>>2]|0;f=c[b+20>>2]|0;j=(h-f|0)/12|0;if((h|0)==(f|0)){c[g>>2]=0;c[g+4>>2]=j;$f(b,13562,g);if(!d){k=1;i=e;return k|0}Ec(d);Bn(d);k=1;i=e;return k|0}g=f;f=j+-1|0;j=c[g+(f*12|0)+4>>2]|0;b=g+(f*12|0)+8|0;if(!(c[j>>2]|0)){c[b>>2]=d;c[j>>2]=d;k=0;i=e;return k|0}else{c[(c[b>>2]|0)+20>>2]=d;c[b>>2]=d;k=0;i=e;return k|0}return 0}function ug(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+48|0;g=f+41|0;h=f+32|0;j=f;a[g>>0]=a[f+40>>0]|0;Jc(j,g,d,e);e=Wc(j)|0;j=c[b+24>>2]|0;d=c[b+20>>2]|0;g=(j-d|0)/12|0;if((j|0)==(d|0)){c[h>>2]=0;c[h+4>>2]=g;$f(b,13562,h);if(!e){k=1;i=f;return k|0}Ec(e);Bn(e);k=1;i=f;return k|0}h=d;d=g+-1|0;g=c[h+(d*12|0)+4>>2]|0;b=h+(d*12|0)+8|0;if(!(c[g>>2]|0)){c[b>>2]=e;c[g>>2]=e;k=0;i=f;return k|0}else{c[(c[b>>2]|0)+20>>2]=e;c[b>>2]=e;k=0;i=f;return k|0}return 0}function vg(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;e=i;i=i+16|0;f=e;g=Un(24)|0;Mc(g);h=bd(g,0)|0;g=h+24|0;Ac((c[g>>2]|0)+8|0,d,d+(b<<2)|0);c[g+4>>2]=0;b=c[a+24>>2]|0;d=c[a+20>>2]|0;j=(b-d|0)/12|0;do if((b|0)==(d|0)){c[f>>2]=0;c[f+4>>2]=j;$f(a,13562,f);if(h|0){Ec(h);Bn(h)}}else{k=d;l=j+-1|0;m=c[k+(l*12|0)+4>>2]|0;n=k+(l*12|0)+8|0;if(!(c[m>>2]|0)){c[n>>2]=h;c[m>>2]=h;break}else{c[(c[n>>2]|0)+20>>2]=h;c[n>>2]=h;break}}while(0);Pf(a,3,(c[g>>2]|0)+20|0);i=e;return 0}function wg(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;h=cd(b,1<<d,e,0)|0;e=c[a+24>>2]|0;d=c[a+20>>2]|0;b=(e-d|0)/12|0;if((e|0)==(d|0)){c[g>>2]=0;c[g+4>>2]=b;$f(a,13562,g);if(!h){j=1;i=f;return j|0}Ec(h);Bn(h);j=1;i=f;return j|0}g=d;d=b+-1|0;b=c[g+(d*12|0)+4>>2]|0;a=g+(d*12|0)+8|0;if(!(c[b>>2]|0)){c[a>>2]=h;c[b>>2]=h;j=0;i=f;return j|0}else{c[(c[a>>2]|0)+20>>2]=h;c[a>>2]=h;j=0;i=f;return j|0}return 0}function xg(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;e=i;i=i+16|0;f=e;g=Un(24)|0;Mc(g);h=dd(g)|0;g=h+24|0;Ac((c[g>>2]|0)+8|0,d,d+(b<<2)|0);b=c[a+24>>2]|0;d=c[a+20>>2]|0;j=(b-d|0)/12|0;do if((b|0)==(d|0)){c[f>>2]=0;c[f+4>>2]=j;$f(a,13562,f);if(h|0){Ec(h);Bn(h)}}else{k=d;l=j+-1|0;m=c[k+(l*12|0)+4>>2]|0;n=k+(l*12|0)+8|0;if(!(c[m>>2]|0)){c[n>>2]=h;c[m>>2]=h;break}else{c[(c[n>>2]|0)+20>>2]=h;c[n>>2]=h;break}}while(0);Pf(a,2,(c[g>>2]|0)+20|0);i=e;return 0}function yg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=ed()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,13562,d);if(!e){j=1;i=b;return j|0}Ec(e);Bn(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function zg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=fd()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,13562,d);if(!e){j=1;i=b;return j|0}Ec(e);Bn(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function Ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=gd()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,13562,d);if(!e){j=1;i=b;return j|0}Ec(e);Bn(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=hd(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=id(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}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;f=i;i=i+16|0;g=f;h=jd(b,1<<d,e,0)|0;e=c[a+24>>2]|0;d=c[a+20>>2]|0;b=(e-d|0)/12|0;if((e|0)==(d|0)){c[g>>2]=0;c[g+4>>2]=b;$f(a,13562,g);if(!h){j=1;i=f;return j|0}Ec(h);Bn(h);j=1;i=f;return j|0}g=d;d=b+-1|0;b=c[g+(d*12|0)+4>>2]|0;a=g+(d*12|0)+8|0;if(!(c[b>>2]|0)){c[a>>2]=h;c[b>>2]=h;j=0;i=f;return j|0}else{c[(c[a>>2]|0)+20>>2]=h;c[a>>2]=h;j=0;i=f;return j|0}return 0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=kd(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,13562,f);if(!g){j=1;i=d;return j|0}Ec(g);Bn(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=ld(b)|0;b=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(b-g|0)/12|0;if((b|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,13562,e);if(!f){j=1;i=d;return j|0}Ec(f);Bn(f);j=1;i=d;return j|0}e=g;g=h+-1|0;h=c[e+(g*12|0)+4>>2]|0;a=e+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=f;c[h>>2]=f;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=f;c[a>>2]=f;j=0;i=d;return j|0}return 0}function Gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=md()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,13562,d);if(!e){j=1;i=b;return j|0}Ec(e);Bn(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=a+24|0;e=c[d>>2]|0;if((e|0)==(c[a+20>>2]|0)){$f(a,13636,b);f=1;i=b;return f|0}else{g=a+32|0;c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=e+-12;c[a+16>>2]=0;f=0;i=b;return f|0}return 0}function Ig(a){a=a|0;return 0}function Jg(a,b){a=a|0;b=b|0;return 0}function Kg(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;d=c[a+12>>2]|0;a=d+120|0;e=d+128|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+124|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Un(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;Bn(h);return 0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=a+12|0;a=yc(c[b>>2]|0)|0;c[a+16>>2]=6;e=Un(48)|0;wd(e);f=a+24|0;c[f>>2]=e;c[e+16>>2]=0;a=e+24|0;c[a>>2]=d;c[a+4>>2]=0;a=c[b>>2]|0;b=a+124|0;d=c[b>>2]|0;if((d|0)==(c[a+128>>2]|0)){me(a+120|0,f);return 0}else{c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+4;return 0}return 0}function Mg(a,b){a=a|0;b=b|0;c[a+36>>2]=(c[(c[(c[a+12>>2]|0)+120>>2]|0)+(b<<2)>>2]|0)+32;return 0}function Ng(a,b){a=a|0;b=b|0;c[a+36>>2]=0;return 0}function Og(a,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=c[(c[(c[a+12>>2]|0)+120>>2]|0)+(b<<2)>>2]|0;b=e+36|0;a=e+44|0;f=c[b>>2]|0;if((c[a>>2]|0)-f>>5>>>0>=d>>>0)return 0;g=e+40|0;e=(c[g>>2]|0)-f|0;h=e>>5;if(!d)i=0;else i=Un(d<<5)|0;j=i+(h<<5)|0;k=j+(0-h<<5)|0;h=f;io(k|0,h|0,e|0)|0;c[b>>2]=k;c[g>>2]=j;c[a>>2]=i+(d<<5);if(!f)return 0;Bn(h);return 0}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[(c[(c[a+12>>2]|0)+120>>2]|0)+(b<<2)>>2]|0;b=e+40|0;a=c[b>>2]|0;if(a>>>0<(c[e+44>>2]|0)>>>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[b>>2]|0)+32|0;c[b>>2]=a;f=a}else{Qg(e+36|0);f=c[b>>2]|0}c[f+-16>>2]=0;b=f+-8|0;c[b>>2]=d;c[b+4>>2]=0;return 0}function Qg(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;b=a+4|0;d=c[a>>2]|0;e=((c[b>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)sn(a);f=a+8|0;g=(c[f>>2]|0)-d|0;if(g>>5>>>0<67108863){h=g>>4;g=h>>>0<e>>>0?e:h;h=c[b>>2]|0;e=h-d>>5;if(!g){i=0;j=0;k=e;l=h}else{m=g;n=h;o=e;p=6}}else{e=c[b>>2]|0;m=134217727;n=e;o=e-d>>5;p=6}if((p|0)==6){i=m;j=Un(m<<5)|0;k=o;l=n}n=j+(k<<5)|0;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;k=l-d|0;l=n+(0-(k>>5)<<5)|0;io(l|0,d|0,k|0)|0;c[a>>2]=l;c[b>>2]=n+32;c[f>>2]=j+(i<<5);if(!d)return;Bn(d);return}function Rg(a,b){a=a|0;b=b|0;return 0}function Sg(a){a=a|0;return 0}function Tg(a,b){a=a|0;b=b|0;return 0}function Ug(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;d=c[a+12>>2]|0;a=d+144|0;e=d+152|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+148|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Un(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;io(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;Bn(h);return 0}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=a+12|0;a=yc(c[b>>2]|0)|0;c[a+16>>2]=8;e=Un(48)|0;yd(e);f=a+24|0;c[f>>2]=e;c[e+16>>2]=0;a=e+24|0;c[a>>2]=d;c[a+4>>2]=0;a=c[b>>2]|0;b=a+148|0;d=c[b>>2]|0;if((d|0)==(c[a+152>>2]|0)){oe(a+144|0,f);return 0}else{c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+4;return 0}return 0}function Wg(a,b){a=a|0;b=b|0;c[a+36>>2]=(c[(c[(c[a+12>>2]|0)+144>>2]|0)+(b<<2)>>2]|0)+32;return 0}function Xg(a,b){a=a|0;b=b|0;c[a+36>>2]=0;return 0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[(c[(c[a+12>>2]|0)+144>>2]|0)+(b<<2)>>2]|0;b=Wn(e)|0;c[f+36>>2]=b;c[f+40>>2]=e;io(b|0,d|0,e|0)|0;return 0}function Zg(a,b){a=a|0;b=b|0;return 0}function _g(a){a=a|0;return 0}function $g(a,b){a=a|0;b=b|0;return 0}function ah(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function bh(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;e=d;f=c[a+12>>2]|0;g=(c[f+52>>2]|0)-(c[f+48>>2]|0)>>2;if(g>>>0>=b>>>0){h=0;i=d;return h|0}c[e>>2]=b;c[e+4>>2]=g;$f(a,13662,e);h=1;i=d;return h|0}function ch(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;f=i;i=i+32|0;g=f+16|0;h=f;if($h(e)|0){i=f;return 0}j=b+12|0;b=c[j>>2]|0;k=e+4|0;jn(g,c[e>>2]|0,c[k>>2]|0);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;l=Un(40)|0;m=l+8|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;m=l+20|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];c[l+36>>2]=d;ge(b+160|0,l)|0;kn(g);g=c[(c[(c[j>>2]|0)+48>>2]|0)+(d<<2)>>2]|0;d=c[e>>2]|0;e=c[k>>2]|0;a:do if(!e)n=0;else{k=d;j=0;while(1){if(!(a[k>>0]|0)){n=j;break a}l=j+1|0;if(l>>>0<e>>>0){k=k+1|0;j=l}else{n=l;break}}}while(0);j=Wn(n+1|0)|0;io(j|0,d|0,n|0)|0;a[j+n>>0]=0;c[g>>2]=j;c[g+4>>2]=e;i=f;return 0}function dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function eh(a,b){a=a|0;b=b|0;return 0}function fh(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;g=c[(c[(c[a+12>>2]|0)+48>>2]|0)+(b<<2)>>2]|0;b=((c[g+76>>2]|0)-(c[g+72>>2]|0)>>2)+((c[g+52>>2]|0)-(c[g+48>>2]|0)>>2)|0;if(b>>>0>=d>>>0){h=0;i=e;return h|0}c[f>>2]=d;c[f+4>>2]=b;$f(a,13720,f);h=1;i=e;return h|0}function gh(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;g=f+16|0;h=f;if($h(e)|0){i=f;return 0}j=c[(c[(c[a+12>>2]|0)+48>>2]|0)+(b<<2)>>2]|0;b=(c[j+52>>2]|0)-(c[j+48>>2]|0)>>2;a=b>>>0>d>>>0;jn(g,c[e>>2]|0,c[e+4>>2]|0);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;e=Un(40)|0;k=e+8|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;k=e+20|0;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];c[e+36>>2]=d-(a?0:b);ge(a?j+84|0:j+104|0,e)|0;kn(g);i=f;return 0}function hh(a){a=a|0;return 0}function ih(a,b){a=a|0;b=b|0;return 0}function jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function kh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function lh(a){a=a|0;return 0}function mh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=i;i=i+48|0;f=d+33|0;g=d;a[f>>0]=a[d+32>>0]|0;Kc(g,f,e);e=Wc(g)|0;c[c[b+36>>2]>>2]=e;i=d;return 0}function nh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;d=i;i=i+48|0;g=d+33|0;h=d;a[g>>0]=a[d+32>>0]|0;Lc(h,g,e,f);f=Wc(h)|0;c[c[b+36>>2]>>2]=f;i=d;return 0}function oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=i;i=i+64|0;e=b+32|0;f=b;Hc(f,d,0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[e+16>>2]=c[f+16>>2];c[e+20>>2]=c[f+20>>2];c[e+24>>2]=c[f+24>>2];c[e+28>>2]=c[f+28>>2];f=_c(e)|0;c[c[a+36>>2]>>2]=f;i=b;return 0}function ph(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=i;i=i+48|0;f=d+33|0;g=d;a[f>>0]=a[d+32>>0]|0;Ic(g,f,e);e=Wc(g)|0;c[c[b+36>>2]>>2]=e;i=d;return 0}function qh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;d=i;i=i+48|0;g=d+33|0;h=d;a[g>>0]=a[d+32>>0]|0;Jc(h,g,e,f);f=Wc(h)|0;c[c[b+36>>2]>>2]=f;i=d;return 0}function rh(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;if(!(c[a+12>>2]|0)){i=e;return}c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;sh(a,f);uh(c[f>>2]|0,c[g>>2]|0);yh(0,f,b,d);d=c[f>>2]|0;f=d;if(d|0){b=c[g>>2]|0;if((b|0)!=(d|0))c[g>>2]=b+(~((b+-4-f|0)>>>2)<<2);Bn(d)}i=e;return}function sh(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,x=0,y=0,z=0,A=0,B=0,C=0;f=i;i=i+16|0;g=f+4|0;h=f;j=c[d+8>>2]|0;d=c[j>>2]|0;if(!d){i=f;return}k=e+4|0;l=e+8|0;m=j;j=1;n=d;while(1){d=n;o=m;p=o+8|0;q=d+8|0;r=b[p>>1]|0;s=(r&1)==0;t=(r&254)>>>1;u=s?t:c[o+12>>2]|0;v=a[q>>0]|0;w=(v&1)==0;x=(r&65535)>>>8&255;a:do if((u|0)==((w?(v&255)>>>1:c[d+12>>2]|0)|0)){r=w?q+1|0:c[d+16>>2]|0;b:do if(s){if(u|0){if(x<<24>>24!=(a[r>>0]|0)){y=n;z=1;break a}A=t;B=p+1|0;C=r;while(1){A=A+-1|0;B=B+1|0;if(!A)break b;C=C+1|0;if((a[B>>0]|0)!=(a[C>>0]|0)){y=n;z=1;break a}}}}else if(vm(c[o+16>>2]|0,r,u)|0){y=n;z=1;break a}while(0);do if(j){c[g>>2]=p;r=c[k>>2]|0;if(r>>>0<(c[l>>2]|0)>>>0){c[r>>2]=p;c[k>>2]=(c[k>>2]|0)+4;break}else{th(e,g);break}}while(0);c[h>>2]=q;r=c[k>>2]|0;if(r>>>0<(c[l>>2]|0)>>>0){c[r>>2]=q;c[k>>2]=(c[k>>2]|0)+4;y=m;z=0;break}else{th(e,h);y=m;z=0;break}}else{y=n;z=1}while(0);n=c[n>>2]|0;if(!n)break;else{m=y;j=z}}i=f;return}function th(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function uh(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,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;f=a+-8|0;g=d;b:while(1){h=g;i=b-h|0;j=i>>2;switch(j|0){case 2:{k=g;l=e;m=e;n=4;break a;break}case 3:{o=g;p=e;q=e;n=8;break a;break}case 4:{r=g;s=e;n=26;break a;break}case 5:{t=g;u=e;n=27;break a;break}case 1:case 0:{n=137;break a;break}default:{}}if((i|0)<124){v=g;w=a;n=29;break a}x=g+(((j|0)/2|0)<<2)|0;do if((i|0)>3996){y=(j|0)/4|0;z=wh(g,g+(y<<2)|0,x,x+(y<<2)|0,e)|0}else{y=c[x>>2]|0;A=c[g>>2]|0;B=c[y+16>>2]|0;C=c[A+16>>2]|0;D=y;E=A;if((B|0)>=(C|0))if((B|0)==(C|0))F=(c[y+20>>2]|0)<(c[A+20>>2]|0);else F=0;else F=1;G=c[e>>2]|0;H=c[G+16>>2]|0;I=G;if((H|0)>=(B|0))if((H|0)==(B|0))J=(c[G+20>>2]|0)<(c[y+20>>2]|0);else J=0;else J=1;if(!F){if(!J){z=0;break}c[x>>2]=I;c[e>>2]=D;y=c[x>>2]|0;G=c[g>>2]|0;B=c[y+16>>2]|0;H=c[G+16>>2]|0;K=G;L=y;if((B|0)>=(H|0)){if((B|0)!=(H|0)){z=1;break}if((c[y+20>>2]|0)>=(c[G+20>>2]|0)){z=1;break}}c[g>>2]=L;c[x>>2]=K;z=2;break}if(J){c[g>>2]=I;c[e>>2]=E;z=1;break}c[g>>2]=D;c[x>>2]=E;D=c[e>>2]|0;I=c[D+16>>2]|0;K=D;if((I|0)>=(C|0)){if((I|0)!=(C|0)){z=1;break}if((c[D+20>>2]|0)>=(c[A+20>>2]|0)){z=1;break}}c[x>>2]=K;c[e>>2]=E;z=2}while(0);j=c[g>>2]|0;i=c[x>>2]|0;E=c[j+16>>2]|0;K=c[i+16>>2]|0;A=j;c:do if((E|0)<(K|0)){M=e;N=z}else{if((E|0)==(K|0)?(c[j+20>>2]|0)<(c[i+20>>2]|0):0){M=e;N=z;break}d:do if((g|0)!=(f|0)){D=i+20|0;C=f;while(1){I=c[C>>2]|0;L=c[I+16>>2]|0;if((L|0)<(K|0)){O=C;P=I;break}if((L|0)==(K|0)?(c[I+20>>2]|0)<(c[D>>2]|0):0){O=C;P=I;break}C=C+-4|0;if((g|0)==(C|0))break d}c[g>>2]=P;c[O>>2]=A;M=O;N=z+1|0;break c}while(0);C=g+4|0;D=c[e>>2]|0;I=c[D+16>>2]|0;L=D;do if((E|0)<(I|0))Q=C;else{if((E|0)==(I|0)?(c[j+20>>2]|0)<(c[D+20>>2]|0):0){Q=C;break}if((C|0)==(e|0)){n=137;break a}G=j+20|0;y=C;while(1){H=c[y>>2]|0;B=c[H+16>>2]|0;if((E|0)<(B|0)){R=H;S=y;break}if((E|0)==(B|0)?(c[G>>2]|0)<(c[H+20>>2]|0):0){R=H;S=y;break}y=y+4|0;if((y|0)==(e|0)){n=137;break a}}c[S>>2]=L;c[e>>2]=R;Q=S+4|0}while(0);if((Q|0)==(e|0)){n=137;break a}else{T=Q;U=e}while(1){L=c[g>>2]|0;C=c[T>>2]|0;D=c[L+16>>2]|0;I=c[C+16>>2]|0;e:do if((D|0)<(I|0))V=T;else{y=L+20|0;G=I;H=C;B=T;while(1){if((D|0)==(G|0)?(c[y>>2]|0)<(c[H+20>>2]|0):0){V=B;break e}W=B+4|0;H=c[W>>2]|0;G=c[H+16>>2]|0;if((D|0)<(G|0)){V=W;break}else B=W}}while(0);C=L+20|0;I=U;while(1){B=I+-4|0;G=c[B>>2]|0;H=c[G+16>>2]|0;if((D|0)<(H|0)){I=B;continue}if((D|0)!=(H|0)){X=B;Y=G;break}if((c[C>>2]|0)<(c[G+20>>2]|0))I=B;else{X=B;Y=G;break}}if(V>>>0>=X>>>0){g=V;continue b}I=c[V>>2]|0;c[V>>2]=Y;c[X>>2]=I;T=V+4|0;U=X}}while(0);E=g+4|0;f:do if(E>>>0<M>>>0){j=E;A=M;K=x;i=N;while(1){I=c[K>>2]|0;C=c[I+16>>2]|0;D=I+20|0;I=j;while(1){L=c[I>>2]|0;G=c[L+16>>2]|0;if((G|0)>=(C|0)){if((G|0)!=(C|0)){Z=L;_=I;break}if((c[L+20>>2]|0)>=(c[D>>2]|0)){Z=L;_=I;break}}I=I+4|0}I=Z;L=A+-4|0;G=c[L>>2]|0;B=c[G+16>>2]|0;g:do if((B|0)<(C|0))$=L;else{H=B;y=G;W=L;while(1){if((H|0)==(C|0)?(c[y+20>>2]|0)<(c[D>>2]|0):0){$=W;break g}aa=W+-4|0;y=c[aa>>2]|0;H=c[y+16>>2]|0;if((H|0)<(C|0)){$=aa;break}else W=aa}}while(0);if(_>>>0>$>>>0){ba=_;ca=K;da=i;break f}c[_>>2]=c[$>>2];c[$>>2]=I;j=_+4|0;A=$;K=(K|0)==(_|0)?$:K;i=i+1|0}}else{ba=E;ca=x;da=N}while(0);do if((ba|0)==(ca|0))ea=da;else{x=c[ca>>2]|0;E=c[ba>>2]|0;i=c[x+16>>2]|0;K=c[E+16>>2]|0;A=E;j=x;if((i|0)>=(K|0)){if((i|0)!=(K|0)){ea=da;break}if((c[x+20>>2]|0)>=(c[E+20>>2]|0)){ea=da;break}}c[ba>>2]=j;c[ca>>2]=A;ea=da+1|0}while(0);if(!ea){fa=xh(g,ba)|0;A=ba+4|0;if(xh(A,a)|0){n=136;break}if(fa){g=A;continue}}A=ba;if((A-h|0)>=(b-A|0)){ga=g;ha=ba;n=135;break}uh(g,ba);g=ba+4|0}if((n|0)==135){n=0;uh(ha+4|0,a);d=ga;a=ha;continue}else if((n|0)==136){n=0;if(fa){n=137;break}else{d=g;a=ba;continue}}}if((n|0)==4){ba=c[l>>2]|0;l=c[k>>2]|0;a=c[ba+16>>2]|0;d=c[l+16>>2]|0;fa=l;ha=ba;if((a|0)>=(d|0)){if((a|0)!=(d|0))return;if((c[ba+20>>2]|0)>=(c[l+20>>2]|0))return}c[k>>2]=ha;c[m>>2]=fa;return}else if((n|0)==8){fa=o+4|0;m=c[fa>>2]|0;ha=c[o>>2]|0;k=c[m+16>>2]|0;l=c[ha+16>>2]|0;ba=m;d=ha;if((k|0)>=(l|0))if((k|0)==(l|0))ia=(c[m+20>>2]|0)<(c[ha+20>>2]|0);else ia=0;else ia=1;a=c[p>>2]|0;ga=c[a+16>>2]|0;ea=a;if((ga|0)>=(k|0))if((ga|0)==(k|0))ja=(c[a+20>>2]|0)<(c[m+20>>2]|0);else ja=0;else ja=1;if(!ia){if(!ja)return;c[fa>>2]=ea;c[q>>2]=ba;ia=c[fa>>2]|0;m=c[o>>2]|0;a=c[ia+16>>2]|0;k=c[m+16>>2]|0;ga=m;da=ia;if((a|0)>=(k|0)){if((a|0)!=(k|0))return;if((c[ia+20>>2]|0)>=(c[m+20>>2]|0))return}c[o>>2]=da;c[fa>>2]=ga;return}if(ja){c[o>>2]=ea;c[q>>2]=d;return}c[o>>2]=ba;c[fa>>2]=d;ba=c[p>>2]|0;p=c[ba+16>>2]|0;o=ba;if((p|0)>=(l|0)){if((p|0)!=(l|0))return;if((c[ba+20>>2]|0)>=(c[ha+20>>2]|0))return}c[fa>>2]=o;c[q>>2]=d;return}else if((n|0)==26){vh(r,r+4|0,r+8|0,s)|0;return}else if((n|0)==27){wh(t,t+4|0,t+8|0,t+12|0,u)|0;return}else if((n|0)==29){u=v+8|0;t=v+4|0;s=c[t>>2]|0;r=c[v>>2]|0;d=c[s+16>>2]|0;q=c[r+16>>2]|0;o=s;fa=r;if((d|0)>=(q|0))if((d|0)==(q|0))ka=(c[s+20>>2]|0)<(c[r+20>>2]|0);else ka=0;else ka=1;ha=c[u>>2]|0;ba=c[ha+16>>2]|0;l=ha;if((ba|0)>=(d|0))if((ba|0)==(d|0))la=(c[ha+20>>2]|0)<(c[s+20>>2]|0);else la=0;else la=1;do if(!ka)if(la){c[t>>2]=l;c[u>>2]=o;if((ba|0)>=(q|0)){if((ba|0)!=(q|0)){ma=o;na=s;break}if((c[ha+20>>2]|0)>=(c[r+20>>2]|0)){ma=o;na=s;break}}c[v>>2]=l;c[t>>2]=fa;ma=o;na=s}else{ma=l;na=ha}else{if(la){c[v>>2]=l;c[u>>2]=fa;ma=fa;na=r;break}c[v>>2]=o;c[t>>2]=fa;if((ba|0)>=(q|0)){if((ba|0)!=(q|0)){ma=l;na=ha;break}if((c[ha+20>>2]|0)>=(c[r+20>>2]|0)){ma=l;na=ha;break}}c[t>>2]=l;c[u>>2]=fa;ma=fa;na=r}while(0);r=v+12|0;if((r|0)==(w|0))return;else{oa=na;pa=ma;qa=r;ra=u}while(1){u=c[qa>>2]|0;r=u+16|0;ma=c[r>>2]|0;na=c[oa+16>>2]|0;fa=u;if((ma|0)>=(na|0)){if((ma|0)==(na|0)?(na=u+20|0,(c[na>>2]|0)<(c[oa+20>>2]|0)):0){sa=na;n=52}}else{sa=u+20|0;n=52}if((n|0)==52){n=0;c[qa>>2]=pa;h:do if((ra|0)==(v|0))ta=ra;else{u=c[r>>2]|0;na=ra;while(1){ma=na+-4|0;l=c[ma>>2]|0;t=c[l+16>>2]|0;ha=l;if((u|0)>=(t|0)){if((u|0)!=(t|0)){ta=na;break h}if((c[sa>>2]|0)>=(c[l+20>>2]|0)){ta=na;break h}}c[na>>2]=ha;if((ma|0)==(v|0)){ta=ma;break}else na=ma}}while(0);c[ta>>2]=fa}r=qa+4|0;if((r|0)==(w|0))break;g=c[qa>>2]|0;na=qa;oa=g;pa=g;qa=r;ra=na}return}else if((n|0)==137)return}function vh(a,b,d,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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=c[b>>2]|0;g=c[a>>2]|0;h=c[f+16>>2]|0;i=c[g+16>>2]|0;j=f;k=g;if((h|0)>=(i|0))if((h|0)==(i|0))l=(c[f+20>>2]|0)<(c[g+20>>2]|0);else l=0;else l=1;m=c[d>>2]|0;n=c[m+16>>2]|0;o=m;if((n|0)>=(h|0))if((n|0)==(h|0))p=(c[m+20>>2]|0)<(c[f+20>>2]|0);else p=0;else p=1;do if(!l)if(p){c[b>>2]=o;c[d>>2]=j;h=c[b>>2]|0;n=c[a>>2]|0;q=c[h+16>>2]|0;r=c[n+16>>2]|0;s=n;t=h;if((q|0)>=(r|0)){if((q|0)!=(r|0)){u=1;v=f;w=j;break}if((c[h+20>>2]|0)>=(c[n+20>>2]|0)){u=1;v=f;w=j;break}}c[a>>2]=t;c[b>>2]=s;s=c[d>>2]|0;u=2;v=s;w=s}else{u=0;v=m;w=o}else{if(p){c[a>>2]=o;c[d>>2]=k;u=1;v=g;w=k;break}c[a>>2]=j;c[b>>2]=k;s=c[d>>2]|0;t=c[s+16>>2]|0;n=s;if((t|0)>=(i|0)){if((t|0)!=(i|0)){u=1;v=s;w=n;break}if((c[s+20>>2]|0)>=(c[g+20>>2]|0)){u=1;v=s;w=n;break}}c[b>>2]=n;c[d>>2]=k;u=2;v=g;w=k}while(0);k=c[e>>2]|0;g=c[k+16>>2]|0;i=c[v+16>>2]|0;j=k;if((g|0)>=(i|0)){if((g|0)!=(i|0)){x=u;return x|0}if((c[k+20>>2]|0)>=(c[v+20>>2]|0)){x=u;return x|0}}c[d>>2]=j;c[e>>2]=w;w=u+1|0;e=c[d>>2]|0;j=c[b>>2]|0;v=c[e+16>>2]|0;k=c[j+16>>2]|0;i=j;g=e;if((v|0)>=(k|0)){if((v|0)!=(k|0)){x=w;return x|0}if((c[e+20>>2]|0)>=(c[j+20>>2]|0)){x=w;return x|0}}c[b>>2]=g;c[d>>2]=i;i=u+2|0;d=c[b>>2]|0;g=c[a>>2]|0;w=c[d+16>>2]|0;j=c[g+16>>2]|0;e=g;k=d;if((w|0)>=(j|0)){if((w|0)!=(j|0)){x=i;return x|0}if((c[d+20>>2]|0)>=(c[g+20>>2]|0)){x=i;return x|0}}c[a>>2]=k;c[b>>2]=e;x=u+3|0;return x|0}function wh(a,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;g=vh(a,b,d,e)|0;h=c[f>>2]|0;i=c[e>>2]|0;j=c[h+16>>2]|0;k=c[i+16>>2]|0;l=i;m=h;if((j|0)>=(k|0)){if((j|0)!=(k|0)){n=g;return n|0}if((c[h+20>>2]|0)>=(c[i+20>>2]|0)){n=g;return n|0}}c[e>>2]=m;c[f>>2]=l;l=g+1|0;f=c[e>>2]|0;m=c[d>>2]|0;i=c[f+16>>2]|0;h=c[m+16>>2]|0;k=m;j=f;if((i|0)>=(h|0)){if((i|0)!=(h|0)){n=l;return n|0}if((c[f+20>>2]|0)>=(c[m+20>>2]|0)){n=l;return n|0}}c[d>>2]=j;c[e>>2]=k;k=g+2|0;e=c[d>>2]|0;j=c[b>>2]|0;l=c[e+16>>2]|0;m=c[j+16>>2]|0;f=j;h=e;if((l|0)>=(m|0)){if((l|0)!=(m|0)){n=k;return n|0}if((c[e+20>>2]|0)>=(c[j+20>>2]|0)){n=k;return n|0}}c[b>>2]=h;c[d>>2]=f;f=g+3|0;d=c[b>>2]|0;h=c[a>>2]|0;k=c[d+16>>2]|0;j=c[h+16>>2]|0;e=h;m=d;if((k|0)>=(j|0)){if((k|0)!=(j|0)){n=f;return n|0}if((c[d+20>>2]|0)>=(c[h+20>>2]|0)){n=f;return n|0}}c[a>>2]=m;c[b>>2]=e;n=g+4|0;return n|0}function xh(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,u=0,v=0,w=0,x=0,y=0,z=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=c[d>>2]|0;f=c[a>>2]|0;g=c[e+16>>2]|0;h=c[f+16>>2]|0;i=f;j=e;if((g|0)>=(h|0)){if((g|0)!=(h|0)){k=1;return k|0}if((c[e+20>>2]|0)>=(c[f+20>>2]|0)){k=1;return k|0}}c[a>>2]=j;c[d>>2]=i;k=1;return k|0}case 3:{i=a+4|0;d=b+-4|0;j=c[i>>2]|0;f=c[a>>2]|0;e=c[j+16>>2]|0;h=c[f+16>>2]|0;g=j;l=f;if((e|0)>=(h|0))if((e|0)==(h|0))m=(c[j+20>>2]|0)<(c[f+20>>2]|0);else m=0;else m=1;n=c[d>>2]|0;o=c[n+16>>2]|0;p=n;if((o|0)>=(e|0))if((o|0)==(e|0))q=(c[n+20>>2]|0)<(c[j+20>>2]|0);else q=0;else q=1;if(!m){if(!q){k=1;return k|0}c[i>>2]=p;c[d>>2]=g;m=c[i>>2]|0;j=c[a>>2]|0;n=c[m+16>>2]|0;e=c[j+16>>2]|0;o=j;r=m;if((n|0)>=(e|0)){if((n|0)!=(e|0)){k=1;return k|0}if((c[m+20>>2]|0)>=(c[j+20>>2]|0)){k=1;return k|0}}c[a>>2]=r;c[i>>2]=o;k=1;return k|0}if(q){c[a>>2]=p;c[d>>2]=l;k=1;return k|0}c[a>>2]=g;c[i>>2]=l;g=c[d>>2]|0;p=c[g+16>>2]|0;q=g;if((p|0)>=(h|0)){if((p|0)!=(h|0)){k=1;return k|0}if((c[g+20>>2]|0)>=(c[f+20>>2]|0)){k=1;return k|0}}c[i>>2]=q;c[d>>2]=l;k=1;return k|0}case 4:{vh(a,a+4|0,a+8|0,b+-4|0)|0;k=1;return k|0}case 5:{wh(a,a+4|0,a+8|0,a+12|0,b+-4|0)|0;k=1;return k|0}case 1:case 0:{k=1;return k|0}default:{l=a+8|0;d=a+4|0;q=c[d>>2]|0;i=c[a>>2]|0;f=c[q+16>>2]|0;g=c[i+16>>2]|0;h=q;p=i;if((f|0)>=(g|0))if((f|0)==(g|0))s=(c[q+20>>2]|0)<(c[i+20>>2]|0);else s=0;else s=1;o=c[l>>2]|0;r=c[o+16>>2]|0;j=o;if((r|0)>=(f|0))if((r|0)==(f|0))t=(c[o+20>>2]|0)<(c[q+20>>2]|0);else t=0;else t=1;do if(!s)if(t){c[d>>2]=j;c[l>>2]=h;if((r|0)>=(g|0)){if((r|0)!=(g|0)){u=q;break}if((c[o+20>>2]|0)>=(c[i+20>>2]|0)){u=q;break}}c[a>>2]=j;c[d>>2]=p;u=q}else u=o;else{if(t){c[a>>2]=j;c[l>>2]=p;u=i;break}c[a>>2]=h;c[d>>2]=p;if((r|0)>=(g|0)){if((r|0)!=(g|0)){u=o;break}if((c[o+20>>2]|0)>=(c[i+20>>2]|0)){u=o;break}}c[d>>2]=j;c[l>>2]=p;u=i}while(0);i=a+12|0;a:do if((i|0)==(b|0)){v=1;w=0}else{p=u;j=0;d=i;o=l;while(1){g=c[d>>2]|0;r=c[g+16>>2]|0;h=c[p+16>>2]|0;t=g;if((r|0)>=(h|0))if((r|0)==(h|0)?(c[g+20>>2]|0)<(c[p+20>>2]|0):0)x=48;else y=j;else x=48;if((x|0)==48){x=0;h=g+20|0;c[d>>2]=c[o>>2];b:do if((o|0)==(a|0))z=o;else{r=c[g+16>>2]|0;q=o;while(1){s=q+-4|0;f=c[s>>2]|0;m=c[f+16>>2]|0;e=f;if((r|0)>=(m|0)){if((r|0)!=(m|0)){z=q;break b}if((c[h>>2]|0)>=(c[f+20>>2]|0)){z=q;break b}}c[q>>2]=e;if((s|0)==(a|0)){z=s;break}else q=s}}while(0);c[z>>2]=t;h=j+1|0;if((h|0)==8){v=0;w=(d+4|0)==(b|0);break a}else y=h}h=d+4|0;if((h|0)==(b|0)){v=1;w=0;break a}g=d;p=c[d>>2]|0;j=y;d=h;o=g}}while(0);k=w|v;return k|0}}return 0}function yh(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=c[e>>2]|0;h=e+4|0;i=c[h>>2]|0;if((d|0)==(i|0))return;else{j=d;k=i;l=d}while(1){a:do if((j|0)!=(k|0)){d=c[l>>2]|0;m=b[d>>1]|0;n=(m&1)==0;o=n?(m&254)>>>1:c[d+4>>2]|0;p=d+8|0;q=d+1|0;d=(m&65535)>>>8&255;m=(o|0)==0;if(n){if(m){n=j;while(1){r=c[n>>2]|0;s=b[r>>1]|0;if(!(((s&1)==0?(s&254)>>>1:c[r+4>>2]|0)|0)){t=n;break a}n=n+4|0;if((n|0)==(k|0)){t=k;break a}}}else u=j;while(1){n=c[u>>2]|0;r=b[n>>1]|0;s=(r&1)==0;v=(r&254)>>>1;w=(r&65535)>>>8&255;do if(((s?v:c[n+4>>2]|0)|0)==(o|0)){if(!s)if(!(vm(c[n+8>>2]|0,q,o)|0)){t=u;break a}else break;if(w<<24>>24==d<<24>>24){r=v;x=n+1|0;y=q;do{r=r+-1|0;x=x+1|0;if(!r){t=u;break a}y=y+1|0}while((a[x>>0]|0)==(a[y>>0]|0))}}while(0);u=u+4|0;if((u|0)==(k|0)){t=k;break}}}else{if(m){q=j;while(1){d=c[q>>2]|0;n=b[d>>1]|0;if(!(((n&1)==0?(n&254)>>>1:c[d+4>>2]|0)|0)){t=q;break a}q=q+4|0;if((q|0)==(k|0)){t=k;break a}}}else z=j;while(1){q=c[z>>2]|0;m=b[q>>1]|0;d=(m&1)==0;n=(m&254)>>>1;v=(m&65535)>>>8&255;do if(((d?n:c[q+4>>2]|0)|0)==(o|0)){m=c[p>>2]|0;if(!d)if(!(vm(c[q+8>>2]|0,m,o)|0)){t=z;break a}else break;if(v<<24>>24==(a[m>>0]|0)){w=n;s=q+1|0;y=m;do{w=w+-1|0;s=s+1|0;if(!w){t=z;break a}y=y+1|0}while((a[s>>0]|0)==(a[y>>0]|0))}}while(0);z=z+4|0;if((z|0)==(k|0)){t=k;break}}}}else t=k;while(0);if((t|0)!=(l|0))qb[f&31](c[t>>2]|0,c[l>>2]|0,g);o=l+4|0;if((o|0)==(i|0))break;j=c[e>>2]|0;k=c[h>>2]|0;l=o}return}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[a+24>>2]|0;c[e>>2]=f;a=b+152|0;g=c[a>>2]|0;if((g|0)==(c[b+156>>2]|0)){Ah(b+148|0,e);i=d;return 0}else{c[g>>2]=f;c[a>>2]=(c[a>>2]|0)+4;i=d;return 0}return 0}function Ah(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function Bh(a,b){a=a|0;b=b|0;a=b+152|0;c[a>>2]=(c[a>>2]|0)+-4;return 0}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[a+24>>2]|0;c[e>>2]=f;a=b+152|0;g=c[a>>2]|0;if((g|0)==(c[b+156>>2]|0)){Ah(b+148|0,e);i=d;return 0}else{c[g>>2]=f;c[a>>2]=(c[a>>2]|0)+4;i=d;return 0}return 0}function Dh(a,b){a=a|0;b=b|0;a=b+152|0;c[a>>2]=(c[a>>2]|0)+-4;return 0}function Eh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=b+148|0;j=b+152|0;k=a+48|0;a=(c[j>>2]|0)-(c[h>>2]|0)>>2;while(1){l=a+-1|0;if((a|0)<=0){m=6;break}if(ai(c[(c[h>>2]|0)+(l<<2)>>2]|0,k)|0){n=a;m=5;break}else a=l}if((m|0)==5){bi(k);c[g>>2]=0;g=k;c[g>>2]=((c[j>>2]|0)-(c[h>>2]|0)>>2)-n;c[g+4>>2]=0;i=d;return 0}else if((m|0)==6){m=c[k>>2]|0;c[e>>2]=c[k+4>>2];c[e+4>>2]=m;Fh(b,f,13771,e);i=d;return 0}return 0}function Fh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[a+160>>2]=1;c[g>>2]=e;yi(c[a>>2]|0,b,c[a+4>>2]|0,d,g);i=f;return}function Gh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=b+148|0;j=b+152|0;k=a+48|0;a=(c[j>>2]|0)-(c[h>>2]|0)>>2;while(1){l=a+-1|0;if((a|0)<=0){m=6;break}if(ai(c[(c[h>>2]|0)+(l<<2)>>2]|0,k)|0){n=a;m=5;break}else a=l}if((m|0)==5){bi(k);c[g>>2]=0;g=k;c[g>>2]=((c[j>>2]|0)-(c[h>>2]|0)>>2)-n;c[g+4>>2]=0;i=d;return 0}else if((m|0)==6){m=c[k>>2]|0;c[e>>2]=c[k+4>>2];c[e+4>>2]=m;Fh(b,f,13771,e);i=d;return 0}return 0}function Hh(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;d=i;i=i+16|0;e=d+8|0;f=d;g=c[a+24>>2]|0;h=c[g>>2]|0;j=c[g+4>>2]|0;if((h|0)!=(j|0)){g=b+148|0;k=b+152|0;l=h;do{h=l+16|0;do if((c[h>>2]|0)==1){m=l+24|0;n=(c[k>>2]|0)-(c[g>>2]|0)>>2;while(1){o=n+-1|0;if((n|0)<=0){p=15;break}if(ai(c[(c[g>>2]|0)+(o<<2)>>2]|0,m)|0){q=n;p=14;break}else n=o}if((p|0)==14){p=0;bi(m);c[h>>2]=0;n=m;c[n>>2]=((c[k>>2]|0)-(c[g>>2]|0)>>2)-q;c[n+4>>2]=0;break}else if((p|0)==15){p=0;n=c[m>>2]|0;c[e>>2]=c[m+4>>2];c[e+4>>2]=n;Fh(b,l,13771,e);break}}while(0);l=l+32|0}while((l|0)!=(j|0))}j=a+48|0;if((c[j>>2]|0)!=1){i=d;return 0}l=b+148|0;e=b+152|0;q=a+56|0;g=(c[e>>2]|0)-(c[l>>2]|0)>>2;while(1){k=g+-1|0;if((g|0)<=0){p=8;break}if(ai(c[(c[l>>2]|0)+(k<<2)>>2]|0,q)|0){r=g;p=7;break}else g=k}if((p|0)==7){bi(q);c[j>>2]=0;j=q;c[j>>2]=((c[e>>2]|0)-(c[l>>2]|0)>>2)-r;c[j+4>>2]=0;i=d;return 0}else if((p|0)==8){p=c[q>>2]|0;c[f>>2]=c[q+4>>2];c[f+4>>2]=p;Fh(b,a+32|0,13771,f);i=d;return 0}return 0}function Ih(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=hc((c[b+12>>2]|0)+160|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j+4>>2]|0;l=c[j>>2]|0;c[e>>2]=16255;c[e+4>>2]=k;c[e+8>>2]=l;Fh(b,f,13803,e);i=d;return 0}else{e=a+48|0;bi(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Jh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=hc((c[b+12>>2]|0)+220|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j+4>>2]|0;l=c[j>>2]|0;c[e>>2]=13832;c[e+4>>2]=k;c[e+8>>2]=l;Fh(b,f,13803,e);i=d;return 0}else{e=a+48|0;bi(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Kh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=hc((c[b+12>>2]|0)+180|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j+4>>2]|0;l=c[j>>2]|0;c[e>>2]=14038;c[e+4>>2]=k;c[e+8>>2]=l;Fh(b,f,13803,e);i=d;return 0}else{e=a+48|0;bi(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=pc(c[b+16>>2]|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j>>2]|0;c[e>>2]=c[j+4>>2];c[e+4>>2]=k;Fh(b,f,13846,e);i=d;return 0}else{e=a+48|0;bi(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[a+24>>2]|0;c[e>>2]=f;a=b+152|0;g=c[a>>2]|0;if((g|0)==(c[b+156>>2]|0)){Ah(b+148|0,e);i=d;return 0}else{c[g>>2]=f;c[a>>2]=(c[a>>2]|0)+4;i=d;return 0}return 0}function Nh(a,b){a=a|0;b=b|0;a=b+152|0;c[a>>2]=(c[a>>2]|0)+-4;return 0}function Oh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=hc((c[b+12>>2]|0)+180|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j+4>>2]|0;l=c[j>>2]|0;c[e>>2]=14038;c[e+4>>2]=k;c[e+8>>2]=l;Fh(b,f,13803,e);i=d;return 0}else{e=a+48|0;bi(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=pc(c[b+16>>2]|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j>>2]|0;c[e>>2]=c[j+4>>2];c[e+4>>2]=k;Fh(b,f,13846,e);i=d;return 0}else{e=a+48|0;bi(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=pc(c[b+16>>2]|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j>>2]|0;c[e>>2]=c[j+4>>2];c[e+4>>2]=k;Fh(b,f,13846,e);i=d;return 0}else{e=a+48|0;bi(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Rh(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;e=i;i=i+160|0;f=e+128|0;g=e+112|0;h=e+96|0;j=e+80|0;k=e+64|0;l=e+48|0;m=e+32|0;n=e+16|0;o=e;p=e+144|0;q=b+12|0;c[q>>2]=d;c[p>>2]=b;c[p+4>>2]=16255;rh(d+160|0,23,p);c[p>>2]=b;c[p+4>>2]=14038;rh(d+180|0,23,p);c[p>>2]=b;c[p+4>>2]=13832;rh(d+220|0,23,p);c[p>>2]=b;c[p+4>>2]=14025;rh(d+240|0,23,p);c[p>>2]=b;c[p+4>>2]=14031;rh(d+260|0,23,p);r=c[d+48>>2]|0;s=c[d+52>>2]|0;if((r|0)!=(s|0)){t=b+16|0;u=p+4|0;v=p+4|0;w=b+20|0;x=r;do{r=c[x>>2]|0;c[t>>2]=r;do if(a[r+8>>0]|0?(y=r+16|0,z=r+32|0,(c[z>>2]|0)==1):0){A=hc((c[q>>2]|0)+220|0,y)|0;if((A|0)==-1){B=r+40|0;C=c[B+4>>2]|0;D=c[B>>2]|0;c[o>>2]=13832;c[o+4>>2]=C;c[o+8>>2]=D;Fh(b,y,13803,o);break}else{y=r+40|0;bi(y);D=y;c[D>>2]=A;c[D+4>>2]=((A|0)<0)<<31>>31;c[z>>2]=0;break}}while(0);c[p>>2]=b;c[u>>2]=13902;rh(r+84|0,23,p);c[p>>2]=b;c[v>>2]=13912;rh(r+104|0,23,p);Td(r,w)|0;c[t>>2]=0;x=x+4|0}while((x|0)!=(s|0))}s=c[d+84>>2]|0;x=c[d+88>>2]|0;a:do if((s|0)!=(x|0)){t=s;while(1){w=c[t>>2]|0;b:do switch(c[w+8>>2]|0){case 0:{p=w+16|0;v=w+32|0;if((c[v>>2]|0)==1){u=hc((c[q>>2]|0)+160|0,p)|0;if((u|0)==-1){o=w+40|0;z=c[o+4>>2]|0;A=c[o>>2]|0;c[n>>2]=16255;c[n+4>>2]=z;c[n+8>>2]=A;Fh(b,p,13803,n);break b}else{p=w+40|0;bi(p);A=p;c[A>>2]=u;c[A+4>>2]=((u|0)<0)<<31>>31;c[v>>2]=0;break b}}break}case 1:{v=w+16|0;u=w+32|0;if((c[u>>2]|0)==1){A=hc((c[q>>2]|0)+240|0,v)|0;if((A|0)==-1){p=w+40|0;z=c[p+4>>2]|0;o=c[p>>2]|0;c[m>>2]=14025;c[m+4>>2]=z;c[m+8>>2]=o;Fh(b,v,13803,m);break b}else{v=w+40|0;bi(v);o=v;c[o>>2]=A;c[o+4>>2]=((A|0)<0)<<31>>31;c[u>>2]=0;break b}}break}case 2:{u=w+16|0;A=w+32|0;if((c[A>>2]|0)==1){o=hc((c[q>>2]|0)+260|0,u)|0;if((o|0)==-1){v=w+40|0;z=c[v+4>>2]|0;p=c[v>>2]|0;c[l>>2]=14031;c[l+4>>2]=z;c[l+8>>2]=p;Fh(b,u,13803,l);break b}else{u=w+40|0;bi(u);p=u;c[p>>2]=o;c[p+4>>2]=((o|0)<0)<<31>>31;c[A>>2]=0;break b}}break}case 3:{A=w+16|0;o=w+32|0;if((c[o>>2]|0)==1){p=hc((c[q>>2]|0)+180|0,A)|0;if((p|0)==-1){u=w+40|0;z=c[u+4>>2]|0;v=c[u>>2]|0;c[k>>2]=14038;c[k+4>>2]=z;c[k+8>>2]=v;Fh(b,A,13803,k);break b}else{A=w+40|0;bi(A);v=A;c[v>>2]=p;c[v+4>>2]=((p|0)<0)<<31>>31;c[o>>2]=0;break b}}break}default:{}}while(0);t=t+4|0;if((t|0)==(x|0))break a}}while(0);x=c[d+60>>2]|0;k=c[d+64>>2]|0;if((x|0)!=(k|0)){l=b+20|0;m=x;do{Rd(c[(c[m>>2]|0)+16>>2]|0,l)|0;m=m+4|0}while((m|0)!=(k|0))}k=c[d+120>>2]|0;m=c[d+124>>2]|0;if((k|0)!=(m|0)){l=b+20|0;x=k;do{k=c[x>>2]|0;n=k+16|0;do if((c[n>>2]|0)==1){s=hc((c[q>>2]|0)+240|0,k)|0;if((s|0)==-1){t=k+24|0;r=c[t+4>>2]|0;w=c[t>>2]|0;c[j>>2]=14025;c[j+4>>2]=r;c[j+8>>2]=w;Fh(b,k,13803,j);break}else{w=k+24|0;bi(w);r=w;c[r>>2]=s;c[r+4>>2]=((s|0)<0)<<31>>31;c[n>>2]=0;break}}while(0);Rd(c[k+32>>2]|0,l)|0;n=c[k+36>>2]|0;s=c[k+40>>2]|0;if((n|0)!=(s|0)){r=n;do{n=r+16|0;do if((c[n>>2]|0)==1){w=hc((c[q>>2]|0)+160|0,r)|0;if((w|0)==-1){t=r+24|0;o=c[t+4>>2]|0;p=c[t>>2]|0;c[h>>2]=16255;c[h+4>>2]=o;c[h+8>>2]=p;Fh(b,r,13803,h);break}else{p=r+24|0;bi(p);o=p;c[o>>2]=w;c[o+4>>2]=((w|0)<0)<<31>>31;c[n>>2]=0;break}}while(0);r=r+32|0}while((r|0)!=(s|0))}x=x+4|0}while((x|0)!=(m|0))}m=c[d+144>>2]|0;x=c[d+148>>2]|0;if((m|0)!=(x|0)){h=b+20|0;l=m;do{m=c[l>>2]|0;j=m+16|0;do if((c[j>>2]|0)==1){s=hc((c[q>>2]|0)+260|0,m)|0;if((s|0)==-1){r=m+24|0;k=c[r+4>>2]|0;n=c[r>>2]|0;c[g>>2]=14031;c[g+4>>2]=k;c[g+8>>2]=n;Fh(b,m,13803,g);break}else{n=m+24|0;bi(n);k=n;c[k>>2]=s;c[k+4>>2]=((s|0)<0)<<31>>31;c[j>>2]=0;break}}while(0);Rd(c[m+32>>2]|0,h)|0;l=l+4|0}while((l|0)!=(x|0))}x=c[d+156>>2]|0;if(!x){c[q>>2]=0;i=e;return}d=x+16|0;if((c[d>>2]|0)!=1){c[q>>2]=0;i=e;return}l=hc((c[q>>2]|0)+160|0,x)|0;if((l|0)==-1){h=x+24|0;g=c[h+4>>2]|0;j=c[h>>2]|0;c[f>>2]=16255;c[f+4>>2]=g;c[f+8>>2]=j;Fh(b,x,13803,f);c[q>>2]=0;i=e;return}else{f=x+24|0;bi(f);x=f;c[x>>2]=l;c[x+4>>2]=((l|0)<0)<<31>>31;c[d>>2]=0;c[q>>2]=0;i=e;return}}function Sh(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;h=(c[b+16>>2]|0)>(c[d+16>>2]|0)?b+12|0:d+12|0;d=c[e>>2]|0;j=(a[b>>0]&1)==0?b+1|0:c[b+8>>2]|0;c[g>>2]=c[e+4>>2];c[g+4>>2]=j;Fh(d,h,13878,g);i=f;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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+336|0;f=e+328|0;g=e+164|0;h=e;ao(h|0,0,160)|0;j=h+4|0;c[j>>2]=a;c[h>>2]=d;d=h+160|0;c[d>>2]=0;c[h+8>>2]=b;a=h+20|0;c[a>>2]=h;c[h+28>>2]=138;c[h+32>>2]=139;c[h+104>>2]=140;c[h+108>>2]=141;c[h+36>>2]=142;c[h+40>>2]=143;c[h+44>>2]=144;c[h+48>>2]=145;c[h+52>>2]=146;c[h+76>>2]=147;c[h+80>>2]=148;c[h+88>>2]=149;c[h+96>>2]=150;c[h+124>>2]=151;c[h+128>>2]=152;c[h+136>>2]=153;k=c[b>>2]|0;l=c[b+4>>2]|0;if((k|0)==(l|0)){m=0;i=e;return m|0}b=g+4|0;n=g+20|0;o=g+160|0;p=g+148|0;q=g+152|0;r=k;do{k=c[r>>2]|0;switch(c[k>>2]|0){case 0:{Rh(h,c[k+8>>2]|0);break}case 6:{s=c[k+8>>2]|0;if(!(c[s>>2]|0))Rh(h,c[s+4>>2]|0);break}case 4:{c[f>>2]=1400;ao(g|0,0,160)|0;c[g>>2]=f;c[b>>2]=c[j>>2];s=n;t=a;u=s+128|0;do{c[s>>2]=c[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));c[n>>2]=g;c[o>>2]=0;t=c[k+8>>2]|0;if((c[t>>2]|0)==0?(Rh(g,c[t+4>>2]|0),(c[o>>2]|0)==1):0)c[k>>2]=5;t=c[p>>2]|0;s=t;if(t|0){u=c[q>>2]|0;if((u|0)!=(t|0))c[q>>2]=u+(~((u+-4-s|0)>>>2)<<2);Bn(t)}break}case 7:{t=c[k+8>>2]|0;if(!(c[t>>2]|0))Rh(h,c[t+4>>2]|0);break}default:{}}r=r+4|0}while((r|0)!=(l|0));l=c[d>>2]|0;d=c[h+148>>2]|0;if(!d){m=l;i=e;return m|0}r=h+152|0;h=c[r>>2]|0;if((h|0)!=(d|0))c[r>>2]=h+(~((h+-4-d|0)>>>2)<<2);Bn(d);m=l;i=e;return m|0}function Uh(a){a=a|0;return}function Vh(a){a=a|0;Bn(a);return}function Wh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function Xh(a){a=a|0;return 80}function Yh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=f;return}function Zh(){c[7746]=14190;c[7747]=-64;c[7748]=-64;c[7749]=-64;c[7750]=0;c[7751]=14202;c[7752]=-64;c[7753]=-64;c[7754]=-64;c[7755]=0;c[7756]=16264;c[7757]=-64;c[7758]=-64;c[7759]=-64;c[7760]=0;c[7761]=16270;c[7762]=-64;c[7763]=-64;c[7764]=-64;c[7765]=0;c[7766]=16275;c[7767]=-64;c[7768]=-64;c[7769]=-64;c[7770]=0;c[7771]=14206;c[7772]=-64;c[7773]=-64;c[7774]=-64;c[7775]=0;c[7801]=14211;c[7802]=-64;c[7803]=-64;c[7804]=-64;c[7805]=0;c[7806]=16109;c[7807]=-64;c[7808]=-64;c[7809]=-64;c[7810]=0;c[7811]=16112;c[7812]=-64;c[7813]=-64;c[7814]=-64;c[7815]=0;c[7816]=16118;c[7817]=-64;c[7818]=-64;c[7819]=-64;c[7820]=0;c[7821]=16294;c[7822]=-64;c[7823]=-64;c[7824]=-64;c[7825]=0;c[7826]=16127;c[7827]=-64;c[7828]=-64;c[7829]=-64;c[7830]=0;c[7831]=16132;c[7832]=-64;c[7833]=-64;c[7834]=-64;c[7835]=0;c[7876]=16146;c[7877]=-64;c[7878]=-64;c[7879]=-64;c[7880]=0;c[7881]=16301;c[7882]=-64;c[7883]=-64;c[7884]=-64;c[7885]=0;c[7906]=14215;c[7907]=-64;c[7908]=-64;c[7909]=-64;c[7910]=0;c[7911]=16319;c[7912]=-64;c[7913]=-64;c[7914]=-64;c[7915]=0;c[7916]=16329;c[7917]=-64;c[7918]=-64;c[7919]=-64;c[7920]=0;c[7921]=14225;c[7922]=-64;c[7923]=-64;c[7924]=-64;c[7925]=0;c[7926]=16308;c[7927]=-64;c[7928]=-64;c[7929]=-64;c[7930]=0;c[7946]=14236;c[7947]=-1;c[7948]=-1;c[7949]=-64;c[7950]=4;c[7951]=14245;c[7952]=-2;c[7953]=-1;c[7954]=-64;c[7955]=8;c[7956]=14254;c[7957]=-3;c[7958]=-1;c[7959]=-64;c[7960]=4;c[7961]=14263;c[7962]=-4;c[7963]=-1;c[7964]=-64;c[7965]=8;c[7966]=14272;c[7967]=-1;c[7968]=-1;c[7969]=-64;c[7970]=1;c[7971]=14284;c[7972]=-1;c[7973]=-1;c[7974]=-64;c[7975]=1;c[7976]=14296;c[7977]=-1;c[7978]=-1;c[7979]=-64;c[7980]=2;c[7981]=14309;c[7982]=-1;c[7983]=-1;c[7984]=-64;c[7985]=2;c[7986]=14322;c[7987]=-2;c[7988]=-1;c[7989]=-64;c[7990]=1;c[7991]=14334;c[7992]=-2;c[7993]=-1;c[7994]=-64;c[7995]=1;c[7996]=14346;c[7997]=-2;c[7998]=-1;c[7999]=-64;c[8e3]=2;c[8001]=14359;c[8002]=-2;c[8003]=-1;c[8004]=-64;c[8005]=2;c[8006]=14372;c[8007]=-2;c[8008]=-1;c[8009]=-64;c[8010]=4;c[8011]=14385;c[8012]=-2;c[8013]=-1;c[8014]=-64;c[8015]=4;c[8016]=14398;c[8017]=-64;c[8018]=-1;c[8019]=-1;c[8020]=4;c[8021]=14408;c[8022]=-64;c[8023]=-1;c[8024]=-2;c[8025]=8;c[8026]=14418;c[8027]=-64;c[8028]=-1;c[8029]=-3;c[8030]=4;c[8031]=14428;c[8032]=-64;c[8033]=-1;c[8034]=-4;c[8035]=8;c[8036]=14438;c[8037]=-64;c[8038]=-1;c[8039]=-1;c[8040]=1;c[8041]=14449;c[8042]=-64;c[8043]=-1;c[8044]=-1;c[8045]=2;c[8046]=14461;c[8047]=-64;c[8048]=-1;c[8049]=-2;c[8050]=1;c[8051]=14472;c[8052]=-64;c[8053]=-1;c[8054]=-2;c[8055]=2;c[8056]=14484;c[8057]=-64;c[8058]=-1;c[8059]=-2;c[8060]=4;c[8061]=14496;c[8062]=-1;c[8063]=-64;c[8064]=-64;c[8065]=0;c[8066]=14511;c[8067]=-1;c[8068]=-1;c[8069]=-64;c[8070]=0;c[8071]=14523;c[8072]=-1;c[8073]=-64;c[8074]=-64;c[8075]=0;c[8076]=14533;c[8077]=-2;c[8078]=-64;c[8079]=-64;c[8080]=0;c[8081]=14543;c[8082]=-3;c[8083]=-64;c[8084]=-64;c[8085]=0;c[8086]=14553;c[8087]=-4;c[8088]=-64;c[8089]=-64;c[8090]=0;c[8091]=14563;c[8092]=-1;c[8093]=-1;c[8094]=-64;c[8095]=0;c[8096]=14571;c[8097]=-1;c[8098]=-1;c[8099]=-1;c[8100]=0;c[8101]=14578;c[8102]=-1;c[8103]=-1;c[8104]=-1;c[8105]=0;c[8106]=14585;c[8107]=-1;c[8108]=-1;c[8109]=-1;c[8110]=0;c[8111]=14594;c[8112]=-1;c[8113]=-1;c[8114]=-1;c[8115]=0;c[8116]=14603;c[8117]=-1;c[8118]=-1;c[8119]=-1;c[8120]=0;c[8121]=14612;c[8122]=-1;c[8123]=-1;c[8124]=-1;c[8125]=0;c[8126]=14621;c[8127]=-1;c[8128]=-1;c[8129]=-1;c[8130]=0;c[8131]=14630;c[8132]=-1;c[8133]=-1;c[8134]=-1;c[8135]=0;c[8136]=14639;c[8137]=-1;c[8138]=-1;c[8139]=-1;c[8140]=0;c[8141]=14648;c[8142]=-1;c[8143]=-1;c[8144]=-1;c[8145]=0;c[8146]=14657;c[8147]=-1;c[8148]=-2;c[8149]=-64;c[8150]=0;c[8151]=14665;c[8152]=-1;c[8153]=-2;c[8154]=-2;c[8155]=0;c[8156]=14672;c[8157]=-1;c[8158]=-2;c[8159]=-2;c[8160]=0;c[8161]=14679;c[8162]=-1;c[8163]=-2;c[8164]=-2;c[8165]=0;c[8166]=14688;c[8167]=-1;c[8168]=-2;c[8169]=-2;c[8170]=0;c[8171]=14697;c[8172]=-1;c[8173]=-2;c[8174]=-2;c[8175]=0;c[8176]=14706;c[8177]=-1;c[8178]=-2;c[8179]=-2;c[8180]=0;c[8181]=14715;c[8182]=-1;c[8183]=-2;c[8184]=-2;c[8185]=0;c[8186]=14724;c[8187]=-1;c[8188]=-2;c[8189]=-2;c[8190]=0;c[8191]=14733;c[8192]=-1;c[8193]=-2;c[8194]=-2;c[8195]=0;c[8196]=14742;c[8197]=-1;c[8198]=-2;c[8199]=-2;c[8200]=0;c[8201]=14751;c[8202]=-1;c[8203]=-3;c[8204]=-3;c[8205]=0;c[8206]=14758;c[8207]=-1;c[8208]=-3;c[8209]=-3;c[8210]=0;c[8211]=14765;c[8212]=-1;c[8213]=-3;c[8214]=-3;c[8215]=0;c[8216]=14772;c[8217]=-1;c[8218]=-3;c[8219]=-3;c[8220]=0;c[8221]=14779;c[8222]=-1;c[8223]=-3;c[8224]=-3;c[8225]=0;c[8226]=14786;c[8227]=-1;c[8228]=-3;c[8229]=-3;c[8230]=0;c[8231]=14793;c[8232]=-1;c[8233]=-4;c[8234]=-4;c[8235]=0;c[8236]=14800;c[8237]=-1;c[8238]=-4;c[8239]=-4;c[8240]=0;c[8241]=14807;c[8242]=-1;c[8243]=-4;c[8244]=-4;c[8245]=0;c[8246]=14814;c[8247]=-1;c[8248]=-4;c[8249]=-4;c[8250]=0;c[8251]=14821;c[8252]=-1;c[8253]=-4;c[8254]=-4;c[8255]=0;c[8256]=14828;c[8257]=-1;c[8258]=-4;c[8259]=-4;c[8260]=0;c[8261]=14835;c[8262]=-1;c[8263]=-1;c[8264]=-64;c[8265]=0;c[8266]=14843;c[8267]=-1;c[8268]=-1;c[8269]=-64;c[8270]=0;c[8271]=14851;c[8272]=-1;c[8273]=-1;c[8274]=-64;c[8275]=0;c[8276]=14862;c[8277]=-1;c[8278]=-1;c[8279]=-1;c[8280]=0;c[8281]=14870;c[8282]=-1;c[8283]=-1;c[8284]=-1;c[8285]=0;c[8286]=14878;c[8287]=-1;c[8288]=-1;c[8289]=-1;c[8290]=0;c[8291]=14886;c[8292]=-1;c[8293]=-1;c[8294]=-1;c[8295]=0;c[8296]=14896;c[8297]=-1;c[8298]=-1;c[8299]=-1;c[8300]=0;c[8301]=14906;c[8302]=-1;c[8303]=-1;c[8304]=-1;c[8305]=0;c[8306]=14916;c[8307]=-1;c[8308]=-1;c[8309]=-1;c[8310]=0;c[8311]=14926;c[8312]=-1;c[8313]=-1;c[8314]=-1;c[8315]=0;c[8316]=14934;c[8317]=-1;c[8318]=-1;c[8319]=-1;c[8320]=0;c[8321]=14941;c[8322]=-1;c[8323]=-1;c[8324]=-1;c[8325]=0;c[8326]=14949;c[8327]=-1;c[8328]=-1;c[8329]=-1;c[8330]=0;c[8331]=14957;c[8332]=-1;c[8333]=-1;c[8334]=-1;c[8335]=0;c[8336]=14967;c[8337]=-1;c[8338]=-1;c[8339]=-1;c[8340]=0;c[8341]=14977;c[8342]=-1;c[8343]=-1;c[8344]=-1;c[8345]=0;c[8346]=14986;c[8347]=-1;c[8348]=-1;c[8349]=-1;c[8350]=0;c[8351]=14995;c[8352]=-2;c[8353]=-2;c[8354]=-64;c[8355]=0;c[8356]=15003;c[8357]=-2;c[8358]=-2;c[8359]=-64;c[8360]=0;c[8361]=15011;c[8362]=-2;c[8363]=-2;c[8364]=-64;c[8365]=0;c[8366]=15022;c[8367]=-2;c[8368]=-2;c[8369]=-2;c[8370]=0;c[8371]=15030;c[8372]=-2;c[8373]=-2;c[8374]=-2;c[8375]=0;c[8376]=15038;c[8377]=-2;c[8378]=-2;c[8379]=-2;c[8380]=0;c[8381]=15046;c[8382]=-2;c[8383]=-2;c[8384]=-2;c[8385]=0;c[8386]=15056;c[8387]=-2;c[8388]=-2;c[8389]=-2;c[8390]=0;c[8391]=15066;c[8392]=-2;c[8393]=-2;c[8394]=-2;c[8395]=0;c[8396]=15076;c[8397]=-2;c[8398]=-2;c[8399]=-2;c[8400]=0;c[8401]=15086;c[8402]=-2;c[8403]=-2;c[8404]=-2;c[8405]=0;c[8406]=15094;c[8407]=-2;c[8408]=-2;c[8409]=-2;c[8410]=0;c[8411]=15101;c[8412]=-2;c[8413]=-2;c[8414]=-2;c[8415]=0;c[8416]=15109;c[8417]=-2;c[8418]=-2;c[8419]=-2;c[8420]=0;c[8421]=15117;c[8422]=-2;c[8423]=-2;c[8424]=-2;c[8425]=0;c[8426]=15127;c[8427]=-2;c[8428]=-2;c[8429]=-2;c[8430]=0;c[8431]=15137;c[8432]=-2;c[8433]=-2;c[8434]=-2;c[8435]=0;c[8436]=15146;c[8437]=-2;c[8438]=-2;c[8439]=-2;c[8440]=0;c[8441]=15155;c[8442]=-3;c[8443]=-3;c[8444]=-3;c[8445]=0;c[8446]=15163;c[8447]=-3;c[8448]=-3;c[8449]=-3;c[8450]=0;c[8451]=15171;c[8452]=-3;c[8453]=-3;c[8454]=-3;c[8455]=0;c[8456]=15180;c[8457]=-3;c[8458]=-3;c[8459]=-3;c[8460]=0;c[8461]=15190;c[8462]=-3;c[8463]=-3;c[8464]=-3;c[8465]=0;c[8466]=15200;c[8467]=-3;c[8468]=-3;c[8469]=-3;c[8470]=0;c[8471]=15212;c[8472]=-3;c[8473]=-3;c[8474]=-3;c[8475]=0;c[8476]=15221;c[8477]=-3;c[8478]=-3;c[8479]=-3;c[8480]=0;c[8481]=15229;c[8482]=-3;c[8483]=-3;c[8484]=-3;c[8485]=0;c[8486]=15237;c[8487]=-3;c[8488]=-3;c[8489]=-3;c[8490]=0;c[8491]=15245;c[8492]=-3;c[8493]=-3;c[8494]=-3;c[8495]=0;c[8496]=15253;c[8497]=-3;c[8498]=-3;c[8499]=-3;c[8500]=0;c[8501]=15261;c[8502]=-3;c[8503]=-3;c[8504]=-3;c[8505]=0;c[8506]=15269;c[8507]=-3;c[8508]=-3;c[8509]=-3;c[8510]=0;c[8511]=15282;c[8512]=-4;c[8513]=-4;c[8514]=-4;c[8515]=0;c[8516]=15290;c[8517]=-4;c[8518]=-4;c[8519]=-4;c[8520]=0;c[8521]=15298;c[8522]=-4;c[8523]=-4;c[8524]=-4;c[8525]=0;c[8526]=15307;c[8527]=-4;c[8528]=-4;c[8529]=-4;c[8530]=0;c[8531]=15317;c[8532]=-4;c[8533]=-4;c[8534]=-4;c[8535]=0;c[8536]=15327;c[8537]=-4;c[8538]=-4;c[8539]=-4;c[8540]=0;c[8541]=15339;c[8542]=-4;c[8543]=-4;c[8544]=-4;c[8545]=0;c[8546]=15348;c[8547]=-4;c[8548]=-4;c[8549]=-4;c[8550]=0;c[8551]=15356;c[8552]=-4;c[8553]=-4;c[8554]=-4;c[8555]=0;c[8556]=15364;c[8557]=-4;c[8558]=-4;c[8559]=-4;c[8560]=0;c[8561]=15372;c[8562]=-4;c[8563]=-4;c[8564]=-4;c[8565]=0;c[8566]=15380;c[8567]=-4;c[8568]=-4;c[8569]=-4;c[8570]=0;c[8571]=15388;c[8572]=-4;c[8573]=-4;c[8574]=-4;c[8575]=0;c[8576]=15396;c[8577]=-4;c[8578]=-4;c[8579]=-4;c[8580]=0;c[8581]=15409;c[8582]=-1;c[8583]=-2;c[8584]=-64;c[8585]=0;c[8586]=15422;c[8587]=-1;c[8588]=-3;c[8589]=-64;c[8590]=0;c[8591]=15438;c[8592]=-1;c[8593]=-3;c[8594]=-64;c[8595]=0;c[8596]=15454;c[8597]=-1;c[8598]=-4;c[8599]=-64;c[8600]=0;c[8601]=15470;c[8602]=-1;c[8603]=-4;c[8604]=-64;c[8605]=0;c[8606]=15486;c[8607]=-2;c[8608]=-1;c[8609]=-64;c[8610]=0;c[8611]=15503;c[8612]=-2;c[8613]=-1;c[8614]=-64;c[8615]=0;c[8616]=15520;c[8617]=-2;c[8618]=-3;c[8619]=-64;c[8620]=0;c[8621]=15536;c[8622]=-2;c[8623]=-3;c[8624]=-64;c[8625]=0;c[8626]=15552;c[8627]=-2;c[8628]=-4;c[8629]=-64;c[8630]=0;c[8631]=15568;c[8632]=-2;c[8633]=-4;c[8634]=-64;c[8635]=0;c[8636]=15584;c[8637]=-3;c[8638]=-1;c[8639]=-64;c[8640]=0;c[8641]=15602;c[8642]=-3;c[8643]=-1;c[8644]=-64;c[8645]=0;c[8646]=15620;c[8647]=-3;c[8648]=-2;c[8649]=-64;c[8650]=0;c[8651]=15638;c[8652]=-3;c[8653]=-2;c[8654]=-64;c[8655]=0;c[8656]=15656;c[8657]=-3;c[8658]=-4;c[8659]=-64;c[8660]=0;c[8661]=15671;c[8662]=-4;c[8663]=-1;c[8664]=-64;c[8665]=0;c[8666]=15689;c[8667]=-4;c[8668]=-1;c[8669]=-64;c[8670]=0;c[8671]=15707;c[8672]=-4;c[8673]=-2;c[8674]=-64;c[8675]=0;c[8676]=15725;c[8677]=-4;c[8678]=-2;c[8679]=-64;c[8680]=0;c[8681]=15743;c[8682]=-4;c[8683]=-3;c[8684]=-64;c[8685]=0;c[8686]=15759;c[8687]=-1;c[8688]=-3;c[8689]=-64;c[8690]=0;c[8691]=15779;c[8692]=-2;c[8693]=-4;c[8694]=-64;c[8695]=0;c[8696]=15799;c[8697]=-3;c[8698]=-1;c[8699]=-64;c[8700]=0;c[8701]=15819;c[8702]=-4;c[8703]=-2;c[8704]=-64;c[8705]=0;return}function _h(a,b){a=a|0;b=b|0;var d=0;if((b|0)!=-1){d=b;return d|0}Zh();d=c[30984+(a*20|0)+16>>2]|0;return d|0}function $h(a){a=a|0;var b=0;if(!(c[a>>2]|0)){b=1;return b|0}b=(c[a+4>>2]|0)==0;return b|0}function ai(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(!d){e=0;return e|0}f=c[b>>2]|0;if(!f){e=0;return e|0}g=c[a+4>>2]|0;if((g|0)!=(c[b+4>>2]|0)){e=0;return e|0}e=(vm(d,f,g)|0)==0;return e|0}function bi(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;Xn(b);return}function ci(a,b){a=a|0;b=b|0;var d=0,e=0;d=a<<24>>24;a=d+-48|0;if(a>>>0<10){c[b>>2]=a;e=0;return e|0}if((d+-97|0)>>>0<7){c[b>>2]=d+-87;e=0;return e|0}if((d+-65|0)>>>0>=7){e=1;return e|0}c[b>>2]=d+-55;e=0;return e|0}function di(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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((b|0)==(d|0)){f=1;return f|0}g=a[b>>0]|0;a:do if((g<<24>>24==48?(h=b+1|0,h>>>0<d>>>0):0)?(a[h>>0]|0)==120:0){h=b+2|0;if((h|0)==(d|0)){f=1;return f|0}if(h>>>0<d>>>0){i=h;j=0;k=0;b:while(1){l=a[i>>0]|0;m=l+-48|0;do if(m>>>0<10)n=m;else{if((l+-97|0)>>>0<7){n=l+-87|0;break}if((l+-65|0)>>>0>=7){f=1;o=21;break b}n=l+-55|0}while(0);l=bo(j|0,k|0,4)|0;m=ho(n|0,0,l|0,C|0)|0;l=C;if(k>>>0>l>>>0|(k|0)==(l|0)&j>>>0>m>>>0){f=1;o=21;break}p=i+1|0;if(p>>>0<d>>>0){i=p;j=m;k=l}else{q=p;r=m;s=l;break a}}if((o|0)==21)return f|0}else{q=h;r=0;s=0}}else o=3;while(0);c:do if((o|0)==3)if(b>>>0<d>>>0){n=(g<<24>>24)+-48|0;if(n>>>0>9){f=1;return f|0}else{t=b;u=0;v=0;w=n}while(1){n=po(u|0,v|0,10,0)|0;k=u;u=ho(w|0,0,n|0,C|0)|0;n=v;v=C;if(n>>>0>v>>>0|(n|0)==(v|0)&k>>>0>u>>>0){f=1;o=21;break}t=t+1|0;if(t>>>0>=d>>>0){q=t;r=u;s=v;break c}w=(a[t>>0]|0)+-48|0;if(w>>>0>9){f=1;o=21;break}}if((o|0)==21)return f|0}else{q=b;r=0;s=0}while(0);if((q|0)!=(d|0)){f=1;return f|0}d=e;c[d>>2]=r;c[d+4>>2]=s;f=0;return f|0}function ei(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,l=0,m=0,n=0,o=0,p=0,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;g=a[b>>0]|0;a:do switch(g<<24>>24){case 43:case 45:{if(!f){h=1;return h|0}else{i=b+1|0;j=g<<24>>24==45;break a}break}default:{i=b;j=0}}while(0);b:do if((i|0)==(d|0)){k=1;l=0;m=0}else{b=a[i>>0]|0;if((b<<24>>24==48?(g=i+1|0,g>>>0<d>>>0):0)?(a[g>>0]|0)==120:0){g=i+2|0;if((g|0)==(d|0)){k=1;l=0;m=0;break}if(g>>>0<d>>>0){f=g;n=0;o=0;while(1){p=a[f>>0]|0;q=p+-48|0;do if(q>>>0<10)r=q;else{if((p+-97|0)>>>0<7){r=p+-87|0;break}if((p+-65|0)>>>0>=7){k=1;l=0;m=0;break b}r=p+-55|0}while(0);p=bo(n|0,o|0,4)|0;q=ho(r|0,0,p|0,C|0)|0;p=C;if(o>>>0>p>>>0|(o|0)==(p|0)&n>>>0>q>>>0){k=1;l=0;m=0;break b}s=f+1|0;if(s>>>0<d>>>0){f=s;n=q;o=p}else{t=s;u=q;v=p;break}}}else{t=g;u=0;v=0}}else w=6;c:do if((w|0)==6)if(i>>>0<d>>>0){o=(b<<24>>24)+-48|0;if(o>>>0>9){k=1;l=0;m=0;break b}else{x=i;y=0;z=0;A=o}while(1){o=po(y|0,z|0,10,0)|0;n=y;y=ho(A|0,0,o|0,C|0)|0;o=z;z=C;if(o>>>0>z>>>0|(o|0)==(z|0)&n>>>0>y>>>0){k=1;l=0;m=0;break b}x=x+1|0;if(x>>>0>=d>>>0){t=x;u=y;v=z;break c}A=(a[x>>0]|0)+-48|0;if(A>>>0>9){k=1;l=0;m=0;break b}}}else{t=i;u=0;v=0}while(0);b=(t|0)==(d|0);k=b&1^1;l=b?v:0;m=b?u:0}while(0);do if(j)if(l>>>0>2147483648|(l|0)==-2147483648&m>>>0>0){h=1;return h|0}else{u=$n(0,0,m|0,l|0)|0;B=u;D=C;break}else{B=m;D=l}while(0);l=e;c[l>>2]=B;c[l+4>>2]=D;h=k;return h|0}function fi(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=a[b>>0]|0;a:do switch(g<<24>>24){case 43:case 45:{if(!f){h=1;return h|0}else{i=b+1|0;j=g<<24>>24==45;break a}break}default:{i=b;j=0}}while(0);if((i|0)==(d|0)){h=1;return h|0}b=a[i>>0]|0;b:do if((b<<24>>24==48?(g=i+1|0,g>>>0<d>>>0):0)?(a[g>>0]|0)==120:0){g=i+2|0;if((g|0)==(d|0)){h=1;return h|0}if(g>>>0<d>>>0){f=g;k=0;l=0;c:while(1){m=a[f>>0]|0;n=m+-48|0;do if(n>>>0<10)o=n;else{if((m+-97|0)>>>0<7){o=m+-87|0;break}if((m+-65|0)>>>0>=7){h=1;p=28;break c}o=m+-55|0}while(0);m=bo(k|0,l|0,4)|0;n=ho(o|0,0,m|0,C|0)|0;m=C;if(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>n>>>0){h=1;p=28;break}q=f+1|0;if(q>>>0<d>>>0){f=q;k=n;l=m}else{r=q;s=m;t=n;break b}}if((p|0)==28)return h|0}else{r=g;s=0;t=0}}else p=6;while(0);d:do if((p|0)==6)if(i>>>0<d>>>0){o=(b<<24>>24)+-48|0;if(o>>>0>9){h=1;return h|0}else{u=i;v=0;w=0;x=o}while(1){o=po(v|0,w|0,10,0)|0;l=v;v=ho(x|0,0,o|0,C|0)|0;o=w;w=C;if(o>>>0>w>>>0|(o|0)==(w|0)&l>>>0>v>>>0){h=1;p=28;break}u=u+1|0;if(u>>>0>=d>>>0){r=u;s=w;t=v;break d}x=(a[u>>0]|0)+-48|0;if(x>>>0>9){h=1;p=28;break}}if((p|0)==28)return h|0}else{r=i;s=0;t=0}while(0);if((r|0)!=(d|0)){h=1;return h|0}do if(j)if(s>>>0>0|(s|0)==0&t>>>0>2147483648){h=1;return h|0}else{d=$n(0,1,t|0,s|0)|0;y=d;break}else if(s>>>0>0|(s|0)==0&t>>>0>4294967295){h=1;return h|0}else y=t;while(0);c[e>>2]=y;h=0;return h|0}function gi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.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,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,ba=0,ca=0;h=i;i=i+16|0;j=h;switch(b|0){case 1:case 0:{b=_l()|0;c[b>>2]=0;k=+_m(d,j);do if((c[j>>2]|0)==(e|0)){if(k==-s|(k==0.0|k==s)?c[b>>2]|0:0){l=1;break}g[f>>2]=k;l=0}else l=1;while(0);m=l;i=h;return m|0}case 2:{switch(a[d>>0]|0){case 45:{n=d+1|0;o=1;break}case 43:{n=d+1|0;o=0;break}default:{n=d;o=0}}l=n+2|0;if(l>>>0<e>>>0){n=l;l=0;b=0;j=0;p=0;q=0;a:while(1){r=a[n>>0]|0;do if(r<<24>>24!=46){t=r<<24>>24;u=t+-48|0;if(u>>>0<10){v=q+4|0;if(!u){w=l;x=b;y=j;z=p;A=v;break}else{B=v;C=u}}else{if((t+-97|0)>>>0<7)D=t+-87|0;else{if((t+-65|0)>>>0>=7){E=n;F=1;G=l;H=b;I=p;J=q;break a}D=t+-55|0}B=q+4|0;C=D}if((b|0)==0|(B+j|0)<29){w=l;x=(b<<B)+C|0;y=j+4|0;z=p-(l?B:0)|0;A=0}else{w=l;x=b;y=j;z=p;A=B}}else{w=1;x=b;y=j;z=((b|0)==0?0:q)+p|0;A=0}while(0);r=n+1|0;if(r>>>0<e>>>0){n=r;l=w;b=x;j=y;p=z;q=A}else{E=r;F=0;G=w;H=x;I=z;J=A;break}}A=(G?0:J)+I|0;if(H|0){if(F){F=E+1|0;switch(a[F>>0]|0){case 45:{K=E+2|0;L=1;M=0-A|0;break}case 43:{K=E+2|0;L=0;M=A;break}default:{K=F;L=0;M=0}}if(K>>>0<e>>>0){F=K;K=0;while(1){E=(K*10|0)+-48+(a[F>>0]|0)|0;F=F+1|0;if(!(F>>>0<e>>>0&(E+M|0)<128)){N=E;break}else K=E}}else N=0;O=L<<24>>24?0-N|0:N}else O=0;N=32-(aa(H|0)|0)|0;L=A+N|0;A=L+-1+O|0;if((A|0)>127){c[f>>2]=(o&1)<<31|2139095040;m=0;i=h;return m|0}if((A|0)>=-126){if((N|0)<=24)if((N|0)<24){P=A;Q=H<<24-N}else{P=A;Q=H}else{K=N+-24|0;if(!(1<<K&H))R=H;else R=(1<<N+-25)+H|0;M=R>>>K;P=M>>>0>16777215?O+L|0:A;Q=M}c[f>>2]=Q&8388607|(o&1)<<31|(P<<23)+1065353216;m=0;i=h;return m|0}if((N|0)<=23)if((N|0)<23)S=H<<23-N;else S=H;else{P=N+-23|0;if(!(1<<P&H))T=H;else T=(1<<N+-24)+H|0;S=T>>>P}P=-127-A|0;if((P|0)<23){if(!P)U=S;else{if(!(S&1<<P))V=S;else V=S+(1<<P+-1)|0;U=V>>>P&8388607}if(U|0){c[f>>2]=U|(o&1)<<31;m=0;i=h;return m|0}}c[f>>2]=(o&1)<<31;m=0;i=h;return m|0}}c[f>>2]=(o&1)<<31;m=0;i=h;return m|0}case 3:{c[f>>2]=((a[d>>0]|0)==45&1)<<31|2139095040;m=0;i=h;return m|0}case 4:{switch(a[d>>0]|0){case 45:{W=d+1|0;X=-8388608;break}case 43:{W=d+1|0;X=2139095040;break}default:{W=d;X=2139095040}}do if((W+3|0)!=(e|0)){d=W+6|0;if(d>>>0<e>>>0){Y=d;Z=0}else{m=1;i=h;return m|0}b:while(1){d=a[Y>>0]|0;o=d+-48|0;do if(o>>>0<10)_=o;else{if((d+-97|0)>>>0<7){_=d+-87|0;break}if((d+-65|0)>>>0>=7){m=1;$=71;break b}_=d+-55|0}while(0);d=_+(Z<<4)|0;Y=Y+1|0;if(d>>>0>=8388608){m=1;$=71;break}if(Y>>>0>=e>>>0){ba=d;$=69;break}else Z=d}if(($|0)==69){if(!ba)m=1;else{ca=ba;break}i=h;return m|0}else if(($|0)==71){i=h;return m|0}}else ca=4194304;while(0);c[f>>2]=ca|X;m=0;i=h;return m|0}default:{m=1;i=h;return m|0}}return 0}function hi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0.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,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;g=i;i=i+16|0;j=g;switch(b|0){case 1:case 0:{b=_l()|0;c[b>>2]=0;k=+an(d,j);do if((c[j>>2]|0)==(e|0)){if(k==-s|(k==0.0|k==s)?c[b>>2]|0:0){l=1;break}h[f>>3]=k;l=0}else l=1;while(0);m=l;i=g;return m|0}case 2:{switch(a[d>>0]|0){case 45:{n=d+1|0;o=0;p=-2147483648;break}case 43:{n=d+1|0;o=0;p=0;break}default:{n=d;o=0;p=0}}l=n+2|0;if(l>>>0<e>>>0){n=l;l=0;b=0;j=0;q=0;r=0;t=0;a:while(1){u=a[n>>0]|0;do if(u<<24>>24!=46){v=u<<24>>24;w=v+-48|0;if(w>>>0<10){x=t+4|0;if(!w){y=l;z=b;A=j;B=q;D=r;E=x;break}else{F=x;G=w}}else{if((v+-97|0)>>>0<7)H=v+-87|0;else{if((v+-65|0)>>>0>=7){I=n;J=1;K=l;L=b;M=j;N=r;O=t;break a}H=v+-55|0}F=t+4|0;G=H}if((l|0)==0&(b|0)==0|(F+q|0)<58){v=bo(l|0,b|0,F|0)|0;w=ho(v|0,C|0,G|0,0)|0;y=w;z=C;A=j;B=q+4|0;D=r-(j?F:0)|0;E=0}else{y=l;z=b;A=j;B=q;D=r;E=F}}else{y=l;z=b;A=1;B=q;D=((l|0)==0&(b|0)==0?0:t)+r|0;E=0}while(0);u=n+1|0;if(u>>>0<e>>>0){n=u;l=y;b=z;j=A;q=B;r=D;t=E}else{I=u;J=0;K=y;L=z;M=A;N=D;O=E;break}}E=(M?0:O)+N|0;if(!((K|0)==0&(L|0)==0)){if(J){J=I+1|0;switch(a[J>>0]|0){case 45:{P=I+2|0;Q=1;R=0-E|0;break}case 43:{P=I+2|0;Q=0;R=E;break}default:{P=J;Q=0;R=0}}if(P>>>0<e>>>0){J=P;P=0;while(1){I=(P*10|0)+-48+(a[J>>0]|0)|0;J=J+1|0;if(!(J>>>0<e>>>0&(I+R|0)<1024)){S=I;break}else P=I}}else S=0;T=Q<<24>>24?0-S|0:S}else T=0;S=ko(K|0,L|0,0)|0;Q=64-S|0;S=E+Q|0;E=S+-1+T|0;if((E|0)>1023){P=f;c[P>>2]=o;c[P+4>>2]=p|2146435072;m=0;i=g;return m|0}if((E|0)>=-1022){if((Q|0)<=53)if((Q|0)<53){P=bo(K|0,L|0,53-Q|0)|0;U=C;V=P;W=E}else{U=L;V=K;W=E}else{P=Q+-53|0;R=bo(1,0,P|0)|0;if((R&K|0)==0&(C&L|0)==0){X=K;Y=L}else{R=bo(1,0,Q+-54|0)|0;J=ho(R|0,C|0,K|0,L|0)|0;X=J;Y=C}J=fo(X|0,Y|0,P|0)|0;P=C;U=P;V=J;W=P>>>0>2097151|(P|0)==2097151&J>>>0>4294967295?T+S|0:E}S=bo(W+1023|0,0,52)|0;W=f;c[W>>2]=V|o|S;c[W+4>>2]=U&1048575|p|C;m=0;i=g;return m|0}if((Q|0)<=52)if((Q|0)<52){U=bo(K|0,L|0,52-Q|0)|0;Z=U;_=C}else{Z=K;_=L}else{U=Q+-52|0;W=bo(1,0,U|0)|0;if((W&K|0)==0&(C&L|0)==0){$=K;aa=L}else{W=bo(1,0,Q+-53|0)|0;Q=ho(W|0,C|0,K|0,L|0)|0;$=Q;aa=C}Q=fo($|0,aa|0,U|0)|0;Z=Q;_=C}Q=-1023-E|0;if((Q|0)<52){if(!Q){ba=Z;ca=_}else{E=bo(1,0,Q|0)|0;if((Z&E|0)==0&(_&C|0)==0){da=Z;ea=_}else{E=bo(1,0,Q+-1|0)|0;U=ho(Z|0,_|0,E|0,C|0)|0;da=U;ea=C}U=fo(da|0,ea|0,Q|0)|0;ba=U;ca=C&1048575}if(!((ba|0)==0&(ca|0)==0)){U=f;c[U>>2]=ba|o;c[U+4>>2]=ca|p;m=0;i=g;return m|0}}ca=f;c[ca>>2]=o;c[ca+4>>2]=p;m=0;i=g;return m|0}}ca=f;c[ca>>2]=o;c[ca+4>>2]=p;m=0;i=g;return m|0}case 3:{p=bo((a[d>>0]|0)==45|0,0,63)|0;ca=f;c[ca>>2]=p;c[ca+4>>2]=C|2146435072;m=0;i=g;return m|0}case 4:{switch(a[d>>0]|0){case 45:{fa=d+1|0;ga=0;ha=-1048576;break}case 43:{fa=d+1|0;ga=0;ha=2146435072;break}default:{fa=d;ga=0;ha=2146435072}}d=fa+3|0;do if((d|0)!=(e|0)){b:do if(d>>>0<e>>>0){ca=d;p=15839;while(1){o=a[p>>0]|0;if(!(o<<24>>24)){ia=p;break b}if((a[ca>>0]|0)!=o<<24>>24){m=1;break}ca=ca+1|0;o=p+1|0;if(ca>>>0>=e>>>0){ia=o;break b}else p=o}i=g;return m|0}else ia=15839;while(0);if(a[ia>>0]|0){m=1;i=g;return m|0}p=fa+6|0;if(p>>>0<e>>>0){ja=p;ka=0;la=0}else{m=1;i=g;return m|0}c:while(1){p=a[ja>>0]|0;ca=p+-48|0;do if(ca>>>0<10)ma=ca;else{if((p+-97|0)>>>0<7){ma=p+-87|0;break}if((p+-65|0)>>>0>=7){m=1;na=76;break c}ma=p+-55|0}while(0);p=bo(ka|0,la|0,4)|0;ca=ho(ma|0,0,p|0,C|0)|0;p=C;ja=ja+1|0;if(!(p>>>0<1048576|(p|0)==1048576&ca>>>0<0)){m=1;na=76;break}if(ja>>>0>=e>>>0){oa=ca;pa=p;na=74;break}else{ka=ca;la=p}}if((na|0)==74){if((oa|0)==0&(pa|0)==0)m=1;else{qa=oa;ra=pa;break}i=g;return m|0}else if((na|0)==76){i=g;return m|0}}else{qa=0;ra=524288}while(0);na=f;c[na>>2]=qa|ga;c[na+4>>2]=ra|ha;m=0;i=g;return m|0}default:{m=1;i=g;return m|0}}return 0}function ii(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=d;return}function ji(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=(c[d>>2]|0)+b;return}function ki(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;h=a+8|0;if((c[h>>2]|0)==1)return;i=c[a+12>>2]|0;if(i|0)li(i,d,e,b,0,f,g);g=c[a>>2]|0;c[h>>2]=sb[c[(c[g>>2]|0)+8>>2]&63](g,b,d,e)|0;return}function li(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,J=0,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+32|0;m=l+24|0;n=l+16|0;o=l+8|0;p=l;q=l+28|0;r=e+f|0;if((f|0)<=0){i=l;return}f=(h|0)==0;s=g-e|0;g=b+4|0;t=b+8|0;u=b+12|0;v=(k|0)==1;k=(j|0)!=0;w=e;while(1){e=w+16|0;if(!f){c[p>>2]=h;mi(b,24344,p)}c[o>>2]=s+w;mi(b,15843,o);x=0;y=w;while(1){if(y>>>0<r>>>0){c[n>>2]=d[y>>0];mi(b,15851,n)}else{a[q>>0]=32;z=c[g>>2]|0;if((c[t>>2]|0)==1){A=z;B=1}else{C=c[u>>2]|0;if(C|0)li(C,q,1,z,0,0,0);C=c[b>>2]|0;D=sb[c[(c[C>>2]|0)+8>>2]&63](C,z,q,1)|0;c[t>>2]=D;A=c[g>>2]|0;B=D}D=A+1|0;c[g>>2]=D;a[q>>0]=32;if((B|0)==1)E=D;else{z=c[u>>2]|0;if(z|0)li(z,q,1,D,0,0,0);z=c[b>>2]|0;c[t>>2]=sb[c[(c[z>>2]|0)+8>>2]&63](z,D,q,1)|0;E=c[g>>2]|0}c[g>>2]=E+1}D=x+1|0;z=y+1|0;if((D|0)<2){x=D;y=z;continue}a[q>>0]=32;D=c[g>>2]|0;if((c[t>>2]|0)==1){F=1;G=D}else{C=c[u>>2]|0;if(C|0)li(C,q,1,D,0,0,0);C=c[b>>2]|0;H=sb[c[(c[C>>2]|0)+8>>2]&63](C,D,q,1)|0;c[t>>2]=H;F=H;G=c[g>>2]|0}H=G+1|0;c[g>>2]=H;if(z>>>0<e>>>0){x=0;y=z}else{I=z;J=F;K=H;break}}if(v){a[q>>0]=32;if((J|0)==1){L=1;M=K}else{y=c[u>>2]|0;if(y|0)li(y,q,1,K,0,0,0);y=c[b>>2]|0;x=sb[c[(c[y>>2]|0)+8>>2]&63](y,K,q,1)|0;c[t>>2]=x;L=x;M=c[g>>2]|0}x=M+1|0;c[g>>2]=x;if(w>>>0<r>>>0){y=0;e=w;while(1){if(!(Pm(d[e>>0]|0)|0))N=46;else N=d[e>>0]|0;a[q>>0]=N;H=c[g>>2]|0;if((c[t>>2]|0)==1){O=1;P=H}else{z=c[u>>2]|0;if(z|0)li(z,q,1,H,0,0,0);z=c[b>>2]|0;D=sb[c[(c[z>>2]|0)+8>>2]&63](z,H,q,1)|0;c[t>>2]=D;O=D;P=c[g>>2]|0}D=P+1|0;c[g>>2]=D;y=y+1|0;H=e+1|0;if(!(H>>>0<r>>>0&(y|0)<16)){Q=O;R=D;S=H;break}else e=H}}else{Q=L;R=x;S=w}}else{Q=J;R=K;S=I}if(k&S>>>0>=r>>>0){c[m>>2]=j;mi(b,15856,m);T=c[t>>2]|0;U=c[g>>2]|0}else{T=Q;U=R}a[q>>0]=10;if((T|0)==1)V=U;else{e=c[u>>2]|0;if(e|0)li(e,q,1,U,0,0,0);e=c[b>>2]|0;c[t>>2]=sb[c[(c[e>>2]|0)+8>>2]&63](e,U,q,1)|0;V=c[g>>2]|0}c[g>>2]=V+1;if(S>>>0<r>>>0)w=S;else break}i=l;return}function mi(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;e=i;i=i+160|0;f=e+16|0;g=e;h=e+32|0;c[f>>2]=d;c[g>>2]=c[f>>2];d=fm(h,128,b,f)|0;f=d+1|0;if(f>>>0>128){j=i;i=i+((1*f|0)+15&-16)|0;k=j;l=fm(j,f,b,g)|0}else{k=h;l=d}d=a+4|0;h=c[d>>2]|0;g=a+8|0;if((c[g>>2]|0)==1){m=h;n=m+l|0;c[d>>2]=n;i=e;return}b=c[a+12>>2]|0;if(b|0)li(b,k,l,h,0,0,0);b=c[a>>2]|0;c[g>>2]=sb[c[(c[b>>2]|0)+8>>2]&63](b,h,k,l)|0;m=c[d>>2]|0;n=m+l|0;c[d>>2]=n;i=e;return}function ni(a,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;g=a+4|0;h=c[g>>2]|0;i=a+8|0;if((c[i>>2]|0)==1){j=h;k=j+d|0;c[g>>2]=k;return}l=c[a+12>>2]|0;if(l|0)li(l,b,d,h,0,e,f);f=c[a>>2]|0;c[i>>2]=sb[c[(c[f>>2]|0)+8>>2]&63](f,h,b,d)|0;j=c[g>>2]|0;k=j+d|0;c[g>>2]=k;return}function oi(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;h=a+8|0;if((c[h>>2]|0)==1){i=f;return}j=c[a+12>>2]|0;if(j|0){c[g>>2]=d;c[g+4>>2]=e+d;c[g+8>>2]=b;c[g+12>>2]=e+b;mi(j,15863,g)}g=c[a>>2]|0;c[h>>2]=sb[c[(c[g>>2]|0)+12>>2]&63](g,b,d,e)|0;i=f;return}function pi(a){a=a|0;var b=0;b=a+16|0;c[a>>2]=b;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;vi(b);return}function qi(a){a=a|0;var b=0,d=0;c[a>>2]=1520;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;b=c[a>>2]|0;if(b|0){d=a+4|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;Bn(b)}Bn(a);return}function ri(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=1520;b=a+4|0;d=c[b>>2]|0;c[b>>2]=0;if(!d){Bn(a);return}b=c[d>>2]|0;if(b|0){e=d+4|0;if((c[e>>2]|0)!=(b|0))c[e>>2]=b;Bn(b)}Bn(d);Bn(a);return}function si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!e)return 0;f=e+b|0;g=a+4|0;a=c[g>>2]|0;h=(c[a+4>>2]|0)-(c[a>>2]|0)|0;if(f>>>0>h>>>0){ti(a,f-h|0);i=c[g>>2]|0}else i=a;io((c[i>>2]|0)+b|0,d|0,e|0)|0;return 0}function ti(b,d){b=b|0;d=d|0;var 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;e=b+8|0;f=c[e>>2]|0;g=b+4|0;h=c[g>>2]|0;if((f-h|0)>>>0>=d>>>0){i=d;j=h;do{a[j>>0]=0;j=(c[g>>2]|0)+1|0;c[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=c[b>>2]|0;j=h-i+d|0;if((j|0)<0)sn(b);h=f-i|0;if(h>>>0<1073741823){f=h<<1;h=f>>>0<j>>>0?j:f;f=(c[g>>2]|0)-i|0;if(!h){k=0;l=0;m=f}else{n=h;o=f;p=9}}else{n=2147483647;o=(c[g>>2]|0)-i|0;p=9}if((p|0)==9){k=n;l=Un(n)|0;m=o}o=l+m|0;m=l+k|0;k=d;d=o;l=o;while(1){a[d>>0]=0;d=l+1|0;n=d;k=k+-1|0;if(!k){q=n;break}else l=n}l=c[b>>2]|0;k=(c[g>>2]|0)-l|0;d=o+(0-k)|0;io(d|0,l|0,k|0)|0;c[b>>2]=d;c[g>>2]=q;c[e>>2]=m;if(!l)return;Bn(l);return}function ui(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!e)return 0;f=e+d|0;g=e+b|0;h=f>>>0>g>>>0?f:g;g=a+4|0;a=c[g>>2]|0;f=(c[a+4>>2]|0)-(c[a>>2]|0)|0;if(h>>>0>f>>>0){ti(a,h-f|0);i=c[g>>2]|0}else i=a;a=c[i>>2]|0;jo(a+b|0,a+d|0,e|0)|0;return 0}function vi(a){a=a|0;var b=0;c[a>>2]=1520;b=Un(12)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+4>>2]=b;return}function wi(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function xi(a,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;g=i;i=i+16|0;h=g;j=d+8|0;c[j>>2]=(c[j>>2]|0)+1;c[h>>2]=f;yi(c[d+4>>2]|0,a,b,e,h);i=g;return}function yi(a,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;g=i;i=i+176|0;h=g+32|0;j=g+48|0;k=g+28|0;l=g+24|0;m=g+12|0;n=g;c[h>>2]=c[f>>2];o=(fm(j,128,e,f)|0)+1|0;if(o>>>0>128){f=i;i=i+((1*o|0)+15&-16)|0;fm(f,o,e,h)|0;p=f}else p=j;c[k>>2]=0;c[l>>2]=0;j=pb[c[(c[a>>2]|0)+12>>2]&127](a)|0;if((b|0)!=0&(d|0)!=0){f=i;i=i+((1*(j+1|0)|0)+15&-16)|0;if((Yd(d,b,j,f,k,l)|0)==1){Qm(15939,31,1,c[550]|0)|0;gb(1)}else q=f}else q=0;f=c[(c[a>>2]|0)+8>>2]|0;jn(m,p,wm(p)|0);jn(n,q,c[k>>2]|0);vb[f&31](a,b,m,n,c[l>>2]|0)|0;kn(n);kn(m);i=g;return}function zi(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)return;else d=b;do{b=d;d=c[d+8>>2]|0;bi(b);Bn(b)}while((d|0)!=0);return}function Ai(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+32>>2]=0;return}function Bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;switch(c[a>>2]|0){case 0:{Dc(c[a+4>>2]|0);return}case 3:case 4:case 1:{b=c[a+4>>2]|0;if(!b)return;d=c[b>>2]|0;e=d;if(d|0){f=b+4|0;g=c[f>>2]|0;if((g|0)!=(d|0))c[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Bn(d)}Bn(b);return}case 5:case 2:{bi(a+20|0);return}default:return}}function Ci(a){a=a|0;var b=0;if(!a)return;else b=a;do{a=b;b=c[b+32>>2]|0;Bi(a);Bn(a)}while((b|0)!=0);return}function Di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;c[a+8>>2]=0;e=b+4|0;f=(c[e>>2]|0)-(c[b>>2]|0)|0;g=f>>2;if(!g)return;if(g>>>0>1073741823)sn(a);h=Un(f)|0;c[d>>2]=h;c[a>>2]=h;c[a+8>>2]=h+(g<<2);g=c[b>>2]|0;b=c[e>>2]|0;if((g|0)==(b|0))return;e=(b+-4-g|0)>>>2;a=g;g=h;while(1){c[g>>2]=c[a>>2];a=a+4|0;if((a|0)==(b|0))break;else g=g+4|0}c[d>>2]=h+(e+1<<2);return}function Ei(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+160|0;f=e+16|0;g=e;h=e+32|0;if(!(c[c[a>>2]>>2]|0)){i=e;return}c[f>>2]=d;c[g>>2]=c[f>>2];d=(fm(h,128,b,f)|0)+1|0;if(d>>>0>128){f=i;i=i+((1*d|0)+15&-16)|0;fm(f,d,b,g)|0;j=f}else j=h;h=c[a>>2]|0;nb[c[h>>2]&31](j,c[h+4>>2]|0);i=e;return}function Fi(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;e=i;i=i+16|0;f=e+4|0;g=e;h=b+4|0;j=c[h>>2]|0;k=b+8|0;l=c[k>>2]|0;m=j;if((l|0)==(j|0))n=l;else{j=l+(~((l+-4-m|0)>>>2)<<2)|0;c[k>>2]=j;n=j}j=b+16|0;l=c[j>>2]|0;o=b+20|0;p=c[o>>2]|0;if((p|0)==(l|0)){q=m;r=n}else{n=p;while(1){p=n+-24|0;c[o>>2]=p;m=c[n+-20>>2]|0;s=m;if(!m)t=p;else{p=n+-16|0;u=c[p>>2]|0;if((u|0)!=(m|0))c[p>>2]=u+(~((u+-4-s|0)>>>2)<<2);Bn(m);t=c[o>>2]|0}if((t|0)==(l|0))break;else n=t}q=c[h>>2]|0;r=c[k>>2]|0}c[f>>2]=0;k=r-q>>2;c[g>>2]=k;if(l>>>0<(c[b+24>>2]|0)>>>0){c[l>>2]=0;Di(l+4|0,d);c[l+16>>2]=k;a[l+20>>0]=0;c[o>>2]=(c[o>>2]|0)+24;i=e;return 0}else{Gi(j,f,d,g);i=e;return 0}return 0} -function Vd(b,d){b=b|0;d=d|0;var 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;e=b+36|0;if(a[e>>0]|0){f=1;return f|0}g=b+52|0;h=c[g>>2]|0;i=b+40|0;j=c[i>>2]|0;k=h;l=j;m=k-l|0;if(m>>>0<d>>>0){n=b+44|0;o=c[n>>2]|0;p=d+29|0;d=o|0?o<<1:65536;while(1){q=d-o+m|0;if(q>>>0<p>>>0)d=d<<1;else{r=q;s=d;break}}d=Wn(s)|0;p=b+60|0;o=c[p>>2]|0;jo(d|0,h|0,o-k|0)|0;c[i>>2]=d;c[n>>2]=s;s=0-m|0;c[g>>2]=d+m+s;n=b+48|0;c[n>>2]=d+((c[n>>2]|0)-l)+s;n=b+56|0;c[n>>2]=d+((c[n>>2]|0)-l)+s;c[p>>2]=d+(o-l)+s;s=b+28|0;c[s>>2]=(c[s>>2]|0)+m;if(!j)t=r;else{Xn(j);t=r}}else{r=b+60|0;jo(j|0,h|0,(c[r>>2]|0)-k|0)|0;k=0-m|0;c[g>>2]=(c[g>>2]|0)+k;g=b+48|0;c[g>>2]=(c[g>>2]|0)+k;g=b+56|0;c[g>>2]=(c[g>>2]|0)+k;c[r>>2]=(c[r>>2]|0)+k;k=b+28|0;c[k>>2]=(c[k>>2]|0)+m;t=m}if(!(c[b>>2]|0)){m=b+60|0;k=Tm(c[m>>2]|0,1,t,c[b+4>>2]|0)|0;r=(c[m>>2]|0)+k|0;c[m>>2]=r;u=m;v=r}else{r=b+12|0;m=c[r>>2]|0;k=(c[b+8>>2]|0)-m|0;g=t>>>0>k>>>0?k:t;t=b+60|0;io(c[t>>2]|0,(c[b+4>>2]|0)+m|0,g|0)|0;c[r>>2]=(c[r>>2]|0)+g;r=(c[t>>2]|0)+g|0;c[t>>2]=r;u=t;v=r}if(v>>>0>=((c[i>>2]|0)+(c[b+44>>2]|0)+-29|0)>>>0){f=0;return f|0}a[e>>0]=1;e=v;v=e+29|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(v|0));c[u>>2]=(c[u>>2]|0)+29;f=0;return f|0}function Wd(a){a=a|0;var b=0;if((c[a>>2]|0)==0?(b=c[a+4>>2]|0,b|0):0)Km(b)|0;b=c[a+40>>2]|0;if(!b){Bn(a);return}Xn(b);Bn(a);return}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Un(64)|0;f=e;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e+20>>2]=1;c[e+16>>2]=a;c[e>>2]=1;c[e+4>>2]=b;c[e+8>>2]=d;c[e+12>>2]=0;return e|0}function Yd(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,C=0;j=i;i=i+16|0;k=j+4|0;l=j;m=c[d+4>>2]|0;n=c[b+20>>2]|0;o=c[b+32>>2]|0;do if((n|0)==(m|0)){c[k>>2]=o;p=o}else{if((m|0)==1){c[k>>2]=0;p=0;break}if((n|0)<(m|0))q=Zd(b,n,o,0,m,k)|0;else q=Zd(b,1,0,0,m,k)|0;if((q|0)!=1){p=c[k>>2]|0;break}r=1;i=j;return r|0}while(0);if((Zd(b,m,p,1,m,l)|0)==1){r=1;i=j;return r|0}m=c[l>>2]|0;l=c[d+8>>2]|0;k=c[d+12>>2]|0;d=m-p|0;do if(d>>>0>e>>>0){if((k-l|0)>>>0>e>>>0)s=l;else s=(k+l|0)/2|0;q=s+-1|0;o=e>>>1;n=(q>>>0>o>>>0?q-o|0:0)+p|0;o=m-e|0;q=n>>>0>o>>>0?o:n;n=(m|0)==(q+e|0);if((p|0)==(q|0))if(n){t=p;u=e;v=e;w=p;x=f;break}else{y=e;z=p;A=f}else{a[f>>0]=a[7653]|0;a[f+1>>0]=a[7654]|0;a[f+2>>0]=a[7655]|0;o=q+3|0;B=f+3|0;C=e+-3|0;if(n){t=q;u=e;v=C;w=o;x=B;break}else{y=C;z=o;A=B}}B=f+e+-3|0;a[B>>0]=a[7653]|0;a[B+1>>0]=a[7654]|0;a[B+2>>0]=a[7655]|0;t=q;u=e;v=y+-3|0;w=z;x=A}else{t=p;u=d;v=d;w=p;x=f}while(0);if((c[b>>2]|0)!=1){d=c[b+4>>2]|0;A=Wm(d)|0;if((A|0)==-1){r=1;i=j;return r|0}if((Zm(d,w,0)|0)==-1){r=1;i=j;return r|0}if((Tm(x,1,v,d)|0)>>>0<v>>>0){r=1;i=j;return r|0}if((Zm(d,A,0)|0)==-1){r=1;i=j;return r|0}}else io(x|0,(c[b+4>>2]|0)+w|0,v|0)|0;a[f+u>>0]=0;c[g>>2]=u;c[h>>2]=t-p;r=0;i=j;return r|0}function Zd(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,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;j=i;i=i+8192|0;k=j;if((c[b>>2]|0)==1){l=c[b+4>>2]|0;m=l+e|0;n=c[b+8>>2]|0;o=l+n|0;a:do if((n|0)>(e|0))if(!f){l=d;p=m;while(1){if((a[p>>0]|0)==10){q=l+1|0;if((q|0)==(g|0)){r=p;break}else s=q}else s=l;q=p+1|0;if(q>>>0<o>>>0){l=s;p=q}else{t=0;u=q;break a}}t=e+1-m+r|0;u=r;break}else{p=0;l=d;q=m;while(1){v=a[q>>0]|0;if(v<<24>>24==10)if((l|0)==(g|0)){w=p;x=q;break}else y=l+1|0;else y=l;z=q+1|0;if(z>>>0<o>>>0){p=v<<24>>24==13;l=y;q=z}else{t=0;u=z;break a}}t=e-m+(w<<31>>31)+x|0;u=x;break}else{t=0;u=m}while(0);if((u|0)==(o|0))if(!f){A=t;B=1}else{A=e-m+o|0;B=0}else{A=t;B=0}c[h>>2]=A;C=B;i=j;return C|0}B=c[b+4>>2]|0;b=Wm(B)|0;if((b|0)==-1){C=1;i=j;return C|0}if((Zm(B,e,0)|0)==-1)D=1;else{A=Tm(k,1,8192,B)|0;b:do if(!A){E=e;F=27}else{t=k;o=1-t|0;c:do if(!f){m=d;u=A;x=e;while(1){w=k+u|0;d:do if((u|0)>0){y=m;r=k;while(1){if((a[r>>0]|0)==10){s=y+1|0;if((s|0)==(g|0)){G=r;break}else H=s}else H=y;s=r+1|0;if(s>>>0<w>>>0){y=H;r=s}else{I=H;J=0;K=s;break d}}I=g;J=o+x+G|0;K=G}else{I=m;J=0;K=k}while(0);if((K|0)!=(w|0)){L=J;break c}c[h>>2]=J;r=x+u|0;u=Tm(k,1,8192,B)|0;if(!u){E=r;F=27;break b}else{m=I;x=r}}}else{x=k+A|0;e:do if((A|0)>0){m=0;u=d;r=k;while(1){y=a[r>>0]|0;if(y<<24>>24==10)if((u|0)==(g|0)){M=m;N=r;break}else O=u+1|0;else O=u;s=r+1|0;if(s>>>0<x>>>0){m=y<<24>>24==13;u=O;r=s}else{P=0;Q=s;break e}}P=e-t+(M<<31>>31)+N|0;Q=N}else{P=0;Q=k}while(0);L=(Q|0)==(x|0)?A+e|0:P}while(0);c[h>>2]=L;R=0}while(0);if((F|0)==27)if(!f)R=1;else{c[h>>2]=E;R=0}D=R}R=(Zm(B,b,0)|0)==-1;C=R?1:D;i=j;return C|0}function _d(a){a=a|0;return}function $d(a){a=a|0;Bn(a);return}function ae(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;f=i;i=i+16|0;g=f+8|0;h=f;j=c[b+4>>2]|0;k=c[b+8>>2]|0;l=c[b+12>>2]|0;b=(a[e>>0]&1)==0?e+1|0:c[e+8>>2]|0;if((d|0)==-1){c[h>>2]=b;xi(j,k,l,7719,h);i=f;return 1}else{c[g>>2]=d;c[g+4>>2]=b;xi(j,k,l,7746,g);i=f;return 1}return 0}function be(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,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,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,uc=0,vc=0,wc=0,xc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Jc=0,Kc=0,Lc=0,od=0,pd=0,Dd=0,Gd=0,Id=0,Nd=0,Rd=0,Sd=0,Td=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,he=0,ie=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0;g=i;i=i+11056|0;h=g+7032|0;j=g+10504|0;k=g+10496|0;l=g+7024|0;m=g+7016|0;n=g+7008|0;o=g+7e3|0;p=g+6992|0;q=g+6984|0;r=g+6976|0;s=g+6968|0;t=g+6952|0;u=g+6944|0;v=g+6928|0;w=g+6920|0;x=g+6904|0;y=g+6896|0;z=g+6880|0;A=g+6872|0;B=g+6856|0;C=g+6848|0;D=g+6840|0;E=g+6832|0;F=g+6824|0;G=g+6816|0;H=g+6768|0;I=g+10456|0;J=g+10520|0;K=g+304|0;L=g+7256|0;M=g+240|0;N=g+10920|0;O=g+7236|0;P=g+7208|0;Q=g+10492|0;R=g+10488|0;S=g+10484|0;T=g+10472|0;U=g+6800|0;V=g+6736|0;W=g+11050|0;X=g+6704|0;Y=g+11049|0;Z=g+272|0;_=g+11048|0;$=g+7240|0;aa=g+224|0;ba=g+7224|0;ca=g+208|0;da=g+7212|0;ea=g+192|0;fa=g+7196|0;ga=g+176|0;ha=g+7184|0;ia=g+160|0;ja=g+7172|0;ka=g+144|0;la=g+7160|0;ma=g+128|0;na=g+7148|0;oa=g+112|0;pa=g+7136|0;qa=g+96|0;ra=g+7124|0;sa=g+80|0;ta=g+7112|0;ua=g+64|0;va=g+7100|0;wa=g+48|0;xa=g+7088|0;ya=g+32|0;za=g+7076|0;Aa=g+16|0;Ba=g+7064|0;Ca=g;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[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[O>>2]=128;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;Da=M+4|0;Ea=h+8|0;Fa=j+4|0;Ga=M+16|0;Ha=M+8|0;Ia=Da+4|0;Ja=M+24|0;Ka=M+24|0;La=Ka+4|0;Ma=h+16|0;Na=h+24|0;Oa=h+24|0;Pa=j+4|0;Qa=j+8|0;Ra=j+12|0;Sa=f+12|0;Ta=f+16|0;Ua=f+20|0;Va=h+16|0;Wa=-2;Xa=L;Ya=L;Za=J;_a=J;$a=200;ab=0;bb=K;cb=K;while(1){b[_a>>1]=ab;if((Za+($a<<1)+-2|0)>>>0<=_a>>>0){db=(_a-Za>>1)+1|0;eb=$a<<1;fb=eb>>>0>2147483647?-1:eb<<1;gb=Wn(fb)|0;ao(gb|0,0,fb|0)|0;jo(gb|0,Za|0,eb|0)|0;if(!((Za|0)==(J|0)|(Za|0)==0))Xn(Za);c[Sa>>2]=gb;fb=eb>>>0>134217727?-1:eb<<5;hb=Wn(fb)|0;ao(hb|0,0,fb|0)|0;jo(hb|0,bb|0,$a<<5|0)|0;if(!((bb|0)==(K|0)|(bb|0)==0))Xn(bb);c[Ta>>2]=hb;fb=eb>>>0>268435455?-1:eb<<4;ib=Wn(fb)|0;ao(ib|0,0,fb|0)|0;jo(ib|0,Xa|0,$a<<4|0)|0;if(!((Xa|0)==(L|0)|(Xa|0)==0))Xn(Xa);c[Ua>>2]=ib;fb=gb+(db<<1)+-2|0;jb=hb+(db<<5)+-32|0;if((eb|0)>(db|0)){kb=ib;lb=ib+(db<<4)+-16|0;mb=gb;nb=fb;ob=eb;pb=hb;qb=jb}else{rb=Wa;sb=N;tb=1;ub=gb;vb=fb;wb=jb;break}}else{kb=Xa;lb=Ya;mb=Za;nb=_a;ob=$a;pb=bb;qb=cb}if((ab|0)==10){rb=Wa;sb=N;tb=0;ub=mb;vb=nb;wb=qb;break}jb=b[2948+(ab<<1)>>1]|0;fb=jb<<16>>16;do if(jb<<16>>16!=-274){if((Wa|0)==-2)xb=Ud(H,I,e,f)|0;else xb=Wa;if((xb|0)>=1)if(xb>>>0<330){yb=xb;zb=d[7782+xb>>0]|0}else{yb=xb;zb=2}else{yb=0;zb=0}gb=zb+fb|0;if(gb>>>0<=797?(b[3758+(gb<<1)>>1]|0)==(zb|0):0){hb=b[5354+(gb<<1)>>1]|0;gb=hb<<16>>16;if(hb<<16>>16<1){Ab=yb;Bb=0-gb|0;Cb=24;break}else{hb=qb+32|0;c[hb>>2]=c[H>>2];c[hb+4>>2]=c[H+4>>2];c[hb+8>>2]=c[H+8>>2];c[hb+12>>2]=c[H+12>>2];c[hb+16>>2]=c[H+16>>2];c[hb+20>>2]=c[H+20>>2];c[hb+24>>2]=c[H+24>>2];c[hb+28>>2]=c[H+28>>2];eb=lb+16|0;c[eb>>2]=c[I>>2];c[eb+4>>2]=c[I+4>>2];c[eb+8>>2]=c[I+8>>2];c[eb+12>>2]=c[I+12>>2];Db=-2;Eb=eb;Fb=nb;Gb=gb;Hb=hb;break}}else{Ib=yb;Cb=23}}else{Ib=Wa;Cb=23}while(0);if((Cb|0)==23){Cb=0;fb=a[8112+ab>>0]|0;if(!(fb<<24>>24)){Jb=Ib;Kb=mb;Lb=nb;Mb=ab;Nb=qb;Cb=695;break}else{Ab=Ib;Bb=fb&255;Cb=24}}do if((Cb|0)==24){Cb=0;fb=a[8517+Bb>>0]|0;jb=fb&255;hb=qb+(1-jb<<5)|0;c[M>>2]=c[hb>>2];c[M+4>>2]=c[hb+4>>2];c[M+8>>2]=c[hb+8>>2];c[M+12>>2]=c[hb+12>>2];c[M+16>>2]=c[hb+16>>2];c[M+20>>2]=c[hb+20>>2];c[M+24>>2]=c[hb+24>>2];c[M+28>>2]=c[hb+28>>2];hb=0-jb|0;if(!(fb<<24>>24)){fb=c[lb+(hb<<4)+12>>2]|0;Ob=0;Pb=fb;Qb=fb;Rb=lb+(hb<<4)+4|0}else{fb=lb+(hb<<4)|0;gb=fb+16|0;Ob=c[gb>>2]|0;Pb=c[gb+8>>2]|0;Qb=c[fb+(jb<<4)+12>>2]|0;Rb=gb+4|0}gb=c[Rb>>2]|0;a:do switch(Bb|0){case 2:{jb=Un(12)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;fb=c[qb>>2]|0;eb=qb+4|0;db=c[eb>>2]|0;b:do if(!db)Sb=0;else{ib=fb;Tb=0;while(1){if(!(a[ib>>0]|0)){Sb=Tb;break b}Ub=Tb+1|0;if(Ub>>>0<db>>>0){ib=ib+1|0;Tb=Ub}else{Sb=Ub;break}}}while(0);db=Wn(Sb+1|0)|0;io(db|0,fb|0,Sb|0)|0;a[db+Sb>>0]=0;c[jb>>2]=db;c[jb+4>>2]=c[eb>>2];c[jb+8>>2]=0;c[Da>>2]=jb;c[M>>2]=jb;break}case 3:{db=qb+-32|0;Tb=c[db+4>>2]|0;ib=M;c[ib>>2]=c[db>>2];c[ib+4>>2]=Tb;ib=Un(12)|0;c[ib>>2]=0;c[ib+4>>2]=0;c[ib+8>>2]=0;db=c[qb>>2]|0;Ub=qb+4|0;Vb=c[Ub>>2]|0;Wb=Tb;c:do if(!Vb)Xb=0;else{Tb=db;Yb=0;while(1){if(!(a[Tb>>0]|0)){Xb=Yb;break c}Zb=Yb+1|0;if(Zb>>>0<Vb>>>0){Tb=Tb+1|0;Yb=Zb}else{Xb=Zb;break}}}while(0);Vb=Wn(Xb+1|0)|0;io(Vb|0,db|0,Xb|0)|0;a[Vb+Xb>>0]=0;c[ib>>2]=Vb;c[ib+4>>2]=c[Ub>>2];c[ib+8>>2]=0;c[Wb+8>>2]=ib;c[Da>>2]=ib;break}case 4:{c[Da>>2]=0;c[M>>2]=0;break}case 6:{Vb=qb;jb=c[Vb+4>>2]|0;eb=h;c[eb>>2]=c[Vb>>2];c[eb+4>>2]=jb;c[Ea>>2]=0;c[j>>2]=h;c[Fa>>2]=h;ce(j,k,P);c[M>>2]=c[k>>2];c[Da>>2]=c[P>>2];break}case 7:{jb=Un(12)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[M>>2]=jb;break}case 8:{jb=c[qb+-32>>2]|0;c[M>>2]=jb;eb=jb+4|0;Vb=c[eb>>2]|0;if((Vb|0)==(c[jb+8>>2]|0)){de(jb,qb);break a}else{c[Vb>>2]=c[qb>>2];c[eb>>2]=Vb+4;break a}break}case 171:{Vb=Un(32)|0;Qd(Vb);c[M>>2]=Vb;eb=c[qb>>2]|0;jb=c[Vb>>2]|0;if(!jb){_b=Vb+4|0;$b=Vb+8|0}else{fb=Vb+4|0;Yb=c[fb>>2]|0;if((Yb|0)==(jb|0))ac=jb;else{Tb=Yb;do{Yb=Tb+-4|0;c[fb>>2]=Yb;Zb=c[Yb>>2]|0;c[Yb>>2]=0;if(Zb|0){Pd(Zb);Bn(Zb)}Tb=c[fb>>2]|0}while((Tb|0)!=(jb|0));ac=c[Vb>>2]|0}Bn(ac);jb=Vb+8|0;c[jb>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;_b=fb;$b=jb}c[Vb>>2]=c[eb>>2];jb=eb+4|0;c[_b>>2]=c[jb>>2];Tb=eb+8|0;c[$b>>2]=c[Tb>>2];c[Tb>>2]=0;c[jb>>2]=0;c[eb>>2]=0;jb=c[qb>>2]|0;if(jb|0){Tb=c[jb>>2]|0;if(Tb|0){ib=jb+4|0;Wb=c[ib>>2]|0;if((Wb|0)==(Tb|0))bc=Tb;else{Ub=Wb;do{Wb=Ub+-4|0;c[ib>>2]=Wb;db=c[Wb>>2]|0;c[Wb>>2]=0;if(db|0){Pd(db);Bn(db)}Ub=c[ib>>2]|0}while((Ub|0)!=(Tb|0));bc=c[jb>>2]|0}Bn(bc)}Bn(jb)}Tb=c[M>>2]|0;Ub=Tb;d:do if((c[Tb+4>>2]|0)==(c[Tb>>2]|0))cc=Ub;else{ib=Tb;eb=Ub;Vb=0;fb=-1;while(1){db=c[(c[ib>>2]|0)+(Vb<<2)>>2]|0;switch(c[db>>2]|0){case 0:{Wb=c[db+8>>2]|0;Zb=c[Wb+20>>2]|0;if(!Zb){dc=ib;ec=eb;fc=Vb}else{jn(Ba,c[Wb+16>>2]|0,Zb);c[Ca>>2]=c[Wb>>2];c[Ca+4>>2]=c[Wb+4>>2];c[Ca+8>>2]=c[Wb+8>>2];c[Ca+12>>2]=c[Wb+12>>2];Wb=Un(40)|0;Zb=Wb+8|0;c[Zb>>2]=c[Ba>>2];c[Zb+4>>2]=c[Ba+4>>2];c[Zb+8>>2]=c[Ba+8>>2];c[Ba>>2]=0;c[Ba+4>>2]=0;c[Ba+8>>2]=0;Zb=Wb+20|0;c[Zb>>2]=c[Ca>>2];c[Zb+4>>2]=c[Ca+4>>2];c[Zb+8>>2]=c[Ca+8>>2];c[Zb+12>>2]=c[Ca+12>>2];c[Wb+36>>2]=Vb;ge(ib+12|0,Wb)|0;kn(Ba);Wb=c[M>>2]|0;dc=Wb;ec=Wb;fc=Vb}break}case 8:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 9:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 10:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 12:case 11:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 1:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 2:{gc=db+16|0;Cb=687;break}default:{dc=ib;ec=eb;fc=fb}}if((Cb|0)==687){Cb=0;if((c[gc+16>>2]|0)==0?(db=gc+24|0,Wb=db,(c[Wb>>2]|0)==-1?(c[Wb+4>>2]|0)==-1:0):0){Wb=db;c[Wb>>2]=fb;c[Wb+4>>2]=((fb|0)<0)<<31>>31;dc=ib;ec=eb;fc=fb}else{dc=ib;ec=eb;fc=fb}}Vb=Vb+1|0;if(Vb>>>0>=(c[dc+4>>2]|0)-(c[dc>>2]|0)>>2>>>0){cc=ec;break d}else{ib=dc;eb=ec;fb=fc}}}while(0);c[f>>2]=cc;break}case 10:{Ub=Un(20)|0;sd(Ub);c[M>>2]=Ub;c[Ub+8>>2]=c[qb>>2];a[Ub+12>>0]=0;break}case 11:{Ub=Un(20)|0;sd(Ub);c[M>>2]=Ub;c[Ub+8>>2]=c[qb+-32>>2];a[Ub+12>>0]=1;break}case 12:{c[M>>2]=c[qb+-32>>2];break}case 13:{Ub=Un(24)|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[Ub+12>>2]=0;c[Ub+16>>2]=0;c[Ub+20>>2]=0;c[M>>2]=Ub;break}case 14:{Ub=Un(24)|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[Ub+12>>2]=0;c[Ub+16>>2]=0;c[Ub+20>>2]=0;c[M>>2]=Ub;Tb=qb+-32|0;jb=c[Tb>>2]|0;fb=jb+4|0;eb=c[fb>>2]|0;c[Ub>>2]=c[jb>>2];c[Ub+4>>2]=eb;eb=jb+8|0;c[Ub+8>>2]=c[eb>>2];c[eb>>2]=0;c[fb>>2]=0;c[jb>>2]=0;jb=c[Tb>>2]|0;if(jb|0){Tb=c[jb>>2]|0;fb=Tb;if(Tb|0){eb=jb+4|0;Ub=c[eb>>2]|0;if((Ub|0)!=(Tb|0))c[eb>>2]=Ub+(~((Ub+-4-fb|0)>>>2)<<2);Bn(Tb)}Bn(jb)}break}case 15:{jb=Un(24)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[jb+12>>2]=0;c[jb+16>>2]=0;c[jb+20>>2]=0;c[M>>2]=jb;Tb=qb+-160|0;fb=c[Tb>>2]|0;Ub=fb+4|0;eb=c[Ub>>2]|0;c[jb>>2]=c[fb>>2];c[jb+4>>2]=eb;eb=fb+8|0;c[jb+8>>2]=c[eb>>2];c[eb>>2]=0;c[Ub>>2]=0;c[fb>>2]=0;fb=c[Tb>>2]|0;if(fb|0){Tb=c[fb>>2]|0;Ub=Tb;if(Tb|0){eb=fb+4|0;jb=c[eb>>2]|0;if((jb|0)!=(Tb|0))c[eb>>2]=jb+(~((jb+-4-Ub|0)>>>2)<<2);Bn(Tb)}Bn(fb)}fb=c[M>>2]|0;Tb=fb+12|0;Ub=qb+-32|0;jb=c[Ub>>2]|0;eb=c[Tb>>2]|0;ib=eb;Vb=fb+16|0;if(!eb)hc=fb+20|0;else{Wb=c[Vb>>2]|0;if((Wb|0)!=(eb|0))c[Vb>>2]=Wb+(~((Wb+-4-ib|0)>>>2)<<2);Bn(eb);eb=fb+20|0;c[eb>>2]=0;c[Vb>>2]=0;c[Tb>>2]=0;hc=eb}c[Tb>>2]=c[jb>>2];Tb=jb+4|0;c[Vb>>2]=c[Tb>>2];Vb=jb+8|0;c[hc>>2]=c[Vb>>2];c[Vb>>2]=0;c[Tb>>2]=0;c[jb>>2]=0;jb=c[Ub>>2]|0;if(jb|0){Ub=c[jb>>2]|0;Tb=Ub;if(Ub|0){Vb=jb+4|0;eb=c[Vb>>2]|0;if((eb|0)!=(Ub|0))c[Vb>>2]=eb+(~((eb+-4-Tb|0)>>>2)<<2);Bn(Ub)}Bn(jb)}break}case 16:{jb=Un(24)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[jb+12>>2]=0;c[jb+16>>2]=0;c[jb+20>>2]=0;c[M>>2]=jb;Ub=qb+-32|0;Tb=c[Ub>>2]|0;eb=Tb+4|0;Vb=c[eb>>2]|0;c[jb+12>>2]=c[Tb>>2];c[jb+16>>2]=Vb;Vb=Tb+8|0;c[jb+20>>2]=c[Vb>>2];c[Vb>>2]=0;c[eb>>2]=0;c[Tb>>2]=0;Tb=c[Ub>>2]|0;if(Tb|0){Ub=c[Tb>>2]|0;eb=Ub;if(Ub|0){Vb=Tb+4|0;jb=c[Vb>>2]|0;if((jb|0)!=(Ub|0))c[Vb>>2]=jb+(~((jb+-4-eb|0)>>>2)<<2);Bn(Ub)}Bn(Tb)}break}case 17:{Tb=Un(32)|0;ud(Tb);c[M>>2]=Tb;Ub=Tb+8|0;Tb=qb+-32|0;c[Ub>>2]=c[Tb>>2];c[Ub+4>>2]=c[Tb+4>>2];c[Ub+8>>2]=c[Tb+8>>2];c[Ub+12>>2]=c[Tb+12>>2];c[Ub+16>>2]=c[Tb+16>>2];c[Ub+20>>2]=c[Tb+20>>2];break}case 18:{Tb=Un(32)|0;Ad(Tb);c[M>>2]=Tb;Ub=Tb+8|0;c[Ub>>2]=c[qb>>2];c[Ub+4>>2]=c[qb+4>>2];c[Ub+8>>2]=c[qb+8>>2];c[Ub+12>>2]=c[qb+12>>2];c[Ub+16>>2]=c[qb+16>>2];c[Ub+20>>2]=c[qb+20>>2];break}case 19:{a[Ga>>0]=0;Ub=qb;Tb=c[Ub+4>>2]|0;eb=M;c[eb>>2]=c[Ub>>2];c[eb+4>>2]=Tb;Tb=Ha;c[Tb>>2]=0;c[Tb+4>>2]=0;break}case 20:{a[Ga>>0]=1;Tb=qb+-32|0;eb=c[Tb+4>>2]|0;Ub=M;c[Ub>>2]=c[Tb>>2];c[Ub+4>>2]=eb;eb=qb;Ub=c[eb+4>>2]|0;Tb=Ha;c[Tb>>2]=c[eb>>2];c[Tb+4>>2]=Ub;break}case 21:{Ub=qb+-32|0;c[M>>2]=c[Ub>>2];c[M+4>>2]=c[Ub+4>>2];c[M+8>>2]=c[Ub+8>>2];c[M+12>>2]=c[Ub+12>>2];c[M+16>>2]=c[Ub+16>>2];c[M+20>>2]=c[Ub+20>>2];c[M+24>>2]=c[Ub+24>>2];c[M+28>>2]=c[Ub+28>>2];break}case 22:{Ub=qb+4|0;Tb=c[Ub>>2]|0;eb=Ub+4|0;if((di(Tb,Tb+(c[eb>>2]|0)|0,M)|0)==1){Tb=c[Ub>>2]|0;c[G>>2]=c[eb>>2];c[G+4>>2]=Tb;xi(lb,e,f,8690,G)}break}case 23:{c[M>>2]=c[qb>>2];Tb=qb+4|0;eb=c[Tb>>2]|0;Ub=Tb+4|0;Tb=c[Ub>>2]|0;e:do if(!Tb)ic=0;else{jb=eb;Vb=0;while(1){if(!(a[jb>>0]|0)){ic=Vb;break e}fb=Vb+1|0;if(fb>>>0<Tb>>>0){jb=jb+1|0;Vb=fb}else{ic=fb;break}}}while(0);Tb=Wn(ic+1|0)|0;io(Tb|0,eb|0,ic|0)|0;a[Tb+ic>>0]=0;c[Da>>2]=Tb;c[Ia>>2]=c[Ub>>2];break}case 24:{c[M>>2]=c[qb>>2];Tb=qb+4|0;Vb=c[Tb>>2]|0;jb=Tb+4|0;Tb=c[jb>>2]|0;f:do if(!Tb)jc=0;else{fb=Vb;ib=0;while(1){if(!(a[fb>>0]|0)){jc=ib;break f}Wb=ib+1|0;if(Wb>>>0<Tb>>>0){fb=fb+1|0;ib=Wb}else{jc=Wb;break}}}while(0);Tb=Wn(jc+1|0)|0;io(Tb|0,Vb|0,jc|0)|0;a[Tb+jc>>0]=0;c[Da>>2]=Tb;c[Ia>>2]=c[jb>>2];break}case 25:{c[M>>2]=c[qb>>2];Tb=qb+4|0;Ub=c[Tb>>2]|0;eb=Tb+4|0;Tb=c[eb>>2]|0;g:do if(!Tb)kc=0;else{ib=Ub;fb=0;while(1){if(!(a[ib>>0]|0)){kc=fb;break g}Wb=fb+1|0;if(Wb>>>0<Tb>>>0){ib=ib+1|0;fb=Wb}else{kc=Wb;break}}}while(0);Tb=Wn(kc+1|0)|0;io(Tb|0,Ub|0,kc|0)|0;a[Tb+kc>>0]=0;c[Da>>2]=Tb;c[Ia>>2]=c[eb>>2];break}case 26:{c[M>>2]=c[lb>>2];c[M+4>>2]=c[lb+4>>2];c[M+8>>2]=c[lb+8>>2];c[M+12>>2]=c[lb+12>>2];c[Ga>>2]=0;Tb=qb;jb=c[Tb+4>>2]|0;Vb=Ja;c[Vb>>2]=c[Tb>>2];c[Vb+4>>2]=jb;break}case 27:{c[M>>2]=c[lb>>2];c[M+4>>2]=c[lb+4>>2];c[M+8>>2]=c[lb+8>>2];c[M+12>>2]=c[lb+12>>2];c[Ga>>2]=1;jb=c[qb>>2]|0;Vb=qb+4|0;Tb=c[Vb>>2]|0;h:do if(!Tb)lc=0;else{fb=jb;ib=0;while(1){if(!(a[fb>>0]|0)){lc=ib;break h}Wb=ib+1|0;if(Wb>>>0<Tb>>>0){fb=fb+1|0;ib=Wb}else{lc=Wb;break}}}while(0);Tb=Wn(lc+1|0)|0;io(Tb|0,jb|0,lc|0)|0;a[Tb+lc>>0]=0;c[Ka>>2]=Tb;c[La>>2]=c[Vb>>2];break}case 28:{Tb=Un(12)|0;c[Tb>>2]=0;c[Tb+4>>2]=0;c[Tb+8>>2]=0;c[M>>2]=Tb;break}case 29:{Tb=c[qb+-32>>2]|0;c[M>>2]=Tb;eb=Tb+4|0;Ub=c[eb>>2]|0;if((Ub|0)==(c[Tb+8>>2]|0)){ee(Tb,qb);break a}else{c[Ub>>2]=c[qb>>2];c[Ub+4>>2]=c[qb+4>>2];c[Ub+8>>2]=c[qb+8>>2];c[Ub+12>>2]=c[qb+12>>2];c[Ub+16>>2]=c[qb+16>>2];c[Ub+20>>2]=c[qb+20>>2];c[Ub+24>>2]=c[qb+24>>2];c[Ub+28>>2]=c[qb+28>>2];c[eb>>2]=(c[eb>>2]|0)+32;break a}break}case 30:{eb=M;c[eb>>2]=0;c[eb+4>>2]=0;break}case 32:{eb=c[qb>>2]|0;Ub=qb+4|0;Tb=c[Ub>>2]|0;i:do if(!Tb)mc=0;else{ib=eb;fb=0;while(1){if(!(a[ib>>0]|0)){mc=fb;break i}Wb=fb+1|0;if(Wb>>>0<Tb>>>0){ib=ib+1|0;fb=Wb}else{mc=Wb;break}}}while(0);Tb=Wn(mc+1|0)|0;io(Tb|0,eb|0,mc|0)|0;a[Tb+mc>>0]=0;c[M>>2]=Tb;c[Da>>2]=c[Ub>>2];break}case 33:{Tb=M;c[Tb>>2]=0;c[Tb+4>>2]=0;break}case 35:{Tb=M;c[Tb>>2]=0;c[Tb+4>>2]=0;break}case 36:{Tb=c[qb>>2]|0;Vb=qb+4|0;if((ei(Tb,Tb+(c[Vb>>2]|0)|0,M,1)|0)==1){Tb=c[qb>>2]|0;c[F>>2]=c[Vb>>2];c[F+4>>2]=Tb;xi(lb,e,f,8708,F)}break}case 37:{c[M>>2]=-1;break}case 38:{Tb=c[qb>>2]|0;Vb=qb+4|0;if((fi(Tb,Tb+(c[Vb>>2]|0)|0,M,0)|0)==1){Tb=c[qb>>2]|0;c[E>>2]=c[Vb>>2];c[E+4>>2]=Tb;xi(lb,e,f,8730,E)}break}case 39:{Tb=c[qb>>2]|0;Vb=Tb;c[Tb>>2]=c[lb>>2];c[Tb+4>>2]=c[lb+4>>2];c[Tb+8>>2]=c[lb+8>>2];c[Tb+12>>2]=c[lb+12>>2];c[M>>2]=Vb;c[Da>>2]=Vb;c[Ha>>2]=1;break}case 40:{Vb=c[qb>>2]|0;Tb=Vb;c[Vb>>2]=c[lb>>2];c[Vb+4>>2]=c[lb+4>>2];c[Vb+8>>2]=c[lb+8>>2];c[Vb+12>>2]=c[lb+12>>2];c[M>>2]=Tb;c[Da>>2]=Tb;c[Ha>>2]=1;break}case 41:{c[M>>2]=c[qb>>2];c[M+4>>2]=c[qb+4>>2];c[M+8>>2]=c[qb+8>>2];break}case 42:{c[M>>2]=md()|0;break}case 43:{c[M>>2]=ed()|0;break}case 44:{c[M>>2]=Zc()|0;break}case 45:{c[M>>2]=gd()|0;break}case 46:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Qc(h)|0;break}case 47:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Rc(h)|0;break}case 48:{Tb=c[qb+-32>>2]|0;c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Sc(Tb,h)|0;break}case 49:{c[M>>2]=fd()|0;break}case 50:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Tc(h)|0;break}case 51:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Uc(h)|0;break}case 52:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=$c(h)|0;break}case 53:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=id(h)|0;break}case 54:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=kd(h)|0;break}case 55:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=_c(h)|0;break}case 56:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=hd(h)|0;break}case 57:{Tb=qb+-32|0;c[M>>2]=cd(c[qb+-64>>2]|0,c[qb>>2]|0,c[Tb>>2]|0,c[Tb+4>>2]|0)|0;break}case 58:{Tb=qb+-32|0;c[M>>2]=jd(c[qb+-64>>2]|0,c[qb>>2]|0,c[Tb>>2]|0,c[Tb+4>>2]|0)|0;break}case 59:{Tb=lb+-16|0;c[Va>>2]=0;c[Va+4>>2]=0;c[Va+8>>2]=0;c[Va+12>>2]=0;c[h>>2]=c[Tb>>2];c[h+4>>2]=c[Tb+4>>2];c[h+8>>2]=c[Tb+8>>2];c[h+12>>2]=c[Tb+12>>2];Tb=c[qb+-32>>2]|0;Vb=c[qb>>2]|0;jb=qb+4|0;fb=c[jb>>2]|0;ib=jb+4|0;Wb=c[ib>>2]|0;db=fb+Wb|0;c[Ma>>2]=Tb;switch(Tb|0){case -1:{nc=fi(fb,db,Na,1)|0;Cb=140;break}case -2:{nc=ei(fb,db,Oa,1)|0;Cb=140;break}case -3:{nc=gi(Vb,fb,db,Na)|0;Cb=140;break}case -4:{nc=hi(Vb,fb,db,Oa)|0;Cb=140;break}default:{oc=Wb;pc=fb;Cb=142}}if((Cb|0)==140?(Cb=0,(nc|0)==1):0){oc=c[ib>>2]|0;pc=c[jb>>2]|0;Cb=142}if((Cb|0)==142){Cb=0;c[D>>2]=oc;c[D+4>>2]=pc;xi(lb,e,f,8755,D)}ib=c[jb>>2]|0;if(ib|0)Xn(ib);c[M>>2]=Wc(h)|0;break}case 60:{c[M>>2]=ld(c[qb>>2]|0)|0;break}case 61:{c[M>>2]=Oc(c[qb>>2]|0)|0;break}case 62:{c[M>>2]=Vc(c[qb>>2]|0)|0;break}case 63:{c[M>>2]=Xc(c[qb>>2]|0)|0;break}case 64:{c[M>>2]=Yc()|0;break}case 65:{c[M>>2]=ad()|0;break}case 66:{ib=Pc(c[qb+-64>>2]|0)|0;c[M>>2]=ib;jb=qb+-96|0;fb=c[jb+4>>2]|0;Wb=c[ib+24>>2]|0;c[Wb>>2]=c[jb>>2];c[Wb+4>>2]=fb;if(!($h(qb)|0)){if(!($h(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(ai(c[(c[M>>2]|0)+24>>2]|0,qb)|0)){fb=c[(c[M>>2]|0)+24>>2]|0;Wb=c[fb>>2]|0;jb=c[qb+4>>2]|0;ib=c[qb>>2]|0;c[B>>2]=c[fb+4>>2];c[B+4>>2]=Wb;c[B+8>>2]=jb;c[B+12>>2]=ib;xi(lb,e,f,8802,B)}}else{ib=c[qb>>2]|0;c[C>>2]=c[qb+4>>2];c[C+4>>2]=ib;xi(lb,e,f,8778,C)}bi(qb)}break}case 67:{ib=dd(c[qb+-64>>2]|0)|0;c[M>>2]=ib;jb=qb+-96|0;Wb=c[jb+4>>2]|0;fb=c[ib+24>>2]|0;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Wb;if(!($h(qb)|0)){if(!($h(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(ai(c[(c[M>>2]|0)+24>>2]|0,qb)|0)){Wb=c[(c[M>>2]|0)+24>>2]|0;fb=c[Wb>>2]|0;jb=c[qb+4>>2]|0;ib=c[qb>>2]|0;c[z>>2]=c[Wb+4>>2];c[z+4>>2]=fb;c[z+8>>2]=jb;c[z+12>>2]=ib;xi(lb,e,f,8802,z)}}else{ib=c[qb>>2]|0;c[A>>2]=c[qb+4>>2];c[A+4>>2]=ib;xi(lb,e,f,8778,A)}bi(qb)}break}case 68:{ib=bd(c[qb+-64>>2]|0,0)|0;c[M>>2]=ib;jb=qb+-96|0;fb=c[jb+4>>2]|0;Wb=c[ib+24>>2]|0;c[Wb>>2]=c[jb>>2];c[Wb+4>>2]=fb;if(!($h(qb)|0)){if(!($h(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(ai(c[(c[M>>2]|0)+24>>2]|0,qb)|0)){fb=c[(c[M>>2]|0)+24>>2]|0;Wb=c[fb>>2]|0;jb=c[qb+4>>2]|0;ib=c[qb>>2]|0;c[x>>2]=c[fb+4>>2];c[x+4>>2]=Wb;c[x+8>>2]=jb;c[x+12>>2]=ib;xi(lb,e,f,8802,x)}}else{ib=c[qb>>2]|0;c[y>>2]=c[qb+4>>2];c[y+4>>2]=ib;xi(lb,e,f,8778,y)}bi(qb)}break}case 69:{ib=bd(c[qb+-160>>2]|0,c[qb+-64>>2]|0)|0;c[M>>2]=ib;jb=qb+-192|0;Wb=c[jb+4>>2]|0;fb=c[ib+24>>2]|0;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Wb;Wb=qb+-96|0;if(!($h(Wb)|0)){if(!($h(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(ai(c[(c[M>>2]|0)+24>>2]|0,Wb)|0)){fb=c[(c[M>>2]|0)+24>>2]|0;jb=c[fb>>2]|0;ib=c[qb+-92>>2]|0;db=c[Wb>>2]|0;c[v>>2]=c[fb+4>>2];c[v+4>>2]=jb;c[v+8>>2]=ib;c[v+12>>2]=db;xi(lb+-48|0,e,f,8802,v)}}else{db=c[Wb>>2]|0;c[w>>2]=c[qb+-92>>2];c[w+4>>2]=db;xi(lb+-48|0,e,f,8778,w)}bi(Wb)}if(!($h(qb)|0)){if(!($h(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(ai(c[(c[M>>2]|0)+24>>2]|0,qb)|0)){Wb=c[(c[M>>2]|0)+24>>2]|0;db=c[Wb>>2]|0;ib=c[qb+4>>2]|0;jb=c[qb>>2]|0;c[t>>2]=c[Wb+4>>2];c[t+4>>2]=db;c[t+8>>2]=ib;c[t+12>>2]=jb;xi(lb,e,f,8802,t)}}else{jb=c[qb>>2]|0;c[u>>2]=c[qb+4>>2];c[u+4>>2]=jb;xi(lb,e,f,8778,u)}bi(qb)}break}case 70:{jb=Un(24)|0;Mc(jb);c[M>>2]=jb;ib=jb+8|0;db=qb+-32|0;Wb=c[db>>2]|0;fb=c[ib>>2]|0;Vb=fb;Tb=jb+12|0;if(!fb)qc=jb+16|0;else{Zb=c[Tb>>2]|0;if((Zb|0)!=(fb|0))c[Tb>>2]=Zb+(~((Zb+-4-Vb|0)>>>2)<<2);Bn(fb);fb=jb+16|0;c[fb>>2]=0;c[Tb>>2]=0;c[ib>>2]=0;qc=fb}c[ib>>2]=c[Wb>>2];ib=Wb+4|0;c[Tb>>2]=c[ib>>2];Tb=Wb+8|0;c[qc>>2]=c[Tb>>2];c[Tb>>2]=0;c[ib>>2]=0;c[Wb>>2]=0;Wb=c[db>>2]|0;if(Wb|0){db=c[Wb>>2]|0;ib=db;if(db|0){Tb=Wb+4|0;fb=c[Tb>>2]|0;if((fb|0)!=(db|0))c[Tb>>2]=fb+(~((fb+-4-ib|0)>>>2)<<2);Bn(db)}Bn(Wb)}c[(c[M>>2]|0)+20>>2]=c[qb>>2];break}case 71:{Wb=qb+-32|0;c[M>>2]=c[Wb>>2];c[M+4>>2]=c[Wb+4>>2];c[M+8>>2]=c[Wb+8>>2];break}case 72:{Wb=lb+-16|0;db=c[qb+-32>>2]|0;ib=c[qb>>2]|0;if(ib){fb=c[qb+4>>2]|0;Tb=(c[qb+8>>2]|0)+1|0;if(!fb){rc=db;uc=Tb}else{c[fb+20>>2]=db;rc=ib;uc=Tb}}else{rc=db;uc=1}c[db>>2]=c[Wb>>2];c[db+4>>2]=c[Wb+4>>2];c[db+8>>2]=c[Wb+8>>2];c[db+12>>2]=c[Wb+12>>2];c[M>>2]=rc;c[Da>>2]=db;c[Ha>>2]=uc;break}case 73:{db=Pc(c[qb>>2]|0)|0;Wb=qb+-32|0;Tb=c[Wb+4>>2]|0;ib=c[db+24>>2]|0;c[ib>>2]=c[Wb>>2];c[ib+4>>2]=Tb;Tb=lb+-32|0;ib=db;c[db>>2]=c[Tb>>2];c[db+4>>2]=c[Tb+4>>2];c[db+8>>2]=c[Tb+8>>2];c[db+12>>2]=c[Tb+12>>2];c[M>>2]=ib;c[Da>>2]=ib;c[Ha>>2]=1;break}case 74:{ib=dd(c[qb>>2]|0)|0;Tb=qb+-32|0;db=c[Tb+4>>2]|0;Wb=c[ib+24>>2]|0;c[Wb>>2]=c[Tb>>2];c[Wb+4>>2]=db;db=lb+-32|0;Wb=ib;c[ib>>2]=c[db>>2];c[ib+4>>2]=c[db+4>>2];c[ib+8>>2]=c[db+8>>2];c[ib+12>>2]=c[db+12>>2];c[M>>2]=Wb;c[Da>>2]=Wb;c[Ha>>2]=1;break}case 75:{c[M>>2]=c[qb>>2];c[M+4>>2]=c[qb+4>>2];c[M+8>>2]=c[qb+8>>2];Wb=(c[qb+4>>2]|0)+24|0;db=qb+-64|0;ib=c[db+4>>2]|0;Tb=c[Wb>>2]|0;c[Tb>>2]=c[db>>2];c[Tb+4>>2]=ib;ib=c[Wb>>2]|0;Wb=ib+8|0;Tb=qb+-32|0;db=c[Tb>>2]|0;fb=c[Wb>>2]|0;jb=fb;Vb=ib+12|0;if(!fb)vc=ib+16|0;else{Zb=c[Vb>>2]|0;if((Zb|0)!=(fb|0))c[Vb>>2]=Zb+(~((Zb+-4-jb|0)>>>2)<<2);Bn(fb);fb=ib+16|0;c[fb>>2]=0;c[Vb>>2]=0;c[Wb>>2]=0;vc=fb}c[Wb>>2]=c[db>>2];Wb=db+4|0;c[Vb>>2]=c[Wb>>2];Vb=db+8|0;c[vc>>2]=c[Vb>>2];c[Vb>>2]=0;c[Wb>>2]=0;c[db>>2]=0;db=c[Tb>>2]|0;if(db|0){Tb=c[db>>2]|0;Wb=Tb;if(Tb|0){Vb=db+4|0;fb=c[Vb>>2]|0;if((fb|0)!=(Tb|0))c[Vb>>2]=fb+(~((fb+-4-Wb|0)>>>2)<<2);Bn(Tb)}Bn(db)}break}case 76:{db=Un(24)|0;Nc(db,c[qb+-160>>2]|0);Tb=bd(db,c[qb+-32>>2]|0)|0;db=lb+-112|0;Wb=Tb;c[Tb>>2]=c[db>>2];c[Tb+4>>2]=c[db+4>>2];c[Tb+8>>2]=c[db+8>>2];c[Tb+12>>2]=c[db+12>>2];c[M>>2]=Wb;c[Da>>2]=Wb;c[Ha>>2]=1;break}case 77:{Wb=Un(24)|0;Nc(Wb,c[qb+-32>>2]|0);db=bd(Wb,0)|0;Wb=lb+-48|0;Tb=db;c[db>>2]=c[Wb>>2];c[db+4>>2]=c[Wb+4>>2];c[db+8>>2]=c[Wb+8>>2];c[db+12>>2]=c[Wb+12>>2];c[M>>2]=Tb;c[Da>>2]=Tb;c[Ha>>2]=1;break}case 78:{Tb=Un(24)|0;Nc(Tb,c[qb+-160>>2]|0);Wb=bd(Tb,c[qb+-32>>2]|0)|0;Tb=lb+-128|0;db=c[qb+-256>>2]|0;if(db){fb=c[qb+-252>>2]|0;Vb=(c[qb+-248>>2]|0)+1|0;if(!fb){wc=Wb;xc=Vb}else{c[fb+20>>2]=Wb;wc=db;xc=Vb}}else{wc=Wb;xc=1}c[Wb>>2]=c[Tb>>2];c[Wb+4>>2]=c[Tb+4>>2];c[Wb+8>>2]=c[Tb+8>>2];c[Wb+12>>2]=c[Tb+12>>2];c[M>>2]=wc;c[Da>>2]=Wb;c[Ha>>2]=xc;break}case 79:{Wb=Un(24)|0;Nc(Wb,c[qb+-32>>2]|0);Tb=bd(Wb,0)|0;Wb=lb+-64|0;Vb=c[qb+-128>>2]|0;if(Vb){db=c[qb+-124>>2]|0;fb=(c[qb+-120>>2]|0)+1|0;if(!db){Cc=Tb;Dc=fb}else{c[db+20>>2]=Tb;Cc=Vb;Dc=fb}}else{Cc=Tb;Dc=1}c[Tb>>2]=c[Wb>>2];c[Tb+4>>2]=c[Wb+4>>2];c[Tb+8>>2]=c[Wb+8>>2];c[Tb+12>>2]=c[Wb+12>>2];c[M>>2]=Cc;c[Da>>2]=Tb;c[Ha>>2]=Dc;break}case 80:{Tb=Un(24)|0;Nc(Tb,c[qb+-32>>2]|0);Wb=bd(Tb,c[qb>>2]|0)|0;Tb=lb+-32|0;fb=c[qb+-64>>2]|0;if(fb){Vb=c[qb+-60>>2]|0;db=(c[qb+-56>>2]|0)+1|0;if(!Vb){Ec=Wb;Fc=db}else{c[Vb+20>>2]=Wb;Ec=fb;Fc=db}}else{Ec=Wb;Fc=1}c[Wb>>2]=c[Tb>>2];c[Wb+4>>2]=c[Tb+4>>2];c[Wb+8>>2]=c[Tb+8>>2];c[Wb+12>>2]=c[Tb+12>>2];c[M>>2]=Ec;c[Da>>2]=Wb;c[Ha>>2]=Fc;break}case 81:{Wb=Un(24)|0;Nc(Wb,c[qb>>2]|0);Tb=bd(Wb,0)|0;Wb=lb+-16|0;db=c[qb+-32>>2]|0;if(db){fb=c[qb+-28>>2]|0;Vb=(c[qb+-24>>2]|0)+1|0;if(!fb){Gc=Tb;Hc=Vb}else{c[fb+20>>2]=Tb;Gc=db;Hc=Vb}}else{Gc=Tb;Hc=1}c[Tb>>2]=c[Wb>>2];c[Tb+4>>2]=c[Wb+4>>2];c[Tb+8>>2]=c[Wb+8>>2];c[Tb+12>>2]=c[Wb+12>>2];c[M>>2]=Gc;c[Da>>2]=Tb;c[Ha>>2]=Hc;break}case 82:{c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;break}case 83:{c[M>>2]=c[qb+-32>>2];Tb=c[qb+-28>>2]|0;c[Tb+20>>2]=c[qb>>2];Wb=c[qb+4>>2]|0;c[Da>>2]=(Wb|0)==0?Tb:Wb;c[Ha>>2]=(c[qb+8>>2]|0)+(c[qb+-24>>2]|0);break}case 84:{c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;break}case 85:{c[M>>2]=c[qb+-32>>2];Wb=c[qb+-28>>2]|0;c[Wb+20>>2]=c[qb>>2];Tb=c[qb+4>>2]|0;c[Da>>2]=(Tb|0)==0?Wb:Tb;c[Ha>>2]=(c[qb+8>>2]|0)+(c[qb+-24>>2]|0);break}case 88:{Tb=Un(36)|0;Ai(Tb);c[M>>2]=Tb;c[Tb>>2]=3;c[Tb+4>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 89:{Tb=Un(36)|0;Ai(Tb);c[M>>2]=Tb;c[Tb>>2]=1;c[Tb+4>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 90:{Tb=Un(36)|0;Ai(Tb);c[M>>2]=Tb;c[Tb>>2]=2;Wb=Tb+4|0;Vb=lb+-64|0;c[Wb>>2]=c[Vb>>2];c[Wb+4>>2]=c[Vb+4>>2];c[Wb+8>>2]=c[Vb+8>>2];c[Wb+12>>2]=c[Vb+12>>2];Vb=qb+-96|0;Wb=c[Vb+4>>2]|0;db=Tb+20|0;c[db>>2]=c[Vb>>2];c[db+4>>2]=Wb;c[Tb+28>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 91:{Tb=Un(36)|0;Ai(Tb);c[M>>2]=Tb;c[Tb>>2]=0;c[Tb+4>>2]=c[qb>>2];c[Tb+32>>2]=0;break}case 92:{Tb=Un(36)|0;Ai(Tb);c[M>>2]=Tb;c[Tb>>2]=4;c[Tb+4>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 93:{Tb=Un(36)|0;Ai(Tb);c[M>>2]=Tb;c[Tb>>2]=5;Wb=Tb+4|0;db=lb+-64|0;c[Wb>>2]=c[db>>2];c[Wb+4>>2]=c[db+4>>2];c[Wb+8>>2]=c[db+8>>2];c[Wb+12>>2]=c[db+12>>2];db=qb+-96|0;Wb=c[db+4>>2]|0;Vb=Tb+20|0;c[Vb>>2]=c[db>>2];c[Vb+4>>2]=Wb;c[Tb+28>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 94:{Tb=Un(128)|0;qd(Tb);c[M>>2]=Tb;Tb=c[qb>>2]|0;if(Tb|0){Wb=Tb;while(1){Tb=Wb;Wb=c[Wb+32>>2]|0;Vb=c[Tb>>2]|0;switch(Vb|0){case 0:{db=Tb+4|0;c[(c[M>>2]|0)+124>>2]=c[db>>2];c[db>>2]=0;break}case 4:case 1:{db=c[M>>2]|0;fb=(Vb|0)==1?db+48|0:db+72|0;c[Q>>2]=c[fb+4>>2];db=c[Tb+4>>2]|0;c[R>>2]=c[db>>2];c[S>>2]=c[db+4>>2];c[k>>2]=c[Q>>2];c[j>>2]=c[R>>2];c[h>>2]=c[S>>2];fe(fb,k,j,h)|0;break}case 5:case 2:{fb=(Vb|0)==2;Vb=c[M>>2]|0;db=fb?Vb+48|0:Vb+72|0;ib=Tb+28|0;jb=db+4|0;Zb=c[jb>>2]|0;if((Zb|0)==(c[db+8>>2]|0))de(db,ib);else{c[Zb>>2]=c[ib>>2];c[jb>>2]=Zb+4}jn(T,c[Tb+20>>2]|0,c[Tb+24>>2]|0);Zb=c[jb>>2]|0;jb=c[db>>2]|0;db=Tb+4|0;c[U>>2]=c[db>>2];c[U+4>>2]=c[db+4>>2];c[U+8>>2]=c[db+8>>2];c[U+12>>2]=c[db+12>>2];db=Un(40)|0;ib=db+8|0;c[ib>>2]=c[T>>2];c[ib+4>>2]=c[T+4>>2];c[ib+8>>2]=c[T+8>>2];c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;ib=db+20|0;c[ib>>2]=c[U>>2];c[ib+4>>2]=c[U+4>>2];c[ib+8>>2]=c[U+8>>2];c[ib+12>>2]=c[U+12>>2];c[db+36>>2]=(Zb-jb>>2)+-1;ge(fb?Vb+84|0:Vb+104|0,db)|0;kn(T);break}case 3:{db=c[M>>2]|0;Vb=db+60|0;fb=c[Tb+4>>2]|0;jb=c[Vb>>2]|0;Zb=jb;ib=db+64|0;if(!jb)Jc=db+68|0;else{Yb=c[ib>>2]|0;if((Yb|0)!=(jb|0))c[ib>>2]=Yb+(~((Yb+-4-Zb|0)>>>2)<<2);Bn(jb);jb=db+68|0;c[jb>>2]=0;c[ib>>2]=0;c[Vb>>2]=0;Jc=jb}c[Vb>>2]=c[fb>>2];Vb=fb+4|0;c[ib>>2]=c[Vb>>2];ib=fb+8|0;c[Jc>>2]=c[ib>>2];c[ib>>2]=0;c[Vb>>2]=0;c[fb>>2]=0;break}default:{}}Bi(Tb);Bn(Tb);if(!Wb)break a}}break}case 95:{Wb=Un(12)|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;c[M>>2]=Wb;Ub=c[qb+-32>>2]|0;c[Wb>>2]=Ub;Wb=Ub;a[Wb+8>>0]=1;Ub=Wb+16|0;Wb=qb+-64|0;c[Ub>>2]=c[Wb>>2];c[Ub+4>>2]=c[Wb+4>>2];c[Ub+8>>2]=c[Wb+8>>2];c[Ub+12>>2]=c[Wb+12>>2];c[Ub+16>>2]=c[Wb+16>>2];c[Ub+20>>2]=c[Wb+20>>2];c[Ub+24>>2]=c[Wb+24>>2];c[Ub+28>>2]=c[Wb+28>>2];Wb=qb+-128|0;Ub=c[Wb+4>>2]|0;eb=c[c[M>>2]>>2]|0;c[eb>>2]=c[Wb>>2];c[eb+4>>2]=Ub;Ub=c[M>>2]|0;eb=Ub+4|0;Wb=qb+-96|0;Tb=c[Wb>>2]|0;fb=c[Tb>>2]|0;c[Tb>>2]=0;Vb=c[eb>>2]|0;c[eb>>2]=fb;if(Vb|0){Fd(Vb);Bn(Vb)}a[Ub+8>>0]=a[Tb+4>>0]|0;Tb=c[Wb>>2]|0;if(Tb|0){Wb=c[Tb>>2]|0;c[Tb>>2]=0;if(Wb|0){Fd(Wb);Bn(Wb)}Bn(Tb)}break}case 96:{Tb=Un(12)|0;c[Tb>>2]=0;c[Tb+4>>2]=0;c[Tb+8>>2]=0;c[M>>2]=Tb;Wb=c[qb+-32>>2]|0;c[Tb>>2]=Wb;Tb=Wb;a[Tb+8>>0]=1;Wb=Tb+16|0;Tb=qb+-64|0;c[Wb>>2]=c[Tb>>2];c[Wb+4>>2]=c[Tb+4>>2];c[Wb+8>>2]=c[Tb+8>>2];c[Wb+12>>2]=c[Tb+12>>2];c[Wb+16>>2]=c[Tb+16>>2];c[Wb+20>>2]=c[Tb+20>>2];c[Wb+24>>2]=c[Tb+24>>2];c[Wb+28>>2]=c[Tb+28>>2];Tb=qb+-96|0;Wb=c[Tb+4>>2]|0;Ub=c[c[M>>2]>>2]|0;c[Ub>>2]=c[Tb>>2];c[Ub+4>>2]=Wb;break}case 97:{Wb=Un(12)|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;c[M>>2]=Wb;Ub=c[qb+-32>>2]|0;c[Wb>>2]=Ub;Wb=qb+-96|0;Tb=c[Wb+4>>2]|0;Vb=Ub;c[Vb>>2]=c[Wb>>2];c[Vb+4>>2]=Tb;Tb=c[M>>2]|0;Vb=Tb+4|0;Wb=qb+-64|0;Ub=c[Wb>>2]|0;fb=c[Ub>>2]|0;c[Ub>>2]=0;eb=c[Vb>>2]|0;c[Vb>>2]=fb;if(eb|0){Fd(eb);Bn(eb)}a[Tb+8>>0]=a[Ub+4>>0]|0;Ub=c[Wb>>2]|0;if(Ub|0){Wb=c[Ub>>2]|0;c[Ub>>2]=0;if(Wb|0){Fd(Wb);Bn(Wb)}Bn(Ub)}break}case 98:{Ub=Un(12)|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[M>>2]=Ub;Wb=c[qb+-32>>2]|0;c[Ub>>2]=Wb;Ub=qb+-64|0;Tb=c[Ub+4>>2]|0;eb=Wb;c[eb>>2]=c[Ub>>2];c[eb+4>>2]=Tb;break}case 99:{Tb=qb+-32|0;c[M>>2]=c[Tb>>2];c[M+4>>2]=c[Tb+4>>2];c[M+8>>2]=c[Tb+8>>2];break}case 101:{Tb=Un(48)|0;wd(Tb);c[M>>2]=Tb;eb=qb+-96|0;c[Tb>>2]=c[eb>>2];c[Tb+4>>2]=c[eb+4>>2];c[Tb+8>>2]=c[eb+8>>2];c[Tb+12>>2]=c[eb+12>>2];c[Tb+16>>2]=c[eb+16>>2];c[Tb+20>>2]=c[eb+20>>2];c[Tb+24>>2]=c[eb+24>>2];c[Tb+28>>2]=c[eb+28>>2];c[Tb+32>>2]=c[qb+-64>>2];eb=Tb+36|0;Ub=qb+-32|0;Wb=c[Ub>>2]|0;fb=c[eb>>2]|0;Vb=fb;ib=Tb+40|0;if(!fb)Kc=Tb+44|0;else{jb=c[ib>>2]|0;if((jb|0)!=(fb|0))c[ib>>2]=jb+(~((jb+-32-Vb|0)>>>5)<<5);Bn(fb);fb=Tb+44|0;c[fb>>2]=0;c[ib>>2]=0;c[eb>>2]=0;Kc=fb}c[eb>>2]=c[Wb>>2];eb=Wb+4|0;c[ib>>2]=c[eb>>2];ib=Wb+8|0;c[Kc>>2]=c[ib>>2];c[ib>>2]=0;c[eb>>2]=0;c[Wb>>2]=0;Wb=c[Ub>>2]|0;if(Wb|0){Ub=c[Wb>>2]|0;eb=Ub;if(Ub|0){ib=Wb+4|0;fb=c[ib>>2]|0;if((fb|0)!=(Ub|0))c[ib>>2]=fb+(~((fb+-32-eb|0)>>>5)<<5);Bn(Ub)}Bn(Wb)}break}case 102:{Wb=Un(48)|0;wd(Wb);c[M>>2]=Wb;Ub=lb+-48|0;c[Wb>>2]=c[Ub>>2];c[Wb+4>>2]=c[Ub+4>>2];c[Wb+8>>2]=c[Ub+8>>2];c[Wb+12>>2]=c[Ub+12>>2];c[Wb+16>>2]=0;Ub=Wb+24|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Wb+32>>2]=c[qb+-64>>2];Ub=Wb+36|0;eb=qb+-32|0;fb=c[eb>>2]|0;ib=c[Ub>>2]|0;Tb=ib;Vb=Wb+40|0;if(!ib)Lc=Wb+44|0;else{jb=c[Vb>>2]|0;if((jb|0)!=(ib|0))c[Vb>>2]=jb+(~((jb+-32-Tb|0)>>>5)<<5);Bn(ib);ib=Wb+44|0;c[ib>>2]=0;c[Vb>>2]=0;c[Ub>>2]=0;Lc=ib}c[Ub>>2]=c[fb>>2];Ub=fb+4|0;c[Vb>>2]=c[Ub>>2];Vb=fb+8|0;c[Lc>>2]=c[Vb>>2];c[Vb>>2]=0;c[Ub>>2]=0;c[fb>>2]=0;fb=c[eb>>2]|0;if(fb|0){eb=c[fb>>2]|0;Ub=eb;if(eb|0){Vb=fb+4|0;ib=c[Vb>>2]|0;if((ib|0)!=(eb|0))c[Vb>>2]=ib+(~((ib+-32-Ub|0)>>>5)<<5);Bn(eb)}Bn(fb)}break}case 103:{fb=Un(20)|0;c[fb>>2]=0;c[fb+4>>2]=0;c[fb+8>>2]=0;c[fb+12>>2]=0;c[fb+16>>2]=0;c[M>>2]=fb;eb=c[qb+-32>>2]|0;c[fb>>2]=eb;fb=qb+-96|0;Ub=c[fb+4>>2]|0;ib=eb;c[ib>>2]=c[fb>>2];c[ib+4>>2]=Ub;Ub=c[M>>2]|0;a[Ub+16>>0]=0;ib=Ub+8|0;fb=qb+-64|0;eb=c[fb>>2]|0;Vb=c[eb>>2]|0;c[eb>>2]=0;Wb=c[ib>>2]|0;c[ib>>2]=Vb;if(Wb|0){Fd(Wb);Bn(Wb)}a[Ub+12>>0]=a[eb+4>>0]|0;eb=c[fb>>2]|0;if(eb|0){fb=c[eb>>2]|0;c[eb>>2]=0;if(fb|0){Fd(fb);Bn(fb)}Bn(eb)}break}case 104:{a[h>>0]=a[W>>0]|0;Ic(V,h,0);eb=Wc(V)|0;fb=lb+-128|0;c[eb>>2]=c[fb>>2];c[eb+4>>2]=c[fb+4>>2];c[eb+8>>2]=c[fb+8>>2];c[eb+12>>2]=c[fb+12>>2];fb=Un(20)|0;c[fb>>2]=0;c[fb+4>>2]=0;c[fb+8>>2]=0;c[fb+12>>2]=0;c[fb+16>>2]=0;c[M>>2]=fb;Ub=Un(32)|0;ud(Ub);Wb=c[fb>>2]|0;c[fb>>2]=Ub;if(Wb|0){vd(Wb);Bn(Wb)}Wb=qb+-224|0;Ub=c[Wb+4>>2]|0;fb=c[c[M>>2]>>2]|0;c[fb>>2]=c[Wb>>2];c[fb+4>>2]=Ub;Ub=qb+-64|0;fb=c[Ub>>2]|0;Wb=(c[fb+4>>2]|0)-(c[fb>>2]|0)>>5;fb=c[M>>2]|0;Vb=c[fb>>2]|0;ib=Vb+8|0;c[ib>>2]=Wb;c[ib+4>>2]=0;ib=Vb+16|0;c[ib>>2]=Wb;c[ib+4>>2]=0;a[Vb+24>>0]=1;a[fb+16>>0]=1;Vb=Un(48)|0;wd(Vb);ib=fb+4|0;fb=c[ib>>2]|0;c[ib>>2]=Vb;if(fb|0){xd(fb);Bn(fb)}c[(c[(c[M>>2]|0)+4>>2]|0)+32>>2]=eb;eb=c[(c[M>>2]|0)+4>>2]|0;fb=eb+36|0;Vb=c[Ub>>2]|0;ib=c[fb>>2]|0;Wb=ib;Tb=eb+40|0;if(!ib)od=eb+44|0;else{jb=c[Tb>>2]|0;if((jb|0)!=(ib|0))c[Tb>>2]=jb+(~((jb+-32-Wb|0)>>>5)<<5);Bn(ib);ib=eb+44|0;c[ib>>2]=0;c[Tb>>2]=0;c[fb>>2]=0;od=ib}c[fb>>2]=c[Vb>>2];fb=Vb+4|0;c[Tb>>2]=c[fb>>2];Tb=Vb+8|0;c[od>>2]=c[Tb>>2];c[Tb>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;Vb=c[Ub>>2]|0;if(Vb|0){Ub=c[Vb>>2]|0;fb=Ub;if(Ub|0){Tb=Vb+4|0;ib=c[Tb>>2]|0;if((ib|0)!=(Ub|0))c[Tb>>2]=ib+(~((ib+-32-fb|0)>>>5)<<5);Bn(Ub)}Bn(Vb)}Vb=c[M>>2]|0;Ub=Vb+8|0;fb=qb+-192|0;ib=c[fb>>2]|0;Tb=c[ib>>2]|0;c[ib>>2]=0;eb=c[Ub>>2]|0;c[Ub>>2]=Tb;if(eb|0){Fd(eb);Bn(eb)}a[Vb+12>>0]=a[ib+4>>0]|0;ib=c[fb>>2]|0;if(ib|0){fb=c[ib>>2]|0;c[ib>>2]=0;if(fb|0){Fd(fb);Bn(fb)}Bn(ib)}break}case 105:{ib=Un(48)|0;yd(ib);c[M>>2]=ib;fb=qb+-96|0;c[ib>>2]=c[fb>>2];c[ib+4>>2]=c[fb+4>>2];c[ib+8>>2]=c[fb+8>>2];c[ib+12>>2]=c[fb+12>>2];c[ib+16>>2]=c[fb+16>>2];c[ib+20>>2]=c[fb+20>>2];c[ib+24>>2]=c[fb+24>>2];c[ib+28>>2]=c[fb+28>>2];c[ib+32>>2]=c[qb+-64>>2];fb=qb+-32|0;ce(fb,ib+36|0,ib+40|0);zi(fb);break}case 106:{fb=Un(48)|0;yd(fb);c[M>>2]=fb;ib=lb+-48|0;c[fb>>2]=c[ib>>2];c[fb+4>>2]=c[ib+4>>2];c[fb+8>>2]=c[ib+8>>2];c[fb+12>>2]=c[ib+12>>2];c[fb+16>>2]=0;ib=fb+24|0;c[ib>>2]=0;c[ib+4>>2]=0;c[fb+32>>2]=c[qb+-64>>2];ib=qb+-32|0;ce(ib,fb+36|0,fb+40|0);zi(ib);break}case 107:{ib=Un(20)|0;c[ib>>2]=0;c[ib+4>>2]=0;c[ib+8>>2]=0;c[ib+12>>2]=0;c[ib+16>>2]=0;c[M>>2]=ib;fb=c[qb+-32>>2]|0;c[ib>>2]=fb;ib=qb+-96|0;Vb=c[ib+4>>2]|0;eb=fb;c[eb>>2]=c[ib>>2];c[eb+4>>2]=Vb;Vb=c[M>>2]|0;a[Vb+16>>0]=0;eb=Vb+8|0;ib=qb+-64|0;fb=c[ib>>2]|0;Tb=c[fb>>2]|0;c[fb>>2]=0;Ub=c[eb>>2]|0;c[eb>>2]=Tb;if(Ub|0){Fd(Ub);Bn(Ub)}a[Vb+12>>0]=a[fb+4>>0]|0;fb=c[ib>>2]|0;if(fb|0){ib=c[fb>>2]|0;c[fb>>2]=0;if(ib|0){Fd(ib);Bn(ib)}Bn(fb)}break}case 108:{a[h>>0]=a[Y>>0]|0;Ic(X,h,0);fb=Wc(X)|0;ib=lb+-112|0;c[fb>>2]=c[ib>>2];c[fb+4>>2]=c[ib+4>>2];c[fb+8>>2]=c[ib+8>>2];c[fb+12>>2]=c[ib+12>>2];ib=Un(20)|0;Vb=ib+4|0;c[ib>>2]=0;c[ib+4>>2]=0;c[ib+8>>2]=0;c[ib+12>>2]=0;c[ib+16>>2]=0;c[M>>2]=ib;a[ib+16>>0]=1;ib=Un(48)|0;yd(ib);Ub=c[Vb>>2]|0;c[Vb>>2]=ib;if(Ub|0){zd(Ub);Bn(Ub)}c[(c[(c[M>>2]|0)+4>>2]|0)+32>>2]=fb;fb=qb+-64|0;Ub=c[(c[M>>2]|0)+4>>2]|0;ce(fb,Ub+36|0,Ub+40|0);zi(fb);fb=c[M>>2]|0;Ub=c[(c[fb+4>>2]|0)+40>>2]|0;ib=Un(32)|0;Ad(ib);Vb=(Ub+65535|0)>>>16;Ub=c[fb>>2]|0;c[fb>>2]=ib;if(Ub|0){Bd(Ub);Bn(Ub)}Ub=qb+-192|0;ib=c[Ub+4>>2]|0;fb=c[c[M>>2]>>2]|0;c[fb>>2]=c[Ub>>2];c[fb+4>>2]=ib;ib=c[M>>2]|0;fb=c[ib>>2]|0;Ub=fb+8|0;c[Ub>>2]=Vb;c[Ub+4>>2]=0;Ub=fb+16|0;c[Ub>>2]=Vb;c[Ub+4>>2]=0;a[fb+24>>0]=1;fb=ib+8|0;Ub=qb+-160|0;Vb=c[Ub>>2]|0;Tb=c[Vb>>2]|0;c[Vb>>2]=0;eb=c[fb>>2]|0;c[fb>>2]=Tb;if(eb|0){Fd(eb);Bn(eb)}a[ib+12>>0]=a[Vb+4>>0]|0;Vb=c[Ub>>2]|0;if(Vb|0){Ub=c[Vb>>2]|0;c[Vb>>2]=0;if(Ub|0){Fd(Ub);Bn(Ub)}Bn(Vb)}break}case 109:{a[h>>0]=a[_>>0]|0;Ic(Z,h,0);Vb=Wc(Z)|0;Ub=lb+-96|0;c[Vb>>2]=c[Ub>>2];c[Vb+4>>2]=c[Ub+4>>2];c[Vb+8>>2]=c[Ub+8>>2];c[Vb+12>>2]=c[Ub+12>>2];Ub=Un(20)|0;ib=Ub+4|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[Ub+12>>2]=0;c[Ub+16>>2]=0;c[M>>2]=Ub;a[Ub+16>>0]=1;Ub=Un(48)|0;yd(Ub);eb=c[ib>>2]|0;c[ib>>2]=Ub;if(eb|0){zd(eb);Bn(eb)}c[(c[(c[M>>2]|0)+4>>2]|0)+32>>2]=Vb;Vb=qb+-64|0;eb=c[(c[M>>2]|0)+4>>2]|0;ce(Vb,eb+36|0,eb+40|0);zi(Vb);Vb=c[M>>2]|0;eb=c[(c[Vb+4>>2]|0)+40>>2]|0;Ub=Un(32)|0;Ad(Ub);ib=(eb+65535|0)>>>16;eb=c[Vb>>2]|0;c[Vb>>2]=Ub;if(eb|0){Bd(eb);Bn(eb)}eb=qb+-160|0;Ub=c[eb+4>>2]|0;Vb=c[c[M>>2]>>2]|0;c[Vb>>2]=c[eb>>2];c[Vb+4>>2]=Ub;Ub=c[M>>2]|0;Vb=c[Ub>>2]|0;eb=Vb+8|0;c[eb>>2]=ib;c[eb+4>>2]=0;eb=Vb+16|0;c[eb>>2]=ib;c[eb+4>>2]=0;a[Vb+24>>0]=1;a[Ub+12>>0]=0;break}case 110:{Ub=Un(12)|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[M>>2]=Ub;Vb=c[qb+-64>>2]|0;c[Ub>>2]=Vb;Ub=qb+-128|0;eb=c[Ub+4>>2]|0;ib=Vb;c[ib>>2]=c[Ub>>2];c[ib+4>>2]=eb;c[(c[c[M>>2]>>2]|0)+16>>2]=c[qb+-32>>2];eb=c[M>>2]|0;ib=eb+4|0;Ub=qb+-96|0;Vb=c[Ub>>2]|0;Tb=c[Vb>>2]|0;c[Vb>>2]=0;fb=c[ib>>2]|0;c[ib>>2]=Tb;if(fb|0){Fd(fb);Bn(fb)}a[eb+8>>0]=a[Vb+4>>0]|0;Vb=c[Ub>>2]|0;if(Vb|0){Ub=c[Vb>>2]|0;c[Vb>>2]=0;if(Ub|0){Fd(Ub);Bn(Ub)}Bn(Vb)}break}case 111:{Vb=Un(12)|0;c[Vb>>2]=0;c[Vb+4>>2]=0;c[Vb+8>>2]=0;c[M>>2]=Vb;Ub=c[qb+-64>>2]|0;c[Vb>>2]=Ub;Vb=qb+-96|0;eb=c[Vb+4>>2]|0;fb=Ub;c[fb>>2]=c[Vb>>2];c[fb+4>>2]=eb;c[(c[c[M>>2]>>2]|0)+16>>2]=c[qb+-32>>2];a[(c[M>>2]|0)+8>>0]=0;break}case 112:{eb=Un(24)|0;Cd(eb);c[M>>2]=eb;c[eb+16>>2]=0;eb=Un(128)|0;qd(eb);c[(c[M>>2]|0)+20>>2]=eb;eb=qb+-64|0;fb=c[eb+4>>2]|0;Vb=c[(c[M>>2]|0)+20>>2]|0;c[Vb>>2]=c[eb>>2];c[Vb+4>>2]=fb;fb=c[(c[M>>2]|0)+20>>2]|0;a[fb+8>>0]=1;Vb=fb+16|0;fb=qb+-32|0;c[Vb>>2]=c[fb>>2];c[Vb+4>>2]=c[fb+4>>2];c[Vb+8>>2]=c[fb+8>>2];c[Vb+12>>2]=c[fb+12>>2];c[Vb+16>>2]=c[fb+16>>2];c[Vb+20>>2]=c[fb+20>>2];c[Vb+24>>2]=c[fb+24>>2];c[Vb+28>>2]=c[fb+28>>2];break}case 113:{fb=Un(24)|0;Cd(fb);c[M>>2]=fb;c[fb+16>>2]=0;fb=Un(128)|0;qd(fb);c[(c[M>>2]|0)+20>>2]=fb;fb=qb+-64|0;Vb=c[fb+4>>2]|0;eb=c[(c[M>>2]|0)+20>>2]|0;c[eb>>2]=c[fb>>2];c[eb+4>>2]=Vb;Vb=c[(c[M>>2]|0)+20>>2]|0;eb=Vb+48|0;fb=qb+-32|0;Ub=c[fb>>2]|0;Tb=c[eb>>2]|0;ib=Tb;Wb=Vb+52|0;if(!Tb)pd=Vb+56|0;else{jb=c[Wb>>2]|0;if((jb|0)!=(Tb|0))c[Wb>>2]=jb+(~((jb+-4-ib|0)>>>2)<<2);Bn(Tb);Tb=Vb+56|0;c[Tb>>2]=0;c[Wb>>2]=0;c[eb>>2]=0;pd=Tb}c[eb>>2]=c[Ub>>2];eb=Ub+4|0;c[Wb>>2]=c[eb>>2];Wb=Ub+8|0;c[pd>>2]=c[Wb>>2];c[Wb>>2]=0;c[eb>>2]=0;c[Ub>>2]=0;eb=Vb+60|0;Wb=Ub+12|0;Tb=c[eb>>2]|0;ib=Tb;jb=Vb+64|0;if(!Tb)Dd=Vb+68|0;else{db=c[jb>>2]|0;if((db|0)!=(Tb|0))c[jb>>2]=db+(~((db+-4-ib|0)>>>2)<<2);Bn(Tb);Tb=Vb+68|0;c[Tb>>2]=0;c[jb>>2]=0;c[eb>>2]=0;Dd=Tb}c[eb>>2]=c[Wb>>2];eb=Ub+16|0;c[jb>>2]=c[eb>>2];jb=Ub+20|0;c[Dd>>2]=c[jb>>2];c[jb>>2]=0;c[eb>>2]=0;c[Wb>>2]=0;Wb=c[fb>>2]|0;if(Wb|0){fb=c[Wb+12>>2]|0;eb=fb;if(fb|0){jb=Wb+16|0;Ub=c[jb>>2]|0;if((Ub|0)!=(fb|0))c[jb>>2]=Ub+(~((Ub+-4-eb|0)>>>2)<<2);Bn(fb)}fb=c[Wb>>2]|0;eb=fb;if(fb|0){Ub=Wb+4|0;jb=c[Ub>>2]|0;if((jb|0)!=(fb|0))c[Ub>>2]=jb+(~((jb+-4-eb|0)>>>2)<<2);Bn(fb)}Bn(Wb)}break}case 114:{Wb=Un(24)|0;Cd(Wb);c[M>>2]=Wb;c[Wb+16>>2]=1;fb=c[qb+-32>>2]|0;c[Wb+20>>2]=fb;Wb=qb+-64|0;eb=c[Wb+4>>2]|0;jb=fb;c[jb>>2]=c[Wb>>2];c[jb+4>>2]=eb;break}case 115:{eb=Un(24)|0;Cd(eb);c[M>>2]=eb;c[eb+16>>2]=2;jb=c[qb+-32>>2]|0;c[eb+20>>2]=jb;eb=qb+-64|0;Wb=c[eb+4>>2]|0;fb=jb;c[fb>>2]=c[eb>>2];c[fb+4>>2]=Wb;break}case 116:{Wb=Un(24)|0;Cd(Wb);c[M>>2]=Wb;c[Wb+16>>2]=3;fb=c[qb+-32>>2]|0;c[Wb+20>>2]=fb;Wb=qb+-64|0;eb=c[Wb+4>>2]|0;jb=fb;c[jb>>2]=c[Wb>>2];c[jb+4>>2]=eb;break}case 117:{eb=c[qb+-32>>2]|0;c[M>>2]=eb;jb=qb+-96|0;Wb=c[jb+4>>2]|0;fb=eb;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Wb;Wb=qb+-64|0;fb=c[Wb+4>>2]|0;jb=(c[M>>2]|0)+8|0;c[jb>>2]=c[Wb>>2];c[jb+4>>2]=fb;break}case 118:{fb=c[qb+-64>>2]|0;c[M>>2]=fb;c[fb+16>>2]=0;fb=Un(128)|0;qd(fb);c[(c[M>>2]|0)+20>>2]=fb;fb=qb+-96|0;jb=c[fb+4>>2]|0;Wb=c[(c[M>>2]|0)+20>>2]|0;c[Wb>>2]=c[fb>>2];c[Wb+4>>2]=jb;jb=c[(c[M>>2]|0)+20>>2]|0;a[jb+8>>0]=1;Wb=jb+16|0;jb=qb+-32|0;c[Wb>>2]=c[jb>>2];c[Wb+4>>2]=c[jb+4>>2];c[Wb+8>>2]=c[jb+8>>2];c[Wb+12>>2]=c[jb+12>>2];c[Wb+16>>2]=c[jb+16>>2];c[Wb+20>>2]=c[jb+20>>2];c[Wb+24>>2]=c[jb+24>>2];c[Wb+28>>2]=c[jb+28>>2];break}case 119:{jb=c[qb+-64>>2]|0;c[M>>2]=jb;c[jb+16>>2]=0;jb=Un(128)|0;qd(jb);c[(c[M>>2]|0)+20>>2]=jb;jb=qb+-96|0;Wb=c[jb+4>>2]|0;fb=c[(c[M>>2]|0)+20>>2]|0;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Wb;Wb=c[(c[M>>2]|0)+20>>2]|0;fb=Wb+48|0;jb=qb+-32|0;eb=c[jb>>2]|0;Ub=c[fb>>2]|0;Tb=Ub;Vb=Wb+52|0;if(!Ub)Gd=Wb+56|0;else{ib=c[Vb>>2]|0;if((ib|0)!=(Ub|0))c[Vb>>2]=ib+(~((ib+-4-Tb|0)>>>2)<<2);Bn(Ub);Ub=Wb+56|0;c[Ub>>2]=0;c[Vb>>2]=0;c[fb>>2]=0;Gd=Ub}c[fb>>2]=c[eb>>2];fb=eb+4|0;c[Vb>>2]=c[fb>>2];Vb=eb+8|0;c[Gd>>2]=c[Vb>>2];c[Vb>>2]=0;c[fb>>2]=0;c[eb>>2]=0;fb=Wb+60|0;Vb=eb+12|0;Ub=c[fb>>2]|0;Tb=Ub;ib=Wb+64|0;if(!Ub)Id=Wb+68|0;else{db=c[ib>>2]|0;if((db|0)!=(Ub|0))c[ib>>2]=db+(~((db+-4-Tb|0)>>>2)<<2);Bn(Ub);Ub=Wb+68|0;c[Ub>>2]=0;c[ib>>2]=0;c[fb>>2]=0;Id=Ub}c[fb>>2]=c[Vb>>2];fb=eb+16|0;c[ib>>2]=c[fb>>2];ib=eb+20|0;c[Id>>2]=c[ib>>2];c[ib>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;Vb=c[jb>>2]|0;if(Vb|0){jb=c[Vb+12>>2]|0;fb=jb;if(jb|0){ib=Vb+16|0;eb=c[ib>>2]|0;if((eb|0)!=(jb|0))c[ib>>2]=eb+(~((eb+-4-fb|0)>>>2)<<2);Bn(jb)}jb=c[Vb>>2]|0;fb=jb;if(jb|0){eb=Vb+4|0;ib=c[eb>>2]|0;if((ib|0)!=(jb|0))c[eb>>2]=ib+(~((ib+-4-fb|0)>>>2)<<2);Bn(jb)}Bn(Vb)}break}case 120:{Vb=c[qb+-64>>2]|0;c[M>>2]=Vb;c[Vb+16>>2]=1;c[Vb+20>>2]=c[qb+-32>>2];Vb=qb+-96|0;jb=c[Vb+4>>2]|0;fb=c[(c[M>>2]|0)+20>>2]|0;c[fb>>2]=c[Vb>>2];c[fb+4>>2]=jb;break}case 121:{jb=c[qb+-64>>2]|0;c[M>>2]=jb;c[jb+16>>2]=2;c[jb+20>>2]=c[qb+-32>>2];jb=qb+-96|0;fb=c[jb+4>>2]|0;Vb=c[(c[M>>2]|0)+20>>2]|0;c[Vb>>2]=c[jb>>2];c[Vb+4>>2]=fb;break}case 122:{fb=c[qb+-64>>2]|0;c[M>>2]=fb;c[fb+16>>2]=3;c[fb+20>>2]=c[qb+-32>>2];fb=qb+-96|0;Vb=c[fb+4>>2]|0;jb=c[(c[M>>2]|0)+20>>2]|0;c[jb>>2]=c[fb>>2];c[jb+4>>2]=Vb;break}case 123:{Vb=Un(24)|0;Cd(Vb);c[M>>2]=Vb;jb=qb+-64|0;fb=c[jb+4>>2]|0;ib=Vb;c[ib>>2]=c[jb>>2];c[ib+4>>2]=fb;fb=qb+-32|0;ib=c[fb+4>>2]|0;jb=Vb+8|0;c[jb>>2]=c[fb>>2];c[jb+4>>2]=ib;break}case 124:{ib=Un(48)|0;Ed(ib);c[M>>2]=ib;c[ib+8>>2]=0;jb=ib+16|0;ib=qb+-32|0;c[jb>>2]=c[ib>>2];c[jb+4>>2]=c[ib+4>>2];c[jb+8>>2]=c[ib+8>>2];c[jb+12>>2]=c[ib+12>>2];c[jb+16>>2]=c[ib+16>>2];c[jb+20>>2]=c[ib+20>>2];c[jb+24>>2]=c[ib+24>>2];c[jb+28>>2]=c[ib+28>>2];break}case 125:{ib=Un(48)|0;Ed(ib);c[M>>2]=ib;c[ib+8>>2]=1;jb=ib+16|0;ib=qb+-32|0;c[jb>>2]=c[ib>>2];c[jb+4>>2]=c[ib+4>>2];c[jb+8>>2]=c[ib+8>>2];c[jb+12>>2]=c[ib+12>>2];c[jb+16>>2]=c[ib+16>>2];c[jb+20>>2]=c[ib+20>>2];c[jb+24>>2]=c[ib+24>>2];c[jb+28>>2]=c[ib+28>>2];break}case 126:{ib=Un(48)|0;Ed(ib);c[M>>2]=ib;c[ib+8>>2]=2;jb=ib+16|0;ib=qb+-32|0;c[jb>>2]=c[ib>>2];c[jb+4>>2]=c[ib+4>>2];c[jb+8>>2]=c[ib+8>>2];c[jb+12>>2]=c[ib+12>>2];c[jb+16>>2]=c[ib+16>>2];c[jb+20>>2]=c[ib+20>>2];c[jb+24>>2]=c[ib+24>>2];c[jb+28>>2]=c[ib+28>>2];break}case 127:{ib=Un(48)|0;Ed(ib);c[M>>2]=ib;c[ib+8>>2]=3;jb=ib+16|0;ib=qb+-32|0;c[jb>>2]=c[ib>>2];c[jb+4>>2]=c[ib+4>>2];c[jb+8>>2]=c[ib+8>>2];c[jb+12>>2]=c[ib+12>>2];c[jb+16>>2]=c[ib+16>>2];c[jb+20>>2]=c[ib+20>>2];c[jb+24>>2]=c[ib+24>>2];c[jb+28>>2]=c[ib+28>>2];break}case 128:{ib=c[qb+-32>>2]|0;c[M>>2]=ib;jb=qb+-64|0;fb=c[jb+4>>2]|0;Vb=ib;c[Vb>>2]=c[jb>>2];c[Vb+4>>2]=fb;break}case 129:{fb=Un(8)|0;Vb=fb;c[Vb>>2]=0;c[Vb+4>>2]=0;c[fb>>2]=0;c[M>>2]=fb;a[fb+4>>0]=0;break}case 131:{fb=Un(8)|0;Vb=fb;c[Vb>>2]=0;c[Vb+4>>2]=0;c[fb>>2]=0;c[M>>2]=fb;a[fb+4>>0]=1;Vb=Un(48)|0;Ed(Vb);jb=c[fb>>2]|0;c[fb>>2]=Vb;if(jb|0){Fd(jb);Bn(jb)}jb=qb+-32|0;Vb=c[jb+4>>2]|0;fb=c[c[M>>2]>>2]|0;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Vb;break}case 132:{Vb=Un(32)|0;nd(Vb);c[M>>2]=Vb;fb=Vb+8|0;jb=qb+-32|0;ib=c[jb>>2]|0;eb=c[fb>>2]|0;Ub=eb;Wb=Vb+12|0;if(!eb)Nd=Vb+16|0;else{Tb=c[Wb>>2]|0;if((Tb|0)!=(eb|0))c[Wb>>2]=Tb+(~((Tb+-4-Ub|0)>>>2)<<2);Bn(eb);eb=Vb+16|0;c[eb>>2]=0;c[Wb>>2]=0;c[fb>>2]=0;Nd=eb}c[fb>>2]=c[ib>>2];fb=ib+4|0;c[Wb>>2]=c[fb>>2];Wb=ib+8|0;c[Nd>>2]=c[Wb>>2];c[Wb>>2]=0;c[fb>>2]=0;c[ib>>2]=0;fb=Vb+20|0;Wb=ib+12|0;eb=c[fb>>2]|0;Ub=eb;Tb=Vb+24|0;if(!eb)Rd=Vb+28|0;else{db=c[Tb>>2]|0;if((db|0)!=(eb|0))c[Tb>>2]=db+(~((db+-4-Ub|0)>>>2)<<2);Bn(eb);eb=Vb+28|0;c[eb>>2]=0;c[Tb>>2]=0;c[fb>>2]=0;Rd=eb}c[fb>>2]=c[Wb>>2];fb=ib+16|0;c[Tb>>2]=c[fb>>2];Tb=ib+20|0;c[Rd>>2]=c[Tb>>2];c[Tb>>2]=0;c[fb>>2]=0;c[Wb>>2]=0;Wb=c[jb>>2]|0;if(Wb|0){jb=c[Wb+12>>2]|0;fb=jb;if(jb|0){Tb=Wb+16|0;ib=c[Tb>>2]|0;if((ib|0)!=(jb|0))c[Tb>>2]=ib+(~((ib+-4-fb|0)>>>2)<<2);Bn(jb)}jb=c[Wb>>2]|0;fb=jb;if(jb|0){ib=Wb+4|0;Tb=c[ib>>2]|0;if((Tb|0)!=(jb|0))c[ib>>2]=Tb+(~((Tb+-4-fb|0)>>>2)<<2);Bn(jb)}Bn(Wb)}break}case 133:{Wb=Un(32)|0;nd(Wb);c[M>>2]=Wb;jb=qb+-64|0;fb=c[jb+4>>2]|0;Tb=Wb;c[Tb>>2]=c[jb>>2];c[Tb+4>>2]=fb;fb=Wb+8|0;Tb=qb+-32|0;jb=c[Tb>>2]|0;ib=c[fb>>2]|0;eb=ib;Vb=Wb+12|0;if(!ib)Sd=Wb+16|0;else{Ub=c[Vb>>2]|0;if((Ub|0)!=(ib|0))c[Vb>>2]=Ub+(~((Ub+-4-eb|0)>>>2)<<2);Bn(ib);ib=Wb+16|0;c[ib>>2]=0;c[Vb>>2]=0;c[fb>>2]=0;Sd=ib}c[fb>>2]=c[jb>>2];fb=jb+4|0;c[Vb>>2]=c[fb>>2];Vb=jb+8|0;c[Sd>>2]=c[Vb>>2];c[Vb>>2]=0;c[fb>>2]=0;c[jb>>2]=0;fb=Wb+20|0;Vb=jb+12|0;ib=c[fb>>2]|0;eb=ib;Ub=Wb+24|0;if(!ib)Td=Wb+28|0;else{db=c[Ub>>2]|0;if((db|0)!=(ib|0))c[Ub>>2]=db+(~((db+-4-eb|0)>>>2)<<2);Bn(ib);ib=Wb+28|0;c[ib>>2]=0;c[Ub>>2]=0;c[fb>>2]=0;Td=ib}c[fb>>2]=c[Vb>>2];fb=jb+16|0;c[Ub>>2]=c[fb>>2];Ub=jb+20|0;c[Td>>2]=c[Ub>>2];c[Ub>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;Vb=c[Tb>>2]|0;if(Vb|0){Tb=c[Vb+12>>2]|0;fb=Tb;if(Tb|0){Ub=Vb+16|0;jb=c[Ub>>2]|0;if((jb|0)!=(Tb|0))c[Ub>>2]=jb+(~((jb+-4-fb|0)>>>2)<<2);Bn(Tb)}Tb=c[Vb>>2]|0;fb=Tb;if(Tb|0){jb=Vb+4|0;Ub=c[jb>>2]|0;if((Ub|0)!=(Tb|0))c[jb>>2]=Ub+(~((Ub+-4-fb|0)>>>2)<<2);Bn(Tb)}Bn(Vb)}break}case 134:{Vb=qb+-32|0;c[M>>2]=c[Vb>>2];c[M+4>>2]=c[Vb+4>>2];c[M+8>>2]=c[Vb+8>>2];c[M+12>>2]=c[Vb+12>>2];c[M+16>>2]=c[Vb+16>>2];c[M+20>>2]=c[Vb+20>>2];c[M+24>>2]=c[Vb+24>>2];c[M+28>>2]=c[Vb+28>>2];break}case 135:{Vb=Un(280)|0;Hd(Vb);c[M>>2]=Vb;break}case 136:{Vb=c[qb+-32>>2]|0;c[M>>2]=Vb;Tb=yc(Vb)|0;c[Tb>>2]=c[lb>>2];c[Tb+4>>2]=c[lb+4>>2];c[Tb+8>>2]=c[lb+8>>2];c[Tb+12>>2]=c[lb+12>>2];c[Tb+16>>2]=4;Vb=c[qb>>2]|0;fb=Tb+24|0;c[fb>>2]=Vb;Tb=c[M>>2]|0;Ub=Tb+100|0;jb=c[Ub>>2]|0;if((jb|0)==(c[Tb+104>>2]|0))Bc(Tb+96|0,fb);else{c[jb>>2]=Vb;c[Ub>>2]=(c[Ub>>2]|0)+4}Ub=c[qb>>2]|0;Vb=c[Ub>>2]|0;if(Vb|0){jb=c[M>>2]|0;jn($,Vb,c[Ub+4>>2]|0);Ub=c[M>>2]|0;Vb=c[Ub+100>>2]|0;fb=c[Ub+96>>2]|0;c[aa>>2]=c[lb>>2];c[aa+4>>2]=c[lb+4>>2];c[aa+8>>2]=c[lb+8>>2];c[aa+12>>2]=c[lb+12>>2];Ub=Un(40)|0;Tb=Ub+8|0;c[Tb>>2]=c[$>>2];c[Tb+4>>2]=c[$+4>>2];c[Tb+8>>2]=c[$+8>>2];c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;Tb=Ub+20|0;c[Tb>>2]=c[aa>>2];c[Tb+4>>2]=c[aa+4>>2];c[Tb+8>>2]=c[aa+8>>2];c[Tb+12>>2]=c[aa+12>>2];c[Ub+36>>2]=(Vb-fb>>2)+-1;ge(jb+220|0,Ub)|0;kn($)}break}case 137:{Ub=c[qb+-32>>2]|0;c[M>>2]=Ub;jb=yc(Ub)|0;c[jb>>2]=c[lb>>2];c[jb+4>>2]=c[lb+4>>2];c[jb+8>>2]=c[lb+8>>2];c[jb+12>>2]=c[lb+12>>2];c[jb+16>>2]=1;Ub=c[qb>>2]|0;fb=c[Ub>>2]|0;c[Ub>>2]=0;Ub=jb+24|0;c[Ub>>2]=fb;jb=c[M>>2]|0;Vb=jb+64|0;Tb=c[Vb>>2]|0;if((Tb|0)==(c[jb+68>>2]|0))je(jb+60|0,Ub);else{c[Tb>>2]=fb;c[Vb>>2]=(c[Vb>>2]|0)+4}Vb=c[Ub>>2]|0;Ub=c[Vb>>2]|0;if(Ub|0){fb=c[M>>2]|0;jn(ba,Ub,c[Vb+4>>2]|0);Vb=c[M>>2]|0;Ub=c[Vb+64>>2]|0;Tb=c[Vb+60>>2]|0;c[ca>>2]=c[lb>>2];c[ca+4>>2]=c[lb+4>>2];c[ca+8>>2]=c[lb+8>>2];c[ca+12>>2]=c[lb+12>>2];Vb=Un(40)|0;jb=Vb+8|0;c[jb>>2]=c[ba>>2];c[jb+4>>2]=c[ba+4>>2];c[jb+8>>2]=c[ba+8>>2];c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;jb=Vb+20|0;c[jb>>2]=c[ca>>2];c[jb+4>>2]=c[ca+4>>2];c[jb+8>>2]=c[ca+8>>2];c[jb+12>>2]=c[ca+12>>2];c[Vb+36>>2]=(Ub-Tb>>2)+-1;ge(fb+180|0,Vb)|0;kn(ba)}Vb=c[qb>>2]|0;if(!(a[Vb+8>>0]|0))Vd=Vb;else{Vb=yc(c[M>>2]|0)|0;c[Vb>>2]=c[lb>>2];c[Vb+4>>2]=c[lb+4>>2];c[Vb+8>>2]=c[lb+8>>2];c[Vb+12>>2]=c[lb+12>>2];c[Vb+16>>2]=3;fb=(c[qb>>2]|0)+4|0;Tb=c[fb>>2]|0;c[fb>>2]=0;fb=Vb+24|0;c[fb>>2]=Tb;c[Tb+8>>2]=3;Ub=Tb+16|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];Ub=c[M>>2]|0;Tb=c[fb>>2]|0;jb=Tb+40|0;c[jb>>2]=((c[Ub+64>>2]|0)-(c[Ub+60>>2]|0)>>2)+-1;c[jb+4>>2]=0;jb=Ub+88|0;ib=c[jb>>2]|0;if((ib|0)==(c[Ub+92>>2]|0))ke(Ub+84|0,fb);else{c[ib>>2]=Tb;c[jb>>2]=(c[jb>>2]|0)+4}jb=c[fb>>2]|0;fb=c[jb>>2]|0;if(fb|0){Tb=c[M>>2]|0;jn(da,fb,c[jb+4>>2]|0);jb=c[M>>2]|0;fb=c[jb+88>>2]|0;ib=c[jb+84>>2]|0;c[ea>>2]=c[Vb>>2];c[ea+4>>2]=c[Vb+4>>2];c[ea+8>>2]=c[Vb+8>>2];c[ea+12>>2]=c[Vb+12>>2];Vb=Un(40)|0;jb=Vb+8|0;c[jb>>2]=c[da>>2];c[jb+4>>2]=c[da+4>>2];c[jb+8>>2]=c[da+8>>2];c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=0;jb=Vb+20|0;c[jb>>2]=c[ea>>2];c[jb+4>>2]=c[ea+4>>2];c[jb+8>>2]=c[ea+8>>2];c[jb+12>>2]=c[ea+12>>2];c[Vb+36>>2]=(fb-ib>>2)+-1;ge(Tb+200|0,Vb)|0;kn(da)}Vd=c[qb>>2]|0}if(Vd|0){Vb=Vd+4|0;Tb=c[Vb>>2]|0;c[Vb>>2]=0;if(Tb|0){Fd(Tb);Bn(Tb)}Tb=c[Vd>>2]|0;c[Vd>>2]=0;if(Tb|0){td(Tb);Bn(Tb)}Bn(Vd)}break}case 138:{Tb=c[qb+-32>>2]|0;c[M>>2]=Tb;Vb=yc(Tb)|0;c[Vb>>2]=c[lb>>2];c[Vb+4>>2]=c[lb+4>>2];c[Vb+8>>2]=c[lb+8>>2];c[Vb+12>>2]=c[lb+12>>2];c[Vb+16>>2]=5;Tb=c[qb>>2]|0;ib=c[Tb>>2]|0;c[Tb>>2]=0;Tb=Vb+24|0;c[Tb>>2]=ib;Vb=c[M>>2]|0;fb=Vb+112|0;jb=c[fb>>2]|0;if((jb|0)==(c[Vb+116>>2]|0))le(Vb+108|0,Tb);else{c[jb>>2]=ib;c[fb>>2]=(c[fb>>2]|0)+4}fb=c[Tb>>2]|0;Tb=c[fb>>2]|0;if(Tb|0){ib=c[M>>2]|0;jn(fa,Tb,c[fb+4>>2]|0);fb=c[M>>2]|0;Tb=c[fb+112>>2]|0;jb=c[fb+108>>2]|0;c[ga>>2]=c[lb>>2];c[ga+4>>2]=c[lb+4>>2];c[ga+8>>2]=c[lb+8>>2];c[ga+12>>2]=c[lb+12>>2];fb=Un(40)|0;Vb=fb+8|0;c[Vb>>2]=c[fa>>2];c[Vb+4>>2]=c[fa+4>>2];c[Vb+8>>2]=c[fa+8>>2];c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=0;Vb=fb+20|0;c[Vb>>2]=c[ga>>2];c[Vb+4>>2]=c[ga+4>>2];c[Vb+8>>2]=c[ga+8>>2];c[Vb+12>>2]=c[ga+12>>2];c[fb+36>>2]=(Tb-jb>>2)+-1;ge(ib+240|0,fb)|0;kn(fa)}if(a[(c[qb>>2]|0)+12>>0]|0){fb=yc(c[M>>2]|0)|0;c[fb>>2]=c[lb>>2];c[fb+4>>2]=c[lb+4>>2];c[fb+8>>2]=c[lb+8>>2];c[fb+12>>2]=c[lb+12>>2];c[fb+16>>2]=3;ib=(c[qb>>2]|0)+8|0;jb=c[ib>>2]|0;c[ib>>2]=0;ib=fb+24|0;c[ib>>2]=jb;c[jb+8>>2]=1;Tb=jb+16|0;c[Tb>>2]=c[lb>>2];c[Tb+4>>2]=c[lb+4>>2];c[Tb+8>>2]=c[lb+8>>2];c[Tb+12>>2]=c[lb+12>>2];Tb=c[M>>2]|0;jb=c[ib>>2]|0;Vb=jb+40|0;c[Vb>>2]=((c[Tb+112>>2]|0)-(c[Tb+108>>2]|0)>>2)+-1;c[Vb+4>>2]=0;Vb=Tb+88|0;Ub=c[Vb>>2]|0;if((Ub|0)==(c[Tb+92>>2]|0))ke(Tb+84|0,ib);else{c[Ub>>2]=jb;c[Vb>>2]=(c[Vb>>2]|0)+4}Vb=c[ib>>2]|0;ib=c[Vb>>2]|0;if(ib|0){jb=c[M>>2]|0;jn(ha,ib,c[Vb+4>>2]|0);Vb=c[M>>2]|0;ib=c[Vb+88>>2]|0;Ub=c[Vb+84>>2]|0;c[ia>>2]=c[fb>>2];c[ia+4>>2]=c[fb+4>>2];c[ia+8>>2]=c[fb+8>>2];c[ia+12>>2]=c[fb+12>>2];fb=Un(40)|0;Vb=fb+8|0;c[Vb>>2]=c[ha>>2];c[Vb+4>>2]=c[ha+4>>2];c[Vb+8>>2]=c[ha+8>>2];c[ha>>2]=0;c[ha+4>>2]=0;c[ha+8>>2]=0;Vb=fb+20|0;c[Vb>>2]=c[ia>>2];c[Vb+4>>2]=c[ia+4>>2];c[Vb+8>>2]=c[ia+8>>2];c[Vb+12>>2]=c[ia+12>>2];c[fb+36>>2]=(ib-Ub>>2)+-1;ge(jb+200|0,fb)|0;kn(ha)}}fb=c[qb>>2]|0;if(!(a[fb+16>>0]|0))Wd=fb;else{fb=yc(c[M>>2]|0)|0;c[fb>>2]=c[lb>>2];c[fb+4>>2]=c[lb+4>>2];c[fb+8>>2]=c[lb+8>>2];c[fb+12>>2]=c[lb+12>>2];c[fb+16>>2]=6;jb=(c[qb>>2]|0)+4|0;Ub=c[jb>>2]|0;c[jb>>2]=0;jb=fb+24|0;c[jb>>2]=Ub;fb=c[M>>2]|0;ib=fb+124|0;Vb=c[ib>>2]|0;if((Vb|0)==(c[fb+128>>2]|0))me(fb+120|0,jb);else{c[Vb>>2]=Ub;c[ib>>2]=(c[ib>>2]|0)+4}Wd=c[qb>>2]|0}if(Wd|0){ib=Wd+8|0;Ub=c[ib>>2]|0;c[ib>>2]=0;if(Ub|0){Fd(Ub);Bn(Ub)}Ub=Wd+4|0;ib=c[Ub>>2]|0;c[Ub>>2]=0;if(ib|0){xd(ib);Bn(ib)}ib=c[Wd>>2]|0;c[Wd>>2]=0;if(ib|0){vd(ib);Bn(ib)}Bn(Wd)}break}case 139:{ib=c[qb+-32>>2]|0;c[M>>2]=ib;Ub=yc(ib)|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];c[Ub+16>>2]=7;ib=c[qb>>2]|0;Vb=c[ib>>2]|0;c[ib>>2]=0;ib=Ub+24|0;c[ib>>2]=Vb;Ub=c[M>>2]|0;jb=Ub+136|0;fb=c[jb>>2]|0;if((fb|0)==(c[Ub+140>>2]|0))ne(Ub+132|0,ib);else{c[fb>>2]=Vb;c[jb>>2]=(c[jb>>2]|0)+4}jb=c[ib>>2]|0;ib=c[jb>>2]|0;if(ib|0){Vb=c[M>>2]|0;jn(ja,ib,c[jb+4>>2]|0);jb=c[M>>2]|0;ib=c[jb+136>>2]|0;fb=c[jb+132>>2]|0;c[ka>>2]=c[lb>>2];c[ka+4>>2]=c[lb+4>>2];c[ka+8>>2]=c[lb+8>>2];c[ka+12>>2]=c[lb+12>>2];jb=Un(40)|0;Ub=jb+8|0;c[Ub>>2]=c[ja>>2];c[Ub+4>>2]=c[ja+4>>2];c[Ub+8>>2]=c[ja+8>>2];c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;Ub=jb+20|0;c[Ub>>2]=c[ka>>2];c[Ub+4>>2]=c[ka+4>>2];c[Ub+8>>2]=c[ka+8>>2];c[Ub+12>>2]=c[ka+12>>2];c[jb+36>>2]=(ib-fb>>2)+-1;ge(Vb+260|0,jb)|0;kn(ja)}if(a[(c[qb>>2]|0)+12>>0]|0){jb=yc(c[M>>2]|0)|0;c[jb>>2]=c[lb>>2];c[jb+4>>2]=c[lb+4>>2];c[jb+8>>2]=c[lb+8>>2];c[jb+12>>2]=c[lb+12>>2];c[jb+16>>2]=3;Vb=(c[qb>>2]|0)+8|0;fb=c[Vb>>2]|0;c[Vb>>2]=0;Vb=jb+24|0;c[Vb>>2]=fb;c[fb+8>>2]=2;ib=fb+16|0;c[ib>>2]=c[lb>>2];c[ib+4>>2]=c[lb+4>>2];c[ib+8>>2]=c[lb+8>>2];c[ib+12>>2]=c[lb+12>>2];ib=c[M>>2]|0;fb=c[Vb>>2]|0;Ub=fb+40|0;c[Ub>>2]=((c[ib+136>>2]|0)-(c[ib+132>>2]|0)>>2)+-1;c[Ub+4>>2]=0;Ub=ib+88|0;Tb=c[Ub>>2]|0;if((Tb|0)==(c[ib+92>>2]|0))ke(ib+84|0,Vb);else{c[Tb>>2]=fb;c[Ub>>2]=(c[Ub>>2]|0)+4}Ub=c[Vb>>2]|0;Vb=c[Ub>>2]|0;if(Vb|0){fb=c[M>>2]|0;jn(la,Vb,c[Ub+4>>2]|0);Ub=c[M>>2]|0;Vb=c[Ub+88>>2]|0;Tb=c[Ub+84>>2]|0;c[ma>>2]=c[jb>>2];c[ma+4>>2]=c[jb+4>>2];c[ma+8>>2]=c[jb+8>>2];c[ma+12>>2]=c[jb+12>>2];jb=Un(40)|0;Ub=jb+8|0;c[Ub>>2]=c[la>>2];c[Ub+4>>2]=c[la+4>>2];c[Ub+8>>2]=c[la+8>>2];c[la>>2]=0;c[la+4>>2]=0;c[la+8>>2]=0;Ub=jb+20|0;c[Ub>>2]=c[ma>>2];c[Ub+4>>2]=c[ma+4>>2];c[Ub+8>>2]=c[ma+8>>2];c[Ub+12>>2]=c[ma+12>>2];c[jb+36>>2]=(Vb-Tb>>2)+-1;ge(fb+200|0,jb)|0;kn(la)}}jb=c[qb>>2]|0;if(!(a[jb+16>>0]|0))Xd=jb;else{jb=yc(c[M>>2]|0)|0;c[jb>>2]=c[lb>>2];c[jb+4>>2]=c[lb+4>>2];c[jb+8>>2]=c[lb+8>>2];c[jb+12>>2]=c[lb+12>>2];c[jb+16>>2]=8;fb=(c[qb>>2]|0)+4|0;Tb=c[fb>>2]|0;c[fb>>2]=0;fb=jb+24|0;c[fb>>2]=Tb;jb=c[M>>2]|0;Vb=jb+148|0;Ub=c[Vb>>2]|0;if((Ub|0)==(c[jb+152>>2]|0))oe(jb+144|0,fb);else{c[Ub>>2]=Tb;c[Vb>>2]=(c[Vb>>2]|0)+4}Xd=c[qb>>2]|0}if(Xd|0){Vb=Xd+8|0;Tb=c[Vb>>2]|0;c[Vb>>2]=0;if(Tb|0){Fd(Tb);Bn(Tb)}Tb=Xd+4|0;Vb=c[Tb>>2]|0;c[Tb>>2]=0;if(Vb|0){zd(Vb);Bn(Vb)}Vb=c[Xd>>2]|0;c[Xd>>2]=0;if(Vb|0){Bd(Vb);Bn(Vb)}Bn(Xd)}break}case 140:{Vb=c[qb+-32>>2]|0;c[M>>2]=Vb;Tb=c[c[qb>>2]>>2]|0;Ub=Tb+8|0;do if(!(a[Ub>>0]|0)){fb=tc(Vb,Ub)|0;jb=Tb+48|0;if((fb|0)==-1){zc(lb,Vb,jb)|0;break}ib=c[(c[Vb+96>>2]|0)+(fb<<2)>>2]|0;fb=ib+8|0;if((jb|0)!=(fb|0)){Ac(jb,c[fb>>2]|0,c[ib+12>>2]|0);Ac(Tb+60|0,c[ib+20>>2]|0,c[ib+24>>2]|0)}}while(0);Tb=yc(c[M>>2]|0)|0;c[Tb>>2]=c[lb>>2];c[Tb+4>>2]=c[lb+4>>2];c[Tb+8>>2]=c[lb+8>>2];c[Tb+12>>2]=c[lb+12>>2];c[Tb+16>>2]=0;Vb=c[qb>>2]|0;Ub=c[Vb>>2]|0;c[Vb>>2]=0;Vb=Tb+24|0;c[Vb>>2]=Ub;Tb=c[M>>2]|0;ib=Tb+52|0;fb=c[ib>>2]|0;if((fb|0)==(c[Tb+56>>2]|0))pe(Tb+48|0,Vb);else{c[fb>>2]=Ub;c[ib>>2]=(c[ib>>2]|0)+4}ib=c[Vb>>2]|0;Vb=c[ib>>2]|0;if(Vb|0){Ub=c[M>>2]|0;jn(na,Vb,c[ib+4>>2]|0);ib=c[M>>2]|0;Vb=c[ib+52>>2]|0;fb=c[ib+48>>2]|0;c[oa>>2]=c[lb>>2];c[oa+4>>2]=c[lb+4>>2];c[oa+8>>2]=c[lb+8>>2];c[oa+12>>2]=c[lb+12>>2];ib=Un(40)|0;Tb=ib+8|0;c[Tb>>2]=c[na>>2];c[Tb+4>>2]=c[na+4>>2];c[Tb+8>>2]=c[na+8>>2];c[na>>2]=0;c[na+4>>2]=0;c[na+8>>2]=0;Tb=ib+20|0;c[Tb>>2]=c[oa>>2];c[Tb+4>>2]=c[oa+4>>2];c[Tb+8>>2]=c[oa+8>>2];c[Tb+12>>2]=c[oa+12>>2];c[ib+36>>2]=(Vb-fb>>2)+-1;ge(Ub+160|0,ib)|0;kn(na)}ib=c[qb>>2]|0;if(!(a[ib+8>>0]|0))Yd=ib;else{ib=yc(c[M>>2]|0)|0;c[ib>>2]=c[lb>>2];c[ib+4>>2]=c[lb+4>>2];c[ib+8>>2]=c[lb+8>>2];c[ib+12>>2]=c[lb+12>>2];c[ib+16>>2]=3;Ub=(c[qb>>2]|0)+4|0;fb=c[Ub>>2]|0;c[Ub>>2]=0;Ub=ib+24|0;c[Ub>>2]=fb;c[fb+8>>2]=0;Vb=fb+16|0;c[Vb>>2]=c[lb>>2];c[Vb+4>>2]=c[lb+4>>2];c[Vb+8>>2]=c[lb+8>>2];c[Vb+12>>2]=c[lb+12>>2];Vb=c[M>>2]|0;fb=c[Ub>>2]|0;Tb=fb+40|0;c[Tb>>2]=((c[Vb+52>>2]|0)-(c[Vb+48>>2]|0)>>2)+-1;c[Tb+4>>2]=0;Tb=Vb+88|0;jb=c[Tb>>2]|0;if((jb|0)==(c[Vb+92>>2]|0))ke(Vb+84|0,Ub);else{c[jb>>2]=fb;c[Tb>>2]=(c[Tb>>2]|0)+4}Tb=c[Ub>>2]|0;Ub=c[Tb>>2]|0;if(Ub|0){fb=c[M>>2]|0;jn(pa,Ub,c[Tb+4>>2]|0);Tb=c[M>>2]|0;Ub=c[Tb+88>>2]|0;jb=c[Tb+84>>2]|0;c[qa>>2]=c[ib>>2];c[qa+4>>2]=c[ib+4>>2];c[qa+8>>2]=c[ib+8>>2];c[qa+12>>2]=c[ib+12>>2];ib=Un(40)|0;Tb=ib+8|0;c[Tb>>2]=c[pa>>2];c[Tb+4>>2]=c[pa+4>>2];c[Tb+8>>2]=c[pa+8>>2];c[pa>>2]=0;c[pa+4>>2]=0;c[pa+8>>2]=0;Tb=ib+20|0;c[Tb>>2]=c[qa>>2];c[Tb+4>>2]=c[qa+4>>2];c[Tb+8>>2]=c[qa+8>>2];c[Tb+12>>2]=c[qa+12>>2];c[ib+36>>2]=(Ub-jb>>2)+-1;ge(fb+200|0,ib)|0;kn(pa)}Yd=c[qb>>2]|0}if(Yd|0){ib=Yd+4|0;fb=c[ib>>2]|0;c[ib>>2]=0;if(fb|0){Fd(fb);Bn(fb)}fb=c[Yd>>2]|0;c[Yd>>2]=0;if(fb|0){rd(fb);Bn(fb)}Bn(Yd)}break}case 141:{fb=c[qb+-32>>2]|0;c[M>>2]=fb;ib=yc(fb)|0;c[ib>>2]=c[lb>>2];c[ib+4>>2]=c[lb+4>>2];c[ib+8>>2]=c[lb+8>>2];c[ib+12>>2]=c[lb+12>>2];c[ib+16>>2]=6;fb=c[qb>>2]|0;jb=ib+24|0;c[jb>>2]=fb;ib=c[M>>2]|0;Ub=ib+124|0;Tb=c[Ub>>2]|0;if((Tb|0)==(c[ib+128>>2]|0)){me(ib+120|0,jb);break a}else{c[Tb>>2]=fb;c[Ub>>2]=(c[Ub>>2]|0)+4;break a}break}case 142:{Ub=c[qb+-32>>2]|0;c[M>>2]=Ub;fb=yc(Ub)|0;c[fb>>2]=c[lb>>2];c[fb+4>>2]=c[lb+4>>2];c[fb+8>>2]=c[lb+8>>2];c[fb+12>>2]=c[lb+12>>2];c[fb+16>>2]=8;Ub=c[qb>>2]|0;Tb=fb+24|0;c[Tb>>2]=Ub;fb=c[M>>2]|0;jb=fb+148|0;ib=c[jb>>2]|0;if((ib|0)==(c[fb+152>>2]|0)){oe(fb+144|0,Tb);break a}else{c[ib>>2]=Ub;c[jb>>2]=(c[jb>>2]|0)+4;break a}break}case 143:{jb=c[qb+-32>>2]|0;c[M>>2]=jb;Ub=yc(jb)|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];c[Ub+16>>2]=9;jb=Ub+24|0;c[jb>>2]=c[qb>>2];c[jb+4>>2]=c[qb+4>>2];c[jb+8>>2]=c[qb+8>>2];c[jb+12>>2]=c[qb+12>>2];c[jb+16>>2]=c[qb+16>>2];c[jb+20>>2]=c[qb+20>>2];c[jb+24>>2]=c[qb+24>>2];c[jb+28>>2]=c[qb+28>>2];c[(c[M>>2]|0)+156>>2]=jb;break}case 144:{jb=c[qb+-32>>2]|0;c[M>>2]=jb;Ub=yc(jb)|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];c[Ub+16>>2]=2;jb=Ub+24|0;c[jb>>2]=c[qb>>2];Ub=c[M>>2]|0;if(((c[Ub+52>>2]|0)-(c[Ub+48>>2]|0)>>2|0)==(c[Ub+32>>2]|0))Zd=Ub;else{xi(lb,e,f,8837,s);Zd=c[M>>2]|0}if(((c[Zd+112>>2]|0)-(c[Zd+108>>2]|0)>>2|0)==(c[Zd+36>>2]|0))_d=Zd;else{xi(lb,e,f,8837,r);_d=c[M>>2]|0}if(((c[_d+136>>2]|0)-(c[_d+132>>2]|0)>>2|0)==(c[_d+40>>2]|0))$d=_d;else{xi(lb,e,f,8837,q);$d=c[M>>2]|0}if(((c[$d+64>>2]|0)-(c[$d+60>>2]|0)>>2|0)!=(c[$d+44>>2]|0))xi(lb,e,f,8837,p);switch(c[(c[qb>>2]|0)+16>>2]|0){case 0:{Ub=c[M>>2]|0;ib=c[(c[jb>>2]|0)+20>>2]|0;Tb=ib+8|0;do if(!(a[Tb>>0]|0)){fb=tc(Ub,Tb)|0;Vb=ib+48|0;if((fb|0)==-1){zc(lb,Ub,Vb)|0;break}Wb=c[(c[Ub+96>>2]|0)+(fb<<2)>>2]|0;fb=Wb+8|0;if((Vb|0)!=(fb|0)){Ac(Vb,c[fb>>2]|0,c[Wb+12>>2]|0);Ac(ib+60|0,c[Wb+20>>2]|0,c[Wb+24>>2]|0)}}while(0);ib=c[M>>2]|0;Ub=(c[jb>>2]|0)+20|0;Tb=ib+52|0;Wb=c[Tb>>2]|0;if((Wb|0)==(c[ib+56>>2]|0))pe(ib+48|0,Ub);else{c[Wb>>2]=c[Ub>>2];c[Tb>>2]=(c[Tb>>2]|0)+4}Tb=c[(c[jb>>2]|0)+20>>2]|0;Ub=c[Tb>>2]|0;if(Ub|0){Wb=c[M>>2]|0;jn(ra,Ub,c[Tb+4>>2]|0);Tb=c[M>>2]|0;Ub=c[Tb+52>>2]|0;ib=c[Tb+48>>2]|0;c[sa>>2]=c[lb>>2];c[sa+4>>2]=c[lb+4>>2];c[sa+8>>2]=c[lb+8>>2];c[sa+12>>2]=c[lb+12>>2];Tb=Un(40)|0;fb=Tb+8|0;c[fb>>2]=c[ra>>2];c[fb+4>>2]=c[ra+4>>2];c[fb+8>>2]=c[ra+8>>2];c[ra>>2]=0;c[ra+4>>2]=0;c[ra+8>>2]=0;fb=Tb+20|0;c[fb>>2]=c[sa>>2];c[fb+4>>2]=c[sa+4>>2];c[fb+8>>2]=c[sa+8>>2];c[fb+12>>2]=c[sa+12>>2];c[Tb+36>>2]=(Ub-ib>>2)+-1;ge(Wb+160|0,Tb)|0;kn(ra)}Tb=c[M>>2]|0;Wb=Tb+32|0;c[Wb>>2]=(c[Wb>>2]|0)+1;ae=Tb;break}case 1:{Tb=c[M>>2]|0;Wb=(c[jb>>2]|0)+20|0;ib=Tb+112|0;Ub=c[ib>>2]|0;if((Ub|0)==(c[Tb+116>>2]|0))le(Tb+108|0,Wb);else{c[Ub>>2]=c[Wb>>2];c[ib>>2]=(c[ib>>2]|0)+4}ib=c[(c[jb>>2]|0)+20>>2]|0;Wb=c[ib>>2]|0;if(Wb|0){Ub=c[M>>2]|0;jn(ta,Wb,c[ib+4>>2]|0);ib=c[M>>2]|0;Wb=c[ib+112>>2]|0;Tb=c[ib+108>>2]|0;c[ua>>2]=c[lb>>2];c[ua+4>>2]=c[lb+4>>2];c[ua+8>>2]=c[lb+8>>2];c[ua+12>>2]=c[lb+12>>2];ib=Un(40)|0;fb=ib+8|0;c[fb>>2]=c[ta>>2];c[fb+4>>2]=c[ta+4>>2];c[fb+8>>2]=c[ta+8>>2];c[ta>>2]=0;c[ta+4>>2]=0;c[ta+8>>2]=0;fb=ib+20|0;c[fb>>2]=c[ua>>2];c[fb+4>>2]=c[ua+4>>2];c[fb+8>>2]=c[ua+8>>2];c[fb+12>>2]=c[ua+12>>2];c[ib+36>>2]=(Wb-Tb>>2)+-1;ge(Ub+240|0,ib)|0;kn(ta)}ib=c[M>>2]|0;Ub=ib+36|0;c[Ub>>2]=(c[Ub>>2]|0)+1;ae=ib;break}case 2:{ib=c[M>>2]|0;Ub=(c[jb>>2]|0)+20|0;Tb=ib+136|0;Wb=c[Tb>>2]|0;if((Wb|0)==(c[ib+140>>2]|0))ne(ib+132|0,Ub);else{c[Wb>>2]=c[Ub>>2];c[Tb>>2]=(c[Tb>>2]|0)+4}Tb=c[(c[jb>>2]|0)+20>>2]|0;Ub=c[Tb>>2]|0;if(Ub|0){Wb=c[M>>2]|0;jn(va,Ub,c[Tb+4>>2]|0);Tb=c[M>>2]|0;Ub=c[Tb+136>>2]|0;ib=c[Tb+132>>2]|0;c[wa>>2]=c[lb>>2];c[wa+4>>2]=c[lb+4>>2];c[wa+8>>2]=c[lb+8>>2];c[wa+12>>2]=c[lb+12>>2];Tb=Un(40)|0;fb=Tb+8|0;c[fb>>2]=c[va>>2];c[fb+4>>2]=c[va+4>>2];c[fb+8>>2]=c[va+8>>2];c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;fb=Tb+20|0;c[fb>>2]=c[wa>>2];c[fb+4>>2]=c[wa+4>>2];c[fb+8>>2]=c[wa+8>>2];c[fb+12>>2]=c[wa+12>>2];c[Tb+36>>2]=(Ub-ib>>2)+-1;ge(Wb+260|0,Tb)|0;kn(va)}Tb=c[M>>2]|0;Wb=Tb+40|0;c[Wb>>2]=(c[Wb>>2]|0)+1;ae=Tb;break}case 3:{Tb=c[M>>2]|0;Wb=(c[jb>>2]|0)+20|0;ib=Tb+64|0;Ub=c[ib>>2]|0;if((Ub|0)==(c[Tb+68>>2]|0))je(Tb+60|0,Wb);else{c[Ub>>2]=c[Wb>>2];c[ib>>2]=(c[ib>>2]|0)+4}ib=c[(c[jb>>2]|0)+20>>2]|0;Wb=c[ib>>2]|0;if(Wb|0){Ub=c[M>>2]|0;jn(xa,Wb,c[ib+4>>2]|0);ib=c[M>>2]|0;Wb=c[ib+64>>2]|0;Tb=c[ib+60>>2]|0;c[ya>>2]=c[lb>>2];c[ya+4>>2]=c[lb+4>>2];c[ya+8>>2]=c[lb+8>>2];c[ya+12>>2]=c[lb+12>>2];ib=Un(40)|0;fb=ib+8|0;c[fb>>2]=c[xa>>2];c[fb+4>>2]=c[xa+4>>2];c[fb+8>>2]=c[xa+8>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;fb=ib+20|0;c[fb>>2]=c[ya>>2];c[fb+4>>2]=c[ya+4>>2];c[fb+8>>2]=c[ya+8>>2];c[fb+12>>2]=c[ya+12>>2];c[ib+36>>2]=(Wb-Tb>>2)+-1;ge(Ub+180|0,ib)|0;kn(xa)}ib=c[M>>2]|0;Ub=ib+44|0;c[Ub>>2]=(c[Ub>>2]|0)+1;ae=ib;break}default:ae=c[M>>2]|0}ib=ae+76|0;Ub=c[ib>>2]|0;if((Ub|0)==(c[ae+80>>2]|0)){qe(ae+72|0,jb);break a}else{c[Ub>>2]=c[jb>>2];c[ib>>2]=(c[ib>>2]|0)+4;break a}break}case 145:{ib=c[qb+-32>>2]|0;c[M>>2]=ib;Ub=yc(ib)|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];c[Ub+16>>2]=3;ib=c[qb>>2]|0;Tb=Ub+24|0;c[Tb>>2]=ib;Ub=c[M>>2]|0;Wb=Ub+88|0;fb=c[Wb>>2]|0;if((fb|0)==(c[Ub+92>>2]|0))ke(Ub+84|0,Tb);else{c[fb>>2]=ib;c[Wb>>2]=(c[Wb>>2]|0)+4}Wb=c[Tb>>2]|0;Tb=c[Wb>>2]|0;if(Tb|0){ib=c[M>>2]|0;jn(za,Tb,c[Wb+4>>2]|0);Wb=c[M>>2]|0;Tb=c[Wb+88>>2]|0;fb=c[Wb+84>>2]|0;c[Aa>>2]=c[lb>>2];c[Aa+4>>2]=c[lb+4>>2];c[Aa+8>>2]=c[lb+8>>2];c[Aa+12>>2]=c[lb+12>>2];Wb=Un(40)|0;Ub=Wb+8|0;c[Ub>>2]=c[za>>2];c[Ub+4>>2]=c[za+4>>2];c[Ub+8>>2]=c[za+8>>2];c[za>>2]=0;c[za+4>>2]=0;c[za+8>>2]=0;Ub=Wb+20|0;c[Ub>>2]=c[Aa>>2];c[Ub+4>>2]=c[Aa+4>>2];c[Ub+8>>2]=c[Aa+8>>2];c[Ub+12>>2]=c[Aa+12>>2];c[Wb+36>>2]=(Tb-fb>>2)+-1;ge(ib+200|0,Wb)|0;kn(za)}break}case 146:{Wb=Un(36)|0;Jd(Wb);c[M>>2]=Wb;c[Wb>>2]=0;ib=qb+-32|0;fb=c[ib>>2]|0;c[Wb+4>>2]=fb;Wb=qb+-64|0;Tb=c[Wb+4>>2]|0;Ub=fb+16|0;c[Ub>>2]=c[Wb>>2];c[Ub+4>>2]=Tb;Tb=c[(c[M>>2]|0)+4>>2]|0;Ub=lb+-48|0;c[Tb>>2]=c[Ub>>2];c[Tb+4>>2]=c[Ub+4>>2];c[Tb+8>>2]=c[Ub+8>>2];c[Tb+12>>2]=c[Ub+12>>2];Ub=c[ib>>2]|0;Tb=c[Ub+48>>2]|0;Wb=c[Ub+52>>2]|0;if((Tb|0)!=(Wb|0)){Ub=Tb;do{Tb=c[Ub>>2]|0;if((((a[Tb+8>>0]|0?(fb=Tb+48|0,(c[Tb+60>>2]|0)==(c[Tb+64>>2]|0)):0)?(c[fb>>2]|0)==(c[Tb+52>>2]|0):0)?(Vb=sc(c[ib>>2]|0,Tb+16|0)|0,Vb|0):0)?(eb=Vb+8|0,(fb|0)!=(eb|0)):0){Ac(fb,c[eb>>2]|0,c[Vb+12>>2]|0);Ac(Tb+60|0,c[Vb+20>>2]|0,c[Vb+24>>2]|0)}Ub=Ub+4|0}while((Ub|0)!=(Wb|0))}break}case 147:{Wb=Un(36)|0;Jd(Wb);c[M>>2]=Wb;c[Wb>>2]=1;Ub=qb+-64|0;ib=c[Ub+4>>2]|0;jb=Wb+20|0;c[jb>>2]=c[Ub>>2];c[jb+4>>2]=ib;ib=Wb+4|0;jb=lb+-48|0;c[ib>>2]=c[jb>>2];c[ib+4>>2]=c[jb+4>>2];c[ib+8>>2]=c[jb+8>>2];c[ib+12>>2]=c[jb+12>>2];jb=qb+-32|0;ce(jb,Wb+28|0,Wb+32|0);zi(jb);break}case 148:{jb=c[qb>>2]|0;if(!(c[jb>>2]|0)){c[M>>2]=c[jb+4>>2];c[(c[qb>>2]|0)+4>>2]=0}else{jb=Un(280)|0;Hd(jb);c[M>>2]=jb;Wb=h;c[Wb>>2]=0;c[Wb+4>>2]=0;Wb=(c[qb>>2]|0)+4|0;c[j>>2]=296;c[Pa>>2]=Wb;c[Qa>>2]=e;c[Ra>>2]=f;Wb=c[qb>>2]|0;Re(c[Wb+28>>2]|0,c[Wb+32>>2]|0,h,j,jb)|0;jb=(c[qb>>2]|0)+20|0;Wb=c[jb+4>>2]|0;ib=(c[M>>2]|0)+16|0;c[ib>>2]=c[jb>>2];c[ib+4>>2]=Wb;Wb=c[M>>2]|0;ib=(c[qb>>2]|0)+4|0;c[Wb>>2]=c[ib>>2];c[Wb+4>>2]=c[ib+4>>2];c[Wb+8>>2]=c[ib+8>>2];c[Wb+12>>2]=c[ib+12>>2];ib=(c[qb>>2]|0)+20|0;Wb=ib;a[Wb>>0]=0;a[Wb+1>>0]=0;a[Wb+2>>0]=0;a[Wb+3>>0]=0;Wb=ib+4|0;a[Wb>>0]=0;a[Wb+1>>0]=0;a[Wb+2>>0]=0;a[Wb+3>>0]=0}Wb=c[qb>>2]|0;if(Wb|0){Kd(Wb);Bn(Wb)}break}case 149:{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;Wb=Ja;c[Wb>>2]=-1;c[Wb+4>>2]=-1;break}case 150:{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[Ga>>2]=1;Wb=c[qb>>2]|0;ib=qb+4|0;jb=c[ib>>2]|0;j:do if(!jb)be=0;else{Ub=Wb;Vb=0;while(1){if(!(a[Ub>>0]|0)){be=Vb;break j}Tb=Vb+1|0;if(Tb>>>0<jb>>>0){Ub=Ub+1|0;Vb=Tb}else{be=Tb;break}}}while(0);jb=Wn(be+1|0)|0;io(jb|0,Wb|0,be|0)|0;a[jb+be>>0]=0;c[Ka>>2]=jb;c[La>>2]=c[ib>>2];break}case 151:{jb=Un(72)|0;Md(jb);c[M>>2]=jb;Vb=lb+-64|0;c[jb>>2]=c[Vb>>2];c[jb+4>>2]=c[Vb+4>>2];c[jb+8>>2]=c[Vb+8>>2];c[jb+12>>2]=c[Vb+12>>2];Vb=jb+24|0;Ub=qb+-96|0;c[Vb>>2]=c[Ub>>2];c[Vb+4>>2]=c[Ub+4>>2];c[Vb+8>>2]=c[Ub+8>>2];c[Vb+12>>2]=c[Ub+12>>2];c[Vb+16>>2]=c[Ub+16>>2];c[Vb+20>>2]=c[Ub+20>>2];c[Vb+24>>2]=c[Ub+24>>2];c[Vb+28>>2]=c[Ub+28>>2];c[jb+16>>2]=0;Ub=qb+-64|0;Vb=c[Ub+4>>2]|0;Tb=jb+56|0;c[Tb>>2]=c[Ub>>2];c[Tb+4>>2]=Vb;Vb=Un(12)|0;Ld(Vb);c[(c[M>>2]|0)+64>>2]=Vb;Vb=c[(c[M>>2]|0)+64>>2]|0;Tb=qb+-32|0;Ub=c[Tb>>2]|0;jb=c[Vb>>2]|0;eb=jb;fb=Vb+4|0;if(!jb)he=Vb+8|0;else{db=c[fb>>2]|0;if((db|0)!=(jb|0))c[fb>>2]=db+(~((db+-32-eb|0)>>>5)<<5);Bn(jb);jb=Vb+8|0;c[jb>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;he=jb}c[Vb>>2]=c[Ub>>2];Vb=Ub+4|0;c[fb>>2]=c[Vb>>2];fb=Ub+8|0;c[he>>2]=c[fb>>2];c[fb>>2]=0;c[Vb>>2]=0;c[Ub>>2]=0;Ub=c[Tb>>2]|0;if(Ub|0){Tb=c[Ub>>2]|0;Vb=Tb;if(Tb|0){fb=Ub+4|0;jb=c[fb>>2]|0;if((jb|0)!=(Tb|0))c[fb>>2]=jb+(~((jb+-32-Vb|0)>>>5)<<5);Bn(Tb)}Bn(Ub)}break}case 152:{Ub=Un(72)|0;Md(Ub);c[M>>2]=Ub;Tb=lb+-48|0;c[Ub>>2]=c[Tb>>2];c[Ub+4>>2]=c[Tb+4>>2];c[Ub+8>>2]=c[Tb+8>>2];c[Ub+12>>2]=c[Tb+12>>2];Tb=Ub+24|0;Vb=qb+-64|0;c[Tb>>2]=c[Vb>>2];c[Tb+4>>2]=c[Vb+4>>2];c[Tb+8>>2]=c[Vb+8>>2];c[Tb+12>>2]=c[Vb+12>>2];c[Tb+16>>2]=c[Vb+16>>2];c[Tb+20>>2]=c[Vb+20>>2];c[Tb+24>>2]=c[Vb+24>>2];c[Tb+28>>2]=c[Vb+28>>2];c[Ub+16>>2]=1;Vb=qb+-32|0;Tb=c[Vb+4>>2]|0;jb=Ub+56|0;c[jb>>2]=c[Vb>>2];c[jb+4>>2]=Tb;break}case 153:{Tb=Un(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=3;c[Tb+8>>2]=c[qb+-64>>2];jb=qb+-32|0;Vb=c[jb+4>>2]|0;Ub=Tb+12|0;c[Ub>>2]=c[jb>>2];c[Ub+4>>2]=Vb;break}case 154:{Vb=Un(48)|0;Od(Vb);c[M>>2]=Vb;c[Vb>>2]=4;c[Vb+8>>2]=c[qb+-64>>2];Ub=qb+-32|0;jb=c[Ub+4>>2]|0;Tb=Vb+12|0;c[Tb>>2]=c[Ub>>2];c[Tb+4>>2]=jb;break}case 155:{jb=Un(48)|0;Od(jb);c[M>>2]=jb;c[jb>>2]=6;c[jb+8>>2]=c[qb+-64>>2];Tb=qb+-32|0;Ub=c[Tb+4>>2]|0;Vb=jb+12|0;c[Vb>>2]=c[Tb>>2];c[Vb+4>>2]=Ub;break}case 156:{Ub=Un(48)|0;Od(Ub);c[M>>2]=Ub;c[Ub>>2]=7;c[Ub+8>>2]=c[qb+-64>>2];Vb=qb+-32|0;Tb=c[Vb+4>>2]|0;jb=Ub+12|0;c[jb>>2]=c[Vb>>2];c[jb+4>>2]=Tb;break}case 157:{Tb=Un(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=8;c[Tb+8>>2]=c[qb+-64>>2];c[Tb+12>>2]=c[qb+-32>>2];break}case 158:{Tb=Un(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=9;c[Tb+8>>2]=c[qb+-32>>2];break}case 159:{Tb=Un(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=10;c[Tb+8>>2]=c[qb+-32>>2];break}case 160:{Tb=Un(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=11;c[Tb+8>>2]=c[qb+-64>>2];jb=qb+-32|0;Vb=c[jb+4>>2]|0;Ub=Tb+12|0;c[Ub>>2]=c[jb>>2];c[Ub+4>>2]=Vb;break}case 161:{Vb=Un(48)|0;Od(Vb);c[M>>2]=Vb;c[Vb>>2]=12;c[Vb+8>>2]=c[qb+-64>>2];Ub=qb+-32|0;jb=c[Ub+4>>2]|0;Tb=Vb+12|0;c[Tb>>2]=c[Ub>>2];c[Tb+4>>2]=jb;break}case 162:{jb=Un(48)|0;Od(jb);c[M>>2]=jb;c[jb>>2]=1;c[jb+8>>2]=c[qb>>2];break}case 164:{jb=Un(48)|0;Od(jb);c[M>>2]=jb;c[jb>>2]=0;c[jb+8>>2]=c[qb>>2];break}case 165:{jb=Un(48)|0;Od(jb);c[M>>2]=jb;c[jb>>2]=2;Tb=qb+-64|0;Ub=c[Tb+4>>2]|0;Vb=jb+8|0;c[Vb>>2]=c[Tb>>2];c[Vb+4>>2]=Ub;Ub=jb+16|0;Vb=qb+-32|0;c[Ub>>2]=c[Vb>>2];c[Ub+4>>2]=c[Vb+4>>2];c[Ub+8>>2]=c[Vb+8>>2];c[Ub+12>>2]=c[Vb+12>>2];c[Ub+16>>2]=c[Vb+16>>2];c[Ub+20>>2]=c[Vb+20>>2];c[Ub+24>>2]=c[Vb+24>>2];c[Ub+28>>2]=c[Vb+28>>2];Vb=jb+16|0;jb=lb+-16|0;c[Vb>>2]=c[jb>>2];c[Vb+4>>2]=c[jb+4>>2];c[Vb+8>>2]=c[jb+8>>2];c[Vb+12>>2]=c[jb+12>>2];break}case 166:{jb=Un(12)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[M>>2]=jb;break}case 167:{jb=c[qb+-32>>2]|0;c[M>>2]=jb;Vb=jb+4|0;Ub=c[Vb>>2]|0;if(Ub>>>0<(c[jb+8>>2]|0)>>>0){c[Ub>>2]=c[qb>>2];c[Vb>>2]=Ub+4;break a}else{re(jb,qb);break a}break}case 168:{jb=lb+-32|0;c[M>>2]=c[jb>>2];c[M+4>>2]=c[jb+4>>2];c[M+8>>2]=c[jb+8>>2];c[M+12>>2]=c[jb+12>>2];jb=c[qb+-64>>2]|0;Ub=c[qb+-32>>2]|0;Vb=qb+-28|0;Tb=c[Vb>>2]|0;fb=Vb+4|0;eb=c[fb>>2]|0;db=Tb+eb|0;c[Ga>>2]=jb;switch(jb|0){case -1:{ie=fi(Tb,db,Ka,1)|0;Cb=650;break}case -2:{ie=ei(Tb,db,Ja,1)|0;Cb=650;break}case -3:{ie=gi(Ub,Tb,db,Ka)|0;Cb=650;break}case -4:{ie=hi(Ub,Tb,db,Ja)|0;Cb=650;break}default:{ve=eb;we=Tb;Cb=652}}if((Cb|0)==650?(Cb=0,(ie|0)==1):0){ve=c[fb>>2]|0;we=c[Vb>>2]|0;Cb=652}if((Cb|0)==652){Cb=0;c[o>>2]=ve;c[o+4>>2]=we;xi(lb+-16|0,e,f,8755,o)}fb=c[Vb>>2]|0;if(fb|0)Xn(fb);break}case 169:{fb=Un(12)|0;c[fb>>2]=0;c[fb+4>>2]=0;c[fb+8>>2]=0;c[M>>2]=fb;break}case 170:{fb=c[qb+-32>>2]|0;c[M>>2]=fb;Vb=fb+4|0;Tb=c[Vb>>2]|0;if((Tb|0)==(c[fb+8>>2]|0)){se(fb,qb);break a}else{c[Tb>>2]=c[qb>>2];c[Tb+4>>2]=c[qb+4>>2];c[Tb+8>>2]=c[qb+8>>2];c[Tb+12>>2]=c[qb+12>>2];c[Tb+16>>2]=c[qb+16>>2];c[Tb+20>>2]=c[qb+20>>2];c[Tb+24>>2]=c[qb+24>>2];c[Tb+28>>2]=c[qb+28>>2];c[Vb>>2]=(c[Vb>>2]|0)+32;break a}break}default:{}}while(0);Vb=nb+(hb<<1)|0;Tb=lb+(hb<<4)|0;fb=qb+(hb<<5)+32|0;c[fb>>2]=c[M>>2];c[fb+4>>2]=c[M+4>>2];c[fb+8>>2]=c[M+8>>2];c[fb+12>>2]=c[M+12>>2];c[fb+16>>2]=c[M+16>>2];c[fb+20>>2]=c[M+20>>2];c[fb+24>>2]=c[M+24>>2];c[fb+28>>2]=c[M+28>>2];eb=Tb+16|0;c[Tb+16>>2]=Ob;c[Tb+20>>2]=gb;c[Tb+24>>2]=Pb;c[Tb+28>>2]=Qb;Tb=(d[8890+Bb>>0]|0)+-75|0;db=b[Vb>>1]|0;Ub=(db<<16>>16)+(b[6950+(Tb<<1)>>1]|0)|0;if(Ub>>>0<798?(b[3758+(Ub<<1)>>1]|0)==db<<16>>16:0){Db=Ab;Eb=eb;Fb=Vb;Gb=b[5354+(Ub<<1)>>1]|0;Hb=fb;break}Db=Ab;Eb=eb;Fb=Vb;Gb=b[7076+(Tb<<1)>>1]|0;Hb=fb}while(0);Wa=Db;Xa=kb;Ya=Eb;Za=mb;_a=Fb+2|0;$a=ob;ab=Gb;bb=pb;cb=Hb}do if((Cb|0)==695){Hb=Kb;if((Jb|0)!=-2)if(Jb>>>0<330)xe=d[7782+Jb>>0]|0;else xe=2;else xe=-2;cb=te(O,N,Lb,xe)|0;switch(cb|0){case 0:{xi(I,e,f,N,n);ye=N;break}case 1:{pb=Wn(c[O>>2]|0)|0;ze=pb;Ae=pb;Be=te(O,pb,Lb,xe)|0;Cb=701;break}default:{ze=N;Ae=9063;Be=cb;Cb=701}}if((Cb|0)==701){xi(I,e,f,Ae,m);if((Be|0)==2){xi(I,e,f,10900,l);rb=Jb;sb=ze;tb=2;ub=Kb;vb=Lb;wb=Nb;break}else ye=ze}if((Lb|0)==(Kb|0)){rb=Jb;sb=ye;tb=1;ub=Lb;vb=Lb;wb=Nb}else{cb=~((Lb+-2-Hb|0)>>>1);Hb=Lb+(cb<<1)|0;pb=Lb;bb=Mb;Gb=Nb;while(1){ue(10885,d[10480+bb>>0]|0,Gb);ab=pb+-2|0;if((ab|0)==(Kb|0))break;else{pb=ab;bb=b[ab>>1]|0;Gb=Gb+-32|0}}rb=Jb;sb=ye;tb=1;ub=Kb;vb=Hb;wb=Nb+(cb<<5)|0}}while(0);if((rb|0)!=-2){if(rb>>>0<330)Ce=d[7782+rb>>0]|0;else Ce=2;ue(10917,Ce,H)}if((vb|0)!=(ub|0)){H=vb;vb=wb;while(1){ue(10947,d[10480+(b[H>>1]|0)>>0]|0,vb);H=H+-2|0;if((H|0)==(ub|0))break;else vb=vb+-32|0}}if((sb|0)==(N|0)){i=g;return tb|0}Xn(sb);i=g;return tb|0}function ce(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,x=0,y=0,z=0,A=0,B=0,C=0;f=i;i=i+16|0;g=f+4|0;h=f;j=c[b>>2]|0;b=(j|0)==0;if(b){k=Wn(0)|0;l=k;m=k;c[d>>2]=l;n=m;o=l;p=n-o|0;c[e>>2]=p;i=f;return}else{q=j;r=0}while(1){k=c[q>>2]|0;s=k+1|0;t=k+(c[q+4>>2]|0)+-1|0;k=(t>>>0>s>>>0?t-s|0:0)+r|0;q=c[q+8>>2]|0;if(!q){u=k;break}else r=k}r=Wn(u)|0;if(b){l=r;m=r;c[d>>2]=l;n=m;o=l;p=n-o|0;c[e>>2]=p;i=f;return}b=r;u=j;while(1){j=c[u>>2]|0;q=j+1|0;k=j+(c[u+4>>2]|0)+-1|0;if(q>>>0<k>>>0){j=b;s=q;while(1){q=a[s>>0]|0;t=s+1|0;if(q<<24>>24==92){v=a[t>>0]|0;switch(v<<24>>24|0){case 110:{a[j>>0]=10;w=j+1|0;x=t;break}case 116:{a[j>>0]=9;w=j+1|0;x=t;break}case 92:{a[j>>0]=92;w=j+1|0;x=t;break}case 39:{a[j>>0]=39;w=j+1|0;x=t;break}case 34:{a[j>>0]=34;w=j+1|0;x=t;break}default:{y=s+2|0;if((ci(v,g)|0)==0?(ci(a[y>>0]|0,h)|0)==0:0){a[j>>0]=c[g>>2]<<4|c[h>>2];z=j+1|0}else z=j;w=z;x=y}}A=w;B=x+1|0}else{a[j>>0]=q;A=j+1|0;B=t}if(B>>>0<k>>>0){j=A;s=B}else{C=A;break}}}else C=b;u=c[u+8>>2]|0;if(!u){l=r;m=C;break}else b=C}c[d>>2]=l;n=m;o=l;p=n-o|0;c[e>>2]=p;i=f;return}function de(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function ee(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>5)+1|0;if(f>>>0>134217727)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>5>>>0<67108863){i=h>>4;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>5;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=134217727;o=f;p=f-e>>5;q=6}if((q|0)==6){j=n;k=Un(n<<5)|0;l=p;m=o}o=k+(l<<5)|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];c[o+16>>2]=c[b+16>>2];c[o+20>>2]=c[b+20>>2];c[o+24>>2]=c[b+24>>2];c[o+28>>2]=c[b+28>>2];b=m-e|0;m=o+(0-(b>>5)<<5)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+32;c[g>>2]=k+(j<<5);if(!e)return;Bn(e);return}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,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;f=c[a>>2]|0;g=f;h=f+((c[b>>2]|0)-g>>2<<2)|0;b=c[d>>2]|0;i=c[e>>2]|0;e=i-b|0;j=e>>2;k=b;l=i;if((e|0)<=0){m=h;return m|0}e=a+8|0;n=c[e>>2]|0;o=a+4|0;p=c[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=h;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=(l+-4-t|0)>>>2;x=u;u=p;while(1){c[u>>2]=c[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+(w+1<<2)|0;c[o>>2]=u;v=u}if((s|0)>0){y=v;z=t}else{m=h;return m|0}}else{y=p;z=i}i=y-(h+(j<<2))|0;t=i>>2;v=h+(t<<2)|0;s=0-t|0;if(v>>>0<p>>>0){t=(p+(s<<2)+~r|0)>>>2;r=y;u=v;while(1){c[r>>2]=c[u>>2];u=u+4|0;if(u>>>0>=p>>>0)break;else r=r+4|0}c[o>>2]=y+(t+1<<2)}jo(y+(s<<2)|0,h|0,i|0)|0;i=c[d>>2]|0;jo(h|0,i|0,z-i|0)|0;m=h;return m|0}i=(q-g>>2)+j|0;if(i>>>0>1073741823)sn(a);j=n-g|0;if(j>>2>>>0<536870911){n=j>>1;j=n>>>0<i>>>0?i:n;n=h;i=n-g>>2;if(!j){A=0;B=0;C=i;D=n}else{E=j;F=i;G=n;H=19}}else{n=h;E=1073741823;F=n-g>>2;G=n;H=19}if((H|0)==19){A=E;B=Un(E<<2)|0;C=F;D=G}G=B+(C<<2)|0;C=B+(A<<2)|0;if((k|0)==(l|0))I=G;else{A=(l+-4-b|0)>>>2;b=k;k=G;while(1){c[k>>2]=c[b>>2];b=b+4|0;if((b|0)==(l|0))break;else k=k+4|0}I=G+(A+1<<2)|0}A=D-f|0;k=G+(0-(A>>2)<<2)|0;io(k|0,f|0,A|0)|0;A=(c[o>>2]|0)-D|0;io(I|0,h|0,A|0)|0;c[a>>2]=k;c[o>>2]=I+(A>>2<<2);c[e>>2]=C;if(!f){m=G;return m|0}Bn(f);m=G;return m|0}function ge(e,f){e=e|0;f=f|0;var 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.0,B=0.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;h=f+8|0;i=a[h>>0]|0;j=(i&1)==0;k=f+16|0;l=h+1|0;m=j?l:c[k>>2]|0;n=f+12|0;o=j?(i&255)>>>1:c[n>>2]|0;if(o>>>0>3){i=o;j=m;p=o;while(1){q=_(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,1540483477)|0;r=(_(q>>>24^q,1540483477)|0)^(_(p,1540483477)|0);i=i+-4|0;if(i>>>0<=3){s=r;break}else{j=j+4|0;p=r}}p=o+-4|0;j=p&-4;t=p-j|0;u=m+(j+4)|0;v=s}else{t=o;u=m;v=o}switch(t|0){case 3:{w=d[u+2>>0]<<16^v;x=6;break}case 2:{w=v;x=6;break}case 1:{y=v;x=7;break}default:z=v}if((x|0)==6){y=d[u+1>>0]<<8^w;x=7}if((x|0)==7)z=_(d[u>>0]^y,1540483477)|0;y=_(z>>>13^z,1540483477)|0;z=y>>>15^y;y=f+4|0;c[y>>2]=z;u=e+4|0;w=c[u>>2]|0;v=e+12|0;A=+(((c[v>>2]|0)+1|0)>>>0);B=+g[e+16>>2];if((w|0)==0|A>+(w>>>0)*B){if(w>>>0>2)C=(w+-1&w|0)==0;else C=0;t=(C&1|w<<1)^1;C=~~+Z(+(A/B))>>>0;he(e,t>>>0<C>>>0?C:t);D=c[y>>2]|0;E=c[u>>2]|0}else{D=z;E=w}w=E+-1|0;z=(w&E|0)==0;if(z)F=w&D;else F=(D>>>0)%(E>>>0)|0;u=c[(c[e>>2]|0)+(F<<2)>>2]|0;if(!u){y=e+8|0;c[f>>2]=c[y>>2];c[y>>2]=f;c[(c[e>>2]|0)+(F<<2)>>2]=y;y=c[f>>2]|0;if(!y){G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}t=c[y+4>>2]|0;if(z)I=t&w;else I=(t>>>0)%(E>>>0)|0;c[(c[e>>2]|0)+(I<<2)>>2]=f;G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}I=c[u>>2]|0;a:do if(I)if(z){t=u;y=I;C=0;o=u;while(1){m=c[y+4>>2]|0;if((m&w|0)!=(F|0)){J=t;K=o;break a}b:do if((m|0)==(D|0)?(s=y+8|0,j=b[s>>1]|0,p=(j&1)==0,i=(j&254)>>>1,r=p?i:c[y+12>>2]|0,q=a[h>>0]|0,L=(q&1)==0,M=(j&65535)>>>8&255,(r|0)==((L?(q&255)>>>1:c[n>>2]|0)|0)):0){q=L?l:c[k>>2]|0;if(!p){N=(vm(c[y+16>>2]|0,q,r)|0)==0;x=28;break}if(r)if(M<<24>>24==(a[q>>0]|0)){M=i;i=s+1|0;s=q;while(1){M=M+-1|0;i=i+1|0;if(!M){O=1;break b}s=s+1|0;if((a[i>>0]|0)!=(a[s>>0]|0)){N=0;x=28;break}}}else{N=0;x=28}else O=1}else{N=0;x=28}while(0);if((x|0)==28){x=0;if(N|C^1)O=N;else{J=t;K=o;break a}}m=c[y>>2]|0;if(!m){J=y;K=y;break}else{s=y;i=y;y=m;C=C|O;o=s;t=i}}}else{t=I;o=u;C=0;y=u;while(1){i=c[t+4>>2]|0;if(((i>>>0)%(E>>>0)|0|0)!=(F|0)){J=o;K=y;break a}c:do if((i|0)==(D|0)?(s=t+8|0,m=b[s>>1]|0,M=(m&1)==0,q=(m&254)>>>1,r=M?q:c[t+12>>2]|0,p=a[h>>0]|0,L=(p&1)==0,j=(m&65535)>>>8&255,(r|0)==((L?(p&255)>>>1:c[n>>2]|0)|0)):0){p=L?l:c[k>>2]|0;if(!M){P=(vm(c[t+16>>2]|0,p,r)|0)==0;x=45;break}if(r)if(j<<24>>24==(a[p>>0]|0)){j=q;q=s+1|0;s=p;while(1){j=j+-1|0;q=q+1|0;if(!j){Q=1;break c}s=s+1|0;if((a[q>>0]|0)!=(a[s>>0]|0)){P=0;x=45;break}}}else{P=0;x=45}else Q=1}else{P=0;x=45}while(0);if((x|0)==45){x=0;if(P|C^1)Q=P;else{J=o;K=y;break a}}i=c[t>>2]|0;if(!i){J=t;K=t;break}else{s=t;q=t;t=i;C=C|Q;y=s;o=q}}}else{J=u;K=u}while(0);c[f>>2]=c[K>>2];c[J>>2]=f;J=c[f>>2]|0;if(!J){G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}K=c[J+4>>2]|0;if(z)R=K&w;else R=(K>>>0)%(E>>>0)|0;if((R|0)==(F|0)){G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}c[(c[e>>2]|0)+(R<<2)>>2]=f;G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}function he(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;if((b|0)!=1)if(!(b+-1&b))d=b;else d=gn(b)|0;else d=2;b=c[a+4>>2]|0;if(d>>>0>b>>>0){ie(a,d);return}if(d>>>0>=b>>>0)return;if(b>>>0>2)e=(b+-1&b|0)==0;else e=0;f=~~+Z(+(+((c[a+12>>2]|0)>>>0)/+g[a+16>>2]))>>>0;if(e)h=1<<32-(aa(f+-1|0)|0);else h=gn(f)|0;f=d>>>0<h>>>0?h:d;if(f>>>0>=b>>>0)return;ie(a,f);return}function ie(d,e){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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;f=d+4|0;if(!e){g=c[d>>2]|0;c[d>>2]=0;if(g|0)Bn(g);c[f>>2]=0;return}g=Un(e<<2)|0;h=c[d>>2]|0;c[d>>2]=g;if(h|0)Bn(h);c[f>>2]=e;f=0;do{c[(c[d>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0));f=d+8|0;h=c[f>>2]|0;if(!h)return;g=c[h+4>>2]|0;i=e+-1|0;j=(i&e|0)==0;if(j)k=g&i;else k=(g>>>0)%(e>>>0)|0;c[(c[d>>2]|0)+(k<<2)>>2]=f;f=c[h>>2]|0;if(!f)return;else{l=h;m=f;n=k;o=h}a:while(1){h=l;k=m;f=o;b:while(1){g=k;while(1){p=c[g+4>>2]|0;if(j)q=p&i;else q=(p>>>0)%(e>>>0)|0;if((q|0)==(n|0)){r=g;break}p=(c[d>>2]|0)+(q<<2)|0;if(!(c[p>>2]|0)){s=p;t=q;u=g;v=f;break b}p=c[g>>2]|0;c:do if(p){w=g+8|0;x=b[w>>1]|0;y=(x&1)==0;z=(x&254)>>>1;A=y?z:c[g+12>>2]|0;B=(x&65535)>>>8&255;x=(A|0)==0;C=w+1|0;w=g+16|0;if(y){y=p;D=g;while(1){E=y+8|0;F=a[E>>0]|0;G=(F&1)==0;if((A|0)!=((G?(F&255)>>>1:c[y+12>>2]|0)|0)){H=D;break c}F=G?E+1|0:c[y+16>>2]|0;d:do if(!x){if(B<<24>>24==(a[F>>0]|0)){I=z;J=C;K=F}else{H=D;break c}while(1){I=I+-1|0;J=J+1|0;if(!I)break d;K=K+1|0;if((a[J>>0]|0)!=(a[K>>0]|0)){H=D;break c}}}while(0);F=c[y>>2]|0;if(!F){H=y;break}else{E=y;y=F;D=E}}}else{if(x){D=p;y=g;while(1){C=a[D+8>>0]|0;if(((C&1)==0?(C&255)>>>1:c[D+12>>2]|0)|0){H=y;break c}C=c[D>>2]|0;if(!C){H=D;break c}else{z=D;D=C;y=z}}}else{L=p;M=g}while(1){y=L+8|0;D=a[y>>0]|0;x=(D&1)==0;if((A|0)!=((x?(D&255)>>>1:c[L+12>>2]|0)|0)){H=M;break c}if(vm(c[w>>2]|0,x?y+1|0:c[L+16>>2]|0,A)|0){H=M;break c}y=c[L>>2]|0;if(!y){H=L;break}else{x=L;L=y;M=x}}}}else H=g;while(0);c[f>>2]=c[H>>2];c[H>>2]=c[c[(c[d>>2]|0)+(q<<2)>>2]>>2];c[c[(c[d>>2]|0)+(q<<2)>>2]>>2]=g;g=c[h>>2]|0;if(!g){N=38;break a}}g=c[r>>2]|0;if(!g){N=38;break a}else{h=r;k=g;f=r}}c[s>>2]=v;f=c[u>>2]|0;if(!f){N=38;break}else{l=u;m=f;n=t;o=u}}if((N|0)==38)return}function je(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function ke(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function le(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function me(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function oe(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function pe(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function qe(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function re(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,u=0,v=0,w=0;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=e;h=a+8|0;i=(c[h>>2]|0)-e|0;if(i>>2>>>0<536870911){j=i>>1;i=j>>>0<f>>>0?f:j;j=c[d>>2]|0;f=j-e>>2;k=j;if(!i){l=0;m=0;n=f;o=k}else{p=i;q=k;r=f;s=6}}else{f=c[d>>2]|0;p=1073741823;q=f;r=f-e>>2;s=6}if((s|0)==6){l=p;m=Un(p<<2)|0;n=r;o=q}q=m+(n<<2)|0;n=q;r=m+(l<<2)|0;c[q>>2]=c[b>>2];b=q+4|0;if((o|0)==(g|0)){t=n;u=e;v=o}else{e=o;o=q;q=n;while(1){e=e+-4|0;n=c[e>>2]|0;c[e>>2]=0;c[o+-4>>2]=n;o=q+-4|0;n=o;if((e|0)==(g|0)){w=n;break}else q=n}t=w;u=c[a>>2]|0;v=c[d>>2]|0}c[a>>2]=t;c[d>>2]=b;c[h>>2]=r;r=u;if((v|0)!=(r|0)){h=v;do{h=h+-4|0;v=c[h>>2]|0;c[h>>2]=0;if(v|0){Pd(v);Bn(v)}}while((h|0)!=(r|0))}if(!u)return;Bn(u);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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>5)+1|0;if(f>>>0>134217727)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>5>>>0<67108863){i=h>>4;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>5;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=134217727;o=f;p=f-e>>5;q=6}if((q|0)==6){j=n;k=Un(n<<5)|0;l=p;m=o}o=k+(l<<5)|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];c[o+16>>2]=c[b+16>>2];c[o+20>>2]=c[b+20>>2];c[o+24>>2]=c[b+24>>2];c[o+28>>2]=c[b+28>>2];b=m-e|0;m=o+(0-(b>>5)<<5)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+32;c[g>>2]=k+(j<<5);if(!e)return;Bn(e);return}function te(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,x=0,y=0,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;h=i;i=i+32|0;j=h;k=c[308+(g<<2)>>2]|0;l=a[k>>0]|0;m=k;a:do switch(l<<24>>24){case 34:{n=0;o=k;b:while(1){p=o+1|0;switch(a[p>>0]|0){case 34:{q=n;break a;break}case 44:case 39:{break b;break}case 92:{r=o+2|0;if((a[r>>0]|0)==92)s=r;else break b;break}default:s=p}n=n+1|0;o=s}if(!(l<<24>>24))q=0;else{t=1;u=6}break}case 0:{q=0;break}default:{t=1;u=6}}while(0);if((u|0)==6)while(1){u=0;if(!(a[k+t>>0]|0)){q=t;break}else{t=t+1|0;u=6}}c:do if((g|0)==-2){v=q;u=21}else{t=b[2948+(b[f>>1]<<1)>>1]|0;k=t<<16>>16;c[j>>2]=m;d:do if(t<<16>>16!=-274?(l=t<<16>>16<0?0-k|0:0,s=797-k+1|0,o=(s|0)<75?s:75,(l|0)<(o|0)):0){s=1;n=q;p=l;while(1){if((p|0)!=1?(b[3758+(p+k<<1)>>1]|0)==(p|0):0){if((s|0)==5){w=q;break d}l=c[308+(p<<2)>>2]|0;r=s+1|0;c[j+(s<<2)>>2]=l;x=l;l=a[x>>0]|0;e:do switch(l<<24>>24){case 34:{y=0;z=x;f:while(1){A=z+1|0;switch(a[A>>0]|0){case 34:{B=y;break e;break}case 44:case 39:{break f;break}case 92:{C=z+2|0;if((a[C>>0]|0)==92)D=C;else break f;break}default:D=A}y=y+1|0;z=D}if(!(l<<24>>24))B=0;else{E=1;u=17}break}case 0:{B=0;break}default:{E=1;u=17}}while(0);if((u|0)==17)while(1){u=0;if(!(a[x+E>>0]|0)){B=E;break}else{E=E+1|0;u=17}}x=B+n|0;if(n>>>0>x>>>0){F=2;u=56;break}else{G=r;H=x}}else{G=s;H=n}p=p+1|0;if((p|0)>=(o|0)){I=G;J=H;break}else{s=G;n=H}}if((u|0)==56){i=h;return F|0}switch(I|0){case 0:{v=J;u=21;break c;break}case 1:{w=J;break d;break}case 2:{K=I;L=10276;M=J;break c;break}case 3:{K=I;L=10318;M=J;break c;break}case 4:{K=I;L=10366;M=J;break c;break}case 5:{K=I;L=10420;M=J;break c;break}default:{K=I;L=0;M=J;break c}}}else w=q;while(0);K=1;L=10248;M=w}while(0);if((u|0)==21){K=0;L=9063;M=v}v=0;while(1)if(!(a[L+v>>0]|0)){N=v;break}else v=v+1|0;v=N+M|0;N=M>>>0>v>>>0;w=N?M:v;if(N){F=2;i=h;return F|0}if((c[d>>2]|0)>>>0<w>>>0){N=w<<1;c[d>>2]=w>>>0>N>>>0?-1:N;F=1;i=h;return F|0}g:do if((K|0)>0){N=L;w=0;d=e;h:while(1){v=N;M=d;i:while(1){q=a[v>>0]|0;a[M>>0]=q;switch(q<<24>>24){case 0:{F=0;break h;break}case 37:{q=v+1|0;if((a[q>>0]|0)==115){O=v;P=M;break i}else Q=q;break}default:Q=v+1|0}v=Q;M=M+1|0}M=c[j+(w<<2)>>2]|0;w=w+1|0;v=a[M>>0]|0;j:do if(v<<24>>24==34){q=(P|0)==0;k:do if(q){J=0;I=M;while(1){H=I+1|0;switch(a[H>>0]|0){case 44:case 39:{u=42;break j;break}case 34:{R=J;S=0;break k;break}case 92:{G=I+2|0;if((a[G>>0]|0)==92)T=G;else{u=42;break j}break}default:T=H}J=J+1|0;I=T}}else{I=0;J=M;while(1){H=J+1|0;G=a[H>>0]|0;switch(G<<24>>24|0){case 44:case 39:{U=P;V=M;u=45;break j;break}case 34:{R=I;S=P;break k;break}case 92:{B=J+2|0;if((a[B>>0]|0)==92){W=92;X=B}else{U=P;V=M;u=45;break j}break}default:{W=G;X=H}}a[P+I>>0]=W;I=I+1|0;J=X}}while(0);if(q){Y=R;Z=S}else{a[S+R>>0]=0;Y=R;Z=S}}else u=42;while(0);if((u|0)==42){u=0;if(!P)if(!(v<<24>>24)){Y=0;Z=0}else{r=1;while(1)if(!(a[M+r>>0]|0)){Y=r;Z=0;break}else r=r+1|0}else{U=P;V=M;u=45}}if((u|0)==45){while(1){u=0;r=a[V>>0]|0;a[U>>0]=r;if(!(r<<24>>24)){_=U;break}else{U=U+1|0;V=V+1|0;u=45}}Y=_-P|0;Z=P}M=Z+Y|0;r=O+2|0;if((w|0)>=(K|0)){$=r;aa=M;break g}else{N=r;d=M}}i=h;return F|0}else{$=L;aa=e}while(0);e=a[$>>0]|0;a[aa>>0]=e;if(!(e<<24>>24)){F=0;i=h;return F|0}else{ba=$;ca=aa}do{ca=ca+1|0;ba=ba+1|0;aa=a[ba>>0]|0;a[ca>>0]=aa}while(aa<<24>>24!=0);F=0;i=h;return F|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;do switch(b|0){case 136:{a=c[d>>2]|0;if(!a)return;Mb(a);Bn(a);return}case 135:{a=c[d>>2]|0;if(!a)return;e=c[a>>2]|0;f=e;if(e|0){g=a+4|0;h=c[g>>2]|0;if((h|0)!=(e|0))c[g>>2]=h+(~((h+-32-f|0)>>>5)<<5);Bn(e)}Bn(a);return}case 133:{a=c[d>>2]|0;if(!a)return;e=c[a>>2]|0;if(e|0){f=a+4|0;h=c[f>>2]|0;if((h|0)==(e|0))i=e;else{g=h;do{h=g+-4|0;c[f>>2]=h;j=c[h>>2]|0;c[h>>2]=0;if(j|0){Pd(j);Bn(j)}g=c[f>>2]|0}while((g|0)!=(e|0));i=c[a>>2]|0}Bn(i)}Bn(a);return}case 132:{e=c[d>>2]|0;if(!e)return;Pd(e);Bn(e);return}case 131:{e=c[d>>2]|0;if(!e)return;Pd(e);Bn(e);return}case 130:{e=c[d>>2]|0;if(!e)return;Nd(e);Bn(e);return}case 129:{Cc(d);return}case 76:{zi(d);return}case 77:{zi(d);return}case 78:{bi(d);return}case 79:{e=c[d>>2]|0;if(!e)return;g=c[e>>2]|0;f=g;if(g|0){j=e+4|0;h=c[j>>2]|0;if((h|0)!=(g|0))c[j>>2]=h+(~((h+-4-f|0)>>>2)<<2);Bn(g)}Bn(e);return}case 81:{e=c[d>>2]|0;if(!e)return;td(e);Bn(e);return}case 82:{e=c[d>>2]|0;if(!e)return;g=c[e+12>>2]|0;f=g;if(g|0){h=e+16|0;j=c[h>>2]|0;if((j|0)!=(g|0))c[h>>2]=j+(~((j+-4-f|0)>>>2)<<2);Bn(g)}g=c[e>>2]|0;f=g;if(g|0){j=e+4|0;h=c[j>>2]|0;if((h|0)!=(g|0))c[j>>2]=h+(~((h+-4-f|0)>>>2)<<2);Bn(g)}Bn(e);return}case 83:{e=c[d>>2]|0;if(!e)return;g=c[e+12>>2]|0;f=g;if(g|0){h=e+16|0;j=c[h>>2]|0;if((j|0)!=(g|0))c[h>>2]=j+(~((j+-4-f|0)>>>2)<<2);Bn(g)}g=c[e>>2]|0;f=g;if(g|0){j=e+4|0;h=c[j>>2]|0;if((h|0)!=(g|0))c[j>>2]=h+(~((h+-4-f|0)>>>2)<<2);Bn(g)}Bn(e);return}case 85:{e=c[d>>2]|0;if(!e)return;Bd(e);Bn(e);return}case 87:{Cc(d);return}case 89:{bi(d+4|0);return}case 90:{Cc(d);return}case 91:{e=c[d>>2]|0;if(!e)return;g=c[e>>2]|0;f=g;if(g|0){h=e+4|0;j=c[h>>2]|0;if((j|0)!=(g|0))c[h>>2]=j+(~((j+-32-f|0)>>>5)<<5);Bn(g)}Bn(e);return}case 92:{bi(d);return}case 93:{bi(d);return}case 94:{bi(d);return}case 97:{Dc(c[d>>2]|0);return}case 98:{e=c[d>>2]|0;if(!e)return;Ec(e);Bn(e);return}case 99:{e=c[d>>2]|0;if(!e)return;Ec(e);Bn(e);return}case 100:{e=c[d>>2]|0;if(!e)return;Fc(e);Bn(e);return}case 101:{Dc(c[d>>2]|0);return}case 102:{Dc(c[d>>2]|0);return}case 103:{Dc(c[d>>2]|0);return}case 104:{Dc(c[d>>2]|0);return}case 105:{Dc(c[d>>2]|0);return}case 106:{Dc(c[d>>2]|0);return}case 107:{Ci(c[d>>2]|0);return}case 108:{Ci(c[d>>2]|0);return}case 109:{e=c[d>>2]|0;if(!e)return;rd(e);Bn(e);return}case 110:{e=c[d>>2]|0;if(!e)return;g=e+4|0;f=c[g>>2]|0;c[g>>2]=0;if(f|0){Fd(f);Bn(f)}f=c[e>>2]|0;c[e>>2]=0;if(f|0){rd(f);Bn(f)}Bn(e);return}case 111:{Dc(c[d>>2]|0);return}case 112:{e=c[d>>2]|0;if(!e)return;xd(e);Bn(e);return}case 113:{e=c[d>>2]|0;if(!e)return;f=e+8|0;g=c[f>>2]|0;c[f>>2]=0;if(g|0){Fd(g);Bn(g)}g=e+4|0;f=c[g>>2]|0;c[g>>2]=0;if(f|0){xd(f);Bn(f)}f=c[e>>2]|0;c[e>>2]=0;if(f|0){vd(f);Bn(f)}Bn(e);return}case 114:{e=c[d>>2]|0;if(!e)return;zd(e);Bn(e);return}case 115:{e=c[d>>2]|0;if(!e)return;f=e+8|0;g=c[f>>2]|0;c[f>>2]=0;if(g|0){Fd(g);Bn(g)}g=e+4|0;f=c[g>>2]|0;c[g>>2]=0;if(f|0){zd(f);Bn(f)}f=c[e>>2]|0;c[e>>2]=0;if(f|0){Bd(f);Bn(f)}Bn(e);return}case 117:{e=c[d>>2]|0;if(!e)return;Dd(e);Bn(e);return}case 118:{e=c[d>>2]|0;if(!e)return;Dd(e);Bn(e);return}case 119:{e=c[d>>2]|0;if(!e)return;Dd(e);Bn(e);return}case 120:{e=c[d>>2]|0;if(!e)return;Fd(e);Bn(e);return}case 121:{e=c[d>>2]|0;if(!e)return;Fd(e);Bn(e);return}case 122:{e=c[d>>2]|0;if(!e)return;f=c[e>>2]|0;c[e>>2]=0;if(f|0){Fd(f);Bn(f)}Bn(e);return}case 123:{e=c[d>>2]|0;if(!e)return;f=c[e>>2]|0;c[e>>2]=0;if(f|0){Fd(f);Bn(f)}Bn(e);return}case 124:{e=c[d>>2]|0;if(!e)return;od(e);Bn(e);return}case 125:{Cc(d);return}case 126:{e=c[d>>2]|0;if(!e)return;Id(e);Bn(e);return}case 127:{e=c[d>>2]|0;if(!e)return;Kd(e);Bn(e);return}case 128:{e=c[d>>2]|0;if(!e)return;Id(e);Bn(e);return}default:return}while(0)}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=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+4>>2]=d;d=be(a,f)|0;a=c[f+12>>2]|0;if(a|0)Xn(a);a=c[f+16>>2]|0;if(a|0)Xn(a);a=c[f+20>>2]|0;if(a|0)Xn(a);c[b>>2]=c[f>>2];i=e;return (c[f+8>>2]|d|0)!=0|0}function we(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,x=0,y=0,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;f=i;i=i+608|0;g=f+472|0;h=f+464|0;j=f+456|0;k=f+448|0;l=f+416|0;m=f+392|0;n=f+368|0;o=f+360|0;p=f+328|0;q=f+304|0;r=f+280|0;s=f+272|0;t=f+264|0;u=f+256|0;v=f+248|0;w=f+240|0;x=f+232|0;y=f+224|0;z=f+192|0;A=f+168|0;B=f+144|0;C=f+136|0;D=f+104|0;E=f+80|0;F=f+56|0;G=f+48|0;H=f+40|0;I=f+32|0;J=f+24|0;K=f+16|0;L=f+8|0;M=f;N=f+592|0;O=f+576|0;P=f+568|0;Q=f+488|0;R=f+480|0;c[Q>>2]=e;c[Q+4>>2]=b;c[Q+8>>2]=d;b=Q+12|0;e=Q+68|0;c[e>>2]=0;S=Q+72|0;c[S>>2]=0;T=b;U=T+52|0;do{c[T>>2]=0;T=T+4|0}while((T|0)<(U|0));c[R>>2]=24;c[R+4>>2]=Q;c[Q+36>>2]=R;R=c[d>>2]|0;T=c[d+4>>2]|0;if((R|0)!=(T|0)){d=Q+20|0;U=Q+24|0;V=Q+28|0;W=Q+32|0;X=Q+16|0;Y=Q+36|0;Z=P+4|0;_=P+4|0;$=O+4|0;aa=O+8|0;ba=R;do{R=c[ba>>2]|0;switch(c[R>>2]|0){case 0:{ca=c[R+8>>2]|0;c[b>>2]=ca;da=ca+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;ea=c[da>>2]|0;if(ea|0){fa=ea;ea=0;while(1){a:do switch(c[fa+16>>2]|0){case 0:{ga=c[fa+24>>2]|0;c[X>>2]=ga;ha=ga+60|0;if((c[ga+64>>2]|0)-(c[ha>>2]|0)>>2>>>0>1){ye(Q,fa,11340,J);ia=ea;break a}do if(a[ga+8>>0]|0){ja=c[b>>2]|0;ka=c[ja+96>>2]|0;la=(c[ja+100>>2]|0)-ka>>2;ja=ga+40|0;ma=c[ja>>2]|0;na=c[ja+4>>2]|0;ja=((la|0)<0)<<31>>31;if(((na|0)>-1|(na|0)==-1&ma>>>0>4294967295)&((na|0)<(ja|0)|(na|0)==(ja|0)&ma>>>0<la>>>0)){ja=c[ka+(ma<<2)>>2]|0;Ae(Q,fa,ha,ja+20|0,11388);Ae(Q,fa,ga+48|0,ja+8|0,11472);break}else{c[I>>2]=13832;c[I+4>>2]=la;ye(Q,ga+16|0,10964,I);break}}while(0);c[e>>2]=fa;Fi(Y,ha)|0;la=c[ga+124>>2]|0;if(la|0){ja=la;do{Be(Q,ja);ja=c[ja+20>>2]|0}while((ja|0)!=0)}qj(Y)|0;c[X>>2]=0;ia=ea;break}case 1:{ja=c[fa+24>>2]|0;ze(Q,fa,c[ja+16>>2]|0,c[ja+8>>2]|0,11740);c[V>>2]=(c[V>>2]|0)+1;ia=ea;break}case 2:{ja=c[fa+24>>2]|0;switch(c[ja+16>>2]|0){case 0:{ga=c[ja+20>>2]|0;if(!(a[ga+8>>0]|0)){ia=ea;break a}ha=c[b>>2]|0;la=(c[ha+100>>2]|0)-(c[ha+96>>2]|0)>>2;ha=ga+40|0;ma=c[ha>>2]|0;ka=c[ha+4>>2]|0;ha=((la|0)<0)<<31>>31;if(((ka|0)>-1|(ka|0)==-1&ma>>>0>4294967295)&((ka|0)<(ha|0)|(ka|0)==(ha|0)&ma>>>0<la>>>0)){ia=ea;break a}c[H>>2]=13832;c[H+4>>2]=la;ye(Q,ga+16|0,10964,H);ia=ea;break a;break}case 1:{ga=c[ja+20>>2]|0;if((c[d>>2]|0)==1)ye(Q,fa,11770,G);la=ga+8|0;ma=la;ha=c[ma>>2]|0;ka=c[ma+4>>2]|0;if(ka>>>0>0|(ka|0)==0&ha>>>0>4294967295){c[F>>2]=11793;ma=F+8|0;c[ma>>2]=ha;c[ma+4>>2]=ka;ka=F+16|0;c[ka>>2]=-1;c[ka+4>>2]=0;ye(Q,fa,11799,F)}if(a[ga+24>>0]|0){ka=ga+16|0;ga=ka;ma=c[ga>>2]|0;ha=c[ga+4>>2]|0;if(ha>>>0>0|(ha|0)==0&ma>>>0>4294967295){c[E>>2]=11793;ga=E+8|0;c[ga>>2]=ma;c[ga+4>>2]=ha;ga=E+16|0;c[ga>>2]=-1;c[ga+4>>2]=0;ye(Q,fa,11835,E);ga=ka;oa=c[ga+4>>2]|0;pa=c[ga>>2]|0}else{oa=ha;pa=ma}ma=la;la=c[ma>>2]|0;ha=c[ma+4>>2]|0;if(oa>>>0<ha>>>0|(oa|0)==(ha|0)&pa>>>0<la>>>0){c[D>>2]=11793;ma=D+8|0;c[ma>>2]=pa;c[ma+4>>2]=oa;c[D+16>>2]=11793;ma=D+24|0;c[ma>>2]=la;c[ma+4>>2]=ha;ye(Q,fa,11867,D)}}c[d>>2]=(c[d>>2]|0)+1;ia=ea;break a;break}case 2:{ha=c[ja+20>>2]|0;if((c[U>>2]|0)==1)ye(Q,fa,11910,C);ma=ha+8|0;la=ma;ga=c[la>>2]|0;ka=c[la+4>>2]|0;if(ka>>>0>0|(ka|0)==0&ga>>>0>65536){c[B>>2]=11940;la=B+8|0;c[la>>2]=ga;c[la+4>>2]=ka;ka=B+16|0;c[ka>>2]=65536;c[ka+4>>2]=0;ye(Q,fa,11799,B)}if(a[ha+24>>0]|0){ka=ha+16|0;ha=ka;la=c[ha>>2]|0;ga=c[ha+4>>2]|0;if(ga>>>0>0|(ga|0)==0&la>>>0>65536){c[A>>2]=11940;ha=A+8|0;c[ha>>2]=la;c[ha+4>>2]=ga;ha=A+16|0;c[ha>>2]=65536;c[ha+4>>2]=0;ye(Q,fa,11835,A);ha=ka;qa=c[ha+4>>2]|0;ra=c[ha>>2]|0}else{qa=ga;ra=la}la=ma;ma=c[la>>2]|0;ga=c[la+4>>2]|0;if(qa>>>0<ga>>>0|(qa|0)==(ga|0)&ra>>>0<ma>>>0){c[z>>2]=11940;la=z+8|0;c[la>>2]=ra;c[la+4>>2]=qa;c[z+16>>2]=11940;la=z+24|0;c[la>>2]=ma;c[la+4>>2]=ga;ye(Q,fa,11867,z)}}c[U>>2]=(c[U>>2]|0)+1;ia=ea;break a;break}case 3:{if(a[(c[ja+20>>2]|0)+12>>0]|0)ye(Q,fa,11946,y);c[W>>2]=(c[W>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+1;ia=ea;break a;break}default:{ia=ea;break a}}break}case 3:{ja=c[fa+24>>2]|0;switch(c[ja+8>>2]|0){case 0:{ga=c[b>>2]|0;la=(c[ga+52>>2]|0)-(c[ga+48>>2]|0)>>2;ga=ja+40|0;ma=c[ga>>2]|0;ha=c[ga+4>>2]|0;ga=((la|0)<0)<<31>>31;if(((ha|0)>-1|(ha|0)==-1&ma>>>0>4294967295)&((ha|0)<(ga|0)|(ha|0)==(ga|0)&ma>>>0<la>>>0)){ia=ea;break a}c[x>>2]=16255;c[x+4>>2]=la;ye(Q,ja+16|0,10964,x);ia=ea;break a;break}case 1:{la=c[b>>2]|0;ma=(c[la+112>>2]|0)-(c[la+108>>2]|0)>>2;la=ja+40|0;ga=c[la>>2]|0;ha=c[la+4>>2]|0;la=((ma|0)<0)<<31>>31;if(((ha|0)>-1|(ha|0)==-1&ga>>>0>4294967295)&((ha|0)<(la|0)|(ha|0)==(la|0)&ga>>>0<ma>>>0)){ia=ea;break a}c[w>>2]=14025;c[w+4>>2]=ma;ye(Q,ja+16|0,10964,w);ia=ea;break a;break}case 2:{ma=c[b>>2]|0;ga=(c[ma+136>>2]|0)-(c[ma+132>>2]|0)>>2;ma=ja+40|0;la=c[ma>>2]|0;ha=c[ma+4>>2]|0;ma=((ga|0)<0)<<31>>31;if(((ha|0)>-1|(ha|0)==-1&la>>>0>4294967295)&((ha|0)<(ma|0)|(ha|0)==(ma|0)&la>>>0<ga>>>0)){ia=ea;break a}c[v>>2]=14031;c[v+4>>2]=ga;ye(Q,ja+16|0,10964,v);ia=ea;break a;break}case 3:{ga=ja+16|0;la=c[b>>2]|0;ma=c[la+60>>2]|0;ha=(c[la+64>>2]|0)-ma>>2;la=ja+40|0;ja=c[la>>2]|0;ka=c[la+4>>2]|0;la=((ha|0)<0)<<31>>31;if(!(((ka|0)>-1|(ka|0)==-1&ja>>>0>4294967295)&((ka|0)<(la|0)|(ka|0)==(la|0)&ja>>>0<ha>>>0))){c[u>>2]=14038;c[u+4>>2]=ha;ye(Q,ga,10964,u);ia=ea;break a}if(!(a[(c[ma+(ja<<2)>>2]|0)+12>>0]|0)){ia=ea;break a}ye(Q,ga,11981,t);ia=ea;break a;break}default:{ia=ea;break a}}break}case 5:{ga=c[fa+24>>2]|0;if((c[d>>2]|0)==1)ye(Q,fa,11770,s);ja=ga+8|0;ma=ja;ha=c[ma>>2]|0;la=c[ma+4>>2]|0;if(la>>>0>0|(la|0)==0&ha>>>0>4294967295){c[r>>2]=11793;ma=r+8|0;c[ma>>2]=ha;c[ma+4>>2]=la;la=r+16|0;c[la>>2]=-1;c[la+4>>2]=0;ye(Q,fa,11799,r)}if(a[ga+24>>0]|0){la=ga+16|0;ga=la;ma=c[ga>>2]|0;ha=c[ga+4>>2]|0;if(ha>>>0>0|(ha|0)==0&ma>>>0>4294967295){c[q>>2]=11793;ga=q+8|0;c[ga>>2]=ma;c[ga+4>>2]=ha;ga=q+16|0;c[ga>>2]=-1;c[ga+4>>2]=0;ye(Q,fa,11835,q);ga=la;sa=c[ga+4>>2]|0;ta=c[ga>>2]|0}else{sa=ha;ta=ma}ma=ja;ja=c[ma>>2]|0;ha=c[ma+4>>2]|0;if(sa>>>0<ha>>>0|(sa|0)==(ha|0)&ta>>>0<ja>>>0){c[p>>2]=11793;ma=p+8|0;c[ma>>2]=ta;c[ma+4>>2]=sa;c[p+16>>2]=11793;ma=p+24|0;c[ma>>2]=ja;c[ma+4>>2]=ha;ye(Q,fa,11867,p)}}c[d>>2]=(c[d>>2]|0)+1;ia=ea;break}case 9:{if(ea)ye(Q,fa,12016,k);ha=c[b>>2]|0;ma=c[ha+48>>2]|0;ja=(c[ha+52>>2]|0)-ma>>2;ha=fa+48|0;ga=c[ha>>2]|0;la=c[ha+4>>2]|0;ha=((ja|0)<0)<<31>>31;if(!(((la|0)>-1|(la|0)==-1&ga>>>0>4294967295)&((la|0)<(ha|0)|(la|0)==(ha|0)&ga>>>0<ja>>>0))){c[j>>2]=16255;c[j+4>>2]=ja;ye(Q,fa+24|0,10964,j);ia=1;break a}ja=c[ma+(ga<<2)>>2]|0;ga=ja;if(ja){if((c[ga+52>>2]|0)!=(c[ga+48>>2]|0))ye(Q,fa,12048,h);if((c[ga+64>>2]|0)!=(c[ga+60>>2]|0)){ye(Q,fa,12079,g);ia=1}else ia=1}else ia=1;break}case 7:{ga=c[fa+24>>2]|0;if((c[U>>2]|0)==1)ye(Q,fa,11910,o);ja=ga+8|0;ma=ja;ha=c[ma>>2]|0;la=c[ma+4>>2]|0;if(la>>>0>0|(la|0)==0&ha>>>0>65536){c[n>>2]=11940;ma=n+8|0;c[ma>>2]=ha;c[ma+4>>2]=la;la=n+16|0;c[la>>2]=65536;c[la+4>>2]=0;ye(Q,fa,11799,n)}if(a[ga+24>>0]|0){la=ga+16|0;ga=la;ma=c[ga>>2]|0;ha=c[ga+4>>2]|0;if(ha>>>0>0|(ha|0)==0&ma>>>0>65536){c[m>>2]=11940;ga=m+8|0;c[ga>>2]=ma;c[ga+4>>2]=ha;ga=m+16|0;c[ga>>2]=65536;c[ga+4>>2]=0;ye(Q,fa,11835,m);ga=la;ua=c[ga+4>>2]|0;va=c[ga>>2]|0}else{ua=ha;va=ma}ma=ja;ja=c[ma>>2]|0;ha=c[ma+4>>2]|0;if(ua>>>0<ha>>>0|(ua|0)==(ha|0)&va>>>0<ja>>>0){c[l>>2]=11940;ma=l+8|0;c[ma>>2]=va;c[ma+4>>2]=ua;c[l+16>>2]=11940;ma=l+24|0;c[ma>>2]=ja;c[ma+4>>2]=ha;ye(Q,fa,11867,l)}}c[U>>2]=(c[U>>2]|0)+1;ia=ea;break}default:ia=ea}while(0);fa=c[fa+20>>2]|0;if(!fa)break;else ea=ia}ea=c[da>>2]|0;if(ea|0){fa=ea;do{do if((c[fa+16>>2]|0)==6){ea=c[fa+24>>2]|0;ha=c[b>>2]|0;ma=(c[ha+112>>2]|0)-(c[ha+108>>2]|0)>>2;ja=ea+24|0;ga=c[ja>>2]|0;la=c[ja+4>>2]|0;ja=((ma|0)<0)<<31>>31;if(!(((la|0)>-1|(la|0)==-1&ga>>>0>4294967295)&((la|0)<(ja|0)|(la|0)==(ja|0)&ga>>>0<ma>>>0))){c[M>>2]=14025;c[M+4>>2]=ma;ye(Q,ea,10964,M);break}ma=c[ea+36>>2]|0;ga=c[ea+40>>2]|0;b:do if((ma|0)!=(ga|0)){ja=ha;la=ma;while(1){ka=(c[ja+52>>2]|0)-(c[ja+48>>2]|0)>>2;na=la+24|0;wa=c[na>>2]|0;xa=c[na+4>>2]|0;na=((ka|0)<0)<<31>>31;if(!(((xa|0)>-1|(xa|0)==-1&wa>>>0>4294967295)&((xa|0)<(na|0)|(xa|0)==(na|0)&wa>>>0<ka>>>0))){c[L>>2]=16255;c[L+4>>2]=ka;ye(Q,la,10964,L)}ka=la+32|0;if((ka|0)==(ga|0))break b;ja=c[b>>2]|0;la=ka}}while(0);ze(Q,fa,c[ea+32>>2]|0,-1,10998)}while(0);fa=c[fa+20>>2]|0}while((fa|0)!=0);fa=c[da>>2]|0;if(fa|0){ga=fa;do{do if((c[ga+16>>2]|0)==8){fa=c[ga+24>>2]|0;ma=c[b>>2]|0;ha=(c[ma+136>>2]|0)-(c[ma+132>>2]|0)>>2;ma=fa+24|0;la=c[ma>>2]|0;ja=c[ma+4>>2]|0;ma=((ha|0)<0)<<31>>31;if(((ja|0)>-1|(ja|0)==-1&la>>>0>4294967295)&((ja|0)<(ma|0)|(ja|0)==(ma|0)&la>>>0<ha>>>0)){ze(Q,ga,c[fa+32>>2]|0,-1,11320);break}else{c[K>>2]=14031;c[K+4>>2]=ha;ye(Q,fa,10964,K);break}}while(0);ga=c[ga+20>>2]|0}while((ga|0)!=0)}}}rh(ca+200|0,22,Q);break}case 1:{Ee(N,Q,c[R+8>>2]|0);break}case 11:case 12:{Ee(N,Q,c[R+8>>2]|0);break}case 10:{Ge(Q,c[R+8>>2]|0);break}case 9:{Ge(Q,c[R+8>>2]|0);break}case 8:{ga=c[R+8>>2]|0;Ee(P,Q,ga);switch(c[P>>2]|0){case 1:{Fe(Q,ga,c[Z>>2]|0,c[R+12>>2]|0);break}case 2:{da=c[_>>2]|0;fa=c[R+12>>2]|0;c[N>>2]=da;c[O>>2]=0;c[$>>2]=0;c[aa>>2]=0;if((da|0)!=-64)de(O,N);Fe(Q,ga,O,fa);fa=c[O>>2]|0;ga=fa;if(fa|0){da=c[$>>2]|0;if((da|0)!=(fa|0))c[$>>2]=da+(~((da+-4-ga|0)>>>2)<<2);Bn(fa)}break}default:{}}break}default:{}}ba=ba+4|0}while((ba|0)!=(T|0));T=c[S>>2]|0;S=Q+52|0;ba=c[S>>2]|0;if(!ba)ya=T;else{$=Q+56|0;O=c[$>>2]|0;if((O|0)==(ba|0))za=ba;else{N=O;while(1){O=N+-24|0;c[$>>2]=O;aa=c[N+-20>>2]|0;_=aa;if(!aa)Aa=O;else{O=N+-16|0;Z=c[O>>2]|0;if((Z|0)!=(aa|0))c[O>>2]=Z+(~((Z+-4-_|0)>>>2)<<2);Bn(aa);Aa=c[$>>2]|0}if((Aa|0)==(ba|0))break;else N=Aa}za=c[S>>2]|0}Bn(za);ya=T}}else ya=0;T=c[Q+40>>2]|0;if(!T){i=f;return ya|0}za=Q+44|0;Q=c[za>>2]|0;if((Q|0)!=(T|0))c[za>>2]=Q+(~((Q+-4-T|0)>>>2)<<2);Bn(T);i=f;return ya|0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=c[b+68>>2]|0;c[e>>2]=a;ye(b,f,24344,e);i=d;return}function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[a+72>>2]=1;c[g>>2]=e;yi(c[a>>2]|0,b,c[a+4>>2]|0,d,g);i=f;return}function ze(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,y=0;h=i;i=i+64|0;j=h+48|0;k=h+40|0;l=h+32|0;m=h+24|0;n=h+16|0;o=h+8|0;p=h;q=(e|0)!=0;a:do if(q){if(c[e+20>>2]|0){c[p>>2]=g;ye(b,d,11018,p);i=h;return}switch(c[e+16>>2]|0){case 8:{r=c[e+40>>2]|0;break a;break}case 12:{s=c[b+12>>2]|0;t=c[s+60>>2]|0;u=(c[s+64>>2]|0)-t>>2;s=e+48|0;v=c[s>>2]|0;w=c[s+4>>2]|0;s=((u|0)<0)<<31>>31;if(!(((w|0)>-1|(w|0)==-1&v>>>0>4294967295)&((w|0)<(s|0)|(w|0)==(s|0)&v>>>0<u>>>0))){c[l>>2]=14038;c[l+4>>2]=u;ye(b,e+24|0,10964,l);i=h;return}u=c[t+(v<<2)>>2]|0;t=c[u+8>>2]|0;if((v|0)<(c[b+28>>2]|0)){if((v|0)>=(c[b+32>>2]|0))ye(b,d,11161,n)}else ye(b,d,11091,o);if(!(a[u+12>>0]|0)){r=t;break a}ye(b,d,11222,m);r=t;break a;break}default:{c[k>>2]=g;ye(b,d,11018,k);i=h;return}}}else r=-64;while(0);k=q?e:d;if((r|0)==(f|0)){i=h;return}switch(r|0){case -1:{x=24340;break}case -2:{x=24336;break}case -3:{x=24332;break}case -4:{x=24328;break}case -16:{x=24320;break}case -32:{x=24315;break}case -64:{x=24310;break}case 0:{x=24306;break}default:x=0}switch(f|0){case -1:{y=24340;break}case -2:{y=24336;break}case -3:{y=24332;break}case -4:{y=24328;break}case -16:{y=24320;break}case -32:{y=24315;break}case -64:{y=24310;break}case 0:{y=24306;break}default:y=0}c[j>>2]=g;c[j+4>>2]=x;c[j+8>>2]=y;ye(b,k,11279,j);i=h;return}function Ae(a,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;g=i;i=i+48|0;h=g+24|0;j=g;k=d+4|0;l=c[k>>2]|0;m=c[d>>2]|0;n=l-m>>2;o=c[e>>2]|0;p=(c[e+4>>2]|0)-o>>2;if((n|0)!=(p|0)){c[h>>2]=p;c[h+4>>2]=f;c[h+8>>2]=n;ye(a,b,11446,h);i=g;return}if((l|0)==(m|0)){i=g;return}h=m;m=o;o=l;l=0;while(1){n=c[h+(l<<2)>>2]|0;p=c[m+(l<<2)>>2]|0;if((n|0)!=0&((p|0)!=(n|0)&(p|0)!=0)){switch(n|0){case -1:{q=24340;break}case -2:{q=24336;break}case -3:{q=24332;break}case -4:{q=24328;break}case -16:{q=24320;break}case -32:{q=24315;break}case -64:{q=24310;break}case 0:{q=24306;break}default:q=0}switch(p|0){case -1:{r=24340;break}case -2:{r=24336;break}case -3:{r=24332;break}case -4:{r=24328;break}case -16:{r=24320;break}case -32:{r=24315;break}case -64:{r=24310;break}case 0:{r=24306;break}default:r=0}c[j>>2]=f;c[j+4>>2]=l;c[j+8>>2]=16255;c[j+12>>2]=q;c[j+16>>2]=r;ye(a,b,11395,j);s=c[d>>2]|0;t=c[k>>2]|0}else{s=h;t=o}p=l+1|0;if(p>>>0>=t-s>>2>>>0)break;h=s;m=c[e>>2]|0;o=t;l=p}i=g;return}function Be(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,z=0,A=0,B=0,C=0,D=0;d=i;i=i+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;j=d+80|0;k=d+72|0;l=d+64|0;m=d+56|0;n=d+48|0;o=d+40|0;p=d+32|0;q=d+24|0;r=d+16|0;s=d+8|0;t=d;c[a+68>>2]=b;do switch(c[b+16>>2]|0){case 0:{Hi(a+36|0,c[b+24>>2]|0)|0;i=d;return}case 1:{u=a+36|0;v=b+24|0;Ji(u,(c[v>>2]|0)+8|0)|0;w=c[(c[v>>2]|0)+20>>2]|0;if(w|0){v=w;do{Be(a,v);v=c[v+20>>2]|0}while((v|0)!=0)}aj(u)|0;i=d;return}case 2:{Ki(a+36|0,c[b+48>>2]|0)|0;i=d;return}case 3:{Ni(a+36|0,c[b+48>>2]|0)|0;i=d;return}case 4:{v=a+36|0;Pi(v)|0;w=c[b+24>>2]|0;x=c[w>>2]|0;y=c[w+4>>2]|0;if((x|0)!=(y|0)){w=x;do{Qi(v,c[w+24>>2]|0)|0;w=w+32|0}while((w|0)!=(y|0))}Qi(v,c[b+56>>2]|0)|0;Ri(v)|0;i=d;return}case 5:{y=c[a+12>>2]|0;w=c[y+48>>2]|0;u=(c[y+52>>2]|0)-w>>2;y=b+48|0;x=c[y>>2]|0;z=c[y+4>>2]|0;y=((u|0)<0)<<31>>31;if(((z|0)>-1|(z|0)==-1&x>>>0>4294967295)&((z|0)<(y|0)|(z|0)==(y|0)&x>>>0<u>>>0)){y=c[w+(x<<2)>>2]|0;Si(a+36|0,y+48|0,y+60|0)|0;i=d;return}else{c[t>>2]=16255;c[t+4>>2]=u;ye(a,b+24|0,10964,t);i=d;return}break}case 6:{u=a+12|0;y=c[u>>2]|0;if((c[y+112>>2]|0)==(c[y+108>>2]|0)){ye(a,b,11481,s);A=c[u>>2]|0}else A=y;y=c[A+96>>2]|0;u=(c[A+100>>2]|0)-y>>2;x=b+48|0;w=c[x>>2]|0;z=c[x+4>>2]|0;x=((u|0)<0)<<31>>31;if(((z|0)>-1|(z|0)==-1&w>>>0>4294967295)&((z|0)<(x|0)|(z|0)==(x|0)&w>>>0<u>>>0)){x=c[y+(w<<2)>>2]|0;Vi(a+36|0,x+8|0,x+20|0)|0;i=d;return}else{c[r>>2]=13832;c[r+4>>2]=u;ye(a,b+24|0,10964,r);i=d;return}break}case 7:{Wi(a+36|0,c[b+24>>2]|0)|0;i=d;return}case 8:{Xi(a+36|0,c[b+40>>2]|0)|0;i=d;return}case 9:{Yi(a+36|0,c[b+24>>2]|0)|0;i=d;return}case 11:{_i(a+36|0)|0;i=d;return}case 12:{u=c[a+12>>2]|0;x=c[u+60>>2]|0;w=(c[u+64>>2]|0)-x>>2;u=b+48|0;y=c[u>>2]|0;z=c[u+4>>2]|0;u=((w|0)<0)<<31>>31;if(((z|0)>-1|(z|0)==-1&y>>>0>4294967295)&((z|0)<(u|0)|(z|0)==(u|0)&y>>>0<w>>>0))B=c[(c[x+(y<<2)>>2]|0)+8>>2]|0;else{c[q>>2]=14038;c[q+4>>2]=w;ye(a,b+24|0,10964,q);B=0}ej(a+36|0,B)|0;i=d;return}case 13:{fj(a+36|0,Ce(a,b+24|0)|0)|0;i=d;return}case 14:{w=c[a+12>>2]|0;if((c[w+136>>2]|0)==(c[w+132>>2]|0)){Zh();c[p>>2]=c[8066];ye(a,b,11561,p)}cj(a+36|0)|0;i=d;return}case 15:{w=a+36|0;y=b+24|0;dj(w,(c[y>>2]|0)+8|0)|0;x=c[(c[y>>2]|0)+20>>2]|0;if(x|0){u=x;do{Be(a,u);u=c[u+20>>2]|0}while((u|0)!=0)}u=y+4|0;if(c[u>>2]|0?($i(w)|0,v=c[u>>2]|0,v|0):0){u=v;do{Be(a,u);u=c[u+20>>2]|0}while((u|0)!=0)}aj(w)|0;i=d;return}case 16:{u=b+24|0;y=c[a+12>>2]|0;if((c[y+136>>2]|0)==(c[y+132>>2]|0)){y=c[u>>2]|0;Zh();c[o>>2]=c[30984+(y*20|0)>>2];ye(a,b,11561,o)}y=c[u+4>>2]|0;v=c[u>>2]|0;Zh();x=c[30984+(v*20|0)+16>>2]|0;switch(y|0){case -1:break;case 0:{C=41;break}default:if(!(y+-1&y))C=42;else C=41}if((C|0)==41){ye(a,b,11604,n);C=42}if((C|0)==42?y>>>0>x>>>0:0){c[m>>2]=x;ye(a,b,11635,m)}x=b+32|0;y=c[x+4>>2]|0;if(y>>>0>0|(y|0)==0&(c[x>>2]|0)>>>0>4294967295)ye(a,b,11692,l);gj(a+36|0,c[u>>2]|0)|0;i=d;return}case 17:{u=a+36|0;x=b+24|0;hj(u,(c[x>>2]|0)+8|0)|0;y=c[(c[x>>2]|0)+20>>2]|0;if(y|0){x=y;do{Be(a,x);x=c[x+20>>2]|0}while((x|0)!=0)}aj(u)|0;i=d;return}case 10:{x=c[a+12>>2]|0;if((c[x+136>>2]|0)==(c[x+132>>2]|0)){Zh();c[k>>2]=c[8061];ye(a,b,11561,k)}Zi(a+36|0)|0;i=d;return}case 26:{pj(a+36|0)|0;i=d;return}case 19:{ij(a+36|0)|0;i=d;return}case 20:{jj(a+36|0)|0;i=d;return}case 21:{x=c[a+12>>2]|0;w=c[x+60>>2]|0;y=(c[x+64>>2]|0)-w>>2;x=b+48|0;v=c[x>>2]|0;z=c[x+4>>2]|0;x=((y|0)<0)<<31>>31;if(((z|0)>-1|(z|0)==-1&v>>>0>4294967295)&((z|0)<(x|0)|(z|0)==(x|0)&v>>>0<y>>>0))D=c[(c[w+(v<<2)>>2]|0)+8>>2]|0;else{c[j>>2]=14038;c[j+4>>2]=y;ye(a,b+24|0,10964,j);D=0}kj(a+36|0,D)|0;i=d;return}case 22:{lj(a+36|0,Ce(a,b+24|0)|0)|0;i=d;return}case 23:{y=b+24|0;v=c[a+12>>2]|0;if((c[v+136>>2]|0)==(c[v+132>>2]|0)){v=c[y>>2]|0;Zh();c[h>>2]=c[30984+(v*20|0)>>2];ye(a,b,11561,h)}v=c[y+4>>2]|0;w=c[y>>2]|0;Zh();x=c[30984+(w*20|0)+16>>2]|0;switch(v|0){case -1:break;case 0:{C=64;break}default:if(!(v+-1&v))C=65;else C=64}if((C|0)==64){ye(a,b,11604,g);C=65}if((C|0)==65?v>>>0>x>>>0:0){c[f>>2]=x;ye(a,b,11635,f)}x=b+32|0;v=c[x+4>>2]|0;if(v>>>0>0|(v|0)==0&(c[x>>2]|0)>>>0>4294967295)ye(a,b,11692,e);mj(a+36|0,c[y>>2]|0)|0;i=d;return}case 24:{nj(a+36|0,Ce(a,b+24|0)|0)|0;i=d;return}case 25:{oj(a+36|0,c[b+24>>2]|0)|0;i=d;return}default:{i=d;return}}while(0)}function Ce(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;d=i;i=i+16|0;e=d+8|0;f=d;g=a+16|0;h=c[g>>2]|0;j=h+48|0;k=h+52|0;l=((c[h+76>>2]|0)-(c[h+72>>2]|0)>>2)+((c[k>>2]|0)-(c[j>>2]|0)>>2)|0;m=pc(h,b)|0;if(!((m|0)>-1&(m|0)<(l|0)))if((c[b+16>>2]|0)==1){h=b+24|0;n=c[h>>2]|0;c[f>>2]=c[h+4>>2];c[f+4>>2]=n;ye(a,b,13846,f);o=0;i=d;return o|0}else{c[e>>2]=l;ye(a,b,11524,e);o=0;i=d;return o|0}else{e=c[j>>2]|0;j=(c[k>>2]|0)-e>>2;if((m|0)<(j|0))p=e+(m<<2)|0;else p=(c[(c[g>>2]|0)+72>>2]|0)+(m-j<<2)|0;o=c[p>>2]|0;i=d;return o|0}return 0}function De(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=(c[b+16>>2]|0)>(c[d+16>>2]|0)?b+12|0:d+12|0;c[g>>2]=(a[b>>0]&1)==0?b+1|0:c[b+8>>2]|0;ye(e,h,12119,g);i=f;return}function Ee(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,x=0,y=0,z=0,A=0;e=i;i=i+80|0;f=e+64|0;g=e+56|0;h=e+32|0;j=e+16|0;k=e+8|0;l=a;c[l>>2]=0;c[l+4>>2]=0;switch(c[d+16>>2]|0){case 0:{l=c[d+64>>2]|0;m=vc(c[b+8>>2]|0,d+24|0)|0;do if(m){n=d+56|0;o=jc(m,n)|0;if(!o){p=c[n>>2]|0;c[k>>2]=c[d+60>>2];c[k+4>>2]=p;ye(b,d,12162,k);q=0;break}p=qc(m,o+16|0)|0;if(!p)q=0;else{o=c[l>>2]|0;n=(c[l+4>>2]|0)-o>>5;r=c[p+48>>2]|0;s=(c[p+52>>2]|0)-r>>2;if((s|0)!=(n|0)){c[j>>2]=n>>>0>s>>>0?12193:12198;c[j+4>>2]=n;c[j+8>>2]=s;ye(b,d,12202,j);q=0;break}a:do if(n|0){s=p+48|0;t=o;u=r;v=0;while(1){w=t+(v<<5)|0;x=c[t+(v<<5)+16>>2]|0;y=c[u+(v<<2)>>2]|0;if((x|0)!=0&((y|0)!=(x|0)&(y|0)!=0)){switch(x|0){case -1:{z=24340;break}case -2:{z=24336;break}case -3:{z=24332;break}case -4:{z=24328;break}case -16:{z=24320;break}case -32:{z=24315;break}case -64:{z=24310;break}case 0:{z=24306;break}default:z=0}switch(y|0){case -1:{A=24340;break}case -2:{A=24336;break}case -3:{A=24332;break}case -4:{A=24328;break}case -16:{A=24320;break}case -32:{A=24315;break}case -64:{A=24310;break}case 0:{A=24306;break}default:A=0}c[h>>2]=11472;c[h+4>>2]=v;c[h+8>>2]=12255;c[h+12>>2]=z;c[h+16>>2]=A;ye(b,w,11395,h)}w=v+1|0;if((w|0)==(n|0))break a;t=c[l>>2]|0;u=c[s>>2]|0;v=w}}while(0);q=p+60|0}}else{ye(b,d,12147,e);q=0}while(0);c[a+4>>2]=q;c[a>>2]=(q|0)!=0&1;i=e;return}case 1:{q=a+4|0;l=vc(c[b+8>>2]|0,d+24|0)|0;do if(l){h=d+56|0;A=jc(l,h)|0;if(!A){z=c[h>>2]|0;c[f>>2]=c[d+60>>2];c[f+4>>2]=z;ye(b,d,12262,f);break}z=rc(l,A+16|0)|0;if(z|0){c[q>>2]=c[z+8>>2];c[a>>2]=2;i=e;return}}else ye(b,d,12147,g);while(0);c[a>>2]=0;i=e;return}default:{i=e;return}}}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+32|0;g=f+24|0;h=f;j=d+4|0;k=c[j>>2]|0;l=c[d>>2]|0;m=k-l>>2;n=c[e>>2]|0;o=(c[e+4>>2]|0)-n>>5;if((m|0)!=(o|0)){c[g>>2]=o;c[g+4>>2]=m;ye(a,b,12298,g);i=f;return}if((k|0)==(l|0)){i=f;return}g=l;l=n;n=k;k=0;while(1){m=c[g+(k<<2)>>2]|0;o=c[l+(k<<5)+16>>2]|0;if((m|0)!=0&((o|0)!=(m|0)&(o|0)!=0)){switch(m|0){case -1:{p=24340;break}case -2:{p=24336;break}case -3:{p=24332;break}case -4:{p=24328;break}case -16:{p=24320;break}case -32:{p=24315;break}case -64:{p=24310;break}case 0:{p=24306;break}default:p=0}switch(o|0){case -1:{q=24340;break}case -2:{q=24336;break}case -3:{q=24332;break}case -4:{q=24328;break}case -16:{q=24320;break}case -32:{q=24315;break}case -64:{q=24310;break}case 0:{q=24306;break}default:q=0}c[h>>2]=11388;c[h+4>>2]=k;c[h+8>>2]=12291;c[h+12>>2]=p;c[h+16>>2]=q;ye(a,b,11395,h);r=c[d>>2]|0;s=c[j>>2]|0}else{r=g;s=n}o=k+1|0;if(o>>>0>=s-r>>2>>>0)break;g=r;l=c[e>>2]|0;n=s;k=o}i=f;return}function Ge(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;d=i;i=i+32|0;e=d+8|0;f=d;g=d+16|0;Ee(g,a,b);switch(c[g>>2]|0){case 1:{h=2;break}case 2:break;default:{i=d;return}}do if((h|0)==2){j=g+4|0;k=c[j>>2]|0;l=c[k>>2]|0;m=(c[k+4>>2]|0)-l>>2;if((m|0)==1){c[g>>2]=2;c[j>>2]=c[l>>2];break}c[f>>2]=m;ye(a,b,12328,f);c[j>>2]=0;i=d;return}while(0);f=c[g+4>>2]|0;if(!f){i=d;return}if((f&-2|0)==-4){i=d;return}switch(f|0){case -1:{n=24340;break}case -2:{n=24336;break}case -3:{n=24332;break}case -4:{n=24328;break}case -16:{n=24320;break}case -32:{n=24315;break}case -64:{n=24310;break}default:n=0}c[e>>2]=12291;c[e+4>>2]=n;ye(a,b,12355,e);i=d;return}function He(b,c){b=b|0;c=c|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;d=i;i=i+16|0;e=d;switch(c|0){case -1:{f=24340;g=9;break}case -2:{f=24336;g=9;break}case -3:{f=24332;g=9;break}case -4:{f=24328;g=9;break}case -16:{f=24320;g=9;break}case -32:{f=24315;g=9;break}case -64:{f=24310;g=9;break}case 0:{h=24306;j=e;k=0;g=11;break}default:{l=c>>7;if((c|0)<0){m=0;n=e;o=l}else{h=0;j=e;k=l;g=11}}}if((g|0)==9){m=f;n=e;o=c>>7}else if((g|0)==11){if(!(k|c&64)){p=c;q=0}else{g=c;f=k;k=0;while(1){a[e+k>>0]=g|128;l=k+1|0;r=f>>7;if(!(r|f&64)){p=f;q=l;break}else{s=f;f=r;k=l;g=s}}}a[e+q>>0]=p&127;t=h;u=j;v=q;w=v+1|0;ni(b,u,w,t,0);i=d;return}if((c&64|0)==0|(o|0)!=-1){q=c;j=o;o=0;while(1){a[e+o>>0]=q|128;h=o+1|0;p=j>>7;if((p|0)!=-1|(j&64|0)==0){g=j;j=p;o=h;q=g}else{x=j;y=h;break}}}else{x=c;y=0}a[e+y>>0]=x&127;t=m;u=n;v=y;w=v+1|0;ni(b,u,w,t,0);i=d;return}function Ie(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;e=i;i=i+16|0;f=e;g=d+16|0;a[f>>0]=a[g>>0]|0;ni(b,f,1,12404,0);h=c[d>>2]|0;j=h>>>7;if(!j){k=h;l=0}else{m=h;h=j;j=0;while(1){a[f+j>>0]=m|128;n=j+1|0;o=h>>>7;if(!o){k=h;l=n;break}else{p=h;h=o;j=n;m=p}}}a[f+l>>0]=k&127;ni(b,f,l+1|0,12418,0);if(!(a[g>>0]|0)){i=e;return}g=c[d+8>>2]|0;d=g>>>7;if(!d){q=g;r=0}else{l=g;g=d;d=0;while(1){a[f+d>>0]=l|128;k=d+1|0;m=g>>>7;if(!m){q=g;r=k;break}else{j=g;g=m;d=k;l=j}}}a[f+r>>0]=q&127;ni(b,f,r+1|0,12434,0);i=e;return} -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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;mi(g,26600,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+400>>2]&127](f,b,d)|0;i=e;return a|0}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,l=0,m=0;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;mi(g,26655,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+404>>2]&127](f,b,d)|0;i=e;return a|0}function vl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26710,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+408>>2]&255](e,b)|0;i=d;return a|0}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,26730,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+412>>2]&127](d)|0;i=b;return a|0}function xl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,26746,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+416>>2]&255](f,b)|0;i=d;return a|0}function yl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26768,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+420>>2]&255](e,b)|0;i=d;return a|0}function zl(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;mi(g,26792,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+424>>2]&127](f,b,d)|0;i=e;return a|0}function Al(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26839,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+428>>2]&255](e,b)|0;i=d;return a|0}function Bl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26869,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+432>>2]&255](e,b)|0;i=d;return a|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,j=0,k=0,l=0,m=0,n=0;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=b;c[g+4>>2]=e;mi(h,26897,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+436>>2]&63](g,b,d,e)|0;i=f;return a|0}function Dl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,26935,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+440>>2]&255](e,b)|0;i=d;return a|0}function El(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,26955,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+444>>2]&127](d)|0;i=b;return a|0}function Fl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,26971,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+448>>2]&255](f,b)|0;i=d;return a|0}function Gl(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;mi(h,26994,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+452>>2]&63](g,b,d,e)|0;i=f;return a|0}function Hl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,27052,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+456>>2]&255](e,b)|0;i=d;return a|0}function Il(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;e=i;i=i+32|0;f=e+8|0;g=e;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;j=c[d+4>>2]|0;n=c[d>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=n;mi(h,27078,f);h=c[a+12>>2]|0;a=c[(c[h>>2]|0)+460>>2]|0;n=d;d=c[n+4>>2]|0;j=g;c[j>>2]=c[n>>2];c[j+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];g=kb[a&127](h,b,f)|0;i=e;return g|0}function Jl(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;mi(h,27119,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+464>>2]&63](g,b,d,e)|0;i=f;return a|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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;mi(f,27174,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+468>>2]&255](e,b)|0;i=d;return a|0}function Ll(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;mi(g,27204,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+472>>2]&127](f,b,d)|0;i=e;return a|0}function Ml(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;f=i;i=i+32|0;g=f+8|0;h=f;j=a+16|0;k=c[j>>2]|0;if(k>>>0>142){l=a+8|0;m=k;while(1){ni(c[l>>2]|0,24002,142,0,0);n=m+-142|0;if(n>>>0>142)m=n;else{o=n;break}}}else o=k;k=a+8|0;if(o|0)ni(c[k>>2]|0,24002,c[j>>2]|0,0,0);j=c[k>>2]|0;k=c[e+4>>2]|0;o=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=k;c[g+12>>2]=o;mi(j,27249,g);j=c[a+12>>2]|0;a=c[(c[j>>2]|0)+476>>2]|0;o=e;e=c[o+4>>2]|0;k=h;c[k>>2]=c[o>>2];c[k+4>>2]=e;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];h=sb[a&63](j,b,d,g)|0;i=f;return h|0}function Nl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,27309,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+480>>2]&127](d)|0;i=b;return a|0}function Ol(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){ni(c[h>>2]|0,24002,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)ni(c[g>>2]|0,24002,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;mi(l,27326,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+484>>2]&255](f,b)|0;i=d;return a|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;f=i;i=i+32|0;g=f+8|0;h=f;j=a+16|0;k=c[j>>2]|0;if(k>>>0>142){l=a+8|0;m=k;while(1){ni(c[l>>2]|0,24002,142,0,0);n=m+-142|0;if(n>>>0>142)m=n;else{o=n;break}}}else o=k;k=a+8|0;if(o|0)ni(c[k>>2]|0,24002,c[j>>2]|0,0,0);j=c[k>>2]|0;k=c[1416+(d<<2)>>2]|0;o=c[e+4>>2]|0;m=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=k;c[g+8>>2]=o;c[g+12>>2]=m;mi(j,27349,g);j=c[a+12>>2]|0;a=c[(c[j>>2]|0)+488>>2]|0;m=e;e=c[m+4>>2]|0;o=h;c[o>>2]=c[m>>2];c[o+4>>2]=e;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];h=sb[a&63](j,b,d,g)|0;i=f;return h|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,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+16|0;h=g;j=a+16|0;k=c[j>>2]|0;if(k>>>0>142){l=a+8|0;m=k;while(1){ni(c[l>>2]|0,24002,142,0,0);n=m+-142|0;if(n>>>0>142)m=n;else{o=n;break}}}else o=k;k=a+8|0;if(o|0)ni(c[k>>2]|0,24002,c[j>>2]|0,0,0);j=c[k>>2]|0;c[h>>2]=c[1480+(b<<2)>>2];c[h+4>>2]=d;c[h+8>>2]=e;c[h+12>>2]=f;mi(j,27407,h);h=c[a+12>>2]|0;a=vb[c[(c[h>>2]|0)+492>>2]&31](h,b,d,e,f)|0;i=g;return a|0}function Rl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){ni(c[g>>2]|0,24002,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)ni(c[f>>2]|0,24002,c[e>>2]|0,0,0);mi(c[f>>2]|0,27461,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+496>>2]&127](d)|0;i=b;return a|0}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e;j=(c[k>>2]=d,+g[k>>2]);l=a+16|0;m=c[l>>2]|0;if(m>>>0>142){n=a+8|0;o=m;while(1){ni(c[n>>2]|0,24002,142,0,0);p=o+-142|0;if(p>>>0>142)o=p;else{q=p;break}}}else q=m;m=a+8|0;if(q|0)ni(c[m>>2]|0,24002,c[l>>2]|0,0,0);l=c[m>>2]|0;c[f>>2]=b;h[f+8>>3]=j;c[f+16>>2]=d;mi(l,27478,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+500>>2]&127](f,b,d)|0;i=e;return a|0}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+32|0;g=f;c[k>>2]=d;c[k+4>>2]=e;j=+h[k>>3];l=a+16|0;m=c[l>>2]|0;if(m>>>0>142){n=a+8|0;o=m;while(1){ni(c[n>>2]|0,24002,142,0,0);p=o+-142|0;if(p>>>0>142)o=p;else{q=p;break}}}else q=m;m=a+8|0;if(q|0)ni(c[m>>2]|0,24002,c[l>>2]|0,0,0);l=c[m>>2]|0;c[g>>2]=b;h[g+8>>3]=j;m=g+16|0;c[m>>2]=d;c[m+4>>2]=e;mi(l,27533,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+504>>2]&63](g,b,d,e)|0;i=f;return a|0}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,l=0,m=0;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;mi(g,27589,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+508>>2]&127](f,b,d)|0;i=e;return a|0}function Vl(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){ni(c[j>>2]|0,24002,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)ni(c[h>>2]|0,24002,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;mi(g,27643,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+512>>2]&127](f,b,d)|0;i=e;return a|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,j=0,k=0,l=0,m=0,n=0;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){ni(c[k>>2]|0,24002,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)ni(c[j>>2]|0,24002,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=b;j=g+8|0;c[j>>2]=d;c[j+4>>2]=e;mi(h,27689,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+516>>2]&63](g,b,d,e)|0;i=f;return a|0}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;c[a+4>>2]=0;c[a>>2]=1564;c[a+8>>2]=b;c[a+12>>2]=d;c[a+16>>2]=0;return}function Yl(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=Zl(cb(6,d|0)|0)|0;i=b;return a|0}function Zl(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(_l()|0)>>2]=0-a;b=-1}else b=a;return b|0}function _l(){var a=0;if(!(c[8706]|0))a=34868;else a=c[(Wa()|0)+64>>2]|0;return a|0}function $l(a){a=a|0;return}function am(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+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((Zl(fb(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;i=e;return h|0}function bm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+80|0;g=f;c[b+36>>2]=69;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21505,c[g+8>>2]=f+12,Ga(54,g|0)|0):0)a[b+75>>0]=-1;g=cm(b,d,e)|0;i=f;return g|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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;i=i+48|0;f=e+16|0;g=e;h=e+32|0;j=a+28|0;k=c[j>>2]|0;c[h>>2]=k;l=a+20|0;m=(c[l>>2]|0)-k|0;c[h+4>>2]=m;c[h+8>>2]=b;c[h+12>>2]=d;b=a+60|0;k=a+44|0;n=h;h=2;o=m+d|0;while(1){if(!(c[8706]|0)){c[f>>2]=c[b>>2];c[f+4>>2]=n;c[f+8>>2]=h;p=Zl(hb(146,f|0)|0)|0}else{db(43,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=n;c[g+8>>2]=h;m=Zl(hb(146,g|0)|0)|0;Fa(0);p=m}if((o|0)==(p|0)){q=6;break}if((p|0)<0){r=n;s=h;q=8;break}m=o-p|0;t=c[n+4>>2]|0;if(p>>>0<=t>>>0)if((h|0)==2){c[j>>2]=(c[j>>2]|0)+p;u=t;v=p;w=n;x=2}else{u=t;v=p;w=n;x=h}else{y=c[k>>2]|0;c[j>>2]=y;c[l>>2]=y;u=c[n+12>>2]|0;v=p-t|0;w=n+8|0;x=h+-1|0}c[w>>2]=(c[w>>2]|0)+v;c[w+4>>2]=u-v;n=w;h=x;o=m}if((q|0)==6){o=c[k>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);k=o;c[j>>2]=k;c[l>>2]=k;z=d}else if((q|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[l>>2]=0;c[a>>2]=c[a>>2]|32;if((s|0)==2)z=0;else z=d-(c[r+4>>2]|0)|0}i=e;return z|0}function dm(a){a=a|0;if(!(c[a+68>>2]|0))$l(a);return}function em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=fm(a,b,d,g)|0;i=f;return e|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;g=i;i=i+128|0;h=g+112|0;j=g;k=j;l=2316;m=k+112|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((d+-1|0)>>>0>2147483646)if(!d){n=h;o=1;p=4}else{c[(_l()|0)>>2]=75;q=-1}else{n=b;o=d;p=4}if((p|0)==4){p=-2-n|0;d=o>>>0>p>>>0?p:o;c[j+48>>2]=d;o=j+20|0;c[o>>2]=n;c[j+44>>2]=n;p=n+d|0;n=j+16|0;c[n>>2]=p;c[j+28>>2]=p;p=hm(j,e,f)|0;if(!d)q=p;else{d=c[o>>2]|0;a[d+(((d|0)==(c[n>>2]|0))<<31>>31)>>0]=0;q=p}}i=g;return q|0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;io(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function hm(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;f=i;i=i+224|0;g=f+120|0;h=f+80|0;j=f;k=f+136|0;l=h;m=l+40|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[g>>2]=c[e>>2];if((im(0,d,g,j,h)|0)<0)n=-1;else{if((c[b+76>>2]|0)>-1)o=um(b)|0;else o=0;e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){m=b+44|0;p=c[m>>2]|0;c[m>>2]=k;q=b+28|0;c[q>>2]=k;r=b+20|0;c[r>>2]=k;c[e>>2]=80;s=b+16|0;c[s>>2]=k+80;k=im(b,d,g,j,h)|0;if(!p)t=k;else{kb[c[b+36>>2]&127](b,0,0)|0;u=(c[r>>2]|0)==0?-1:k;c[m>>2]=p;c[e>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;t=u}}else t=im(b,d,g,j,h)|0;h=c[b>>2]|0;c[b>>2]=h|l;if(o|0)$l(b);n=(h&32|0)==0?t:-1}i=f;return n|0}function im(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|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,Z=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.0,db=0.0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0.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.0,Yb=0.0,Zb=0.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;m=i;i=i+624|0;n=m+24|0;o=m+16|0;p=m+588|0;q=m+576|0;r=m;s=m+536|0;t=m+8|0;u=m+528|0;v=(e|0)!=0;w=s+40|0;x=w;y=s+39|0;s=t+4|0;z=p;A=0-z|0;B=q+12|0;D=q+11|0;q=B;E=q-z|0;F=-2-z|0;G=q+2|0;H=n+288|0;I=p+9|0;J=I;K=p+8|0;L=0;M=0;N=0;O=f;a:while(1){do if((L|0)>-1)if((M|0)>(2147483647-L|0)){c[(_l()|0)>>2]=75;P=-1;break}else{P=M+L|0;break}else P=L;while(0);f=a[O>>0]|0;if(!(f<<24>>24)){Q=P;R=N;S=244;break}else{T=f;U=O}b:while(1){switch(T<<24>>24){case 37:{V=U;W=U;S=9;break b;break}case 0:{X=U;Y=U;break b;break}default:{}}f=U+1|0;T=a[f>>0]|0;U=f}c:do if((S|0)==9)while(1){S=0;if((a[V+1>>0]|0)!=37){X=V;Y=W;break c}f=W+1|0;Z=V+2|0;if((a[Z>>0]|0)==37){V=Z;W=f;S=9}else{X=Z;Y=f;break}}while(0);f=Y-O|0;if(v?(c[e>>2]&32|0)==0:0)jm(O,f,e)|0;if((Y|0)!=(O|0)){L=P;M=f;O=X;continue}Z=X+1|0;$=a[Z>>0]|0;aa=($<<24>>24)+-48|0;if(aa>>>0<10){ba=(a[X+2>>0]|0)==36;ca=ba?X+3|0:Z;da=a[ca>>0]|0;ea=ba?aa:-1;fa=ba?1:N;ga=ca}else{da=$;ea=-1;fa=N;ga=Z}Z=da<<24>>24;d:do if((Z&-32|0)==32){$=Z;ca=da;ba=0;aa=ga;while(1){if(!(1<<$+-32&75913)){ha=ca;ia=ba;ja=aa;break d}ka=1<<(ca<<24>>24)+-32|ba;la=aa+1|0;ma=a[la>>0]|0;$=ma<<24>>24;if(($&-32|0)!=32){ha=ma;ia=ka;ja=la;break}else{ca=ma;ba=ka;aa=la}}}else{ha=da;ia=0;ja=ga}while(0);do if(ha<<24>>24==42){Z=ja+1|0;aa=(a[Z>>0]|0)+-48|0;if(aa>>>0<10?(a[ja+2>>0]|0)==36:0){c[l+(aa<<2)>>2]=10;na=1;oa=ja+3|0;pa=c[j+((a[Z>>0]|0)+-48<<3)>>2]|0}else{if(fa|0){qa=-1;break a}if(!v){ra=ia;sa=0;ta=Z;ua=0;break}aa=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[aa>>2]|0;c[g>>2]=aa+4;na=0;oa=Z;pa=ba}if((pa|0)<0){ra=ia|8192;sa=na;ta=oa;ua=0-pa|0}else{ra=ia;sa=na;ta=oa;ua=pa}}else{ba=(ha<<24>>24)+-48|0;if(ba>>>0<10){Z=ja;aa=0;ca=ba;while(1){ba=(aa*10|0)+ca|0;$=Z+1|0;ca=(a[$>>0]|0)+-48|0;if(ca>>>0>=10){va=ba;wa=$;break}else{Z=$;aa=ba}}if((va|0)<0){qa=-1;break a}else{ra=ia;sa=fa;ta=wa;ua=va}}else{ra=ia;sa=fa;ta=ja;ua=0}}while(0);e:do if((a[ta>>0]|0)==46){aa=ta+1|0;Z=a[aa>>0]|0;if(Z<<24>>24!=42){ca=(Z<<24>>24)+-48|0;if(ca>>>0<10){xa=aa;ya=0;za=ca}else{Aa=0;Ba=aa;break}while(1){aa=(ya*10|0)+za|0;ca=xa+1|0;za=(a[ca>>0]|0)+-48|0;if(za>>>0>=10){Aa=aa;Ba=ca;break e}else{xa=ca;ya=aa}}}aa=ta+2|0;ca=(a[aa>>0]|0)+-48|0;if(ca>>>0<10?(a[ta+3>>0]|0)==36:0){c[l+(ca<<2)>>2]=10;Aa=c[j+((a[aa>>0]|0)+-48<<3)>>2]|0;Ba=ta+4|0;break}if(sa|0){qa=-1;break a}if(v){ca=(c[g>>2]|0)+(4-1)&~(4-1);Z=c[ca>>2]|0;c[g>>2]=ca+4;Aa=Z;Ba=aa}else{Aa=0;Ba=aa}}else{Aa=-1;Ba=ta}while(0);aa=Ba;Z=0;while(1){ca=(a[aa>>0]|0)+-65|0;if(ca>>>0>57){qa=-1;break a}ba=aa+1|0;$=a[27737+(Z*58|0)+ca>>0]|0;ca=$&255;if((ca+-1|0)>>>0<8){aa=ba;Z=ca}else{Ca=ba;Da=$;Ea=ca;Fa=aa;Ga=Z;break}}if(!(Da<<24>>24)){qa=-1;break}Z=(ea|0)>-1;do if(Da<<24>>24==19)if(Z){qa=-1;break a}else S=52;else{if(Z){c[l+(ea<<2)>>2]=Ea;aa=j+(ea<<3)|0;ca=c[aa+4>>2]|0;$=r;c[$>>2]=c[aa>>2];c[$+4>>2]=ca;S=52;break}if(!v){qa=0;break a}lm(r,Ea,g)}while(0);if((S|0)==52?(S=0,!v):0){L=P;M=f;N=sa;O=Ca;continue}Z=a[Fa>>0]|0;ca=(Ga|0)!=0&(Z&15|0)==3?Z&-33:Z;Z=ra&-65537;$=(ra&8192|0)==0?ra:Z;f:do switch(ca|0){case 110:{switch(Ga|0){case 0:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 1:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 2:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}case 3:{b[c[r>>2]>>1]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 4:{a[c[r>>2]>>0]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 6:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 7:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}default:{L=P;M=f;N=sa;O=Ca;continue a}}break}case 112:{Ha=$|8;Ia=Aa>>>0>8?Aa:8;Ja=120;S=64;break}case 88:case 120:{Ha=$;Ia=Aa;Ja=ca;S=64;break}case 111:{aa=r;ba=c[aa>>2]|0;la=c[aa+4>>2]|0;if((ba|0)==0&(la|0)==0)Ka=w;else{aa=w;ka=ba;ba=la;while(1){la=aa+-1|0;a[la>>0]=ka&7|48;ka=fo(ka|0,ba|0,3)|0;ba=C;if((ka|0)==0&(ba|0)==0){Ka=la;break}else aa=la}}if(!($&8)){La=Ka;Ma=$;Na=Aa;Oa=0;Pa=28217;S=77}else{aa=x-Ka|0;La=Ka;Ma=$;Na=(Aa|0)>(aa|0)?Aa:aa+1|0;Oa=0;Pa=28217;S=77}break}case 105:case 100:{aa=r;ba=c[aa>>2]|0;ka=c[aa+4>>2]|0;if((ka|0)<0){aa=$n(0,0,ba|0,ka|0)|0;la=C;ma=r;c[ma>>2]=aa;c[ma+4>>2]=la;Qa=aa;Ra=la;Sa=1;Ta=28217;S=76;break f}if(!($&2048)){la=$&1;Qa=ba;Ra=ka;Sa=la;Ta=(la|0)==0?28217:28219;S=76}else{Qa=ba;Ra=ka;Sa=1;Ta=28218;S=76}break}case 117:{ka=r;Qa=c[ka>>2]|0;Ra=c[ka+4>>2]|0;Sa=0;Ta=28217;S=76;break}case 99:{a[y>>0]=c[r>>2];Ua=y;Va=Z;Wa=1;Xa=0;Ya=28217;Za=w;break}case 109:{_a=nm(c[(_l()|0)>>2]|0)|0;S=82;break}case 115:{ka=c[r>>2]|0;_a=ka|0?ka:30119;S=82;break}case 67:{c[t>>2]=c[r>>2];c[s>>2]=0;c[r>>2]=t;$a=t;ab=-1;S=86;break}case 83:{ka=c[r>>2]|0;if(!Aa){pm(e,32,ua,0,$);bb=0;S=97}else{$a=ka;ab=Aa;S=86}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{cb=+h[r>>3];c[o>>2]=0;h[k>>3]=cb;if((c[k+4>>2]|0)>=0)if(!($&2048)){ka=$&1;db=cb;eb=ka;fb=(ka|0)==0?30127:30132}else{db=cb;eb=1;fb=30129}else{db=-cb;eb=1;fb=30126}h[k>>3]=db;ka=c[k+4>>2]&2146435072;do if(ka>>>0<2146435072|(ka|0)==2146435072&0<0){cb=+sm(db,o)*2.0;ba=cb!=0.0;if(ba)c[o>>2]=(c[o>>2]|0)+-1;la=ca|32;if((la|0)==97){aa=ca&32;ma=(aa|0)==0?fb:fb+9|0;gb=eb|2;hb=12-Aa|0;do if(!(Aa>>>0>11|(hb|0)==0)){ib=hb;jb=8.0;while(1){ib=ib+-1|0;kb=jb*16.0;if(!ib){lb=kb;break}else jb=kb}if((a[ma>>0]|0)==45){mb=-(lb+(-cb-lb));break}else{mb=cb+lb-lb;break}}else mb=cb;while(0);hb=c[o>>2]|0;ib=(hb|0)<0?0-hb|0:hb;nb=mm(ib,((ib|0)<0)<<31>>31,B)|0;if((nb|0)==(B|0)){a[D>>0]=48;ob=D}else ob=nb;a[ob+-1>>0]=(hb>>31&2)+43;hb=ob+-2|0;a[hb>>0]=ca+15;nb=(Aa|0)<1;ib=($&8|0)==0;jb=mb;pb=p;while(1){qb=~~jb;rb=pb+1|0;a[pb>>0]=d[28201+qb>>0]|aa;jb=(jb-+(qb|0))*16.0;do if((rb-z|0)==1){if(ib&(nb&jb==0.0)){sb=rb;break}a[rb>>0]=46;sb=pb+2|0}else sb=rb;while(0);if(!(jb!=0.0)){tb=sb;break}else pb=sb}pb=tb;nb=hb;ib=(Aa|0)!=0&(F+pb|0)<(Aa|0)?G+Aa-nb|0:E-nb+pb|0;aa=ib+gb|0;pm(e,32,ua,aa,$);if(!(c[e>>2]&32))jm(ma,gb,e)|0;pm(e,48,ua,aa,$^65536);rb=pb-z|0;if(!(c[e>>2]&32))jm(p,rb,e)|0;pb=q-nb|0;pm(e,48,ib-(rb+pb)|0,0,0);if(!(c[e>>2]&32))jm(hb,pb,e)|0;pm(e,32,ua,aa,$^8192);ub=(aa|0)<(ua|0)?ua:aa;break}aa=(Aa|0)<0?6:Aa;if(ba){pb=(c[o>>2]|0)+-28|0;c[o>>2]=pb;vb=cb*268435456.0;wb=pb}else{vb=cb;wb=c[o>>2]|0}pb=(wb|0)<0?n:H;rb=pb;jb=vb;ib=pb;while(1){nb=~~jb>>>0;c[ib>>2]=nb;qb=ib+4|0;jb=(jb-+(nb>>>0))*1.0e9;if(!(jb!=0.0)){xb=qb;break}else ib=qb}ib=c[o>>2]|0;if((ib|0)>0){ba=ib;hb=pb;gb=xb;while(1){ma=(ba|0)>29?29:ba;qb=gb+-4|0;do if(qb>>>0<hb>>>0)yb=hb;else{nb=0;zb=qb;while(1){Ab=bo(c[zb>>2]|0,0,ma|0)|0;Bb=ho(Ab|0,C|0,nb|0,0)|0;Ab=C;Cb=ro(Bb|0,Ab|0,1e9,0)|0;c[zb>>2]=Cb;Cb=qo(Bb|0,Ab|0,1e9,0)|0;zb=zb+-4|0;if(zb>>>0<hb>>>0){Db=Cb;break}else nb=Cb}if(!Db){yb=hb;break}nb=hb+-4|0;c[nb>>2]=Db;yb=nb}while(0);qb=gb;while(1){if(qb>>>0<=yb>>>0){Eb=qb;break}nb=qb+-4|0;if(!(c[nb>>2]|0))qb=nb;else{Eb=qb;break}}qb=(c[o>>2]|0)-ma|0;c[o>>2]=qb;if((qb|0)>0){ba=qb;hb=yb;gb=Eb}else{Fb=qb;Gb=yb;Hb=Eb;break}}}else{Fb=ib;Gb=pb;Hb=xb}if((Fb|0)<0){gb=((aa+25|0)/9|0)+1|0;hb=(la|0)==102;ba=Fb;qb=Gb;nb=Hb;while(1){zb=0-ba|0;Cb=(zb|0)>9?9:zb;do if(qb>>>0<nb>>>0){zb=(1<<Cb)+-1|0;Ab=1e9>>>Cb;Bb=0;Ib=qb;while(1){Jb=c[Ib>>2]|0;c[Ib>>2]=(Jb>>>Cb)+Bb;Kb=_(Jb&zb,Ab)|0;Ib=Ib+4|0;if(Ib>>>0>=nb>>>0){Lb=Kb;break}else Bb=Kb}Bb=(c[qb>>2]|0)==0?qb+4|0:qb;if(!Lb){Mb=Bb;Nb=nb;break}c[nb>>2]=Lb;Mb=Bb;Nb=nb+4|0}else{Mb=(c[qb>>2]|0)==0?qb+4|0:qb;Nb=nb}while(0);ma=hb?pb:Mb;Bb=(Nb-ma>>2|0)>(gb|0)?ma+(gb<<2)|0:Nb;ba=(c[o>>2]|0)+Cb|0;c[o>>2]=ba;if((ba|0)>=0){Ob=Mb;Pb=Bb;break}else{qb=Mb;nb=Bb}}}else{Ob=Gb;Pb=Hb}do if(Ob>>>0<Pb>>>0){nb=(rb-Ob>>2)*9|0;qb=c[Ob>>2]|0;if(qb>>>0<10){Qb=nb;break}else{Rb=nb;Sb=10}while(1){Sb=Sb*10|0;nb=Rb+1|0;if(qb>>>0<Sb>>>0){Qb=nb;break}else Rb=nb}}else Qb=0;while(0);qb=(la|0)==103;Cb=(aa|0)!=0;nb=aa-((la|0)!=102?Qb:0)+((Cb&qb)<<31>>31)|0;if((nb|0)<(((Pb-rb>>2)*9|0)+-9|0)){ba=nb+9216|0;nb=pb+4+(((ba|0)/9|0)+-1024<<2)|0;gb=((ba|0)%9|0)+1|0;if((gb|0)<9){ba=10;hb=gb;while(1){gb=ba*10|0;hb=hb+1|0;if((hb|0)==9){Tb=gb;break}else ba=gb}}else Tb=10;ba=c[nb>>2]|0;hb=(ba>>>0)%(Tb>>>0)|0;la=(nb+4|0)==(Pb|0);do if(la&(hb|0)==0){Ub=Ob;Vb=nb;Wb=Qb}else{jb=(((ba>>>0)/(Tb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;gb=(Tb|0)/2|0;if(hb>>>0<gb>>>0)Xb=.5;else Xb=la&(hb|0)==(gb|0)?1.0:1.5;do if(!eb){Yb=jb;Zb=Xb}else{if((a[fb>>0]|0)!=45){Yb=jb;Zb=Xb;break}Yb=-jb;Zb=-Xb}while(0);gb=ba-hb|0;c[nb>>2]=gb;if(!(Yb+Zb!=Yb)){Ub=Ob;Vb=nb;Wb=Qb;break}ib=gb+Tb|0;c[nb>>2]=ib;if(ib>>>0>999999999){ib=Ob;gb=nb;while(1){Bb=gb+-4|0;c[gb>>2]=0;if(Bb>>>0<ib>>>0){ma=ib+-4|0;c[ma>>2]=0;_b=ma}else _b=ib;ma=(c[Bb>>2]|0)+1|0;c[Bb>>2]=ma;if(ma>>>0>999999999){ib=_b;gb=Bb}else{$b=_b;ac=Bb;break}}}else{$b=Ob;ac=nb}gb=(rb-$b>>2)*9|0;ib=c[$b>>2]|0;if(ib>>>0<10){Ub=$b;Vb=ac;Wb=gb;break}else{bc=gb;cc=10}while(1){cc=cc*10|0;gb=bc+1|0;if(ib>>>0<cc>>>0){Ub=$b;Vb=ac;Wb=gb;break}else bc=gb}}while(0);nb=Vb+4|0;dc=Ub;ec=Wb;fc=Pb>>>0>nb>>>0?nb:Pb}else{dc=Ob;ec=Qb;fc=Pb}nb=0-ec|0;hb=fc;while(1){if(hb>>>0<=dc>>>0){gc=0;hc=hb;break}ba=hb+-4|0;if(!(c[ba>>2]|0))hb=ba;else{gc=1;hc=hb;break}}do if(qb){hb=(Cb&1^1)+aa|0;if((hb|0)>(ec|0)&(ec|0)>-5){ic=ca+-1|0;jc=hb+-1-ec|0}else{ic=ca+-2|0;jc=hb+-1|0}hb=$&8;if(hb|0){kc=ic;lc=jc;mc=hb;break}do if(gc){hb=c[hc+-4>>2]|0;if(!hb){nc=9;break}if(!((hb>>>0)%10|0)){oc=10;pc=0}else{nc=0;break}while(1){oc=oc*10|0;ba=pc+1|0;if((hb>>>0)%(oc>>>0)|0|0){nc=ba;break}else pc=ba}}else nc=9;while(0);hb=((hc-rb>>2)*9|0)+-9|0;if((ic|32|0)==102){ba=hb-nc|0;la=(ba|0)<0?0:ba;kc=ic;lc=(jc|0)<(la|0)?jc:la;mc=0;break}else{la=hb+ec-nc|0;hb=(la|0)<0?0:la;kc=ic;lc=(jc|0)<(hb|0)?jc:hb;mc=0;break}}else{kc=ca;lc=aa;mc=$&8}while(0);aa=lc|mc;rb=(aa|0)!=0&1;Cb=(kc|32|0)==102;if(Cb){qc=(ec|0)>0?ec:0;rc=0}else{qb=(ec|0)<0?nb:ec;hb=mm(qb,((qb|0)<0)<<31>>31,B)|0;if((q-hb|0)<2){qb=hb;while(1){la=qb+-1|0;a[la>>0]=48;if((q-la|0)<2)qb=la;else{sc=la;break}}}else sc=hb;a[sc+-1>>0]=(ec>>31&2)+43;qb=sc+-2|0;a[qb>>0]=kc;qc=q-qb|0;rc=qb}qb=eb+1+lc+rb+qc|0;pm(e,32,ua,qb,$);if(!(c[e>>2]&32))jm(fb,eb,e)|0;pm(e,48,ua,qb,$^65536);do if(Cb){nb=dc>>>0>pb>>>0?pb:dc;la=nb;while(1){ba=mm(c[la>>2]|0,0,I)|0;do if((la|0)==(nb|0)){if((ba|0)!=(I|0)){tc=ba;break}a[K>>0]=48;tc=K}else{if(ba>>>0<=p>>>0){tc=ba;break}ao(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{tc=gb;break}}}while(0);if(!(c[e>>2]&32))jm(tc,J-tc|0,e)|0;ba=la+4|0;if(ba>>>0>pb>>>0){uc=ba;break}else la=ba}do if(aa|0){if(c[e>>2]&32|0)break;jm(30157,1,e)|0}while(0);if((lc|0)>0&uc>>>0<hc>>>0){la=lc;nb=uc;while(1){ba=mm(c[nb>>2]|0,0,I)|0;if(ba>>>0>p>>>0){ao(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{vc=gb;break}}}else vc=ba;if(!(c[e>>2]&32))jm(vc,(la|0)>9?9:la,e)|0;nb=nb+4|0;ib=la+-9|0;if(!((la|0)>9&nb>>>0<hc>>>0)){wc=ib;break}else la=ib}}else wc=lc;pm(e,48,wc+9|0,9,0)}else{la=gc?hc:dc+4|0;if((lc|0)>-1){nb=(mc|0)==0;ib=lc;gb=dc;while(1){Bb=mm(c[gb>>2]|0,0,I)|0;if((Bb|0)==(I|0)){a[K>>0]=48;xc=K}else xc=Bb;do if((gb|0)==(dc|0)){Bb=xc+1|0;if(!(c[e>>2]&32))jm(xc,1,e)|0;if(nb&(ib|0)<1){yc=Bb;break}if(c[e>>2]&32|0){yc=Bb;break}jm(30157,1,e)|0;yc=Bb}else{if(xc>>>0<=p>>>0){yc=xc;break}ao(p|0,48,xc+A|0)|0;Bb=xc;while(1){ma=Bb+-1|0;if(ma>>>0>p>>>0)Bb=ma;else{yc=ma;break}}}while(0);ba=J-yc|0;if(!(c[e>>2]&32))jm(yc,(ib|0)>(ba|0)?ba:ib,e)|0;Bb=ib-ba|0;gb=gb+4|0;if(!(gb>>>0<la>>>0&(Bb|0)>-1)){zc=Bb;break}else ib=Bb}}else zc=lc;pm(e,48,zc+18|0,18,0);if(c[e>>2]&32|0)break;jm(rc,q-rc|0,e)|0}while(0);pm(e,32,ua,qb,$^8192);ub=(qb|0)<(ua|0)?ua:qb}else{aa=(ca&32|0)!=0;pb=db!=db|0.0!=0.0;Cb=pb?0:eb;rb=Cb+3|0;pm(e,32,ua,rb,Z);hb=c[e>>2]|0;if(!(hb&32)){jm(fb,Cb,e)|0;Ac=c[e>>2]|0}else Ac=hb;if(!(Ac&32))jm(pb?(aa?30168:30153):aa?30145:30149,3,e)|0;pm(e,32,ua,rb,$^8192);ub=(rb|0)<(ua|0)?ua:rb}while(0);L=P;M=ub;N=sa;O=Ca;continue a;break}default:{Ua=O;Va=$;Wa=Aa;Xa=0;Ya=28217;Za=w}}while(0);g:do if((S|0)==64){S=0;ca=r;f=c[ca>>2]|0;ka=c[ca+4>>2]|0;ca=Ja&32;if(!((f|0)==0&(ka|0)==0)){rb=w;aa=f;f=ka;while(1){ka=rb+-1|0;a[ka>>0]=d[28201+(aa&15)>>0]|ca;aa=fo(aa|0,f|0,4)|0;f=C;if((aa|0)==0&(f|0)==0){Bc=ka;break}else rb=ka}rb=r;if((Ha&8|0)==0|(c[rb>>2]|0)==0&(c[rb+4>>2]|0)==0){La=Bc;Ma=Ha;Na=Ia;Oa=0;Pa=28217;S=77}else{La=Bc;Ma=Ha;Na=Ia;Oa=2;Pa=28217+(Ja>>4)|0;S=77}}else{La=w;Ma=Ha;Na=Ia;Oa=0;Pa=28217;S=77}}else if((S|0)==76){S=0;La=mm(Qa,Ra,w)|0;Ma=$;Na=Aa;Oa=Sa;Pa=Ta;S=77}else if((S|0)==82){S=0;rb=om(_a,0,Aa)|0;f=(rb|0)==0;Ua=_a;Va=Z;Wa=f?Aa:rb-_a|0;Xa=0;Ya=28217;Za=f?_a+Aa|0:rb}else if((S|0)==86){S=0;rb=0;f=0;aa=$a;while(1){ca=c[aa>>2]|0;if(!ca){Cc=rb;Dc=f;break}ka=qm(u,ca)|0;if((ka|0)<0|ka>>>0>(ab-rb|0)>>>0){Cc=rb;Dc=ka;break}ca=ka+rb|0;if(ab>>>0>ca>>>0){rb=ca;f=ka;aa=aa+4|0}else{Cc=ca;Dc=ka;break}}if((Dc|0)<0){qa=-1;break a}pm(e,32,ua,Cc,$);if(!Cc){bb=0;S=97}else{aa=0;f=$a;while(1){rb=c[f>>2]|0;if(!rb){bb=Cc;S=97;break g}ka=qm(u,rb)|0;aa=ka+aa|0;if((aa|0)>(Cc|0)){bb=Cc;S=97;break g}if(!(c[e>>2]&32))jm(u,ka,e)|0;if(aa>>>0>=Cc>>>0){bb=Cc;S=97;break}else f=f+4|0}}}while(0);if((S|0)==97){S=0;pm(e,32,ua,bb,$^8192);L=P;M=(ua|0)>(bb|0)?ua:bb;N=sa;O=Ca;continue}if((S|0)==77){S=0;Z=(Na|0)>-1?Ma&-65537:Ma;f=r;aa=(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0;if((Na|0)!=0|aa){f=(aa&1^1)+(x-La)|0;Ua=La;Va=Z;Wa=(Na|0)>(f|0)?Na:f;Xa=Oa;Ya=Pa;Za=w}else{Ua=w;Va=Z;Wa=0;Xa=Oa;Ya=Pa;Za=w}}Z=Za-Ua|0;f=(Wa|0)<(Z|0)?Z:Wa;aa=Xa+f|0;ka=(ua|0)<(aa|0)?aa:ua;pm(e,32,ka,aa,Va);if(!(c[e>>2]&32))jm(Ya,Xa,e)|0;pm(e,48,ka,aa,Va^65536);pm(e,48,f,Z,0);if(!(c[e>>2]&32))jm(Ua,Z,e)|0;pm(e,32,ka,aa,Va^8192);L=P;M=ka;N=sa;O=Ca}h:do if((S|0)==244)if(!e)if(R){Ca=1;while(1){O=c[l+(Ca<<2)>>2]|0;if(!O){Ec=Ca;break}lm(j+(Ca<<3)|0,O,g);Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break h}}if((Ec|0)<10){Ca=Ec;while(1){if(c[l+(Ca<<2)>>2]|0){qa=-1;break h}Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break}}}else qa=1}else qa=0;else qa=Q;while(0);i=m;return qa|0}function jm(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,p=0,q=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(km(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=kb[c[e+36>>2]&127](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=d;m=b;n=k;o=0;break b}p=f+-1|0;if((a[b+p>>0]|0)==10){q=f;break}else f=p}if((kb[c[e+36>>2]&127](e,b,q)|0)>>>0<q>>>0){j=q;break a}l=d-q|0;m=b+q|0;n=c[g>>2]|0;o=q}else{l=d;m=b;n=k;o=0}while(0);io(n|0,m|0,l|0)|0;c[g>>2]=(c[g>>2]|0)+l;j=o+l|0}while(0);return j|0}function km(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function mm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;while(1){c=ro(f|0,g|0,10,0)|0;h=e+-1|0;a[h>>0]=c|48;c=qo(f|0,g|0,10,0)|0;if(g>>>0>9|(g|0)==9&f>>>0>4294967295){e=h;f=c;g=C}else{i=h;j=c;break}}k=i;l=j}else{k=d;l=b}if(!l)m=k;else{b=k;k=l;while(1){l=b+-1|0;a[l>>0]=(k>>>0)%10|0|48;if(k>>>0<10){m=l;break}else{b=l;k=(k>>>0)/10|0}}}return m|0}function nm(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0;c=0;while(1){if((d[28227+c>>0]|0)==(b|0)){e=c;f=2;break}c=c+1|0;if((c|0)==87){g=87;h=28315;f=5;break}}if((f|0)==2)if(!e)i=28315;else{g=e;h=28315;f=5}if((f|0)==5)while(1){f=0;e=h;while(1){c=e+1|0;if(!(a[e>>0]|0)){j=c;break}else e=c}g=g+-1|0;if(!g){i=j;break}else{h=j;f=5}}return i|0}function om(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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=p;s=n;m=5;break}}}else{q=e;r=g;s=b;m=5}while(0);if((m|0)==5)if(r){k=q;l=s;m=6}else{t=0;u=s}b:do if((m|0)==6){s=d&255;if((a[l>>0]|0)==s<<24>>24){t=k;u=l}else{q=_(f,16843009)|0;c:do if(k>>>0>3){r=k;b=l;while(1){g=c[b>>2]^q;if((g&-2139062144^-2139062144)&g+-16843009|0){v=r;w=b;break}g=b+4|0;e=r+-4|0;if(e>>>0>3){r=e;b=g}else{x=e;y=g;m=11;break c}}z=v;A=w}else{x=k;y=l;m=11}while(0);if((m|0)==11)if(!x){t=0;u=y;break}else{z=x;A=y}while(1){if((a[A>>0]|0)==s<<24>>24){t=z;u=A;break b}q=A+1|0;z=z+-1|0;if(!z){t=0;u=q;break}else A=q}}}while(0);return (t|0?u:0)|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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+256|0;h=g;do if((d|0)>(e|0)&(f&73728|0)==0){j=d-e|0;ao(h|0,b|0,(j>>>0>256?256:j)|0)|0;k=c[a>>2]|0;l=(k&32|0)==0;if(j>>>0>255){m=d-e|0;n=j;o=k;k=l;while(1){if(k){jm(h,256,a)|0;p=c[a>>2]|0}else p=o;n=n+-256|0;k=(p&32|0)==0;if(n>>>0<=255)break;else o=p}if(k)q=m&255;else break}else if(l)q=j;else break;jm(h,q,a)|0}while(0);i=g;return}function qm(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=rm(a,b,0)|0;return c|0}function rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(_l()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function sm(a,b){a=+a;b=b|0;return +(+tm(a,b))}function tm(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,l=0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=fo(d|0,e|0,52)|0;g=f&2047;switch(g|0){case 0:{if(a!=0.0){i=+tm(a*18446744073709551616.0,b);j=i;l=(c[b>>2]|0)+-64|0}else{j=a;l=0}c[b>>2]=l;m=j;break}case 2047:{m=a;break}default:{c[b>>2]=g+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;m=+h[k>>3]}}return +m}function um(a){a=a|0;return 0}function vm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:do if(!d)e=0;else{f=d;g=b;h=c;while(1){i=a[g>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24){k=i;l=j;break}f=f+-1|0;if(!f){e=0;break a}else{g=g+1|0;h=h+1|0}}e=(k&255)-(l&255)|0}while(0);return e|0}function wm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b;a:do if(!(d&3)){e=b;f=4}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=4;break}else g=j}}while(0);if((f|0)==4){f=e;while(1){e=c[f>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))f=f+4|0;else{k=e;l=f;break}}if(!((k&255)<<24>>24))m=l;else{k=l;while(1){l=k+1|0;if(!(a[l>>0]|0)){m=l;break}else k=l}}i=m}return i-d|0}function xm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b;if((c[a+8>>2]|0)==0?(ym(a)|0)!=0:0)f=-1;else if((kb[c[a+32>>2]&127](a,e,1)|0)==1)f=d[e>>0]|0;else f=-1;i=b;return f|0}function ym(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+44|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)kb[c[b+36>>2]&127](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(e&20)if(!(e&4))f=-1;else{c[b>>2]=e|32;f=-1}else{e=c[d>>2]|0;c[b+8>>2]=e;c[b+4>>2]=e;f=0}return f|0}function zm(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Bm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=xm(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((d[e>>0]|0|0)==(f|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function Cm(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.0,n=0,o=0,p=0,q=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,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.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0.0,ua=0,va=0.0,wa=0.0,xa=0,ya=0.0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0.0,La=0,Ma=0,Na=0,Oa=0,Pa=0.0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.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.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.0,fd=0.0,gd=0.0,hd=0.0,id=0.0,jd=0.0,kd=0.0,ld=0,md=0,nd=0.0,od=0,pd=0.0;g=i;i=i+512|0;h=g;switch(e|0){case 0:{j=24;k=-149;l=4;break}case 1:{j=53;k=-1074;l=4;break}case 2:{j=53;k=-1074;l=4;break}default:m=0.0}a:do if((l|0)==4){e=b+4|0;n=b+100|0;do{o=c[e>>2]|0;if(o>>>0<(c[n>>2]|0)>>>0){c[e>>2]=o+1;p=d[o>>0]|0}else p=Bm(b)|0}while((zm(p)|0)!=0);q=p;b:do switch(q|0){case 43:case 45:{o=1-(((q|0)==45&1)<<1)|0;t=c[e>>2]|0;if(t>>>0<(c[n>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0;v=o;break b}else{u=Bm(b)|0;v=o;break b}break}default:{u=q;v=1}}while(0);o=u;t=0;while(1){if((o|32|0)!=(a[30159+t>>0]|0)){w=o;x=t;break}do if(t>>>0<7){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=Bm(b)|0;break}}else z=o;while(0);y=t+1|0;if(y>>>0<8){o=z;t=y}else{w=z;x=y;break}}c:do switch(x|0){case 8:break;case 3:{l=23;break}default:{t=(f|0)!=0;if(t&x>>>0>3)if((x|0)==8)break c;else{l=23;break c}d:do if(!x){o=w;y=0;while(1){if((o|32|0)!=(a[30168+y>>0]|0)){A=o;B=y;break d}do if(y>>>0<2){D=c[e>>2]|0;if(D>>>0<(c[n>>2]|0)>>>0){c[e>>2]=D+1;E=d[D>>0]|0;break}else{E=Bm(b)|0;break}}else E=o;while(0);D=y+1|0;if(D>>>0<3){o=E;y=D}else{A=E;B=D;break}}}else{A=w;B=x}while(0);switch(B|0){case 3:{y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;F=d[y>>0]|0}else F=Bm(b)|0;if((F|0)==40)G=1;else{if(!(c[n>>2]|0)){m=r;break a}c[e>>2]=(c[e>>2]|0)+-1;m=r;break a}while(1){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;H=d[y>>0]|0}else H=Bm(b)|0;if(!((H+-48|0)>>>0<10|(H+-65|0)>>>0<26)?!((H|0)==95|(H+-97|0)>>>0<26):0){I=H;J=G;break}G=G+1|0}if((I|0)==41){m=r;break a}y=(c[n>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if(!t){c[(_l()|0)>>2]=22;Am(b,0);m=0.0;break a}if(!J){m=r;break a}else K=J;while(1){K=K+-1|0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if(!K){m=r;break a}}break}case 0:{do if((A|0)==48){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;L=d[y>>0]|0}else L=Bm(b)|0;if((L|32|0)!=120){if(!(c[n>>2]|0)){M=48;break}c[e>>2]=(c[e>>2]|0)+-1;M=48;break}y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;O=d[y>>0]|0;P=0}else{O=Bm(b)|0;P=0}e:while(1){switch(O|0){case 46:{Q=P;l=74;break e;break}case 48:break;default:{R=0;S=0;T=0;U=0;V=O;W=P;X=0;Y=0;Z=1.0;$=0;aa=0.0;break e}}y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;O=d[y>>0]|0;P=1;continue}else{O=Bm(b)|0;P=1;continue}}if((l|0)==74){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;ba=d[y>>0]|0}else ba=Bm(b)|0;if((ba|0)==48){y=0;t=0;while(1){o=c[e>>2]|0;if(o>>>0<(c[n>>2]|0)>>>0){c[e>>2]=o+1;ca=d[o>>0]|0}else ca=Bm(b)|0;o=ho(y|0,t|0,-1,-1)|0;D=C;if((ca|0)==48){y=o;t=D}else{R=0;S=0;T=o;U=D;V=ca;W=1;X=1;Y=0;Z=1.0;$=0;aa=0.0;break}}}else{R=0;S=0;T=0;U=0;V=ba;W=Q;X=1;Y=0;Z=1.0;$=0;aa=0.0}}while(1){t=V+-48|0;y=V|32;if(t>>>0>=10){D=(V|0)==46;if(!(D|(y+-97|0)>>>0<6)){da=T;ea=S;fa=U;ga=R;ha=V;ia=W;ja=X;ka=$;la=aa;break}if(D)if(!X){ma=S;na=R;oa=S;pa=R;qa=W;ra=1;sa=Y;ta=Z;ua=$;va=aa}else{da=T;ea=S;fa=U;ga=R;ha=46;ia=W;ja=X;ka=$;la=aa;break}else l=86}else l=86;if((l|0)==86){l=0;D=(V|0)>57?y+-87|0:t;do if(!((R|0)<0|(R|0)==0&S>>>0<8)){if((R|0)<0|(R|0)==0&S>>>0<14){wa=Z*.0625;xa=Y;ya=wa;za=$;Aa=aa+wa*+(D|0);break}if((Y|0)!=0|(D|0)==0){xa=Y;ya=Z;za=$;Aa=aa}else{xa=1;ya=Z;za=$;Aa=aa+Z*.5}}else{xa=Y;ya=Z;za=D+($<<4)|0;Aa=aa}while(0);D=ho(S|0,R|0,1,0)|0;ma=T;na=U;oa=D;pa=C;qa=1;ra=X;sa=xa;ta=ya;ua=za;va=Aa}D=c[e>>2]|0;if(D>>>0<(c[n>>2]|0)>>>0){c[e>>2]=D+1;R=pa;S=oa;T=ma;U=na;V=d[D>>0]|0;W=qa;X=ra;Y=sa;Z=ta;$=ua;aa=va;continue}else{R=pa;S=oa;T=ma;U=na;V=Bm(b)|0;W=qa;X=ra;Y=sa;Z=ta;$=ua;aa=va;continue}}if(!ia){D=(c[n>>2]|0)==0;if(!D)c[e>>2]=(c[e>>2]|0)+-1;if(f){if(!D?(D=c[e>>2]|0,c[e>>2]=D+-1,ja|0):0)c[e>>2]=D+-2}else Am(b,0);m=+(v|0)*0.0;break a}D=(ja|0)==0;t=D?ea:da;y=D?ga:fa;if((ga|0)<0|(ga|0)==0&ea>>>0<8){D=ea;o=ga;Ba=ka;while(1){Ca=Ba<<4;D=ho(D|0,o|0,1,0)|0;o=C;if(!((o|0)<0|(o|0)==0&D>>>0<8)){Da=Ca;break}else Ba=Ca}}else Da=ka;if((ha|32|0)==112){Ba=Dm(b,f)|0;D=C;if((Ba|0)==0&(D|0)==-2147483648){if(!f){Am(b,0);m=0.0;break a}if(!(c[n>>2]|0)){Ea=0;Fa=0}else{c[e>>2]=(c[e>>2]|0)+-1;Ea=0;Fa=0}}else{Ea=Ba;Fa=D}}else if(!(c[n>>2]|0)){Ea=0;Fa=0}else{c[e>>2]=(c[e>>2]|0)+-1;Ea=0;Fa=0}D=bo(t|0,y|0,2)|0;Ba=ho(D|0,C|0,-32,-1)|0;D=ho(Ba|0,C|0,Ea|0,Fa|0)|0;Ba=C;if(!Da){m=+(v|0)*0.0;break a}if((Ba|0)>0|(Ba|0)==0&D>>>0>(0-k|0)>>>0){c[(_l()|0)>>2]=34;m=+(v|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}o=k+-106|0;Ca=((o|0)<0)<<31>>31;if((Ba|0)<(Ca|0)|(Ba|0)==(Ca|0)&D>>>0<o>>>0){c[(_l()|0)>>2]=34;m=+(v|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((Da|0)>-1){o=D;Ca=Ba;Ga=Da;wa=la;while(1){Ha=!(wa>=.5);Ia=Ha&1|Ga<<1;Ja=Ia^1;Ka=wa+(Ha?wa:wa+-1.0);Ha=ho(o|0,Ca|0,-1,-1)|0;La=C;if((Ia|0)>-1){o=Ha;Ca=La;Ga=Ja;wa=Ka}else{Ma=Ha;Na=La;Oa=Ja;Pa=Ka;break}}}else{Ma=D;Na=Ba;Oa=Da;Pa=la}Ga=$n(32,0,k|0,((k|0)<0)<<31>>31|0)|0;Ca=ho(Ma|0,Na|0,Ga|0,C|0)|0;Ga=C;if(0>(Ga|0)|0==(Ga|0)&j>>>0>Ca>>>0)if((Ca|0)<0){Qa=0;l=127}else{Ra=Ca;l=125}else{Ra=j;l=125}if((l|0)==125)if((Ra|0)<53){Qa=Ra;l=127}else{Sa=Ra;Ta=+(v|0);Ua=0.0}if((l|0)==127){wa=+(v|0);Sa=Qa;Ta=wa;Ua=+Fm(+Em(1.0,84-Qa|0),wa)}Ca=(Oa&1|0)==0&(Pa!=0.0&(Sa|0)<32);wa=Ta*(Ca?0.0:Pa)+(Ua+Ta*+(((Ca&1)+Oa|0)>>>0))-Ua;if(!(wa!=0.0))c[(_l()|0)>>2]=34;m=+Hm(wa,Ma);break a}else M=A;while(0);Ca=k+j|0;Ga=0-Ca|0;o=M;y=0;f:while(1){switch(o|0){case 46:{Va=y;l=138;break f;break}case 48:break;default:{Wa=o;Xa=0;Ya=0;Za=y;_a=0;break f}}t=c[e>>2]|0;if(t>>>0<(c[n>>2]|0)>>>0){c[e>>2]=t+1;o=d[t>>0]|0;y=1;continue}else{o=Bm(b)|0;y=1;continue}}if((l|0)==138){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;$a=d[y>>0]|0}else $a=Bm(b)|0;if(($a|0)==48){y=0;o=0;while(1){t=ho(y|0,o|0,-1,-1)|0;Ja=C;La=c[e>>2]|0;if(La>>>0<(c[n>>2]|0)>>>0){c[e>>2]=La+1;ab=d[La>>0]|0}else ab=Bm(b)|0;if((ab|0)==48){y=t;o=Ja}else{Wa=ab;Xa=t;Ya=Ja;Za=1;_a=1;break}}}else{Wa=$a;Xa=0;Ya=0;Za=Va;_a=1}}c[h>>2]=0;o=Wa+-48|0;y=(Wa|0)==46;g:do if(y|o>>>0<10){Ja=h+496|0;t=Wa;La=0;Ha=0;Ia=y;bb=o;cb=Xa;db=Ya;eb=Za;fb=_a;gb=0;hb=0;ib=0;h:while(1){do if(Ia)if(!fb){jb=La;kb=Ha;lb=La;mb=Ha;nb=eb;ob=1;pb=gb;qb=hb;rb=ib}else{sb=cb;tb=db;ub=La;vb=Ha;wb=eb;xb=gb;yb=hb;zb=ib;break h}else{Ab=ho(La|0,Ha|0,1,0)|0;Bb=C;Cb=(t|0)!=48;if((hb|0)>=125){if(!Cb){jb=cb;kb=db;lb=Ab;mb=Bb;nb=eb;ob=fb;pb=gb;qb=hb;rb=ib;break}c[Ja>>2]=c[Ja>>2]|1;jb=cb;kb=db;lb=Ab;mb=Bb;nb=eb;ob=fb;pb=gb;qb=hb;rb=ib;break}Db=h+(hb<<2)|0;if(!gb)Eb=bb;else Eb=t+-48+((c[Db>>2]|0)*10|0)|0;c[Db>>2]=Eb;Db=gb+1|0;Fb=(Db|0)==9;jb=cb;kb=db;lb=Ab;mb=Bb;nb=1;ob=fb;pb=Fb?0:Db;qb=(Fb&1)+hb|0;rb=Cb?Ab:ib}while(0);Ab=c[e>>2]|0;if(Ab>>>0<(c[n>>2]|0)>>>0){c[e>>2]=Ab+1;Gb=d[Ab>>0]|0}else Gb=Bm(b)|0;bb=Gb+-48|0;Ia=(Gb|0)==46;if(!(Ia|bb>>>0<10)){Hb=Gb;Ib=jb;Jb=lb;Kb=kb;Lb=mb;Mb=nb;Nb=ob;Ob=pb;Pb=qb;Qb=rb;l=161;break g}else{t=Gb;La=lb;Ha=mb;cb=jb;db=kb;eb=nb;fb=ob;gb=pb;hb=qb;ib=rb}}Rb=ub;Sb=vb;Tb=sb;Ub=tb;Vb=(wb|0)!=0;Wb=xb;Xb=yb;Yb=zb;l=169}else{Hb=Wa;Ib=Xa;Jb=0;Kb=Ya;Lb=0;Mb=Za;Nb=_a;Ob=0;Pb=0;Qb=0;l=161}while(0);do if((l|0)==161){o=(Nb|0)==0;y=o?Jb:Ib;ib=o?Lb:Kb;o=(Mb|0)!=0;if(!((Hb|32|0)==101&o))if((Hb|0)>-1){Rb=Jb;Sb=Lb;Tb=y;Ub=ib;Vb=o;Wb=Ob;Xb=Pb;Yb=Qb;l=169;break}else{Zb=Jb;_b=Lb;$b=o;ac=y;bc=ib;cc=Ob;dc=Pb;ec=Qb;l=171;break}o=Dm(b,f)|0;hb=C;if((o|0)==0&(hb|0)==-2147483648){if(!f){Am(b,0);fc=0.0;break}if(!(c[n>>2]|0)){gc=0;hc=0}else{c[e>>2]=(c[e>>2]|0)+-1;gc=0;hc=0}}else{gc=o;hc=hb}hb=ho(gc|0,hc|0,y|0,ib|0)|0;ic=hb;jc=Jb;kc=C;lc=Lb;mc=Ob;nc=Pb;oc=Qb;l=173}while(0);if((l|0)==169)if(c[n>>2]|0){c[e>>2]=(c[e>>2]|0)+-1;if(Vb){ic=Tb;jc=Rb;kc=Ub;lc=Sb;mc=Wb;nc=Xb;oc=Yb;l=173}else l=172}else{Zb=Rb;_b=Sb;$b=Vb;ac=Tb;bc=Ub;cc=Wb;dc=Xb;ec=Yb;l=171}if((l|0)==171)if($b){ic=ac;jc=Zb;kc=bc;lc=_b;mc=cc;nc=dc;oc=ec;l=173}else l=172;do if((l|0)==172){c[(_l()|0)>>2]=22;Am(b,0);fc=0.0}else if((l|0)==173){hb=c[h>>2]|0;if(!hb){fc=+(v|0)*0.0;break}if(((lc|0)<0|(lc|0)==0&jc>>>0<10)&((ic|0)==(jc|0)&(kc|0)==(lc|0))?j>>>0>30|(hb>>>j|0)==0:0){fc=+(v|0)*+(hb>>>0);break}hb=(k|0)/-2|0;ib=((hb|0)<0)<<31>>31;if((kc|0)>(ib|0)|(kc|0)==(ib|0)&ic>>>0>hb>>>0){c[(_l()|0)>>2]=34;fc=+(v|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}hb=k+-106|0;ib=((hb|0)<0)<<31>>31;if((kc|0)<(ib|0)|(kc|0)==(ib|0)&ic>>>0<hb>>>0){c[(_l()|0)>>2]=34;fc=+(v|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!mc)pc=nc;else{if((mc|0)<9){hb=h+(nc<<2)|0;ib=c[hb>>2]|0;y=mc;while(1){o=ib*10|0;y=y+1|0;if((y|0)==9){qc=o;break}else ib=o}c[hb>>2]=qc}pc=nc+1|0}if((oc|0)<9?(oc|0)<=(ic|0)&(ic|0)<18:0){if((ic|0)==9){fc=+(v|0)*+((c[h>>2]|0)>>>0);break}if((ic|0)<9){fc=+(v|0)*+((c[h>>2]|0)>>>0)/+(c[2428+(8-ic<<2)>>2]|0);break}ib=j+27+(_(ic,-3)|0)|0;y=c[h>>2]|0;if((ib|0)>30|(y>>>ib|0)==0){fc=+(v|0)*+(y>>>0)*+(c[2428+(ic+-10<<2)>>2]|0);break}}y=(ic|0)%9|0;if(!y){rc=0;sc=0;tc=ic;uc=pc}else{ib=(ic|0)>-1?y:y+9|0;y=c[2428+(8-ib<<2)>>2]|0;if(pc){o=1e9/(y|0)|0;gb=0;fb=0;eb=0;db=ic;while(1){cb=h+(eb<<2)|0;Ha=c[cb>>2]|0;La=((Ha>>>0)/(y>>>0)|0)+fb|0;c[cb>>2]=La;cb=_((Ha>>>0)%(y>>>0)|0,o)|0;Ha=(eb|0)==(gb|0)&(La|0)==0;eb=eb+1|0;La=Ha?db+-9|0:db;t=Ha?eb&127:gb;if((eb|0)==(pc|0)){vc=cb;wc=t;xc=La;break}else{gb=t;fb=cb;db=La}}if(!vc){yc=wc;zc=xc;Ac=pc}else{c[h+(pc<<2)>>2]=vc;yc=wc;zc=xc;Ac=pc+1|0}}else{yc=0;zc=ic;Ac=0}rc=yc;sc=0;tc=9-ib+zc|0;uc=Ac}i:while(1){db=(tc|0)<18;fb=(tc|0)==18;gb=h+(rc<<2)|0;eb=sc;o=uc;while(1){if(!db){if(!fb){Bc=rc;Cc=eb;Dc=tc;Ec=o;break i}if((c[gb>>2]|0)>>>0>=9007199){Bc=rc;Cc=eb;Dc=18;Ec=o;break i}}y=0;hb=o+127|0;La=o;while(1){cb=hb&127;t=h+(cb<<2)|0;Ha=bo(c[t>>2]|0,0,29)|0;bb=ho(Ha|0,C|0,y|0,0)|0;Ha=C;if(Ha>>>0>0|(Ha|0)==0&bb>>>0>1e9){Ia=qo(bb|0,Ha|0,1e9,0)|0;Ja=ro(bb|0,Ha|0,1e9,0)|0;Fc=Ja;Gc=Ia}else{Fc=bb;Gc=0}c[t>>2]=Fc;t=(cb|0)==(rc|0);bb=(cb|0)!=(La+127&127|0)|t?La:(Fc|0)==0?cb:La;if(t){Hc=Gc;Ic=bb;break}else{y=Gc;hb=cb+-1|0;La=bb}}La=eb+-29|0;if(!Hc){eb=La;o=Ic}else{Jc=La;Kc=Hc;Lc=Ic;break}}o=rc+127&127;if((o|0)==(Lc|0)){eb=Lc+127&127;gb=h+((Lc+126&127)<<2)|0;c[gb>>2]=c[gb>>2]|c[h+(eb<<2)>>2];Mc=eb}else Mc=Lc;c[h+(o<<2)>>2]=Kc;rc=o;sc=Jc;tc=tc+9|0;uc=Mc}j:while(1){Nc=Ec+1&127;ib=h+((Ec+127&127)<<2)|0;o=Bc;eb=Cc;gb=Dc;while(1){fb=(gb|0)==18;db=(gb|0)>27?9:1;La=fb^1;Oc=o;Pc=eb;while(1){Qc=Oc&127;Rc=(Qc|0)==(Ec|0);do if(!Rc){hb=c[h+(Qc<<2)>>2]|0;if(hb>>>0<9007199){l=219;break}if(hb>>>0>9007199)break;hb=Oc+1&127;if((hb|0)==(Ec|0)){l=219;break}y=c[h+(hb<<2)>>2]|0;if(y>>>0<254740991){l=219;break}if(!(y>>>0>254740991|La)){Sc=Qc;Tc=Oc;Uc=Pc;Vc=Ec;break j}}else l=219;while(0);if((l|0)==219?(l=0,fb):0){l=220;break j}y=Pc+db|0;if((Oc|0)==(Ec|0)){Oc=Ec;Pc=y}else{Wc=y;Xc=Oc;break}}fb=(1<<db)+-1|0;La=1e9>>>db;y=Xc;hb=0;bb=Xc;cb=gb;while(1){t=h+(bb<<2)|0;Ia=c[t>>2]|0;Ja=(Ia>>>db)+hb|0;c[t>>2]=Ja;t=_(Ia&fb,La)|0;Ia=(bb|0)==(y|0)&(Ja|0)==0;bb=bb+1&127;Ja=Ia?cb+-9|0:cb;Ha=Ia?bb:y;if((bb|0)==(Ec|0)){Yc=t;Zc=Ha;_c=Ja;break}else{y=Ha;hb=t;cb=Ja}}if(!Yc){o=Zc;eb=Wc;gb=_c;continue}if((Nc|0)!=(Zc|0)){$c=Wc;ad=Yc;bd=Zc;cd=_c;break}c[ib>>2]=c[ib>>2]|1;o=Zc;eb=Wc;gb=_c}c[h+(Ec<<2)>>2]=ad;Bc=bd;Cc=$c;Dc=cd;Ec=Nc}if((l|0)==220)if(Rc){c[h+(Nc+-1<<2)>>2]=0;Sc=Ec;Tc=Oc;Uc=Pc;Vc=Nc}else{Sc=Qc;Tc=Oc;Uc=Pc;Vc=Ec}wa=+((c[h+(Sc<<2)>>2]|0)>>>0);gb=Tc+1&127;if((gb|0)==(Vc|0)){eb=Tc+2&127;c[h+(eb+-1<<2)>>2]=0;dd=eb}else dd=Vc;Ka=+(v|0);ed=Ka*(wa*1.0e9+ +((c[h+(gb<<2)>>2]|0)>>>0));gb=Uc+53|0;eb=gb-k|0;o=(eb|0)<(j|0);ib=o&1;cb=o?((eb|0)<0?0:eb):j;if((cb|0)<53){wa=+Fm(+Em(1.0,105-cb|0),ed);fd=+Im(ed,+Em(1.0,53-cb|0));gd=wa;hd=fd;id=wa+(ed-fd)}else{gd=0.0;hd=0.0;id=ed}hb=Tc+2&127;do if((hb|0)==(dd|0))jd=hd;else{y=c[h+(hb<<2)>>2]|0;do if(y>>>0>=5e8){if(y>>>0>5e8){kd=Ka*.75+hd;break}if((Tc+3&127|0)==(dd|0)){kd=Ka*.5+hd;break}else{kd=Ka*.75+hd;break}}else{if((y|0)==0?(Tc+3&127|0)==(dd|0):0){kd=hd;break}kd=Ka*.25+hd}while(0);if((53-cb|0)<=1){jd=kd;break}if(+Im(kd,1.0)!=0.0){jd=kd;break}jd=kd+1.0}while(0);Ka=id+jd-gd;do if((gb&2147483647|0)>(-2-Ca|0)){if(!(+N(+Ka)>=9007199254740992.0)){ld=ib;md=Uc;nd=Ka}else{ld=o&(cb|0)==(eb|0)?0:ib;md=Uc+1|0;nd=Ka*.5}if((md+50|0)<=(Ga|0)?!(jd!=0.0&(ld|0)!=0):0){od=md;pd=nd;break}c[(_l()|0)>>2]=34;od=md;pd=nd}else{od=Uc;pd=Ka}while(0);fc=+Hm(pd,od)}while(0);m=fc;break a;break}default:{if(c[n>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(_l()|0)>>2]=22;Am(b,0);m=0.0;break a}}}}while(0);if((l|0)==23){Ga=(c[n>>2]|0)==0;if(!Ga)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&x>>>0>3){Ca=x;do{if(!Ga)c[e>>2]=(c[e>>2]|0)+-1;Ca=Ca+-1|0}while(Ca>>>0>3)}}m=+(v|0)*s}while(0);i=g;return +m}function Dm(a,b){a=a|0;b=b|0;var 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;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Bm(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Bm(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(c[g>>2]|0)!=0:0){c[e>>2]=(c[e>>2]|0)+-1;k=j;l=f}else{k=j;l=f}break}default:{k=h;l=0}}if((k+-48|0)>>>0>9)if(!(c[g>>2]|0)){m=-2147483648;n=0}else{c[e>>2]=(c[e>>2]|0)+-1;m=-2147483648;n=0}else{h=k;k=0;while(1){f=h+-48+(k*10|0)|0;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;o=d[j>>0]|0}else o=Bm(a)|0;if((o+-48|0)>>>0<10&(f|0)<214748364){h=o;k=f}else{p=f;q=o;break}}o=((p|0)<0)<<31>>31;if((q+-48|0)>>>0<10){k=p;h=o;f=q;while(1){j=po(k|0,h|0,10,0)|0;b=C;i=ho(f|0,((f|0)<0)<<31>>31|0,-48,-1)|0;r=ho(i|0,C|0,j|0,b|0)|0;b=C;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j>>0]|0}else s=Bm(a)|0;if((s+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&r>>>0<2061584302)){k=r;h=b;f=s}else{t=r;u=b;v=s;break}}}else{t=p;u=o;v=q}if((v+-48|0)>>>0<10)do{v=c[e>>2]|0;if(v>>>0<(c[g>>2]|0)>>>0){c[e>>2]=v+1;w=d[v>>0]|0}else w=Bm(a)|0}while((w+-48|0)>>>0<10);if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;e=(l|0)!=0;l=$n(0,0,t|0,u|0)|0;m=e?C:u;n=e?l:t}C=m;return n|0}function Em(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,g=0,i=0.0;if((b|0)>1023){d=a*8988465674311579538646525.0e283;e=b+-1023|0;if((e|0)>1023){f=b+-2046|0;g=(f|0)>1023?1023:f;i=d*8988465674311579538646525.0e283}else{g=e;i=d}}else if((b|0)<-1022){d=a*2.2250738585072014e-308;e=b+1022|0;if((e|0)<-1022){f=b+2044|0;g=(f|0)<-1022?-1022:f;i=d*2.2250738585072014e-308}else{g=e;i=d}}else{g=b;i=a}b=bo(g+1023|0,0,52)|0;g=C;c[k>>2]=b;c[k+4>>2]=g;return +(i*+h[k>>3])}function Fm(a,b){a=+a;b=+b;return +(+Gm(a,b))}function Gm(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;e=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=e;return +(+h[k>>3])}function Hm(a,b){a=+a;b=b|0;return +(+Em(a,b))}function Im(a,b){a=+a;b=+b;return +(+Jm(a,b))}function Jm(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0.0,p=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;h[k>>3]=b;f=c[k>>2]|0;g=c[k+4>>2]|0;i=fo(d|0,e|0,52)|0;j=i&2047;i=fo(f|0,g|0,52)|0;l=i&2047;i=e&-2147483648;m=bo(f|0,g|0,1)|0;n=C;a:do if(!((m|0)==0&(n|0)==0)?(o=+N(+b),h[k>>3]=o,p=c[k+4>>2]|0,!(p>>>0>2146435072|(p|0)==2146435072&(c[k>>2]|0)>>>0>0|(j|0)==2047)):0){p=bo(d|0,e|0,1)|0;q=C;if(!(q>>>0>n>>>0|(q|0)==(n|0)&p>>>0>m>>>0))return +((p|0)==(m|0)&(q|0)==(n|0)?a*0.0:a);if(!j){q=bo(d|0,e|0,12)|0;p=C;if((p|0)>-1|(p|0)==-1&q>>>0>4294967295){r=q;q=p;p=0;while(1){s=p+-1|0;r=bo(r|0,q|0,1)|0;q=C;if(!((q|0)>-1|(q|0)==-1&r>>>0>4294967295)){t=s;break}else p=s}}else t=0;p=bo(d|0,e|0,1-t|0)|0;u=p;v=C;w=t}else{u=d;v=e&1048575|1048576;w=j}if(!l){p=bo(f|0,g|0,12)|0;r=C;if((r|0)>-1|(r|0)==-1&p>>>0>4294967295){q=p;p=r;r=0;while(1){s=r+-1|0;q=bo(q|0,p|0,1)|0;p=C;if(!((p|0)>-1|(p|0)==-1&q>>>0>4294967295)){x=s;break}else r=s}}else x=0;r=bo(f|0,g|0,1-x|0)|0;y=r;z=C;A=x}else{y=f;z=g&1048575|1048576;A=l}r=$n(u|0,v|0,y|0,z|0)|0;q=C;p=(q|0)>-1|(q|0)==-1&r>>>0>4294967295;b:do if((w|0)>(A|0)){s=p;B=r;D=q;E=u;F=v;G=w;while(1){if(s)if((E|0)==(y|0)&(F|0)==(z|0))break;else{H=B;I=D}else{H=E;I=F}J=bo(H|0,I|0,1)|0;K=C;L=G+-1|0;M=$n(J|0,K|0,y|0,z|0)|0;O=C;P=(O|0)>-1|(O|0)==-1&M>>>0>4294967295;if((L|0)>(A|0)){s=P;B=M;D=O;E=J;F=K;G=L}else{Q=P;R=J;S=K;T=M;U=O;V=L;break b}}W=a*0.0;break a}else{Q=p;R=u;S=v;T=r;U=q;V=w}while(0);if(Q)if((R|0)==(y|0)&(S|0)==(z|0)){W=a*0.0;break}else{X=U;Y=T}else{X=S;Y=R}if(X>>>0<1048576|(X|0)==1048576&Y>>>0<0){q=Y;r=X;p=V;while(1){G=bo(q|0,r|0,1)|0;F=C;E=p+-1|0;if(F>>>0<1048576|(F|0)==1048576&G>>>0<0){q=G;r=F;p=E}else{Z=G;_=F;$=E;break}}}else{Z=Y;_=X;$=V}if(($|0)>0){p=ho(Z|0,_|0,0,-1048576)|0;r=C;q=bo($|0,0,52)|0;aa=r|C;ba=p|q}else{q=fo(Z|0,_|0,1-$|0)|0;aa=C;ba=q}c[k>>2]=ba;c[k+4>>2]=aa|i;W=+h[k>>3]}else ca=3;while(0);if((ca|0)==3){o=a*b;W=o/o}return +W}function Km(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a>>2]&1|0)!=0;if(!b){bb(34852);d=c[a+52>>2]|0;e=a+56|0;if(d|0)c[d+56>>2]=c[e>>2];f=c[e>>2]|0;if(f|0)c[f+52>>2]=d;if((c[8712]|0)==(a|0))c[8712]=f;Za(34852)}f=Lm(a)|0;d=pb[c[a+12>>2]&127](a)|0|f;f=c[a+92>>2]|0;if(f|0)cn(f);if(!b)cn(a);return d|0}function Lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Mm(a)|0;break}d=(um(a)|0)==0;e=Mm(a)|0;if(d)b=e;else{$l(a);b=e}}else{if(!(c[549]|0))f=0;else f=Lm(c[549]|0)|0;bb(34852);e=c[8712]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=um(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=Mm(d)|0|e;else i=e;if(h|0)$l(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}Za(34852);b=g}while(0);return b|0}function Mm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(kb[c[a+36>>2]&127](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)kb[c[a+40>>2]&127](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Nm(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]=d;d=hm(a,b,f)|0;i=e;return d|0}function Om(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=0;i=c}else{j=e;k=g;l=b;m=c;while(1){j=j+-1|0;n=a[m>>0]|0;if(!(k<<24>>24==n<<24>>24&((j|0)!=0&n<<24>>24!=0))){h=k;i=m;break a}l=l+1|0;n=m+1|0;k=a[l>>0]|0;if(!(k<<24>>24)){h=0;i=n;break}else m=n}}while(0);f=(h&255)-(d[i>>0]|0)|0}return f|0}function Pm(a){a=a|0;return (a+-32|0)>>>0<95|0}function Qm(a,b,d,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=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(um(e)|0)==0;h=jm(a,f,e)|0;if(g)i=h;else{$l(e);i=h}}else i=jm(a,f,e)|0;if((i|0)==(f|0))j=d;else j=(i>>>0)/(b>>>0)|0;return j|0}function Rm(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;f=i;i=i+16|0;g=f;h=e&255;a[g>>0]=h;j=b+16|0;k=c[j>>2]|0;if(!k)if(!(km(b)|0)){l=c[j>>2]|0;m=4}else n=-1;else{l=k;m=4}do if((m|0)==4){k=b+20|0;j=c[k>>2]|0;if(j>>>0<l>>>0?(o=e&255,(o|0)!=(a[b+75>>0]|0)):0){c[k>>2]=j+1;a[j>>0]=h;n=o;break}if((kb[c[b+36>>2]&127](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);i=f;return n|0}function Sm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(um(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(e=d+20|0,f=c[e>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=f+1;a[f>>0]=b;g=b&255}else g=Rm(d,b)|0;$l(d);h=g}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(g=d+20|0,f=c[g>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=f+1;a[f>>0]=b;h=b&255;break}h=Rm(d,b)|0}while(0);return h|0}function Tm(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,l=0,m=0,n=0,o=0,p=0,q=0;g=_(e,d)|0;if((c[f+76>>2]|0)>-1)h=um(f)|0;else h=0;i=f+74|0;j=a[i>>0]|0;a[i>>0]=j+255|j;j=f+4|0;i=c[j>>2]|0;k=(c[f+8>>2]|0)-i|0;l=i;if((k|0)>0){i=k>>>0<g>>>0?k:g;io(b|0,l|0,i|0)|0;c[j>>2]=l+i;m=b+i|0;n=g-i|0}else{m=b;n=g}a:do if(!n)o=13;else{b=f+32|0;i=m;l=n;while(1){if(ym(f)|0){p=l;break}j=kb[c[b>>2]&127](f,i,l)|0;if((j+1|0)>>>0<2){p=l;break}if((l|0)==(j|0)){o=13;break a}else{i=i+j|0;l=l-j|0}}if(h|0)$l(f);q=((g-p|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!h)q=e;else{$l(f);q=e}return q|0}function Um(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=kb[c[a+40>>2]&127](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function Vm(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(um(a)|0)==0;d=Um(a)|0;if(b)e=d;else{$l(a);e=d}}else e=Um(a)|0;return e|0}function Wm(a){a=a|0;return Vm(a)|0}function Xm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(kb[c[a+36>>2]&127](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((kb[c[a+40>>2]&127](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function Ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(um(a)|0)==0;f=Xm(a,b,d)|0;if(e)g=f;else{$l(a);g=f}}else g=Xm(a,b,d)|0;return g|0}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;return Ym(a,b,c)|0}function _m(a,b){a=a|0;b=b|0;return +(+$m(a,b,0))}function $m(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0.0;e=i;i=i+112|0;f=e;g=f;h=g+112|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;Am(f,0);j=+Cm(f,d,1);d=(c[g>>2]|0)-(c[h>>2]|0)+(c[f+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=e;return +j}function an(a,b){a=a|0;b=b|0;return +(+$m(a,b,1))}function bn(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,N=0,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,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[8718]|0;f=e>>>d;if(f&3|0){g=(f&1^1)+d|0;h=34912+(g<<1<<2)|0;i=h+8|0;j=c[i>>2]|0;k=j+8|0;l=c[k>>2]|0;do if((h|0)!=(l|0)){if(l>>>0<(c[8722]|0)>>>0)Ha();m=l+12|0;if((c[m>>2]|0)==(j|0)){c[m>>2]=h;c[i>>2]=l;break}else Ha()}else c[8718]=e&~(1<<g);while(0);l=g<<3;c[j+4>>2]=l|3;i=j+l+4|0;c[i>>2]=c[i>>2]|1;n=k;return n|0}i=c[8720]|0;if(b>>>0>i>>>0){if(f|0){l=2<<d;h=f<<d&(l|0-l);l=(h&0-h)+-1|0;h=l>>>12&16;m=l>>>h;l=m>>>5&8;o=m>>>l;m=o>>>2&4;p=o>>>m;o=p>>>1&2;q=p>>>o;p=q>>>1&1;r=(l|h|m|o|p)+(q>>>p)|0;p=34912+(r<<1<<2)|0;q=p+8|0;o=c[q>>2]|0;m=o+8|0;h=c[m>>2]|0;do if((p|0)!=(h|0)){if(h>>>0<(c[8722]|0)>>>0)Ha();l=h+12|0;if((c[l>>2]|0)==(o|0)){c[l>>2]=p;c[q>>2]=h;s=c[8720]|0;break}else Ha()}else{c[8718]=e&~(1<<r);s=i}while(0);i=(r<<3)-b|0;c[o+4>>2]=b|3;e=o+b|0;c[e+4>>2]=i|1;c[e+i>>2]=i;if(s|0){h=c[8723]|0;q=s>>>3;p=34912+(q<<1<<2)|0;d=c[8718]|0;f=1<<q;if(d&f){q=p+8|0;k=c[q>>2]|0;if(k>>>0<(c[8722]|0)>>>0)Ha();else{t=q;u=k}}else{c[8718]=d|f;t=p+8|0;u=p}c[t>>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=p}c[8720]=i;c[8723]=e;n=m;return n|0}e=c[8719]|0;if(e){i=(e&0-e)+-1|0;e=i>>>12&16;p=i>>>e;i=p>>>5&8;h=p>>>i;p=h>>>2&4;f=h>>>p;h=f>>>1&2;d=f>>>h;f=d>>>1&1;k=c[35176+((i|e|p|h|f)+(d>>>f)<<2)>>2]|0;f=(c[k+4>>2]&-8)-b|0;d=k;h=k;while(1){k=c[d+16>>2]|0;if(!k){p=c[d+20>>2]|0;if(!p){v=f;w=h;break}else x=p}else x=k;k=(c[x+4>>2]&-8)-b|0;p=k>>>0<f>>>0;f=p?k:f;d=x;h=p?x:h}h=c[8722]|0;if(w>>>0<h>>>0)Ha();d=w+b|0;if(w>>>0>=d>>>0)Ha();f=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){o=w+20|0;r=c[o>>2]|0;if(!r){p=w+16|0;k=c[p>>2]|0;if(!k){y=0;break}else{z=k;A=p}}else{z=r;A=o}while(1){o=z+20|0;r=c[o>>2]|0;if(r|0){z=r;A=o;continue}o=z+16|0;r=c[o>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=o}}if(C>>>0<h>>>0)Ha();else{c[C>>2]=0;y=B;break}}else{o=c[w+8>>2]|0;if(o>>>0<h>>>0)Ha();r=o+12|0;if((c[r>>2]|0)!=(w|0))Ha();p=m+8|0;if((c[p>>2]|0)==(w|0)){c[r>>2]=m;c[p>>2]=o;y=m;break}else Ha()}while(0);do if(f|0){m=c[w+28>>2]|0;h=35176+(m<<2)|0;if((w|0)==(c[h>>2]|0)){c[h>>2]=y;if(!y){c[8719]=c[8719]&~(1<<m);break}}else{if(f>>>0<(c[8722]|0)>>>0)Ha();m=f+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[f+20>>2]=y;if(!y)break}m=c[8722]|0;if(y>>>0<m>>>0)Ha();c[y+24>>2]=f;h=c[w+16>>2]|0;do if(h|0)if(h>>>0<m>>>0)Ha();else{c[y+16>>2]=h;c[h+24>>2]=y;break}while(0);h=c[w+20>>2]|0;if(h|0)if(h>>>0<(c[8722]|0)>>>0)Ha();else{c[y+20>>2]=h;c[h+24>>2]=y;break}}while(0);if(v>>>0<16){f=v+b|0;c[w+4>>2]=f|3;h=w+f+4|0;c[h>>2]=c[h>>2]|1}else{c[w+4>>2]=b|3;c[d+4>>2]=v|1;c[d+v>>2]=v;h=c[8720]|0;if(h|0){f=c[8723]|0;m=h>>>3;h=34912+(m<<1<<2)|0;o=c[8718]|0;p=1<<m;if(o&p){m=h+8|0;r=c[m>>2]|0;if(r>>>0<(c[8722]|0)>>>0)Ha();else{D=m;E=r}}else{c[8718]=o|p;D=h+8|0;E=h}c[D>>2]=f;c[E+12>>2]=f;c[f+8>>2]=E;c[f+12>>2]=h}c[8720]=v;c[8723]=d}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){h=a+11|0;f=h&-8;p=c[8719]|0;if(p){o=0-f|0;r=h>>>8;if(r)if(f>>>0>16777215)G=31;else{h=(r+1048320|0)>>>16&8;m=r<<h;r=(m+520192|0)>>>16&4;k=m<<r;m=(k+245760|0)>>>16&2;e=14-(r|h|m)+(k<<m>>>15)|0;G=f>>>(e+7|0)&1|e<<1}else G=0;e=c[35176+(G<<2)>>2]|0;a:do if(!e){H=o;I=0;J=0;K=86}else{m=o;k=0;h=f<<((G|0)==31?0:25-(G>>>1)|0);r=e;i=0;while(1){q=c[r+4>>2]&-8;j=q-f|0;if(j>>>0<m>>>0)if((q|0)==(f|0)){L=j;M=r;N=r;K=90;break a}else{O=j;P=r}else{O=m;P=i}j=c[r+20>>2]|0;r=c[r+16+(h>>>31<<2)>>2]|0;q=(j|0)==0|(j|0)==(r|0)?k:j;j=(r|0)==0;if(j){H=O;I=q;J=P;K=86;break}else{m=O;k=q;h=h<<(j&1^1);i=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){e=2<<G;o=p&(e|0-e);if(!o){F=f;break}e=(o&0-o)+-1|0;o=e>>>12&16;b=e>>>o;e=b>>>5&8;d=b>>>e;b=d>>>2&4;i=d>>>b;d=i>>>1&2;h=i>>>d;i=h>>>1&1;Q=c[35176+((e|o|b|d|i)+(h>>>i)<<2)>>2]|0}else Q=I;if(!Q){R=H;S=J}else{L=H;M=Q;N=J;K=90}}if((K|0)==90)while(1){K=0;i=(c[M+4>>2]&-8)-f|0;h=i>>>0<L>>>0;d=h?i:L;i=h?M:N;h=c[M+16>>2]|0;if(h|0){L=d;M=h;N=i;K=90;continue}M=c[M+20>>2]|0;if(!M){R=d;S=i;break}else{L=d;N=i;K=90}}if((S|0)!=0?R>>>0<((c[8720]|0)-f|0)>>>0:0){p=c[8722]|0;if(S>>>0<p>>>0)Ha();i=S+f|0;if(S>>>0>=i>>>0)Ha();d=c[S+24>>2]|0;h=c[S+12>>2]|0;do if((h|0)==(S|0)){b=S+20|0;o=c[b>>2]|0;if(!o){e=S+16|0;k=c[e>>2]|0;if(!k){T=0;break}else{U=k;V=e}}else{U=o;V=b}while(1){b=U+20|0;o=c[b>>2]|0;if(o|0){U=o;V=b;continue}b=U+16|0;o=c[b>>2]|0;if(!o){W=U;X=V;break}else{U=o;V=b}}if(X>>>0<p>>>0)Ha();else{c[X>>2]=0;T=W;break}}else{b=c[S+8>>2]|0;if(b>>>0<p>>>0)Ha();o=b+12|0;if((c[o>>2]|0)!=(S|0))Ha();e=h+8|0;if((c[e>>2]|0)==(S|0)){c[o>>2]=h;c[e>>2]=b;T=h;break}else Ha()}while(0);do if(d|0){h=c[S+28>>2]|0;p=35176+(h<<2)|0;if((S|0)==(c[p>>2]|0)){c[p>>2]=T;if(!T){c[8719]=c[8719]&~(1<<h);break}}else{if(d>>>0<(c[8722]|0)>>>0)Ha();h=d+16|0;if((c[h>>2]|0)==(S|0))c[h>>2]=T;else c[d+20>>2]=T;if(!T)break}h=c[8722]|0;if(T>>>0<h>>>0)Ha();c[T+24>>2]=d;p=c[S+16>>2]|0;do if(p|0)if(p>>>0<h>>>0)Ha();else{c[T+16>>2]=p;c[p+24>>2]=T;break}while(0);p=c[S+20>>2]|0;if(p|0)if(p>>>0<(c[8722]|0)>>>0)Ha();else{c[T+20>>2]=p;c[p+24>>2]=T;break}}while(0);do if(R>>>0>=16){c[S+4>>2]=f|3;c[i+4>>2]=R|1;c[i+R>>2]=R;d=R>>>3;if(R>>>0<256){p=34912+(d<<1<<2)|0;h=c[8718]|0;b=1<<d;if(h&b){d=p+8|0;e=c[d>>2]|0;if(e>>>0<(c[8722]|0)>>>0)Ha();else{Y=d;Z=e}}else{c[8718]=h|b;Y=p+8|0;Z=p}c[Y>>2]=i;c[Z+12>>2]=i;c[i+8>>2]=Z;c[i+12>>2]=p;break}p=R>>>8;if(p)if(R>>>0>16777215)_=31;else{b=(p+1048320|0)>>>16&8;h=p<<b;p=(h+520192|0)>>>16&4;e=h<<p;h=(e+245760|0)>>>16&2;d=14-(p|b|h)+(e<<h>>>15)|0;_=R>>>(d+7|0)&1|d<<1}else _=0;d=35176+(_<<2)|0;c[i+28>>2]=_;h=i+16|0;c[h+4>>2]=0;c[h>>2]=0;h=c[8719]|0;e=1<<_;if(!(h&e)){c[8719]=h|e;c[d>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}e=R<<((_|0)==31?0:25-(_>>>1)|0);h=c[d>>2]|0;while(1){if((c[h+4>>2]&-8|0)==(R|0)){$=h;K=148;break}d=h+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b){aa=d;ba=h;K=145;break}else{e=e<<1;h=b}}if((K|0)==145)if(aa>>>0<(c[8722]|0)>>>0)Ha();else{c[aa>>2]=i;c[i+24>>2]=ba;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((K|0)==148){h=$+8|0;e=c[h>>2]|0;b=c[8722]|0;if(e>>>0>=b>>>0&$>>>0>=b>>>0){c[e+12>>2]=i;c[h>>2]=i;c[i+8>>2]=e;c[i+12>>2]=$;c[i+24>>2]=0;break}else Ha()}}else{e=R+f|0;c[S+4>>2]=e|3;h=S+e+4|0;c[h>>2]=c[h>>2]|1}while(0);n=S+8|0;return n|0}else F=f}else F=f}else F=-1;while(0);S=c[8720]|0;if(S>>>0>=F>>>0){R=S-F|0;$=c[8723]|0;if(R>>>0>15){ba=$+F|0;c[8723]=ba;c[8720]=R;c[ba+4>>2]=R|1;c[ba+R>>2]=R;c[$+4>>2]=F|3}else{c[8720]=0;c[8723]=0;c[$+4>>2]=S|3;R=$+S+4|0;c[R>>2]=c[R>>2]|1}n=$+8|0;return n|0}$=c[8721]|0;if($>>>0>F>>>0){R=$-F|0;c[8721]=R;$=c[8724]|0;S=$+F|0;c[8724]=S;c[S+4>>2]=R|1;c[$+4>>2]=F|3;n=$+8|0;return n|0}do if(!(c[8836]|0)){$=ab(30)|0;if(!($+-1&$)){c[8838]=$;c[8837]=$;c[8839]=-1;c[8840]=-1;c[8841]=0;c[8829]=0;c[8836]=(eb(0)|0)&-16^1431655768;break}else Ha()}while(0);$=F+48|0;R=c[8838]|0;S=F+47|0;ba=R+S|0;aa=0-R|0;R=ba&aa;if(R>>>0<=F>>>0){n=0;return n|0}_=c[8828]|0;if(_|0?(Z=c[8826]|0,Y=Z+R|0,Y>>>0<=Z>>>0|Y>>>0>_>>>0):0){n=0;return n|0}b:do if(!(c[8829]&4)){_=c[8724]|0;c:do if(_){Y=35320;while(1){Z=c[Y>>2]|0;if(Z>>>0<=_>>>0?(T=Y+4|0,(Z+(c[T>>2]|0)|0)>>>0>_>>>0):0){ca=Y;da=T;break}Y=c[Y+8>>2]|0;if(!Y){K=173;break c}}Y=ba-(c[8721]|0)&aa;if(Y>>>0<2147483647){T=Pa(Y|0)|0;if((T|0)==((c[ca>>2]|0)+(c[da>>2]|0)|0)){if((T|0)!=(-1|0)){ea=T;fa=Y;K=193;break b}}else{ga=T;ha=Y;K=183}}}else K=173;while(0);do if((K|0)==173?(_=Pa(0)|0,(_|0)!=(-1|0)):0){f=_;Y=c[8837]|0;T=Y+-1|0;if(!(T&f))ia=R;else ia=R-f+(T+f&0-Y)|0;Y=c[8826]|0;f=Y+ia|0;if(ia>>>0>F>>>0&ia>>>0<2147483647){T=c[8828]|0;if(T|0?f>>>0<=Y>>>0|f>>>0>T>>>0:0)break;T=Pa(ia|0)|0;if((T|0)==(_|0)){ea=_;fa=ia;K=193;break b}else{ga=T;ha=ia;K=183}}}while(0);d:do if((K|0)==183){T=0-ha|0;do if($>>>0>ha>>>0&(ha>>>0<2147483647&(ga|0)!=(-1|0))?(_=c[8838]|0,f=S-ha+_&0-_,f>>>0<2147483647):0)if((Pa(f|0)|0)==(-1|0)){Pa(T|0)|0;break d}else{ja=f+ha|0;break}else ja=ha;while(0);if((ga|0)!=(-1|0)){ea=ga;fa=ja;K=193;break b}}while(0);c[8829]=c[8829]|4;K=190}else K=190;while(0);if((((K|0)==190?R>>>0<2147483647:0)?(ja=Pa(R|0)|0,R=Pa(0)|0,ja>>>0<R>>>0&((ja|0)!=(-1|0)&(R|0)!=(-1|0))):0)?(ga=R-ja|0,ga>>>0>(F+40|0)>>>0):0){ea=ja;fa=ga;K=193}if((K|0)==193){ga=(c[8826]|0)+fa|0;c[8826]=ga;if(ga>>>0>(c[8827]|0)>>>0)c[8827]=ga;ga=c[8724]|0;do if(ga){ja=35320;do{R=c[ja>>2]|0;ha=ja+4|0;S=c[ha>>2]|0;if((ea|0)==(R+S|0)){ka=R;la=ha;ma=S;na=ja;K=203;break}ja=c[ja+8>>2]|0}while((ja|0)!=0);if(((K|0)==203?(c[na+12>>2]&8|0)==0:0)?ga>>>0<ea>>>0&ga>>>0>=ka>>>0:0){c[la>>2]=ma+fa;ja=ga+8|0;S=(ja&7|0)==0?0:0-ja&7;ja=ga+S|0;ha=fa-S+(c[8721]|0)|0;c[8724]=ja;c[8721]=ha;c[ja+4>>2]=ha|1;c[ja+ha+4>>2]=40;c[8725]=c[8840];break}ha=c[8722]|0;if(ea>>>0<ha>>>0){c[8722]=ea;oa=ea}else oa=ha;ha=ea+fa|0;ja=35320;while(1){if((c[ja>>2]|0)==(ha|0)){pa=ja;qa=ja;K=211;break}ja=c[ja+8>>2]|0;if(!ja){ra=35320;break}}if((K|0)==211)if(!(c[qa+12>>2]&8)){c[pa>>2]=ea;ja=qa+4|0;c[ja>>2]=(c[ja>>2]|0)+fa;ja=ea+8|0;S=ea+((ja&7|0)==0?0:0-ja&7)|0;ja=ha+8|0;R=ha+((ja&7|0)==0?0:0-ja&7)|0;ja=S+F|0;$=R-S-F|0;c[S+4>>2]=F|3;do if((R|0)!=(ga|0)){if((R|0)==(c[8723]|0)){ia=(c[8720]|0)+$|0;c[8720]=ia;c[8723]=ja;c[ja+4>>2]=ia|1;c[ja+ia>>2]=ia;break}ia=c[R+4>>2]|0;if((ia&3|0)==1){da=ia&-8;ca=ia>>>3;e:do if(ia>>>0>=256){aa=c[R+24>>2]|0;ba=c[R+12>>2]|0;do if((ba|0)==(R|0)){T=R+16|0;f=T+4|0;_=c[f>>2]|0;if(!_){Y=c[T>>2]|0;if(!Y){sa=0;break}else{ta=Y;ua=T}}else{ta=_;ua=f}while(1){f=ta+20|0;_=c[f>>2]|0;if(_|0){ta=_;ua=f;continue}f=ta+16|0;_=c[f>>2]|0;if(!_){va=ta;wa=ua;break}else{ta=_;ua=f}}if(wa>>>0<oa>>>0)Ha();else{c[wa>>2]=0;sa=va;break}}else{f=c[R+8>>2]|0;if(f>>>0<oa>>>0)Ha();_=f+12|0;if((c[_>>2]|0)!=(R|0))Ha();T=ba+8|0;if((c[T>>2]|0)==(R|0)){c[_>>2]=ba;c[T>>2]=f;sa=ba;break}else Ha()}while(0);if(!aa)break;ba=c[R+28>>2]|0;f=35176+(ba<<2)|0;do if((R|0)!=(c[f>>2]|0)){if(aa>>>0<(c[8722]|0)>>>0)Ha();T=aa+16|0;if((c[T>>2]|0)==(R|0))c[T>>2]=sa;else c[aa+20>>2]=sa;if(!sa)break e}else{c[f>>2]=sa;if(sa|0)break;c[8719]=c[8719]&~(1<<ba);break e}while(0);ba=c[8722]|0;if(sa>>>0<ba>>>0)Ha();c[sa+24>>2]=aa;f=R+16|0;T=c[f>>2]|0;do if(T|0)if(T>>>0<ba>>>0)Ha();else{c[sa+16>>2]=T;c[T+24>>2]=sa;break}while(0);T=c[f+4>>2]|0;if(!T)break;if(T>>>0<(c[8722]|0)>>>0)Ha();else{c[sa+20>>2]=T;c[T+24>>2]=sa;break}}else{T=c[R+8>>2]|0;ba=c[R+12>>2]|0;aa=34912+(ca<<1<<2)|0;do if((T|0)!=(aa|0)){if(T>>>0<oa>>>0)Ha();if((c[T+12>>2]|0)==(R|0))break;Ha()}while(0);if((ba|0)==(T|0)){c[8718]=c[8718]&~(1<<ca);break}do if((ba|0)==(aa|0))xa=ba+8|0;else{if(ba>>>0<oa>>>0)Ha();f=ba+8|0;if((c[f>>2]|0)==(R|0)){xa=f;break}Ha()}while(0);c[T+12>>2]=ba;c[xa>>2]=T}while(0);ya=R+da|0;za=da+$|0}else{ya=R;za=$}ca=ya+4|0;c[ca>>2]=c[ca>>2]&-2;c[ja+4>>2]=za|1;c[ja+za>>2]=za;ca=za>>>3;if(za>>>0<256){ia=34912+(ca<<1<<2)|0;aa=c[8718]|0;f=1<<ca;do if(!(aa&f)){c[8718]=aa|f;Aa=ia+8|0;Ba=ia}else{ca=ia+8|0;_=c[ca>>2]|0;if(_>>>0>=(c[8722]|0)>>>0){Aa=ca;Ba=_;break}Ha()}while(0);c[Aa>>2]=ja;c[Ba+12>>2]=ja;c[ja+8>>2]=Ba;c[ja+12>>2]=ia;break}f=za>>>8;do if(!f)Ca=0;else{if(za>>>0>16777215){Ca=31;break}aa=(f+1048320|0)>>>16&8;da=f<<aa;_=(da+520192|0)>>>16&4;ca=da<<_;da=(ca+245760|0)>>>16&2;Y=14-(_|aa|da)+(ca<<da>>>15)|0;Ca=za>>>(Y+7|0)&1|Y<<1}while(0);f=35176+(Ca<<2)|0;c[ja+28>>2]=Ca;ia=ja+16|0;c[ia+4>>2]=0;c[ia>>2]=0;ia=c[8719]|0;Y=1<<Ca;if(!(ia&Y)){c[8719]=ia|Y;c[f>>2]=ja;c[ja+24>>2]=f;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}Y=za<<((Ca|0)==31?0:25-(Ca>>>1)|0);ia=c[f>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(za|0)){Da=ia;K=281;break}f=ia+16+(Y>>>31<<2)|0;da=c[f>>2]|0;if(!da){Ea=f;Fa=ia;K=278;break}else{Y=Y<<1;ia=da}}if((K|0)==278)if(Ea>>>0<(c[8722]|0)>>>0)Ha();else{c[Ea>>2]=ja;c[ja+24>>2]=Fa;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}else if((K|0)==281){ia=Da+8|0;Y=c[ia>>2]|0;da=c[8722]|0;if(Y>>>0>=da>>>0&Da>>>0>=da>>>0){c[Y+12>>2]=ja;c[ia>>2]=ja;c[ja+8>>2]=Y;c[ja+12>>2]=Da;c[ja+24>>2]=0;break}else Ha()}}else{Y=(c[8721]|0)+$|0;c[8721]=Y;c[8724]=ja;c[ja+4>>2]=Y|1}while(0);n=S+8|0;return n|0}else ra=35320;while(1){ja=c[ra>>2]|0;if(ja>>>0<=ga>>>0?($=ja+(c[ra+4>>2]|0)|0,$>>>0>ga>>>0):0){Ga=$;break}ra=c[ra+8>>2]|0}S=Ga+-47|0;$=S+8|0;ja=S+(($&7|0)==0?0:0-$&7)|0;$=ga+16|0;S=ja>>>0<$>>>0?ga:ja;ja=S+8|0;R=ea+8|0;ha=(R&7|0)==0?0:0-R&7;R=ea+ha|0;Y=fa+-40-ha|0;c[8724]=R;c[8721]=Y;c[R+4>>2]=Y|1;c[R+Y+4>>2]=40;c[8725]=c[8840];Y=S+4|0;c[Y>>2]=27;c[ja>>2]=c[8830];c[ja+4>>2]=c[8831];c[ja+8>>2]=c[8832];c[ja+12>>2]=c[8833];c[8830]=ea;c[8831]=fa;c[8833]=0;c[8832]=ja;ja=S+24|0;do{ja=ja+4|0;c[ja>>2]=7}while((ja+4|0)>>>0<Ga>>>0);if((S|0)!=(ga|0)){ja=S-ga|0;c[Y>>2]=c[Y>>2]&-2;c[ga+4>>2]=ja|1;c[S>>2]=ja;R=ja>>>3;if(ja>>>0<256){ha=34912+(R<<1<<2)|0;ia=c[8718]|0;da=1<<R;if(ia&da){R=ha+8|0;f=c[R>>2]|0;if(f>>>0<(c[8722]|0)>>>0)Ha();else{Ia=R;Ja=f}}else{c[8718]=ia|da;Ia=ha+8|0;Ja=ha}c[Ia>>2]=ga;c[Ja+12>>2]=ga;c[ga+8>>2]=Ja;c[ga+12>>2]=ha;break}ha=ja>>>8;if(ha)if(ja>>>0>16777215)Ka=31;else{da=(ha+1048320|0)>>>16&8;ia=ha<<da;ha=(ia+520192|0)>>>16&4;f=ia<<ha;ia=(f+245760|0)>>>16&2;R=14-(ha|da|ia)+(f<<ia>>>15)|0;Ka=ja>>>(R+7|0)&1|R<<1}else Ka=0;R=35176+(Ka<<2)|0;c[ga+28>>2]=Ka;c[ga+20>>2]=0;c[$>>2]=0;ia=c[8719]|0;f=1<<Ka;if(!(ia&f)){c[8719]=ia|f;c[R>>2]=ga;c[ga+24>>2]=R;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}f=ja<<((Ka|0)==31?0:25-(Ka>>>1)|0);ia=c[R>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(ja|0)){La=ia;K=307;break}R=ia+16+(f>>>31<<2)|0;da=c[R>>2]|0;if(!da){Ma=R;Na=ia;K=304;break}else{f=f<<1;ia=da}}if((K|0)==304)if(Ma>>>0<(c[8722]|0)>>>0)Ha();else{c[Ma>>2]=ga;c[ga+24>>2]=Na;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}else if((K|0)==307){ia=La+8|0;f=c[ia>>2]|0;ja=c[8722]|0;if(f>>>0>=ja>>>0&La>>>0>=ja>>>0){c[f+12>>2]=ga;c[ia>>2]=ga;c[ga+8>>2]=f;c[ga+12>>2]=La;c[ga+24>>2]=0;break}else Ha()}}}else{f=c[8722]|0;if((f|0)==0|ea>>>0<f>>>0)c[8722]=ea;c[8830]=ea;c[8831]=fa;c[8833]=0;c[8727]=c[8836];c[8726]=-1;f=0;do{ia=34912+(f<<1<<2)|0;c[ia+12>>2]=ia;c[ia+8>>2]=ia;f=f+1|0}while((f|0)!=32);f=ea+8|0;ia=(f&7|0)==0?0:0-f&7;f=ea+ia|0;ja=fa+-40-ia|0;c[8724]=f;c[8721]=ja;c[f+4>>2]=ja|1;c[f+ja+4>>2]=40;c[8725]=c[8840]}while(0);fa=c[8721]|0;if(fa>>>0>F>>>0){ea=fa-F|0;c[8721]=ea;fa=c[8724]|0;ga=fa+F|0;c[8724]=ga;c[ga+4>>2]=ea|1;c[fa+4>>2]=F|3;n=fa+8|0;return n|0}}c[(_l()|0)>>2]=12;n=0;return n|0}function cn(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;if(!a)return;b=a+-8|0;d=c[8722]|0;if(b>>>0<d>>>0)Ha();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)Ha();f=e&-8;g=b+f|0;do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)Ha();if((i|0)==(c[8723]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=j;break}c[8720]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;o=34912+(l<<1<<2)|0;if((h|0)!=(o|0)){if(h>>>0<d>>>0)Ha();if((c[h+12>>2]|0)!=(i|0))Ha()}if((k|0)==(h|0)){c[8718]=c[8718]&~(1<<l);m=i;n=j;break}if((k|0)!=(o|0)){if(k>>>0<d>>>0)Ha();o=k+8|0;if((c[o>>2]|0)==(i|0))p=o;else Ha()}else p=k+8|0;c[h+12>>2]=k;c[p>>2]=h;m=i;n=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){o=i+16|0;l=o+4|0;q=c[l>>2]|0;if(!q){r=c[o>>2]|0;if(!r){s=0;break}else{t=r;u=o}}else{t=q;u=l}while(1){l=t+20|0;q=c[l>>2]|0;if(q|0){t=q;u=l;continue}l=t+16|0;q=c[l>>2]|0;if(!q){v=t;w=u;break}else{t=q;u=l}}if(w>>>0<d>>>0)Ha();else{c[w>>2]=0;s=v;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)Ha();q=l+12|0;if((c[q>>2]|0)!=(i|0))Ha();o=k+8|0;if((c[o>>2]|0)==(i|0)){c[q>>2]=k;c[o>>2]=l;s=k;break}else Ha()}while(0);if(h){k=c[i+28>>2]|0;l=35176+(k<<2)|0;if((i|0)==(c[l>>2]|0)){c[l>>2]=s;if(!s){c[8719]=c[8719]&~(1<<k);m=i;n=j;break}}else{if(h>>>0<(c[8722]|0)>>>0)Ha();k=h+16|0;if((c[k>>2]|0)==(i|0))c[k>>2]=s;else c[h+20>>2]=s;if(!s){m=i;n=j;break}}k=c[8722]|0;if(s>>>0<k>>>0)Ha();c[s+24>>2]=h;l=i+16|0;o=c[l>>2]|0;do if(o|0)if(o>>>0<k>>>0)Ha();else{c[s+16>>2]=o;c[o+24>>2]=s;break}while(0);o=c[l+4>>2]|0;if(o)if(o>>>0<(c[8722]|0)>>>0)Ha();else{c[s+20>>2]=o;c[o+24>>2]=s;m=i;n=j;break}else{m=i;n=j}}else{m=i;n=j}}else{m=b;n=f}while(0);if(m>>>0>=g>>>0)Ha();f=g+4|0;b=c[f>>2]|0;if(!(b&1))Ha();if(!(b&2)){if((g|0)==(c[8724]|0)){s=(c[8721]|0)+n|0;c[8721]=s;c[8724]=m;c[m+4>>2]=s|1;if((m|0)!=(c[8723]|0))return;c[8723]=0;c[8720]=0;return}if((g|0)==(c[8723]|0)){s=(c[8720]|0)+n|0;c[8720]=s;c[8723]=m;c[m+4>>2]=s|1;c[m+s>>2]=s;return}s=(b&-8)+n|0;d=b>>>3;do if(b>>>0>=256){v=c[g+24>>2]|0;w=c[g+12>>2]|0;do if((w|0)==(g|0)){u=g+16|0;t=u+4|0;p=c[t>>2]|0;if(!p){a=c[u>>2]|0;if(!a){x=0;break}else{y=a;z=u}}else{y=p;z=t}while(1){t=y+20|0;p=c[t>>2]|0;if(p|0){y=p;z=t;continue}t=y+16|0;p=c[t>>2]|0;if(!p){A=y;B=z;break}else{y=p;z=t}}if(B>>>0<(c[8722]|0)>>>0)Ha();else{c[B>>2]=0;x=A;break}}else{t=c[g+8>>2]|0;if(t>>>0<(c[8722]|0)>>>0)Ha();p=t+12|0;if((c[p>>2]|0)!=(g|0))Ha();u=w+8|0;if((c[u>>2]|0)==(g|0)){c[p>>2]=w;c[u>>2]=t;x=w;break}else Ha()}while(0);if(v|0){w=c[g+28>>2]|0;j=35176+(w<<2)|0;if((g|0)==(c[j>>2]|0)){c[j>>2]=x;if(!x){c[8719]=c[8719]&~(1<<w);break}}else{if(v>>>0<(c[8722]|0)>>>0)Ha();w=v+16|0;if((c[w>>2]|0)==(g|0))c[w>>2]=x;else c[v+20>>2]=x;if(!x)break}w=c[8722]|0;if(x>>>0<w>>>0)Ha();c[x+24>>2]=v;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0<w>>>0)Ha();else{c[x+16>>2]=i;c[i+24>>2]=x;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[8722]|0)>>>0)Ha();else{c[x+20>>2]=i;c[i+24>>2]=x;break}}}else{i=c[g+8>>2]|0;w=c[g+12>>2]|0;v=34912+(d<<1<<2)|0;if((i|0)!=(v|0)){if(i>>>0<(c[8722]|0)>>>0)Ha();if((c[i+12>>2]|0)!=(g|0))Ha()}if((w|0)==(i|0)){c[8718]=c[8718]&~(1<<d);break}if((w|0)!=(v|0)){if(w>>>0<(c[8722]|0)>>>0)Ha();v=w+8|0;if((c[v>>2]|0)==(g|0))C=v;else Ha()}else C=w+8|0;c[i+12>>2]=w;c[C>>2]=i}while(0);c[m+4>>2]=s|1;c[m+s>>2]=s;if((m|0)==(c[8723]|0)){c[8720]=s;return}else D=s}else{c[f>>2]=b&-2;c[m+4>>2]=n|1;c[m+n>>2]=n;D=n}n=D>>>3;if(D>>>0<256){b=34912+(n<<1<<2)|0;f=c[8718]|0;s=1<<n;if(f&s){n=b+8|0;C=c[n>>2]|0;if(C>>>0<(c[8722]|0)>>>0)Ha();else{E=n;F=C}}else{c[8718]=f|s;E=b+8|0;F=b}c[E>>2]=m;c[F+12>>2]=m;c[m+8>>2]=F;c[m+12>>2]=b;return}b=D>>>8;if(b)if(D>>>0>16777215)G=31;else{F=(b+1048320|0)>>>16&8;E=b<<F;b=(E+520192|0)>>>16&4;s=E<<b;E=(s+245760|0)>>>16&2;f=14-(b|F|E)+(s<<E>>>15)|0;G=D>>>(f+7|0)&1|f<<1}else G=0;f=35176+(G<<2)|0;c[m+28>>2]=G;c[m+20>>2]=0;c[m+16>>2]=0;E=c[8719]|0;s=1<<G;do if(E&s){F=D<<((G|0)==31?0:25-(G>>>1)|0);b=c[f>>2]|0;while(1){if((c[b+4>>2]&-8|0)==(D|0)){H=b;I=130;break}C=b+16+(F>>>31<<2)|0;n=c[C>>2]|0;if(!n){J=C;K=b;I=127;break}else{F=F<<1;b=n}}if((I|0)==127)if(J>>>0<(c[8722]|0)>>>0)Ha();else{c[J>>2]=m;c[m+24>>2]=K;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((I|0)==130){b=H+8|0;F=c[b>>2]|0;j=c[8722]|0;if(F>>>0>=j>>>0&H>>>0>=j>>>0){c[F+12>>2]=m;c[b>>2]=m;c[m+8>>2]=F;c[m+12>>2]=H;c[m+24>>2]=0;break}else Ha()}}else{c[8719]=E|s;c[f>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m}while(0);m=(c[8726]|0)+-1|0;c[8726]=m;if(!m)L=35328;else return;while(1){m=c[L>>2]|0;if(!m)break;else L=m+8|0}c[8726]=-1;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=bn(b)|0;return d|0}if(b>>>0>4294967231){c[(_l()|0)>>2]=12;d=0;return d|0}e=en(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=bn(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;io(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;cn(a);d=e;return d|0}function en(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,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[8722]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))Ha();j=c[g+4>>2]|0;if(!(j&1))Ha();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[8838]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;fn(l,i);k=a;return k|0}if((g|0)==(c[8724]|0)){i=(c[8721]|0)+f|0;if(i>>>0<=b>>>0){k=0;return k|0}l=i-b|0;i=a+b|0;c[d>>2]=e&1|b|2;c[i+4>>2]=l|1;c[8724]=i;c[8721]=l;k=a;return k|0}if((g|0)==(c[8723]|0)){l=(c[8720]|0)+f|0;if(l>>>0<b>>>0){k=0;return k|0}i=l-b|0;if(i>>>0>15){m=a+b|0;n=m+i|0;c[d>>2]=e&1|b|2;c[m+4>>2]=i|1;c[n>>2]=i;o=n+4|0;c[o>>2]=c[o>>2]&-2;p=m;q=i}else{c[d>>2]=e&1|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;p=0;q=0}c[8720]=q;c[8723]=p;k=a;return k|0}if(j&2|0){k=0;return k|0}p=(j&-8)+f|0;if(p>>>0<b>>>0){k=0;return k|0}f=p-b|0;q=j>>>3;do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;o=m+4|0;n=c[o>>2]|0;if(!n){r=c[m>>2]|0;if(!r){s=0;break}else{t=r;u=m}}else{t=n;u=o}while(1){o=t+20|0;n=c[o>>2]|0;if(n|0){t=n;u=o;continue}o=t+16|0;n=c[o>>2]|0;if(!n){v=t;w=u;break}else{t=n;u=o}}if(w>>>0<h>>>0)Ha();else{c[w>>2]=0;s=v;break}}else{o=c[g+8>>2]|0;if(o>>>0<h>>>0)Ha();n=o+12|0;if((c[n>>2]|0)!=(g|0))Ha();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[n>>2]=l;c[m>>2]=o;s=l;break}else Ha()}while(0);if(i|0){l=c[g+28>>2]|0;o=35176+(l<<2)|0;if((g|0)==(c[o>>2]|0)){c[o>>2]=s;if(!s){c[8719]=c[8719]&~(1<<l);break}}else{if(i>>>0<(c[8722]|0)>>>0)Ha();l=i+16|0;if((c[l>>2]|0)==(g|0))c[l>>2]=s;else c[i+20>>2]=s;if(!s)break}l=c[8722]|0;if(s>>>0<l>>>0)Ha();c[s+24>>2]=i;o=g+16|0;m=c[o>>2]|0;do if(m|0)if(m>>>0<l>>>0)Ha();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[o+4>>2]|0;if(m|0)if(m>>>0<(c[8722]|0)>>>0)Ha();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=34912+(q<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0<h>>>0)Ha();if((c[m+12>>2]|0)!=(g|0))Ha()}if((l|0)==(m|0)){c[8718]=c[8718]&~(1<<q);break}if((l|0)!=(i|0)){if(l>>>0<h>>>0)Ha();i=l+8|0;if((c[i>>2]|0)==(g|0))x=i;else Ha()}else x=l+8|0;c[m+12>>2]=l;c[x>>2]=m}while(0);if(f>>>0<16){c[d>>2]=p|e&1|2;x=a+p+4|0;c[x>>2]=c[x>>2]|1;k=a;return k|0}else{x=a+b|0;c[d>>2]=e&1|b|2;c[x+4>>2]=f|3;b=x+f+4|0;c[b>>2]=c[b>>2]|1;fn(x,f);k=a;return k|0}return 0}function fn(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[8722]|0;if(g>>>0<i>>>0)Ha();if((g|0)==(c[8723]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[8720]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=34912+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)Ha();if((c[f+12>>2]|0)!=(g|0))Ha()}if((j|0)==(f|0)){c[8718]=c[8718]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)Ha();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else Ha()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p){u=s;v=t;break}else{s=p;t=k}}if(v>>>0<i>>>0)Ha();else{c[v>>2]=0;r=u;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)Ha();p=k+12|0;if((c[p>>2]|0)!=(g|0))Ha();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else Ha()}while(0);if(f){j=c[g+28>>2]|0;i=35176+(j<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[8719]=c[8719]&~(1<<j);l=g;m=h;break}}else{if(f>>>0<(c[8722]|0)>>>0)Ha();j=f+16|0;if((c[j>>2]|0)==(g|0))c[j>>2]=r;else c[f+20>>2]=r;if(!r){l=g;m=h;break}}j=c[8722]|0;if(r>>>0<j>>>0)Ha();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0<j>>>0)Ha();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[8722]|0)>>>0)Ha();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[8722]|0;if(d>>>0<b>>>0)Ha();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){if((d|0)==(c[8724]|0)){u=(c[8721]|0)+m|0;c[8721]=u;c[8724]=l;c[l+4>>2]=u|1;if((l|0)!=(c[8723]|0))return;c[8723]=0;c[8720]=0;return}if((d|0)==(c[8723]|0)){u=(c[8720]|0)+m|0;c[8720]=u;c[8723]=l;c[l+4>>2]=u|1;c[l+u>>2]=u;return}u=(r&-8)+m|0;v=r>>>3;do if(r>>>0>=256){t=c[d+24>>2]|0;s=c[d+12>>2]|0;do if((s|0)==(d|0)){o=d+16|0;e=o+4|0;k=c[e>>2]|0;if(!k){j=c[o>>2]|0;if(!j){w=0;break}else{x=j;y=o}}else{x=k;y=e}while(1){e=x+20|0;k=c[e>>2]|0;if(k|0){x=k;y=e;continue}e=x+16|0;k=c[e>>2]|0;if(!k){z=x;A=y;break}else{x=k;y=e}}if(A>>>0<b>>>0)Ha();else{c[A>>2]=0;w=z;break}}else{e=c[d+8>>2]|0;if(e>>>0<b>>>0)Ha();k=e+12|0;if((c[k>>2]|0)!=(d|0))Ha();o=s+8|0;if((c[o>>2]|0)==(d|0)){c[k>>2]=s;c[o>>2]=e;w=s;break}else Ha()}while(0);if(t|0){s=c[d+28>>2]|0;h=35176+(s<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=w;if(!w){c[8719]=c[8719]&~(1<<s);break}}else{if(t>>>0<(c[8722]|0)>>>0)Ha();s=t+16|0;if((c[s>>2]|0)==(d|0))c[s>>2]=w;else c[t+20>>2]=w;if(!w)break}s=c[8722]|0;if(w>>>0<s>>>0)Ha();c[w+24>>2]=t;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0<s>>>0)Ha();else{c[w+16>>2]=g;c[g+24>>2]=w;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[8722]|0)>>>0)Ha();else{c[w+20>>2]=g;c[g+24>>2]=w;break}}}else{g=c[d+8>>2]|0;s=c[d+12>>2]|0;t=34912+(v<<1<<2)|0;if((g|0)!=(t|0)){if(g>>>0<b>>>0)Ha();if((c[g+12>>2]|0)!=(d|0))Ha()}if((s|0)==(g|0)){c[8718]=c[8718]&~(1<<v);break}if((s|0)!=(t|0)){if(s>>>0<b>>>0)Ha();t=s+8|0;if((c[t>>2]|0)==(d|0))B=t;else Ha()}else B=s+8|0;c[g+12>>2]=s;c[B>>2]=g}while(0);c[l+4>>2]=u|1;c[l+u>>2]=u;if((l|0)==(c[8723]|0)){c[8720]=u;return}else C=u}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;C=m}m=C>>>3;if(C>>>0<256){r=34912+(m<<1<<2)|0;a=c[8718]|0;u=1<<m;if(a&u){m=r+8|0;B=c[m>>2]|0;if(B>>>0<(c[8722]|0)>>>0)Ha();else{D=m;E=B}}else{c[8718]=a|u;D=r+8|0;E=r}c[D>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=r;return}r=C>>>8;if(r)if(C>>>0>16777215)F=31;else{E=(r+1048320|0)>>>16&8;D=r<<E;r=(D+520192|0)>>>16&4;u=D<<r;D=(u+245760|0)>>>16&2;a=14-(r|E|D)+(u<<D>>>15)|0;F=C>>>(a+7|0)&1|a<<1}else F=0;a=35176+(F<<2)|0;c[l+28>>2]=F;c[l+20>>2]=0;c[l+16>>2]=0;D=c[8719]|0;u=1<<F;if(!(D&u)){c[8719]=D|u;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}u=C<<((F|0)==31?0:25-(F>>>1)|0);F=c[a>>2]|0;while(1){if((c[F+4>>2]&-8|0)==(C|0)){G=F;H=127;break}a=F+16+(u>>>31<<2)|0;D=c[a>>2]|0;if(!D){I=a;J=F;H=124;break}else{u=u<<1;F=D}}if((H|0)==124){if(I>>>0<(c[8722]|0)>>>0)Ha();c[I>>2]=l;c[l+24>>2]=J;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((H|0)==127){H=G+8|0;J=c[H>>2]|0;I=c[8722]|0;if(!(J>>>0>=I>>>0&G>>>0>=I>>>0))Ha();c[J+12>>2]=l;c[H>>2]=l;c[l+8>>2]=J;c[l+12>>2]=G;c[l+24>>2]=0;return}}function gn(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;a:do if(a>>>0<212){b=2460;d=48;b:while(1){e=d;while(1){if(!e){f=b;break b}g=(e|0)/2|0;h=b+(g<<2)|0;if((c[h>>2]|0)>>>0<a>>>0){i=g;j=h;k=e;break}else e=g}b=j+4|0;d=k+-1-i|0}l=c[f>>2]|0}else{d=(a>>>0)/210|0;b=d*210|0;e=a-b|0;g=2652;h=48;c:while(1){m=h;while(1){if(!m){n=g;break c}o=(m|0)/2|0;p=g+(o<<2)|0;if((c[p>>2]|0)>>>0<e>>>0){q=o;r=p;s=m;break}else m=o}g=r+4|0;h=s+-1-q|0}h=n-2652>>2;g=h;e=d;m=(c[2652+(h<<2)>>2]|0)+b|0;while(1){h=5;while(1){if(h>>>0>=47){t=211;u=17;break}o=c[2460+(h<<2)>>2]|0;p=(m>>>0)/(o>>>0)|0;if(p>>>0<o>>>0){l=m;break a}if((m|0)==(_(p,o)|0))break;else h=h+1|0}d:do if((u|0)==17)while(1){u=0;h=(m>>>0)/(t>>>0)|0;if(h>>>0<t>>>0){l=m;break a}if((m|0)==(_(h,t)|0))break d;h=t+10|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+12|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+16|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+18|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+22|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+28|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+30|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+36|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+40|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+42|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+46|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+52|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+58|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+60|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+66|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+70|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+72|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+78|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+82|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+88|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+96|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+100|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+102|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+106|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+108|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+112|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+120|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+126|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+130|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+136|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+138|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+142|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+148|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+150|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+156|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+162|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+166|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+168|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+172|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+178|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+180|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+186|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+190|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+192|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+196|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+198|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+208|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break;else{t=t+210|0;u=17}}while(0);h=g+1|0;o=(h|0)==48;p=(o&1)+e|0;v=o?0:h;g=v;e=p;m=(c[2652+(v<<2)>>2]|0)+(p*210|0)|0}}while(0);return l|0}function hn(a){a=a|0;Ka(30172,30201,1164,30392)}function jn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(e>>>0>4294967279)hn(b);if(e>>>0<11){a[b>>0]=e<<1;f=b+1|0}else{g=e+16&-16;h=Un(g)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=e;f=h}io(f|0,d|0,e|0)|0;a[f+e>>0]=0;return}function kn(b){b=b|0;if(a[b>>0]&1)Bn(c[b+8>>2]|0);return}function ln(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;mn(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function mn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}f=(h&1)==0;do if(g>>>0>=e>>>0){if(f)i=b+1|0;else i=c[b+8>>2]|0;jo(i|0,d|0,e|0)|0;a[i+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(f)j=(h&255)>>>1;else j=c[b+4>>2]|0;nn(b,g,e-g|0,j,0,j,e,d)}while(0);return b|0}function nn(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,l=0,m=0,n=0;if((-18-d|0)>>>0<e>>>0)hn(b);if(!(a[b>>0]&1))k=b+1|0;else k=c[b+8>>2]|0;if(d>>>0<2147483623){l=e+d|0;e=d<<1;m=l>>>0<e>>>0?e:l;n=m>>>0<11?11:m+16&-16}else n=-17;m=Un(n)|0;if(g|0)io(m|0,k|0,g|0)|0;if(i|0)io(m+g|0,j|0,i|0)|0;j=f-h|0;if((j|0)!=(g|0))io(m+g+i|0,k+g+h|0,j-g|0)|0;if((d|0)!=10)Bn(k);c[b+8>>2]=m;c[b>>2]=n|1;n=j+i|0;c[b+4>>2]=n;a[m+n>>0]=0;return}function on(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;if(d|0){f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}if(!(h&1))i=(h&255)>>>1;else i=c[b+4>>2]|0;if((g-i|0)>>>0<d>>>0){pn(b,g,d-g+i|0,i,i,0,0);j=a[b>>0]|0}else j=h;if(!(j&1))k=b+1|0;else k=c[b+8>>2]|0;ao(k+i|0,e|0,d|0)|0;e=i+d|0;if(!(a[b>>0]&1))a[b>>0]=e<<1;else c[b+4>>2]=e;a[k+e>>0]=0}return b|0}function pn(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,l=0,m=0;if((-17-d|0)>>>0<e>>>0)hn(b);if(!(a[b>>0]&1))j=b+1|0;else j=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;e=d<<1;l=k>>>0<e>>>0?e:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=Un(m)|0;if(g|0)io(l|0,j|0,g|0)|0;k=f-h|0;if((k|0)!=(g|0))io(l+g+i|0,j+g+h|0,k-g|0)|0;if((d|0)!=10)Bn(j);c[b+8>>2]=l;c[b>>2]=m|1;return}function qn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}if(!(h&1))i=(h&255)>>>1;else i=c[b+4>>2]|0;if((g-i|0)>>>0>=e>>>0){if(e|0){if(!(h&1))j=b+1|0;else j=c[b+8>>2]|0;io(j+i|0,d|0,e|0)|0;h=i+e|0;if(!(a[b>>0]&1))a[b>>0]=h<<1;else c[b+4>>2]=h;a[j+h>>0]=0}}else nn(b,g,e-g+i|0,i,i,0,e,d);return b|0}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){pn(b,g,1,g,g,0,0);if(!(a[b>>0]&1))i=7;else i=8}else if(f)i=8;else i=7;if((i|0)==7){a[b>>0]=(h<<1)+2;j=b+1|0}else if((i|0)==8){i=c[b+8>>2]|0;c[b+4>>2]=h+1;j=i}i=j+h|0;a[i>>0]=d;a[i+1>>0]=0;return}function sn(a){a=a|0;Ka(30285,30308,303,30392)}function tn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+48|0;b=a+32|0;d=a+24|0;e=a+16|0;f=a;g=a+36|0;a=un()|0;if(a|0?(h=c[a>>2]|0,h|0):0){a=h+48|0;j=c[a>>2]|0;k=c[a+4>>2]|0;if(!((j&-256|0)==1126902528&(k|0)==1129074247)){c[d>>2]=30695;xn(30790,d)}if((j|0)==1126902529&(k|0)==1129074247)l=c[h+44>>2]|0;else l=h+80|0;c[g>>2]=l;l=c[h>>2]|0;h=c[l+4>>2]|0;if(kb[c[(c[38]|0)+16>>2]&127](152,l,g)|0){l=c[g>>2]|0;g=pb[c[(c[l>>2]|0)+8>>2]&127](l)|0;c[f>>2]=30695;c[f+4>>2]=h;c[f+8>>2]=g;xn(30704,f)}else{c[e>>2]=30695;c[e+4>>2]=h;xn(30749,e)}}xn(30828,b)}function un(){var a=0,b=0;a=i;i=i+16|0;if(!(Xa(35368,23)|0)){b=Va(c[8843]|0)|0;i=a;return b|0}else xn(30516,a);return 0}function vn(){var a=0;a=i;i=i+16|0;if(!(Ya(35372,44)|0)){i=a;return}else xn(30466,a)}function wn(a){a=a|0;var b=0;b=i;i=i+16|0;cn(a);if(!(_a(c[8843]|0,0)|0)){i=b;return}else xn(30413,b)}function xn(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=c[550]|0;hm(b,a,e)|0;Sm(10,b)|0;Ha()}function yn(a){a=a|0;return}function zn(a){a=a|0;return}function An(a){a=a|0;Bn(a);return}function Bn(a){a=a|0;cn(a);return}function Cn(a){a=a|0;return}function Dn(a){a=a|0;return}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;e=i;i=i+64|0;f=e;if((a|0)!=(b|0))if((b|0)!=0?(g=Fn(b,192,160,0)|0,(g|0)!=0):0){b=f;h=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;wb[c[(c[g>>2]|0)+28>>2]&31](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];j=1}else j=0;k=j}else k=0;else k=1;i=e;return k|0}function Fn(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;h=i;i=i+64|0;j=h;k=c[d>>2]|0;l=d+(c[k+-8>>2]|0)|0;m=c[k+-4>>2]|0;c[j>>2]=f;c[j+4>>2]=d;c[j+8>>2]=e;c[j+12>>2]=g;g=j+16|0;e=j+20|0;d=j+24|0;k=j+28|0;n=j+32|0;o=j+40|0;p=(m|0)==(f|0);q=g;r=q+36|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(p){c[j+48>>2]=1;tb[c[(c[f>>2]|0)+20>>2]&31](f,j,l,l,1,0);s=(c[d>>2]|0)==1?l:0}else{lb[c[(c[m>>2]|0)+24>>2]&31](m,j,l,1,0);switch(c[j+36>>2]|0){case 0:{s=(c[o>>2]|0)==1&(c[k>>2]|0)==1&(c[n>>2]|0)==1?c[e>>2]|0:0;break a;break}case 1:break;default:{s=0;break a}}if((c[d>>2]|0)!=1?!((c[o>>2]|0)==0&(c[k>>2]|0)==1&(c[n>>2]|0)==1):0){s=0;break}s=c[g>>2]|0}while(0);i=h;return s|0}function Gn(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;if((a|0)==(c[b+8>>2]|0))Hn(0,b,d,e,f);else{h=c[a+8>>2]|0;tb[c[(c[h>>2]|0)+20>>2]&31](h,b,d,e,f,g)}return}function Hn(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;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;h=c[b>>2]|0;if(!h){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;a[d+54>>0]=1;break}h=d+24|0;b=c[h>>2]|0;if((b|0)==2){c[h>>2]=g;i=g}else i=b;if((i|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function In(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,l=0,m=0,n=0,o=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){h=c[b+8>>2]|0;lb[c[(c[h>>2]|0)+24>>2]&31](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;j=d+52|0;a[j>>0]=0;k=d+53|0;a[k>>0]=0;l=c[b+8>>2]|0;tb[c[(c[l>>2]|0)+20>>2]&31](l,d,e,e,1,g);if(a[k>>0]|0)if(!(a[j>>0]|0)){m=1;n=13}else n=17;else{m=0;n=13}do if((n|0)==13){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(m){n=17;break}else{o=4;break}}if(m)n=17;else o=4}while(0);if((n|0)==17)o=3;c[i>>2]=o;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Jn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((a|0)==(c[b+8>>2]|0))Kn(0,b,d,e);else{f=c[a+8>>2]|0;wb[c[(c[f>>2]|0)+28>>2]&31](f,b,d,e)}return}function Kn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}h=d+24|0;if((c[h>>2]|0)==2)c[h>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Ln(a){a=a|0;Bn(a);return}function Mn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hn(0,b,d,e,f);return}function Nn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(g=d+28|0,(c[g>>2]|0)!=1):0)c[g>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(g=d+20|0,(c[g>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[g>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function On(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Kn(0,b,d,e);return}function Pn(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a;a=un()|0;if((a|0?(e=c[a>>2]|0,e|0):0)?(a=e+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0){rb[c[e+12>>2]&31]();xn(30840,d)}d=c[711]|0;c[711]=d+0;rb[d&31]();xn(30840,b)}function Qn(a){a=a|0;return}function Rn(a){a=a|0;return}function Sn(a){a=a|0;Bn(a);return}function Tn(a){a=a|0;return 30893}function Un(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==0?1:a;while(1){a=bn(b)|0;if(a|0){d=a;e=6;break}a=Vn()|0;if(!a){e=5;break}rb[a&31]()}if((e|0)==5){b=La(4)|0;c[b>>2]=2936;$a(b|0,216,39)}else if((e|0)==6)return d|0;return 0}function Vn(){var a=0;a=c[8844]|0;c[8844]=a+0;return a|0}function Wn(a){a=a|0;return Un(a)|0}function Xn(a){a=a|0;Bn(a);return}function Yn(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;c[f>>2]=c[d>>2];g=kb[c[(c[a>>2]|0)+16>>2]&127](a,b,f)|0;if(g)c[d>>2]=c[f>>2];i=e;return g&1|0}function Zn(a){a=a|0;var b=0;if(!a)b=0;else b=(Fn(a,192,248,0)|0)!=0;return b&1|0}function _n(){}function $n(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (C=e,a-c>>>0|0)|0}function ao(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;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function bo(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;p=p+1|0;c[a>>2]=p;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=p;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;C=e;return d|0}f=f+1|0}e=e*2|0;d=dn(d|0,8*(e+1|0)|0)|0;d=co(a|0,b|0,d|0,e|0)|0;C=e;return d|0}function eo(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)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function fo(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)-1)<<32-c}C=0;return b>>>c-32|0}function go(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function io(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ra(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 jo(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 io(b,c,d)|0;return b|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;c=aa(b)|0;if((c|0)==32)c=c+(aa(a)|0)|0;C=0;return c|0}function lo(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 mo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=_(d,c)|0;f=a>>>16;a=(e>>>16)+(_(d,f)|0)|0;d=b>>>16;b=_(d,c)|0;return (C=(a>>>16)+(_(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function no(a,b,c,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=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=$n(e^a|0,f^b|0,e|0,f|0)|0;b=C;a=g^e;e=h^f;return $n((so(i,b,$n(g^c|0,h^d|0,g|0,h|0)|0,C,0)|0)^a|0,C^e|0,a|0,e|0)|0}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,j=0,k=0,l=0,m=0;f=i;i=i+16|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=$n(h^a|0,j^b|0,h|0,j|0)|0;b=C;so(m,b,$n(k^d|0,l^e|0,k|0,l|0)|0,C,g)|0;l=$n(c[g>>2]^h|0,c[g+4>>2]^j|0,h|0,j|0)|0;j=C;i=f;return (C=j,l)|0}function po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=mo(e,a)|0;f=C;return (C=(_(b,a)|0)+(_(d,e)|0)+f|f&0,c|0|0)|0}function qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return so(a,b,c,d,0)|0}function ro(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f|0;so(a,b,d,e,g)|0;i=f;return (C=c[g+4>>2]|0,c[g>>2]|0)|0}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,l=0,m=0,n=0,o=0,p=0,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;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (C=n,o)|0}else{if(!m){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(aa(l|0)|0)-(aa(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}r=j-1|0;if(r&j|0){s=(aa(j|0)|0)+33-(aa(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (C=n,o)|0}else{r=lo(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (C=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (C=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((lo(l|0)|0)>>>0);return (C=n,o)|0}r=(aa(l|0)|0)-(aa(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}while(0);if(!t){B=x;D=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=ho(b|0,d|0,-1,-1)|0;k=C;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;$n(e|0,k|0,g|0,a|0)|0;i=C;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=$n(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=C;u=u-1|0}while((u|0)!=0);B=h;D=x;E=w;F=v;G=0;H=t}t=D;D=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|D)<<1|(D<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (C=n,o)|0}function to(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;return jb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function uo(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 ea(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function vo(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 ea(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|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;return ea(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|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;return ea(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function yo(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 ea(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function zo(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 ea(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ao(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 ea(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bo(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 ea(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Co(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 ea(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Do(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 ea(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kb[a&127](b|0,c|0,d|0)|0}function Fo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(0,a|0,b|0,c|0)|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;return ga(1,a|0,b|0,c|0)|0}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;return ga(2,a|0,b|0,c|0)|0}function Io(a,b,c){a=a|0;b=b|0;c=c|0;return ga(3,a|0,b|0,c|0)|0}function Jo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(4,a|0,b|0,c|0)|0}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;return ga(5,a|0,b|0,c|0)|0}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(6,a|0,b|0,c|0)|0}function Mo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(7,a|0,b|0,c|0)|0}function No(a,b,c){a=a|0;b=b|0;c=c|0;return ga(8,a|0,b|0,c|0)|0}function Oo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(9,a|0,b|0,c|0)|0}function Po(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;lb[a&31](b|0,c|0,d|0,e|0,f|0)}function Qo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(0,a|0,b|0,c|0,d|0,e|0)}function Ro(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(1,a|0,b|0,c|0,d|0,e|0)}function So(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(2,a|0,b|0,c|0,d|0,e|0)}function To(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(3,a|0,b|0,c|0,d|0,e|0)}function Uo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(4,a|0,b|0,c|0,d|0,e|0)}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(5,a|0,b|0,c|0,d|0,e|0)}function Wo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(6,a|0,b|0,c|0,d|0,e|0)}function Xo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(7,a|0,b|0,c|0,d|0,e|0)}function Yo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(8,a|0,b|0,c|0,d|0,e|0)}function Zo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(9,a|0,b|0,c|0,d|0,e|0)}function _o(a,b){a=a|0;b=b|0;mb[a&63](b|0)}function $o(a){a=a|0;ka(0,a|0)}function ap(a){a=a|0;ka(1,a|0)}function bp(a){a=a|0;ka(2,a|0)}function cp(a){a=a|0;ka(3,a|0)}function dp(a){a=a|0;ka(4,a|0)}function ep(a){a=a|0;ka(5,a|0)}function fp(a){a=a|0;ka(6,a|0)}function gp(a){a=a|0;ka(7,a|0)}function hp(a){a=a|0;ka(8,a|0)}function ip(a){a=a|0;ka(9,a|0)}function jp(a,b,c){a=a|0;b=b|0;c=c|0;nb[a&31](b|0,c|0)}function kp(a,b){a=a|0;b=b|0;ma(0,a|0,b|0)}function lp(a,b){a=a|0;b=b|0;ma(1,a|0,b|0)}function mp(a,b){a=a|0;b=b|0;ma(2,a|0,b|0)}function np(a,b){a=a|0;b=b|0;ma(3,a|0,b|0)}function op(a,b){a=a|0;b=b|0;ma(4,a|0,b|0)}function pp(a,b){a=a|0;b=b|0;ma(5,a|0,b|0)}function qp(a,b){a=a|0;b=b|0;ma(6,a|0,b|0)}function rp(a,b){a=a|0;b=b|0;ma(7,a|0,b|0)}function sp(a,b){a=a|0;b=b|0;ma(8,a|0,b|0)}function tp(a,b){a=a|0;b=b|0;ma(9,a|0,b|0)}function up(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 ob[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}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;return oa(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}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;return oa(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(4,a|0,b|0,c|0,d|0,e|0,f|0)|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;return oa(5,a|0,b|0,c|0,d|0,e|0,f|0)|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;return oa(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Cp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Dp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Ep(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Fp(a,b){a=a|0;b=b|0;return pb[a&127](b|0)|0}function Gp(a){a=a|0;return qa(0,a|0)|0}function Hp(a){a=a|0;return qa(1,a|0)|0}function Ip(a){a=a|0;return qa(2,a|0)|0}function Jp(a){a=a|0;return qa(3,a|0)|0}function Kp(a){a=a|0;return qa(4,a|0)|0}function Lp(a){a=a|0;return qa(5,a|0)|0}function Mp(a){a=a|0;return qa(6,a|0)|0}function Np(a){a=a|0;return qa(7,a|0)|0}function Op(a){a=a|0;return qa(8,a|0)|0}function Pp(a){a=a|0;return qa(9,a|0)|0}function Qp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&31](b|0,c|0,d|0)}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;sa(0,a|0,b|0,c|0)}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;sa(1,a|0,b|0,c|0)}function Tp(a,b,c){a=a|0;b=b|0;c=c|0;sa(2,a|0,b|0,c|0)}function Up(a,b,c){a=a|0;b=b|0;c=c|0;sa(3,a|0,b|0,c|0)}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;sa(4,a|0,b|0,c|0)}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;sa(5,a|0,b|0,c|0)}function Xp(a,b,c){a=a|0;b=b|0;c=c|0;sa(6,a|0,b|0,c|0)}function Yp(a,b,c){a=a|0;b=b|0;c=c|0;sa(7,a|0,b|0,c|0)}function Zp(a,b,c){a=a|0;b=b|0;c=c|0;sa(8,a|0,b|0,c|0)}function _p(a,b,c){a=a|0;b=b|0;c=c|0;sa(9,a|0,b|0,c|0)}function $p(a){a=a|0;rb[a&31]()}function aq(){ua(0)}function bq(){ua(1)}function cq(){ua(2)}function dq(){ua(3)}function eq(){ua(4)}function fq(){ua(5)}function gq(){ua(6)}function hq(){ua(7)}function iq(){ua(8)}function jq(){ua(9)}function kq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sb[a&63](b|0,c|0,d|0,e|0)|0}function lq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(0,a|0,b|0,c|0,d|0)|0}function mq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(1,a|0,b|0,c|0,d|0)|0}function nq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(2,a|0,b|0,c|0,d|0)|0}function oq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(3,a|0,b|0,c|0,d|0)|0}function pq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(4,a|0,b|0,c|0,d|0)|0}function qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(5,a|0,b|0,c|0,d|0)|0}function rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(6,a|0,b|0,c|0,d|0)|0}function sq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(7,a|0,b|0,c|0,d|0)|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(8,a|0,b|0,c|0,d|0)|0}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(9,a|0,b|0,c|0,d|0)|0}function vq(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;tb[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function wq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(0,a|0,b|0,c|0,d|0,e|0,f|0)}function xq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(1,a|0,b|0,c|0,d|0,e|0,f|0)}function yq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(2,a|0,b|0,c|0,d|0,e|0,f|0)}function zq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(3,a|0,b|0,c|0,d|0,e|0,f|0)}function Aq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(4,a|0,b|0,c|0,d|0,e|0,f|0)}function Bq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(5,a|0,b|0,c|0,d|0,e|0,f|0)}function Cq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(6,a|0,b|0,c|0,d|0,e|0,f|0)}function Dq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(7,a|0,b|0,c|0,d|0,e|0,f|0)}function Eq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(8,a|0,b|0,c|0,d|0,e|0,f|0)}function Fq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(9,a|0,b|0,c|0,d|0,e|0,f|0)}function Gq(a,b,c){a=a|0;b=b|0;c=c|0;return ub[a&255](b|0,c|0)|0}function Hq(a,b){a=a|0;b=b|0;return Aa(0,a|0,b|0)|0}function Iq(a,b){a=a|0;b=b|0;return Aa(1,a|0,b|0)|0}function Jq(a,b){a=a|0;b=b|0;return Aa(2,a|0,b|0)|0}function Kq(a,b){a=a|0;b=b|0;return Aa(3,a|0,b|0)|0}function Lq(a,b){a=a|0;b=b|0;return Aa(4,a|0,b|0)|0}function Mq(a,b){a=a|0;b=b|0;return Aa(5,a|0,b|0)|0}function Nq(a,b){a=a|0;b=b|0;return Aa(6,a|0,b|0)|0}function Oq(a,b){a=a|0;b=b|0;return Aa(7,a|0,b|0)|0}function Pq(a,b){a=a|0;b=b|0;return Aa(8,a|0,b|0)|0}function Qq(a,b){a=a|0;b=b|0;return Aa(9,a|0,b|0)|0}function Rq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return vb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Sq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(0,a|0,b|0,c|0,d|0,e|0)|0}function Tq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(1,a|0,b|0,c|0,d|0,e|0)|0}function Uq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(2,a|0,b|0,c|0,d|0,e|0)|0}function Vq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(3,a|0,b|0,c|0,d|0,e|0)|0}function Wq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(4,a|0,b|0,c|0,d|0,e|0)|0}function Xq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(5,a|0,b|0,c|0,d|0,e|0)|0}function Yq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(6,a|0,b|0,c|0,d|0,e|0)|0}function Zq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(7,a|0,b|0,c|0,d|0,e|0)|0}function _q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(8,a|0,b|0,c|0,d|0,e|0)|0}function $q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(9,a|0,b|0,c|0,d|0,e|0)|0}function ar(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;wb[a&31](b|0,c|0,d|0,e|0)}function br(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(0,a|0,b|0,c|0,d|0)}function cr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(1,a|0,b|0,c|0,d|0)}function dr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(2,a|0,b|0,c|0,d|0)}function er(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(3,a|0,b|0,c|0,d|0)}function fr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(4,a|0,b|0,c|0,d|0)}function gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(5,a|0,b|0,c|0,d|0)}function hr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(6,a|0,b|0,c|0,d|0)}function ir(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(7,a|0,b|0,c|0,d|0)}function jr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(8,a|0,b|0,c|0,d|0)}function kr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(9,a|0,b|0,c|0,d|0)}function lr(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;ba(0);return 0}function mr(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function nr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(2)}function or(a){a=a|0;ba(3)}function pr(a,b){a=a|0;b=b|0;ba(4)}function qr(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(5);return 0}function rr(a){a=a|0;ba(6);return 0}function sr(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}function tr(){ba(8)}function ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 0}function vr(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(10)}function wr(a,b){a=a|0;b=b|0;ba(11);return 0}function xr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(12);return 0}function yr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(13)} -function xb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function yb(){return i|0}function zb(a){a=a|0;i=a}function Ab(a,b){a=a|0;b=b|0;i=a;j=b}function Bb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Cb(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 Db(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 Eb(a){a=a|0;C=a}function Fb(){return C|0}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;return Xd(a,b,c)|0}function Hb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=Un(8)|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[e>>2]=0;c[f>>2]=ve(a,e,b)|0;c[f+4>>2]=c[e>>2];i=d;return f|0}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;return we(a,b,c)|0}function Kb(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+48|0;j=h+16|0;k=h+8|0;l=h;pi(j);m=(d|0)!=0;c[k>>2]=m?j:0;a[k+4>>0]=(e|0)!=0&1;a[k+5>>0]=(f|0)!=0&1;a[k+6>>0]=(g|0)!=0&1;vi(l);g=uc(b)|0;b=Un(12)|0;f=b+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;e=Je(l,g,k)|0;c[b>>2]=e;if(!e){c[b+4>>2]=wi(l)|0;if(m)n=wi(j+16|0)|0;else n=0;c[f>>2]=n}c[l>>2]=1520;n=l+4|0;l=c[n>>2]|0;c[n>>2]=0;if(l|0){n=c[l>>2]|0;if(n|0){f=l+4|0;if((c[f>>2]|0)!=(n|0))c[f>>2]=n;Bn(n)}Bn(l)}c[j+16>>2]=1520;l=j+20|0;j=c[l>>2]|0;c[l>>2]=0;if(!j){i=h;return b|0}l=c[j>>2]|0;if(l|0){n=j+4|0;if((c[n>>2]|0)!=(l|0))c[n>>2]=l;Bn(l)}Bn(j);i=h;return b|0}function Lb(a){a=a|0;if(!a)return;Mb(a);Bn(a);return}function Mb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[a+20>>2]|0;if(b|0){d=b;do{b=d;d=c[d>>2]|0;kn(b+8|0);Bn(b)}while((d|0)!=0)}d=a+12|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0)Bn(b);b=c[a>>2]|0;if(!b)return;d=a+4|0;e=c[d>>2]|0;if((e|0)==(b|0))f=b;else{g=e;do{e=g+-4|0;c[d>>2]=e;h=c[e>>2]|0;c[e>>2]=0;if(h|0){Pd(h);Bn(h)}g=c[d>>2]|0}while((g|0)!=(b|0));f=c[a>>2]|0}Bn(f);return}function Nb(a){a=a|0;Wd(a);return}function Ob(){var a=0;a=Un(20)|0;gc(a,80);return a|0}function Pb(b){b=b|0;var d=0,e=0;d=b+8|0;if(!(a[d>>0]&1)){e=d+1|0;return e|0}else{e=c[b+16>>2]|0;return e|0}return 0}function Qb(b){b=b|0;var d=0,e=0;d=a[b+8>>0]|0;if(!(d&1)){e=(d&255)>>>1;return e|0}else{e=c[b+12>>2]|0;return e|0}return 0}function Rb(a){a=a|0;if(!a)return;mb[c[(c[a>>2]|0)+4>>2]&63](a);return}function Sb(a){a=a|0;return c[a>>2]|0}function Tb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function Ub(a){a=a|0;var b=0,d=0;if(!a)return;b=a+4|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0){Mb(d);Bn(d)}Bn(a);return}function Vb(a){a=a|0;return c[a>>2]|0}function Wb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function Xb(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function Yb(a){a=a|0;var b=0,d=0,e=0;if(!a)return;b=a+8|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0){b=c[d>>2]|0;if(b|0){e=d+4|0;if((c[e>>2]|0)!=(b|0))c[e>>2]=b;Bn(b)}Bn(d)}d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0){e=b+4|0;if((c[e>>2]|0)!=(d|0))c[e>>2]=d;Bn(d)}Bn(b)}Bn(a);return}function Zb(a){a=a|0;return c[a>>2]|0}function _b(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)|0}function $b(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;if(b|0){d=a+4|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;Bn(b)}Bn(a);return}function ac(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;d=i;i=i+16|0;j=d;k=c[e+4>>2]|0;l=e+8|0;m=c[l>>2]|0;n=(a[f>>0]&1)==0?f+1|0:c[f+8>>2]|0;c[j>>2]=c[e>>2];c[j+4>>2]=k;c[j+8>>2]=m;c[j+12>>2]=n;bc(b,7230,j);j=a[g>>0]|0;n=(j&1)==0;m=g+4|0;k=n?(j&255)>>>1:c[m>>2]|0;if(!k){i=d;return}qn(b,n?g+1|0:c[g+8>>2]|0,k)|0;rn(b,10);k=c[l>>2]|0;l=k+~h|0;h=(c[e+12>>2]|0)-k|0;k=a[g>>0]|0;g=((k&1)==0?(k&255)>>>1:c[m>>2]|0)-l|0;m=g>>>0<h>>>0?g:h;on(b,l,32)|0;on(b,(m|0)==0?1:m,94)|0;rn(b,10);i=d;return}function bc(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;f=i;i=i+48|0;g=f+32|0;h=f+16|0;j=f;c[g>>2]=e;c[h>>2]=c[g>>2];e=fm(0,0,d,g)|0;g=e+1|0;c[j>>2]=0;k=j+4|0;c[k>>2]=0;c[j+8>>2]=0;if(g|0){if((e|0)<-1)sn(j);l=Un(g)|0;c[k>>2]=l;c[j>>2]=l;c[j+8>>2]=l+g;m=g;n=l;do{a[n>>0]=0;n=(c[k>>2]|0)+1|0;c[k>>2]=n;m=m+-1|0}while((m|0)!=0)}fm(c[j>>2]|0,g,d,h)|0;jn(b,c[j>>2]|0,e);e=c[j>>2]|0;if(!e){i=f;return}if((c[k>>2]|0)!=(e|0))c[k>>2]=e;Bn(e);i=f;return}function cc(a){a=a|0;c[a>>2]=272;kn(a+8|0);return}function dc(a){a=a|0;c[a>>2]=272;kn(a+8|0);Bn(a);return}function ec(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;h=i;i=i+16|0;j=h;ac(j,0,d,e,f,g);g=a[j>>0]|0;f=(g&1)==0;qn(b+8|0,f?j+1|0:c[j+8>>2]|0,f?(g&255)>>>1:c[j+4>>2]|0)|0;kn(j);i=h;return 1}function fc(a){a=a|0;return c[a+4>>2]|0}function gc(a,b){a=a|0;b=b|0;c[a>>2]=272;c[a+4>>2]=b;b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function hc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;jn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a,e)|0;kn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function ic(e,f){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,q=0,r=0,s=0,t=0,u=0,v=0;g=a[f>>0]|0;h=(g&1)==0;i=h?f+1|0:c[f+8>>2]|0;j=h?(g&255)>>>1:c[f+4>>2]|0;if(j>>>0>3){f=j;g=i;h=j;while(1){k=_(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,1540483477)|0;l=(_(k>>>24^k,1540483477)|0)^(_(h,1540483477)|0);f=f+-4|0;if(f>>>0<=3){m=l;break}else{g=g+4|0;h=l}}h=j+-4|0;g=h&-4;n=h-g|0;o=i+(g+4)|0;p=m}else{n=j;o=i;p=j}switch(n|0){case 3:{q=d[o+2>>0]<<16^p;r=6;break}case 2:{q=p;r=6;break}case 1:{s=p;r=7;break}default:t=p}if((r|0)==6){s=d[o+1>>0]<<8^q;r=7}if((r|0)==7)t=_(d[o>>0]^s,1540483477)|0;s=_(t>>>13^t,1540483477)|0;t=s>>>15^s;s=c[e+4>>2]|0;if(!s){u=0;return u|0}o=s+-1|0;q=(o&s|0)==0;if(q)v=t&o;else v=(t>>>0)%(s>>>0)|0;t=c[(c[e>>2]|0)+(v<<2)>>2]|0;if(!t){u=0;return u|0}e=c[t>>2]|0;if(!e){u=0;return u|0}t=(j|0)==0;if(q){q=e;a:while(1){if((c[q+4>>2]&o|0)!=(v|0)){u=0;r=35;break}p=q+8|0;n=b[p>>1]|0;m=(n&1)==0;g=(n&254)>>>1;h=(n&65535)>>>8&255;do if(((m?g:c[q+12>>2]|0)|0)==(j|0)){if(!m)if(!(vm(c[q+16>>2]|0,i,j)|0)){u=q;r=35;break a}else break;if(t){u=q;r=35;break a}if(h<<24>>24==(a[i>>0]|0)){n=g;f=p+1|0;l=i;do{n=n+-1|0;f=f+1|0;if(!n){u=q;r=35;break a}l=l+1|0}while((a[f>>0]|0)==(a[l>>0]|0))}}while(0);q=c[q>>2]|0;if(!q){u=0;r=35;break}}if((r|0)==35)return u|0}else{q=e;b:while(1){if((((c[q+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(v|0)){u=0;r=35;break}e=q+8|0;o=b[e>>1]|0;p=(o&1)==0;g=(o&254)>>>1;h=(o&65535)>>>8&255;do if(((p?g:c[q+12>>2]|0)|0)==(j|0)){if(!p)if(!(vm(c[q+16>>2]|0,i,j)|0)){u=q;r=35;break b}else break;if(t){u=q;r=35;break b}if(h<<24>>24==(a[i>>0]|0)){o=g;m=e+1|0;l=i;do{o=o+-1|0;m=m+1|0;if(!o){u=q;r=35;break b}l=l+1|0}while((a[m>>0]|0)==(a[l>>0]|0))}}while(0);q=c[q>>2]|0;if(!q){u=0;r=35;break}}if((r|0)==35)return u|0}return 0}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;jn(e,c[b>>2]|0,c[b+4>>2]|0);b=ic(a+200|0,e)|0;kn(e);if(!b){f=0;i=d;return f|0}e=c[b+36>>2]|0;if((e|0)==-1){f=0;i=d;return f|0}f=c[(c[a+84>>2]|0)+(e<<2)>>2]|0;i=d;return f|0}function kc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;jn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+160|0,e)|0;kn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function lc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;jn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+180|0,e)|0;kn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function mc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;jn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+240|0,e)|0;kn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function nc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;jn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+260|0,e)|0;kn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function oc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;jn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+220|0,e)|0;kn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if(!(c[b+16>>2]|0)){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;b=g+4|0;jn(e,c[g>>2]|0,c[b>>2]|0);h=ic(a+84|0,e)|0;kn(e);if(h){j=c[h+36>>2]|0;if((j|0)!=-1){f=j;i=d;return f|0}}jn(e,c[g>>2]|0,c[b>>2]|0);b=ic(a+104|0,e)|0;kn(e);if(!b){f=-1;i=d;return f|0}e=c[b+36>>2]|0;if((e|0)==-1){f=-1;i=d;return f|0}f=((c[a+52>>2]|0)-(c[a+48>>2]|0)>>2)+e|0;i=d;return f|0}function qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((c[b+16>>2]|0)==1){f=b+24|0;jn(e,c[f>>2]|0,c[f+4>>2]|0);f=ic(a+160|0,e)|0;kn(e);if(!f)g=-1;else g=c[f+36>>2]|0;h=g}else h=c[b+24>>2]|0;if((h|0)<0){j=0;i=d;return j|0}b=c[a+48>>2]|0;if(h>>>0>=(c[a+52>>2]|0)-b>>2>>>0){j=0;i=d;return j|0}j=c[b+(h<<2)>>2]|0;i=d;return j|0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((c[b+16>>2]|0)==1){f=b+24|0;jn(e,c[f>>2]|0,c[f+4>>2]|0);f=ic(a+180|0,e)|0;kn(e);if(!f)g=-1;else g=c[f+36>>2]|0;h=g}else h=c[b+24>>2]|0;if((h|0)<0){j=0;i=d;return j|0}b=c[a+60>>2]|0;if(h>>>0>=(c[a+64>>2]|0)-b>>2>>>0){j=0;i=d;return j|0}j=c[b+(h<<2)>>2]|0;i=d;return j|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((c[b+16>>2]|0)==1){f=b+24|0;jn(e,c[f>>2]|0,c[f+4>>2]|0);f=ic(a+220|0,e)|0;kn(e);if(!f)g=-1;else g=c[f+36>>2]|0;h=g}else h=c[b+24>>2]|0;if((h|0)<0){j=0;i=d;return j|0}b=c[a+96>>2]|0;if(h>>>0>=(c[a+100>>2]|0)-b>>2>>>0){j=0;i=d;return j|0}j=c[b+(h<<2)>>2]|0;i=d;return j|0}function tc(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;e=i;i=i+16|0;f=e;if(a[d>>0]|0){if((c[d+24>>2]|0)!=1){g=c[d+32>>2]|0;i=e;return g|0}h=d+32|0;jn(f,c[h>>2]|0,c[h+4>>2]|0);h=ic(b+220|0,f)|0;kn(f);if(!h)j=-1;else j=c[h+36>>2]|0;g=j;i=e;return g|0}j=c[b+100>>2]|0;h=c[b+96>>2]|0;b=h;if((j|0)==(h|0)){g=-1;i=e;return g|0}f=c[d+40>>2]|0;k=(c[d+44>>2]|0)-f|0;l=d+52|0;m=d+56|0;d=f;f=j-h>>2;h=0;a:while(1){j=c[b+(h<<2)>>2]|0;n=c[j+12>>2]|0;o=c[j+8>>2]|0;p=o;q=n;b:do if((n-o|0)==(k|0)){if((p|0)!=(q|0)){r=p;s=d;while(1){if((c[r>>2]|0)!=(c[s>>2]|0))break b;r=r+4|0;if((r|0)==(q|0))break;else s=s+4|0}}s=c[j+24>>2]|0;r=c[j+20>>2]|0;t=c[l>>2]|0;u=r;v=s;if((s-r|0)==((c[m>>2]|0)-t|0)){if((u|0)==(v|0)){g=h;w=19;break a}r=u;u=t;while(1){if((c[r>>2]|0)!=(c[u>>2]|0))break b;r=r+4|0;if((r|0)==(v|0)){g=h;w=19;break a}else u=u+4|0}}}while(0);h=h+1|0;if(h>>>0>=f>>>0){g=-1;w=19;break}}if((w|0)==19){i=e;return g|0}return 0}function uc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[a>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0)){e=0;return e|0}else f=b;while(1){b=c[f>>2]|0;f=f+4|0;if(!(c[b>>2]|0)){g=b;break}if((f|0)==(d|0)){e=0;h=5;break}}if((h|0)==5)return e|0;e=c[g+8>>2]|0;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((c[b+16>>2]|0)==1){f=b+24|0;jn(e,c[f>>2]|0,c[f+4>>2]|0);f=ic(a+12|0,e)|0;kn(e);if(!f)g=-1;else g=c[f+36>>2]|0;h=g}else h=c[b+24>>2]|0;if((h|0)<0){j=0;i=d;return j|0}b=c[a>>2]|0;if(h>>>0>=(c[a+4>>2]|0)-b>>2>>>0){j=0;i=d;return j|0}j=c[(c[b+(h<<2)>>2]|0)+8>>2]|0;i=d;return j|0}function wc(a,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,l=0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if((g|0)==(e|0)){h=g;i=e}else{j=g;while(1){g=j+-12|0;c[f>>2]=g;kn(g);g=c[f>>2]|0;if((g|0)==(e|0)){k=g;break}else j=g}h=k;i=c[d>>2]|0}k=(c[a+4>>2]|0)-(c[a>>2]|0)>>2;a=(h-i|0)/12|0;j=i;if(k>>>0<=a>>>0){if(k>>>0<a>>>0?(i=j+(k*12|0)|0,(h|0)!=(i|0)):0){j=h;do{h=j+-12|0;c[f>>2]=h;kn(h);j=c[f>>2]|0}while((j|0)!=(i|0))}}else xc(d,k-a|0);a=c[b+8>>2]|0;if(!a)return;else l=a;do{a=l;ln((c[d>>2]|0)+((c[a+36>>2]|0)*12|0)|0,a+8|0)|0;l=c[l>>2]|0}while((l|0)!=0);return}function xc(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;d=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(((e-g|0)/12|0)>>>0>=b>>>0){h=b;i=g;do{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;i=(c[f>>2]|0)+12|0;c[f>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=c[a>>2]|0;i=((g-h|0)/12|0)+b|0;if(i>>>0>357913941)sn(a);g=(e-h|0)/12|0;if(g>>>0<178956970){e=g<<1;g=e>>>0<i>>>0?i:e;e=((c[f>>2]|0)-h|0)/12|0;if(!g){j=0;k=0;l=e}else{m=g;n=e;o=9}}else{m=357913941;n=((c[f>>2]|0)-h|0)/12|0;o=9}if((o|0)==9){j=m;k=Un(m*12|0)|0;l=n}n=k+(l*12|0)|0;l=n;m=k+(j*12|0)|0;j=b;b=n;k=l;while(1){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=k+12|0;o=b;j=j+-1|0;if(!j){p=o;break}else k=o}k=m;m=c[a>>2]|0;j=c[f>>2]|0;if((j|0)==(m|0)){q=l;r=m;s=m}else{b=j;j=n;n=l;while(1){l=j+-12|0;b=b+-12|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;j=n+-12|0;l=j;if((b|0)==(m|0)){t=l;break}else n=l}q=t;r=c[a>>2]|0;s=c[f>>2]|0}c[a>>2]=q;c[f>>2]=p;c[d>>2]=k;k=r;if((s|0)!=(k|0)){d=s;do{d=d+-12|0;kn(d)}while((d|0)!=(k|0))}if(!r)return;Bn(r);return}function yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Un(56)|0;c[d+16>>2]=9;e=d+20|0;f=d;g=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));f=e;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=b+24|0;if(!(c[f>>2]|0)){c[f>>2]=d;h=b+28|0;c[h>>2]=d;return d|0}f=b+28|0;b=c[f>>2]|0;if(!b){h=f;c[h>>2]=d;return d|0}c[b+20>>2]=d;h=f;c[h>>2]=d;return d|0}function zc(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;f=Un(56)|0;g=f+16|0;c[g>>2]=9;h=f+20|0;i=f;j=i+16|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0));i=h;j=i+36|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h=d+24|0;if(c[h>>2]|0){k=d+28|0;l=c[k>>2]|0;if(!l)m=k;else{c[l+20>>2]=f;m=k}}else{c[h>>2]=f;m=d+28|0}c[m>>2]=f;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=4;g=Un(32)|0;i=g;j=i+32|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0));i=f+24|0;c[i>>2]=g;f=g+8|0;if((f|0)!=(e|0)){Ac(f,c[e>>2]|0,c[e+4>>2]|0);Ac(g+20|0,c[e+12>>2]|0,c[e+16>>2]|0)}e=d+100|0;g=c[e>>2]|0;if((g|0)==(c[d+104>>2]|0)){Bc(d+96|0,i);n=c[i>>2]|0;return n|0}else{c[g>>2]=c[i>>2];c[e>>2]=(c[e>>2]|0)+4;n=c[i>>2]|0;return n|0}return 0}function Ac(a,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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=b;f=d-e>>2;g=a+8|0;h=c[g>>2]|0;i=c[a>>2]|0;j=i;if(f>>>0<=h-i>>2>>>0){k=a+4|0;l=(c[k>>2]|0)-i>>2;m=f>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:d;o=l;p=o-e|0;jo(i|0,b|0,p|0)|0;q=j+(p>>2<<2)|0;if(!m){m=c[k>>2]|0;if((m|0)==(q|0))return;c[k>>2]=m+(~((m+-4-q|0)>>>2)<<2);return}if((l|0)==(d|0))return;l=c[k>>2]|0;q=(d+-4-o|0)>>>2;o=n;n=l;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(d|0))break;else n=n+4|0}c[k>>2]=l+(q+1<<2);return}q=i;if(!i)r=h;else{h=a+4|0;l=c[h>>2]|0;if((l|0)!=(j|0))c[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);Bn(q);c[g>>2]=0;c[h>>2]=0;c[a>>2]=0;r=0}if(f>>>0>1073741823)sn(a);h=r-0|0;if(h>>2>>>0<536870911){r=h>>1;h=r>>>0<f>>>0?f:r;if(h>>>0>1073741823)sn(a);else s=h}else s=1073741823;h=Un(s<<2)|0;r=a+4|0;c[r>>2]=h;c[a>>2]=h;c[g>>2]=h+(s<<2);if((b|0)==(d|0))return;s=(d+-4-e|0)>>>2;e=b;b=h;while(1){c[b>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else b=b+4|0}c[r>>2]=h+(s+1<<2);return}function Bc(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)sn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Un(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;io(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;Bn(e);return}function Cc(a){a=a|0;if((c[a+16>>2]|0)!=1)return;bi(a+24|0);return}function Dc(a){a=a|0;var b=0;if(!a)return;else b=a;do{a=b;b=c[b+20>>2]|0;Ec(a);Bn(a)}while((b|0)!=0);return}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do switch(c[a+16>>2]|0){case 1:{b=c[a+24>>2]|0;if(!b)return;Fc(b);Bn(b);return}case 2:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}case 3:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}case 4:{b=a+24|0;d=c[b>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;if((e|0)==(f|0))g=d;else{d=e;do{if((c[d+16>>2]|0)==1)bi(d+24|0);d=d+32|0}while((d|0)!=(f|0));g=c[b>>2]|0}if(g|0){f=c[g>>2]|0;d=f;if(f|0){e=g+4|0;h=c[e>>2]|0;if((h|0)!=(f|0))c[e>>2]=h+(~((h+-32-d|0)>>>5)<<5);Bn(f)}Bn(g)}if((c[a+48>>2]|0)!=1)return;bi(a+56|0);return}case 5:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}case 6:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}case 12:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}case 13:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}case 15:{f=a+24|0;d=c[f>>2]|0;if(d|0){Fc(d);Bn(d)}d=c[f+4>>2]|0;if(!d)return;else i=d;do{d=i;i=c[i+20>>2]|0;Ec(d);Bn(d)}while((i|0)!=0);return}case 17:{b=c[a+24>>2]|0;if(!b)return;Fc(b);Bn(b);return}case 21:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}case 22:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}case 24:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}default:return}while(0)}function Fc(a){a=a|0;var b=0,d=0;bi(a);b=c[a+20>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);Bn(b)}while((d|0)!=0)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;a=c[b>>2]|0;if((a|0)!=(d|0))c[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Bn(d);return}function Gc(a){a=a|0;Qa(a|0)|0;Pn()}function Hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[b+16>>2]=0;f=b+24|0;c[f>>2]=d;c[f+4>>2]=e;e=b;b=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));return}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;c[b+16>>2]=-1;c[b+24>>2]=e;e=b;b=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));return}function Jc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+16>>2]=-2;d=b+24|0;c[d>>2]=e;c[d+4>>2]=f;f=b;b=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));return}function Kc(b,d,e){b=b|0;d=d|0;e=e|0;c[b+16>>2]=-3;c[b+24>>2]=e;e=b;b=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));return}function Lc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+16>>2]=-4;d=b+24|0;c[d>>2]=e;c[d+4>>2]=f;f=b;b=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));return}function Mc(b){b=b|0;var c=0;c=b;b=c+24|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function Nc(b,d){b=b|0;d=d|0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=d;d=b;b=d;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=d+4|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;return}function Oc(b){b=b|0;var d=0,e=0,f=0,g=0;d=Un(64)|0;e=d+24|0;f=d;g=f+24|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[e>>2]=b;return d|0}function Pc(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=1;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function Qc(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=2;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Rc(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=3;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Un(64)|0;c[e+16>>2]=4;c[e+20>>2]=0;f=e;g=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[e+24>>2]=b;b=e+32|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];return e|0}function Tc(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=5;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Uc(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=6;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Vc(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=7;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function Wc(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=8;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Xc(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=9;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function Yc(){var b=0,d=0,e=0;b=Un(64)|0;c[b+16>>2]=10;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function Zc(){var b=0,d=0,e=0;b=Un(64)|0;c[b+16>>2]=11;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function _c(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=12;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function $c(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=13;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function ad(){var b=0,d=0,e=0;b=Un(64)|0;c[b+16>>2]=14;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Un(64)|0;c[e+16>>2]=15;c[e+20>>2]=0;f=e;g=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[e+24>>2]=b;c[e+28>>2]=d;return e|0}function cd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=Un(64)|0;c[g+16>>2]=16;c[g+20>>2]=0;h=g;i=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g+24>>2]=b;c[g+28>>2]=d;d=g+32|0;c[d>>2]=e;c[d+4>>2]=f;return g|0}function dd(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=17;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function ed(){var b=0,d=0,e=0;b=Un(64)|0;c[b+16>>2]=18;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function fd(){var b=0,d=0,e=0;b=Un(64)|0;c[b+16>>2]=19;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function gd(){var b=0,d=0,e=0;b=Un(64)|0;c[b+16>>2]=20;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function hd(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=21;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function id(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=22;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function jd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=Un(64)|0;c[g+16>>2]=23;c[g+20>>2]=0;h=g;i=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g+24>>2]=b;c[g+28>>2]=d;d=g+32|0;c[d>>2]=e;c[d+4>>2]=f;return g|0}function kd(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=24;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function ld(b){b=b|0;var d=0,e=0,f=0;d=Un(64)|0;c[d+16>>2]=25;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function md(){var b=0,d=0,e=0;b=Un(64)|0;c[b+16>>2]=26;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function nd(b){b=b|0;var c=0;c=b;b=c+32|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function od(a){a=a|0;var b=0,d=0,e=0,f=0;bi(a);b=c[a+20>>2]|0;d=b;if(b|0){e=a+24|0;f=c[e>>2]|0;if((f|0)!=(b|0))c[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Bn(b)}b=c[a+8>>2]|0;if(!b)return;d=a+12|0;a=c[d>>2]|0;if((a|0)!=(b|0))c[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);Bn(b);return}function pd(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[a+24>>2]|0)==1)bi(a+32|0);b=c[a+52>>2]|0;d=b;if(b|0){e=a+56|0;f=c[e>>2]|0;if((f|0)!=(b|0))c[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Bn(b)}b=c[a+40>>2]|0;if(!b)return;d=a+44|0;a=c[d>>2]|0;if((a|0)!=(b|0))c[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);Bn(b);return}function qd(b){b=b|0;var d=0,e=0,f=0;a[b+8>>0]=0;d=b+100|0;e=b+16|0;f=e+84|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));g[d>>2]=1.0;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+120>>2]=1.0;c[b+124>>2]=0;d=b;b=d;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=d+4|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;return}function rd(a){a=a|0;var b=0,d=0,e=0,f=0;bi(a);b=c[a+124>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);Bn(b)}while((d|0)!=0)}d=c[a+112>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;kn(d+8|0);Bn(d)}while((b|0)!=0)}b=a+104|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)Bn(d);d=c[a+92>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;kn(d+8|0);Bn(d)}while((b|0)!=0)}b=a+84|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)Bn(d);d=c[a+72>>2]|0;if(!d){e=a+8|0;pd(e);return}b=a+76|0;f=c[b>>2]|0;if((f|0)!=(d|0))c[b>>2]=f+(~((f+-4-d|0)>>>2)<<2);Bn(d);e=a+8|0;pd(e);return}function sd(b){b=b|0;var d=0;c[b+8>>2]=-64;a[b+12>>0]=0;c[b+16>>2]=0;d=b;b=d;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=d+4|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;return}function td(a){a=a|0;var b=0,d=0;bi(a);b=c[a+16>>2]|0;if(!b)return;else d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);Bn(b)}while((d|0)!=0);return}function ud(b){b=b|0;var c=0;c=b;b=c+32|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function vd(a){a=a|0;bi(a);return}function wd(b){b=b|0;var c=0;c=b;b=c+48|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+16>>2]|0)==1)bi(a+24|0);b=c[a+32>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);Bn(b)}while((d|0)!=0)}d=a+36|0;b=c[d>>2]|0;e=a+40|0;a=c[e>>2]|0;if((b|0)==(a|0))f=b;else{g=b;do{if((c[g+16>>2]|0)==1)bi(g+24|0);g=g+32|0}while((g|0)!=(a|0));f=c[d>>2]|0}if(!f)return;d=c[e>>2]|0;if((d|0)!=(f|0))c[e>>2]=d+(~((d+-32-f|0)>>>5)<<5);Bn(f);return}function yd(b){b=b|0;var c=0;c=b;b=c+44|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function zd(a){a=a|0;var b=0,d=0;if((c[a+16>>2]|0)==1)bi(a+24|0);b=c[a+32>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);Bn(b)}while((d|0)!=0)}d=c[a+36>>2]|0;if(!d)return;Xn(d);return}function Ad(b){b=b|0;var c=0;c=b;b=c+32|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function Bd(a){a=a|0;bi(a);return}function Cd(b){b=b|0;var c=0;c=b;b=c+24|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function Dd(a){a=a|0;var b=0,d=0;bi(a);bi(a+8|0);switch(c[a+16>>2]|0){case 0:{b=c[a+20>>2]|0;if(!b)return;rd(b);Bn(b);return}case 1:{b=c[a+20>>2]|0;if(!b)return;bi(b);Bn(b);return}case 2:{b=c[a+20>>2]|0;if(!b)return;bi(b);Bn(b);return}case 3:{b=c[a+20>>2]|0;if(!b)return;bi(b);a=c[b+16>>2]|0;if(a|0){d=a;do{a=d;d=c[d+20>>2]|0;Ec(a);Bn(a)}while((d|0)!=0)}Bn(b);return}default:return}}function Ed(b){b=b|0;var c=0,d=0;c=b;d=c;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;d=c+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;d=b+16|0;b=d+32|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(b|0));return}function Fd(a){a=a|0;bi(a);if((c[a+32>>2]|0)!=1)return;bi(a+40|0);return}function Gd(a){a=a|0;var b=0,d=0,e=0,f=0;do switch(c[a+16>>2]|0){case 0:{b=c[a+24>>2]|0;if(!b)return;rd(b);Bn(b);return}case 1:{b=c[a+24>>2]|0;if(!b)return;bi(b);d=c[b+16>>2]|0;if(d|0){e=d;do{d=e;e=c[e+20>>2]|0;Ec(d);Bn(d)}while((e|0)!=0)}Bn(b);return}case 2:{e=c[a+24>>2]|0;if(!e)return;Dd(e);Bn(e);return}case 3:{e=c[a+24>>2]|0;if(!e)return;bi(e);if((c[e+32>>2]|0)==1)bi(e+40|0);Bn(e);return}case 4:{e=c[a+24>>2]|0;if(!e)return;od(e);Bn(e);return}case 5:{e=c[a+24>>2]|0;if(!e)return;bi(e);Bn(e);return}case 6:{e=c[a+24>>2]|0;if(!e)return;xd(e);Bn(e);return}case 7:{e=c[a+24>>2]|0;if(!e)return;bi(e);Bn(e);return}case 8:{e=c[a+24>>2]|0;if(!e)return;if((c[e+16>>2]|0)==1)bi(e+24|0);d=c[e+32>>2]|0;if(d|0){f=d;do{d=f;f=c[f+20>>2]|0;Ec(d);Bn(d)}while((f|0)!=0)}f=c[e+36>>2]|0;if(f|0)Xn(f);Bn(e);return}case 9:{if((c[a+40>>2]|0)!=1)return;bi(a+48|0);return}default:return}while(0)}function Hd(b){b=b|0;var d=0;ao(b+24|0,0,152)|0;g[b+176>>2]=1.0;d=b+180|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+196>>2]=1.0;d=b+200|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+216>>2]=1.0;d=b+220|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+236>>2]=1.0;d=b+240|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+256>>2]=1.0;d=b+260|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+276>>2]=1.0;d=b;b=d+24|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(b|0));return}function Id(a){a=a|0;var b=0,d=0,e=0,f=0;bi(a+16|0);b=c[a+24>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Gd(b);Bn(b)}while((d|0)!=0)}d=c[a+268>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;kn(d+8|0);Bn(d)}while((b|0)!=0)}b=a+260|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)Bn(d);d=c[a+248>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;kn(d+8|0);Bn(d)}while((b|0)!=0)}b=a+240|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)Bn(d);d=c[a+228>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;kn(d+8|0);Bn(d)}while((b|0)!=0)}b=a+220|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)Bn(d);d=c[a+208>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;kn(d+8|0);Bn(d)}while((b|0)!=0)}b=a+200|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)Bn(d);d=c[a+188>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;kn(d+8|0);Bn(d)}while((b|0)!=0)}b=a+180|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)Bn(d);d=c[a+168>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;kn(d+8|0);Bn(d)}while((b|0)!=0)}b=a+160|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)Bn(d);d=c[a+144>>2]|0;b=d;if(d|0){e=a+148|0;f=c[e>>2]|0;if((f|0)!=(d|0))c[e>>2]=f+(~((f+-4-b|0)>>>2)<<2);Bn(d)}d=c[a+132>>2]|0;b=d;if(d|0){f=a+136|0;e=c[f>>2]|0;if((e|0)!=(d|0))c[f>>2]=e+(~((e+-4-b|0)>>>2)<<2);Bn(d)}d=c[a+120>>2]|0;b=d;if(d|0){e=a+124|0;f=c[e>>2]|0;if((f|0)!=(d|0))c[e>>2]=f+(~((f+-4-b|0)>>>2)<<2);Bn(d)}d=c[a+108>>2]|0;b=d;if(d|0){f=a+112|0;e=c[f>>2]|0;if((e|0)!=(d|0))c[f>>2]=e+(~((e+-4-b|0)>>>2)<<2);Bn(d)}d=c[a+96>>2]|0;b=d;if(d|0){e=a+100|0;f=c[e>>2]|0;if((f|0)!=(d|0))c[e>>2]=f+(~((f+-4-b|0)>>>2)<<2);Bn(d)}d=c[a+84>>2]|0;b=d;if(d|0){f=a+88|0;e=c[f>>2]|0;if((e|0)!=(d|0))c[f>>2]=e+(~((e+-4-b|0)>>>2)<<2);Bn(d)}d=c[a+72>>2]|0;b=d;if(d|0){e=a+76|0;f=c[e>>2]|0;if((f|0)!=(d|0))c[e>>2]=f+(~((f+-4-b|0)>>>2)<<2);Bn(d)}d=c[a+60>>2]|0;b=d;if(d|0){f=a+64|0;e=c[f>>2]|0;if((e|0)!=(d|0))c[f>>2]=e+(~((e+-4-b|0)>>>2)<<2);Bn(d)}d=c[a+48>>2]|0;if(!d)return;b=a+52|0;a=c[b>>2]|0;if((a|0)!=(d|0))c[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Bn(d);return}function Jd(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Kd(a){a=a|0;var b=0;if(!(c[a>>2]|0)){b=c[a+4>>2]|0;if(!b)return;Id(b);Bn(b);return}else{bi(a+20|0);b=c[a+28>>2]|0;if(!b)return;Xn(b);return}}function Ld(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Md(b){b=b|0;var d=0,e=0;c[b+16>>2]=1;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));d=b+24|0;e=d+40|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return}function Nd(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[a+40>>2]|0)==1)bi(a+48|0);bi(a+56|0);if(c[a+16>>2]|0)return;b=c[a+64>>2]|0;if(!b)return;a=c[b>>2]|0;d=a;if(a|0){e=b+4|0;f=c[e>>2]|0;if((f|0)!=(a|0))c[e>>2]=f+(~((f+-32-d|0)>>>5)<<5);Bn(a)}Bn(b);return}function Od(a){a=a|0;c[a>>2]=0;c[a+8>>2]=0;return}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;do switch(c[a>>2]|0){case 0:{b=c[a+8>>2]|0;if(!b)return;Id(b);Bn(b);return}case 1:{b=c[a+8>>2]|0;if(!b)return;Nd(b);Bn(b);return}case 2:{bi(a+8|0);if((c[a+32>>2]|0)!=1)return;bi(a+40|0);return}case 3:{b=c[a+8>>2]|0;if(b|0){if(!(c[b>>2]|0)){d=c[b+4>>2]|0;if(d|0){Id(d);Bn(d)}}else{bi(b+20|0);d=c[b+28>>2]|0;if(d|0)Xn(d)}Bn(b)}bi(a+12|0);return}case 5:case 4:{b=c[a+8>>2]|0;if(b|0){if(!(c[b>>2]|0)){d=c[b+4>>2]|0;if(d|0){Id(d);Bn(d)}}else{bi(b+20|0);d=c[b+28>>2]|0;if(d|0)Xn(d)}Bn(b)}bi(a+12|0);return}case 6:{b=c[a+8>>2]|0;if(b|0){if(!(c[b>>2]|0)){d=c[b+4>>2]|0;if(d|0){Id(d);Bn(d)}}else{bi(b+20|0);d=c[b+28>>2]|0;if(d|0)Xn(d)}Bn(b)}bi(a+12|0);return}case 7:{b=c[a+8>>2]|0;if(b|0){if(!(c[b>>2]|0)){d=c[b+4>>2]|0;if(d|0){Id(d);Bn(d)}}else{bi(b+20|0);d=c[b+28>>2]|0;if(d|0)Xn(d)}Bn(b)}bi(a+12|0);return}case 8:{b=c[a+8>>2]|0;if(b|0){Nd(b);Bn(b)}b=c[a+12>>2]|0;if(!b)return;d=c[b>>2]|0;e=d;if(d|0){f=b+4|0;g=c[f>>2]|0;if((g|0)!=(d|0))c[f>>2]=g+(~((g+-32-e|0)>>>5)<<5);Bn(d)}Bn(b);return}case 9:{b=c[a+8>>2]|0;if(!b)return;Nd(b);Bn(b);return}case 10:{b=c[a+8>>2]|0;if(!b)return;Nd(b);Bn(b);return}case 12:case 11:{b=c[a+8>>2]|0;if(b|0){Nd(b);Bn(b)}bi(a+12|0);return}default:return}while(0)}function Qd(a){a=a|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;g[a+28>>2]=1.0;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!a){d=0;return d|0}else e=a;while(1){if((Sd(e,b)|0)==1){d=1;f=4;break}e=c[e+20>>2]|0;if(!e){d=0;f=4;break}}if((f|0)==4)return d|0;return 0}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;do switch(c[a+16>>2]|0){case 0:{d=c[b+4>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 1:{d=c[b+8>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}d=c[(c[a+24>>2]|0)+20>>2]|0;a:do if(d|0){f=d;while(1){if((Sd(f,b)|0)==1){e=1;break}f=c[f+20>>2]|0;if(!f)break a}return e|0}while(0);d=c[b+12>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 2:{d=c[b+16>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 3:{d=c[b+20>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 4:{d=c[b+24>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 5:{d=c[b+28>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 6:{d=c[b+32>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 7:{d=c[b+36>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 8:{d=c[b+40>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 9:{d=c[b+44>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 10:{d=c[b+48>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 11:{d=c[b+52>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 12:{d=c[b+56>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 13:{d=c[b+60>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 14:{d=c[b+64>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 15:{d=c[b+68>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}d=a+24|0;f=c[(c[d>>2]|0)+20>>2]|0;b:do if(f|0){g=f;while(1){if((Sd(g,b)|0)==1){e=1;break}g=c[g+20>>2]|0;if(!g)break b}return e|0}while(0);f=c[b+72>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}f=c[d+4>>2]|0;c:do if(f|0){g=f;while(1){if((Sd(g,b)|0)==1){e=1;break}g=c[g+20>>2]|0;if(!g)break c}return e|0}while(0);f=c[b+76>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 16:{f=c[b+80>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 17:{f=c[b+84>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}f=c[(c[a+24>>2]|0)+20>>2]|0;d:do if(f|0){d=f;while(1){if((Sd(d,b)|0)==1){e=1;break}d=c[d+20>>2]|0;if(!d)break d}return e|0}while(0);f=c[b+88>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 18:{f=c[b+92>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 19:{f=c[b+96>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 20:{f=c[b+100>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 21:{f=c[b+104>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 22:{f=c[b+108>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 23:{f=c[b+112>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 24:{f=c[b+116>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 25:{f=c[b+120>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 26:{f=c[b+124>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}default:{}}while(0);e=0;return e|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+124>>2]|0;if(!d){e=0;return e|0}else f=d;while(1){if((Sd(f,b)|0)==1){e=1;g=4;break}f=c[f+20>>2]|0;if(!f){e=0;g=4;break}}if((g|0)==4)return e|0;return 0} +function Ud(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,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,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,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=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,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=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,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0;h=i;i=i+64|0;j=h+48|0;k=h+40|0;l=h+32|0;m=h+24|0;n=h+16|0;o=h+8|0;p=h;q=f+56|0;r=f+52|0;s=f+60|0;t=f+16|0;u=f+20|0;v=e+4|0;w=f+40|0;x=f+28|0;y=f+32|0;z=e+8|0;A=e+12|0;B=f+48|0;C=f+24|0;D=0;a:while(1){E=c[q>>2]|0;c[r>>2]=E;F=E;if((D|0)>=2){G=c[s>>2]|0;if((D|0)<3){if(G>>>0>F>>>0)H=F;else{if((Vd(f,1)|0)==1){I=62;break}H=c[q>>2]|0}if((a[H>>0]|0)==10){J=H+1|0;c[q>>2]=J;c[u>>2]=(c[u>>2]|0)+1;c[y>>2]=J-(c[w>>2]|0)+(c[x>>2]|0);D=0;continue}else K=H;while(1){J=K+1|0;c[q>>2]=J;if((c[s>>2]|0)>>>0>J>>>0)L=J;else{if((Vd(f,1)|0)==1){I=67;break a}L=c[q>>2]|0}if((a[L>>0]|0)==10){M=D;D=M;continue a}else K=L}}if((G-E|0)<2){if((Vd(f,2)|0)==1){I=47;break}N=c[q>>2]|0}else N=F;J=a[N>>0]|0;b:do if((J&255)>=40){if((J&255)<41){O=N+1|0;c[q>>2]=O;if((a[O>>0]|0)!=59){M=D;D=M;continue a}c[q>>2]=N+2;c[C>>2]=(c[C>>2]|0)+1;M=D;D=M;continue a}if(J<<24>>24==59){O=N+1|0;c[q>>2]=O;if((a[O>>0]|0)!=41){M=D;D=M;continue a}c[q>>2]=N+2;O=(c[C>>2]|0)+-1|0;c[C>>2]=O;D=(O|0)==0?0:D;continue a}}else{switch(J<<24>>24){case 0:{P=N;I=52;break a;break}case 10:break;default:break b}O=N+1|0;c[q>>2]=O;c[u>>2]=(c[u>>2]|0)+1;c[y>>2]=O-(c[w>>2]|0)+(c[x>>2]|0);M=D;D=M;continue a}while(0);c[q>>2]=N+1;M=D;D=M;continue}J=(c[s>>2]|0)-E|0;if((D|0)>=1){if((J|0)<3){if((Vd(f,3)|0)==1){I=8;break}Q=c[q>>2]|0}else Q=F;G=a[Q>>0]|0;c:do if((G&255)<34){if((G&255)<10)if(!(G<<24>>24)){R=Q;I=18;break a}else{I=19;break}if((G&255)>=11)if((G&255)<32){I=19;break}else{S=Q;I=22;break}else{O=Q+1|0;c[q>>2]=O;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];T=c[w>>2]|0;U=c[x>>2]|0;V=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-T+U-V;c[A>>2]=O+1-T+U-V;wi(e,f,g,11161,n);c[u>>2]=(c[u>>2]|0)+1;c[y>>2]=(c[q>>2]|0)-(c[w>>2]|0)+(c[x>>2]|0);D=0;continue a}}else{if((G&255)>=93)if(G<<24>>24==127){I=19;break}else{S=Q;I=22;break}if((G&255)<35){W=Q;I=23;break a}if((G&255)<92){S=Q;I=22}else{V=Q+1|0;c[q>>2]=V;U=a[V>>0]|0;do if((U&255)<65){if((U&255)<35){if(U<<24>>24==10){X=V;break c}if((U&255)>33){S=V;I=22;break c}else{I=39;break}}if((U&255)<40)if((U&255)>38){S=V;I=22;break c}else{I=39;break}else if((U+-48&255)<10){I=41;break}else{I=39;break}}else{if((U&255)>=103)if((U&255)<111)if((U&255)>109){S=V;I=22;break c}else{I=39;break}else if(U<<24>>24==116){S=V;I=22;break c}else{I=39;break}if((U&255)<92)if((U&255)<71){I=41;break}else{I=39;break}if((U&255)<93){S=V;I=22;break c}if((U&255)>96)I=41;else I=39}while(0);do if((I|0)==39){I=0;U=Q+2|0;c[q>>2]=U;Y=U}else if((I|0)==41){I=0;U=Q+2|0;c[q>>2]=U;V=a[U>>0]|0;T=U;if((V&255)<65)if((V+-48&255)<10){S=U;I=22;break c}else{Y=T;break}else if((V&255)<71|(V+-97&255)<6){S=U;I=22;break c}else{Y=T;break}}while(0);c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];T=c[r>>2]|0;U=c[w>>2]|0;V=c[x>>2]|0;O=c[y>>2]|0;c[z>>2]=T+1-U+V-O;c[A>>2]=Y+1-U+V-O;c[m>>2]=Y-T;c[m+4>>2]=T;wi(e,f,g,11179,m);D=1;continue a}}while(0);if((I|0)==19){I=0;G=Q+1|0;c[q>>2]=G;X=G}else if((I|0)==22){I=0;c[q>>2]=S+1;D=1;continue}c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];G=c[w>>2]|0;E=c[x>>2]|0;T=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-G+E-T;c[A>>2]=X+1-G+E-T;wi(e,f,g,11133,o);D=1;continue}if((J|0)<29){if((Vd(f,29)|0)==1){I=73;break}Z=c[q>>2]|0}else Z=F;T=d[Z>>0]|0;if(a[11197+T>>0]&8){E=Z;while(1){G=E+1|0;c[q>>2]=G;if((c[s>>2]|0)>>>0>G>>>0)_=G;else{if((Vd(f,1)|0)==1){I=82;break a}_=c[q>>2]|0}if(!(a[11197+(d[_>>0]|0)>>0]&8)){M=D;D=M;continue a}else E=_}}d:do switch(T|0){case 0:{$=Z;I=76;break a;break}case 41:{aa=Z;I=108;break a;break}case 10:case 9:{E=Z+1|0;c[q>>2]=E;c[u>>2]=(c[u>>2]|0)+1;c[y>>2]=E-(c[w>>2]|0)+(c[x>>2]|0);M=D;D=M;continue a;break}case 126:case 124:case 122:case 121:case 120:case 119:case 118:case 113:case 107:case 106:case 104:case 96:case 95:case 94:case 92:case 90:case 89:case 88:case 87:case 86:case 85:case 84:case 83:case 82:case 81:case 80:case 79:case 78:case 77:case 76:case 75:case 74:case 73:case 72:case 71:case 70:case 69:case 68:case 67:case 66:case 65:case 64:case 63:case 62:case 61:case 60:case 58:case 47:case 46:case 42:case 39:case 38:case 37:case 35:case 33:case 32:{I=85;break}case 34:{E=Z+1|0;c[q>>2]=E;c[B>>2]=E;F=a[E>>0]|0;if((F&255)<32|F<<24>>24==127){D=1;continue a}else{ba=E;ca=F}e:while(1){f:do if(!(a[11197+(ca&255)>>0]&64)){if((ca&255)<32)break e;if((ca&255)<35){da=ba;I=214;break a}if((ca&255)>=93)break e;F=ba+1|0;c[q>>2]=F;if((c[s>>2]|0)>>>0>F>>>0)ea=F;else{if((Vd(f,1)|0)==1){I=218;break a}ea=c[q>>2]|0}F=a[ea>>0]|0;do if((F&255)<71)if((F&255)<40)if(F<<24>>24!=34&(F&255)<39)break e;else{fa=ea;break f}else if((F&255)<48|(F+-58&255)<7)break e;else break;else{if((F&255)<103){if(F<<24>>24==92){fa=ea;break f}if((F&255)<97)break e;else break}if((F&255)<111)if((F&255)<110)break e;else{fa=ea;break f}else if(F<<24>>24==116){fa=ea;break f}else break e}while(0);F=ea+1|0;c[q>>2]=F;if((c[s>>2]|0)>>>0>F>>>0)ga=F;else{if((Vd(f,1)|0)==1){I=403;break a}ga=c[q>>2]|0}F=a[ga>>0]|0;if((F&255)<65)if((F+-48&255)<10){fa=ga;break}else break e;else if((F&255)<71|(F+-97&255)<6){fa=ga;break}else break e}else fa=ba;while(0);F=fa+1|0;c[q>>2]=F;if((c[s>>2]|0)>>>0>F>>>0)ha=F;else{if((Vd(f,1)|0)==1){I=207;break a}ha=c[q>>2]|0}ba=ha;ca=a[ha>>0]|0}c[q>>2]=c[B>>2];D=1;continue a;break}case 36:{F=Z+1|0;c[q>>2]=F;E=a[F>>0]|0;if((E&255)<60){if((E&255)<40)if(E<<24>>24!=33&(E&255)<35){I=91;break d}else{ia=F;I=229;break a}if((E&255)<44)if((E&255)<42){I=91;break d}else{ia=F;I=229;break a}else if((E+-45&255)<14){ia=F;I=229;break a}else{I=91;break d}}if((E&255)<123)if((E&255)<92)if((E&255)<91){ia=F;I=229;break a}else{I=91;break d}else if(E<<24>>24==93){I=91;break d}else{ia=F;I=229;break a}else if((E&255)<125)if((E&255)<124){I=91;break d}else{ia=F;I=229;break a}else if(E<<24>>24==126){ia=F;I=229;break a}else{I=91;break d}break}case 40:{F=Z+1|0;c[q>>2]=F;if((a[F>>0]|0)!=59){ja=F;I=107;break a}c[q>>2]=Z+2;c[C>>2]=1;D=3;continue a;break}case 45:case 43:{F=Z+1|0;c[q>>2]=F;E=a[F>>0]|0;if((E&255)>=105)if((E&255)<106){J=Z+2|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+3|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24==102){la=G;I=553;break d}else{ka=J;I=90;break d}}else{if(E<<24>>24!=110){ka=E;I=90;break d}J=Z+2|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24==97){ma=J;I=384;break d}else{ka=G;I=90;break d}}if((E&255)>=48){do if((E&255)<49){G=Z+2|0;c[q>>2]=G;J=a[G>>0]|0;O=G;if((J&255)<69){if((J&255)<45)if((J&255)<35)if(J<<24>>24==33){I=85;break d}else{na=O;I=267;break a}else if((J&255)<40|(J&-2)<<24>>24==42){I=85;break d}else{na=O;I=267;break a}if((J&255)<48)if(J<<24>>24==46){oa=G;I=293;break d}else{I=85;break d}if((J&255)<58){pa=G;break}if(J<<24>>24==59){na=O;I=267;break a}else{I=85;break d}}if((J&255)<102)if((J&255)<92){if((J&255)<70){qa=G;I=316;break d}if((J&255)<91){I=85;break d}else{na=O;I=267;break a}}else{if(J<<24>>24==93){na=O;I=267;break a}if((J&255)<101){I=85;break d}else{qa=G;I=316;break d}}if((J&255)>=124)if(J<<24>>24!=125&(J&255)<127){I=85;break d}else{na=O;I=267;break a}if(J<<24>>24!=120)if((J&255)<123){I=85;break d}else{na=O;I=267;break a}O=Z+3|0;c[q>>2]=O;J=a[O>>0]|0;if((J&255)<65)if((J+-48&255)<10)ra=O;else{ka=J;I=90;break d}else if((J&255)<71|(J+-97&255)<6)ra=O;else{ka=J;I=90;break d}while(1){J=ra+1|0;c[q>>2]=J;O=J;if(((c[s>>2]|0)-O|0)<3){if((Vd(f,3)|0)==1){I=615;break a}G=c[q>>2]|0;sa=G;ta=G}else{sa=J;ta=O}O=a[sa>>0]|0;if((O&255)<65){if((O&255)<45){ua=ta;va=O;I=618;break}if((O&255)<48){wa=sa;xa=O;I=622;break}if((O&255)<58){ra=sa;continue}else{ya=ta;za=O;I=624;break}}if((O&255)>=103){Aa=ta;Ba=sa;Ca=O;I=631;break}if((O&255)<92)if((O&255)<71){ra=sa;continue}else{Da=ta;Ea=O;I=628;break}if(O<<24>>24==93){na=ta;I=267;break a}if((O&255)<97){I=85;break d}else ra=sa}if((I|0)==618){I=0;if((va&255)<35)if(va<<24>>24==33){I=85;break d}else{na=ua;I=267;break a}else if((va&255)<40|(va&-2)<<24>>24==42){I=85;break d}else{na=ua;I=267;break a}}else if((I|0)==622){I=0;if(xa<<24>>24==46){Fa=wa;I=635;break d}else{I=85;break d}}else if((I|0)==624){I=0;if(za<<24>>24==59){na=ya;I=267;break a}else{I=85;break d}}else if((I|0)==628){I=0;if((Ea&255)<91){I=85;break d}else{na=Da;I=267;break a}}else if((I|0)==631){I=0;if((Ca&255)>=124)if(Ca<<24>>24!=125&(Ca&255)<127){I=85;break d}else{na=Aa;I=267;break a}if(Ca<<24>>24==112){Ga=Ba;I=658;break d}if((Ca&255)<123){I=85;break d}else{na=Aa;I=267;break a}}}else if((E&255)<58)pa=F;else{ka=E;I=90;break d}while(0);while(1){F=pa+1|0;c[q>>2]=F;O=F;if(((c[s>>2]|0)-O|0)<3){if((Vd(f,3)|0)==1){I=271;break a}J=c[q>>2]|0;Ha=J;Ia=J}else{Ha=O;Ia=F}F=a[Ia>>0]|0;if((F&255)>=60){Ja=Ha;Ka=Ia;La=F;I=283;break}if((F&255)<44){Ma=Ha;Na=F;I=274;break}if((F&255)<47){Oa=Ha;Pa=Ia;Qa=F;I=278;break}if((F&255)<48){I=85;break d}if((F&255)<58)pa=Ia;else{Ra=Ha;Sa=F;I=282;break}}if((I|0)==274){I=0;if((Na&255)<35)if(Na<<24>>24==33){I=85;break d}else{na=Ma;I=267;break a}else if((Na&-2)<<24>>24==40){na=Ma;I=267;break a}else{I=85;break d}}else if((I|0)==278){I=0;if((Qa&255)<45){na=Oa;I=267;break a}if((Qa&255)<46){I=85;break d}else{oa=Pa;I=293;break d}}else if((I|0)==282){I=0;if((Sa&255)<59){I=85;break d}else{na=Ra;I=267;break a}}else if((I|0)==283){I=0;if((La&255)<101)if((La&255)<91)if(La<<24>>24==69){qa=Ka;I=316;break d}else{I=85;break d}else if(La<<24>>24!=92&(La&255)<94){na=Ja;I=267;break a}else{I=85;break d}if((La&255)>=124)if(La<<24>>24!=125&(La&255)<127){I=85;break d}else{na=Ja;I=267;break a}if((La&255)<102){qa=Ka;I=316;break d}if((La&255)<123){I=85;break d}else{na=Ja;I=267;break a}}}else{ka=E;I=90}break}case 48:{F=Z+1|0;c[q>>2]=F;O=a[F>>0]|0;J=F;if(((O&255)+-48|0)>>>0>=10){if((O&255)<70){if((O&255)<44)if((O&255)<35)if(O<<24>>24==33){I=85;break d}else{Ta=J;I=135;break a}else if((O&-2)<<24>>24==40){Ta=J;I=135;break a}else{I=85;break d}if((O&255)<47){if((O&255)<45){Ta=J;I=135;break a}if((O&255)<46){I=85;break d}else{oa=F;I=293;break d}}else{if(O<<24>>24==59){Ta=J;I=135;break a}if((O&255)<69){I=85;break d}else{qa=F;I=316;break d}}}if((O&255)<120){if((O&255)<93)if(O<<24>>24==91){Ta=J;I=135;break a}else{I=85;break d}if((O&255)<94){Ta=J;I=135;break a}if(O<<24>>24==101){qa=F;I=316;break d}else{I=85;break d}}if((O&255)>=124)if(O<<24>>24!=125&(O&255)<127){I=85;break d}else{Ta=J;I=135;break a}if((O&255)>=121)if((O&255)<123){I=85;break d}else{Ta=J;I=135;break a}J=Z+2|0;c[q>>2]=J;O=a[J>>0]|0;if((a[11197+(O&255)>>0]|0)<0){G=J;while(1){J=G+1|0;c[q>>2]=J;V=J;if(((c[s>>2]|0)-V|0)<3){if((Vd(f,3)|0)==1){I=434;break a}U=c[q>>2]|0;Ua=U;Va=U}else{Ua=J;Va=V}V=a[Ua>>0]|0;if((a[11197+(V&255)>>0]|0)<0)G=Ua;else{Wa=Va;Xa=Ua;Ya=V;break}}if((Ya&255)<60){if((Ya&255)<42)if((Ya&255)<34)if((Ya&255)<33){Ta=Wa;I=135;break a}else{I=85;break d}else if((Ya+-35&255)<5){I=85;break d}else{Ta=Wa;I=135;break a}if((Ya&255)<46)if(Ya<<24>>24==44){Ta=Wa;I=135;break a}else{I=85;break d}if((Ya&255)<47){Fa=Xa;I=635;break d}if((Ya&255)<59){I=85;break d}else{Ta=Wa;I=135;break a}}else{if((Ya&255)>=113)if((Ya&255)<125)if(Ya<<24>>24==123){Ta=Wa;I=135;break a}else{I=85;break d}else if(Ya<<24>>24==126){I=85;break d}else{Ta=Wa;I=135;break a}if((Ya&255)<93)if(Ya<<24>>24==91){Ta=Wa;I=135;break a}else{I=85;break d}if((Ya&255)<94){Ta=Wa;I=135;break a}if((Ya&255)<112){I=85;break d}else{Ga=Xa;I=658;break d}}}else{ka=O;I=90}}else{Za=F;I=136}break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{Za=Z;I=136;break}case 59:{G=Z+1|0;c[q>>2]=G;if((a[G>>0]|0)==59){c[q>>2]=Z+2;D=2;continue a}else{_a=G;I=78}break}case 97:{G=Z+1|0;c[q>>2]=G;E=a[G>>0]|0;if((E&255)<110){if(E<<24>>24!=108){ka=E;I=90;break d}G=Z+2|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+3|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=103){ka=G;I=90;break d}G=Z+4|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=61){ka=G;I=90;break d}G=Z+6|0;c[q>>2]=G;V=a[G>>0]|0;if((V&255)<48){ka=V;I=90;break d}do if((V&255)<49){J=Z+7|0;c[q>>2]=J;U=a[J>>0]|0;$a=J;if((U&255)<60){if((U&255)<42)if((U&255)<34)if((U&255)>32){I=85;break d}else{ab=$a;I=1131;break a}else if((U+-35&255)<5){I=85;break d}else{ab=$a;I=1131;break a}if((U&255)<48)if(U<<24>>24==44){ab=$a;I=1131;break a}else{I=85;break d}if((U&255)<58){bb=J;break}if((U&255)<59){I=85;break d}else{ab=$a;I=1131;break a}}if((U&255)>=121)if((U&255)<125)if(U<<24>>24==123){ab=$a;I=1131;break a}else{I=85;break d}else if(U<<24>>24==126){I=85;break d}else{ab=$a;I=1131;break a}if((U&255)<93)if(U<<24>>24==91){ab=$a;I=1131;break a}else{I=85;break d}if((U&255)<94){ab=$a;I=1131;break a}if((U&255)<120){I=85;break d}U=Z+8|0;c[q>>2]=U;$a=a[U>>0]|0;if(($a&255)<65)if(($a+-48&255)<10)cb=U;else{ka=$a;I=90;break d}else if(($a&255)<71|($a+-97&255)<6)cb=U;else{ka=$a;I=90;break d}while(1){$a=cb+1|0;c[q>>2]=$a;if((c[s>>2]|0)>>>0>$a>>>0)db=$a;else{if((Vd(f,1)|0)==1){I=1502;break a}db=c[q>>2]|0}$a=a[db>>0]|0;if(($a&255)<65){if(($a&255)<44){eb=db;fb=$a;I=1505;break}if(($a&255)>=58){gb=db;hb=$a;I=1511;break}if(($a&255)<45){ib=db;I=1130;break a}if(($a&255)<48){I=85;break d}else{cb=db;continue}}if(($a&255)<97){if(($a&255)>=92){jb=db;kb=$a;I=1516;break}if(($a&255)<71){cb=db;continue}else{lb=db;mb=$a;I=1515;break}}else{if(($a&255)>=124){nb=db;ob=$a;I=1520;break}if(($a&255)<103){cb=db;continue}else{pb=db;qb=$a;I=1519;break}}}if((I|0)==1505){I=0;$a=eb;if((fb&255)<35)if(fb<<24>>24==33){I=85;break d}else{ab=$a;I=1131;break a}else if((fb&-2)<<24>>24==40){ab=$a;I=1131;break a}else{I=85;break d}}else if((I|0)==1511){I=0;if(hb<<24>>24==59){ab=gb;I=1131;break a}else{I=85;break d}}else if((I|0)==1515){I=0;if((mb&255)<91){I=85;break d}else{ab=lb;I=1131;break a}}else if((I|0)==1516){I=0;if(kb<<24>>24==93){ab=jb;I=1131;break a}else{I=85;break d}}else if((I|0)==1519){I=0;if((qb&255)<123){I=85;break d}else{ab=pb;I=1131;break a}}else if((I|0)==1520){I=0;if(ob<<24>>24!=125&(ob&255)<127){I=85;break d}else{ab=nb;I=1131;break a}}}else if((V&255)<58)bb=G;else{ka=V;I=90;break d}while(0);while(1){V=bb+1|0;c[q>>2]=V;if((c[s>>2]|0)>>>0>V>>>0)rb=V;else{if((Vd(f,1)|0)==1){I=1135;break a}rb=c[q>>2]|0}V=a[rb>>0]|0;if((V&255)>=59){sb=rb;tb=V;I=1144;break}if((V&255)<42){ub=rb;vb=V;I=1138;break}if((V&255)<45){wb=rb;xb=V;I=1142;break}if((V+-48&255)<10)bb=rb;else{I=85;break d}}if((I|0)==1138){I=0;V=ub;if((vb&255)<34)if((vb&255)<33){ab=V;I=1131;break a}else{I=85;break d}else if((vb+-35&255)<5){I=85;break d}else{ab=V;I=1131;break a}}else if((I|0)==1142){I=0;if((xb&255)<44){I=85;break d}else{ab=wb;I=1131;break a}}else if((I|0)==1144){I=0;V=sb;if((tb&255)<94)if((tb&255)<91)if((tb&255)<60){ab=V;I=1131;break a}else{I=85;break d}else if(tb<<24>>24==92){I=85;break d}else{ab=V;I=1131;break a}else if((tb&255)<125)if(tb<<24>>24==123){ab=V;I=1131;break a}else{I=85;break d}else if(tb<<24>>24==126){I=85;break d}else{ab=V;I=1131;break a}}}if((E&255)<111){V=Z+2|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=121){ka=G;I=90;break d}G=Z+3|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=102){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=117){ka=G;I=90;break d}G=Z+5|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=99){ka=G;I=90;break d}G=Z+7|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){yb=G;I=1152;break a}else{I=85;break d}}if(E<<24>>24==115){G=Z+2|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24==115){G=Z+3|0;c[q>>2]=G;F=a[G>>0]|0;if(F<<24>>24==101){G=Z+4|0;c[q>>2]=G;O=a[G>>0]|0;if(O<<24>>24==114){G=Z+5|0;c[q>>2]=G;$a=a[G>>0]|0;if($a<<24>>24==116){G=Z+6|0;c[q>>2]=G;U=a[G>>0]|0;if(U<<24>>24==95){G=Z+7|0;c[q>>2]=G;J=a[G>>0]|0;switch(J&255|0){case 101:{G=Z+8|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=120){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=104){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=117){ka=G;I=90;break d}G=Z+12|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+13|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=116){ka=G;I=90;break d}G=Z+14|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+15|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=111){ka=G;I=90;break d}G=Z+16|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+17|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Ab=zb;I=1930;break a}else{I=85;break d}break}case 105:{zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+9|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=118){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=97){ka=G;I=90;break d}G=Z+11|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=105){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=100){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Bb=zb;I=1847;break a}else{I=85;break d}break}case 109:{zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=97){ka=G;I=90;break d}G=Z+9|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=102){ka=G;I=90;break d}G=Z+11|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=114){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=109){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=101){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=100){ka=zb;I=90;break d}zb=Z+16|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Cb=zb;I=1909;break a}else{I=85;break d}break}case 114:{zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=101){ka=G;I=90;break d}G=Z+9|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=117){ka=G;I=90;break d}G=Z+11|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;zb=a[G>>0]|0;if((zb&255)<91)if((zb&255)<42)if((zb&255)<34)if((zb&255)>32){I=85;break d}else{Db=G;I=1824;break a}else if((zb+-35&255)<5){I=85;break d}else{Db=G;I=1824;break a}else if((zb&255)<45)if((zb&255)<44){I=85;break d}else{Db=G;I=1824;break a}else if(zb<<24>>24==59){Db=G;I=1824;break a}else{I=85;break d}if((zb&255)>=96)if((zb&255)<125)if(zb<<24>>24==123){Db=G;I=1824;break a}else{I=85;break d}else if(zb<<24>>24==126){I=85;break d}else{Db=G;I=1824;break a}if((zb&255)<93)if((zb&255)>91){I=85;break d}else{Db=G;I=1824;break a}if((zb&255)<94){Db=G;I=1824;break a}if((zb&255)<95){I=85;break d}zb=Z+14|0;c[q>>2]=zb;G=a[zb>>0]|0;switch(G<<24>>24){case 97:break;case 99:{zb=Z+15|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=97){ka=Eb;I=90;break d}Eb=Z+16|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+17|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=111){ka=Eb;I=90;break d}Eb=Z+18|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+19|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=105){ka=Eb;I=90;break d}Eb=Z+20|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=99){ka=zb;I=90;break d}zb=Z+21|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=97){ka=Eb;I=90;break d}Eb=Z+22|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+23|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=95){ka=Eb;I=90;break d}Eb=Z+24|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+25|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24!=97){ka=Eb;I=90;break d}Eb=Z+26|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+27|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Fb=zb;I=1987;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}G=Z+15|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+16|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=105){ka=G;I=90;break d}G=Z+17|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+18|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=104){ka=G;I=90;break d}G=Z+19|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=109){ka=zb;I=90;break d}zb=Z+20|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=101){ka=G;I=90;break d}G=Z+21|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+22|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=105){ka=G;I=90;break d}G=Z+23|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=99){ka=zb;I=90;break d}zb=Z+24|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=95){ka=G;I=90;break d}G=Z+25|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+26|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=97){ka=G;I=90;break d}G=Z+27|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+28|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Gb=zb;I=1989;break a}else{I=85;break d}break}case 116:{zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=114){ka=G;I=90;break d}G=Z+9|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=112){ka=G;I=90;break d}G=Z+11|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){Hb=G;I=1719;break a}else{I=85;break d}break}case 117:{G=Z+8|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=108){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+12|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=107){ka=zb;I=90;break d}zb=Z+13|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=97){ka=G;I=90;break d}G=Z+14|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=98){ka=zb;I=90;break d}zb=Z+15|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24!=108){ka=G;I=90;break d}G=Z+16|0;c[q>>2]=G;zb=a[G>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+17|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Ib=zb;I=1934;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}}else{ka=U;I=90}}else{ka=$a;I=90}}else{ka=O;I=90}}else{ka=F;I=90}}else{ka=V;I=90}}else{ka=E;I=90}break}case 98:{V=Z+1|0;c[q>>2]=V;F=a[V>>0]|0;switch(F<<24>>24){case 108:{V=Z+2|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=111){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=99){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=107){ka=O;I=90;break d}O=Z+5|0;c[q>>2]=O;if(!(a[11197+(d[O>>0]|0)>>0]&16)){Jb=O;I=756;break a}else{I=85;break d}break}case 114:break;default:{ka=F;I=90;break d}}F=Z+2|0;c[q>>2]=F;O=a[F>>0]|0;if((O&255)<91)if((O&255)<42)if((O&255)<34)if((O&255)>32){I=85;break d}else{Kb=F;I=342;break a}else if((O+-35&255)<5){I=85;break d}else{Kb=F;I=342;break a}else if((O&255)<45)if((O&255)<44){I=85;break d}else{Kb=F;I=342;break a}else if(O<<24>>24==59){Kb=F;I=342;break a}else{I=85;break d}if((O&255)>=96)if((O&255)<125)if(O<<24>>24==123){Kb=F;I=342;break a}else{I=85;break d}else if(O<<24>>24==126){I=85;break d}else{Kb=F;I=342;break a}if((O&255)<93)if((O&255)>91){I=85;break d}else{Kb=F;I=342;break a}if((O&255)<94){Kb=F;I=342;break a}if((O&255)>=95){O=Z+3|0;c[q>>2]=O;F=a[O>>0]|0;switch(F<<24>>24){case 105:{O=Z+4|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=102){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Lb=V;I=758;break a}else{I=85;break d}break}case 116:break;default:{ka=F;I=90;break d}}F=Z+4|0;c[q>>2]=F;V=a[F>>0]|0;if(V<<24>>24==97){F=Z+5|0;c[q>>2]=F;O=a[F>>0]|0;if(O<<24>>24==98){F=Z+6|0;c[q>>2]=F;$a=a[F>>0]|0;if($a<<24>>24==108){F=Z+7|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24==101){F=Z+8|0;c[q>>2]=F;if(!(a[11197+(d[F>>0]|0)>>0]&16)){Mb=F;I=1324;break a}else I=85}else{ka=U;I=90}}else{ka=$a;I=90}}else{ka=O;I=90}}else{ka=V;I=90}}else I=85;break}case 99:{V=Z+1|0;c[q>>2]=V;O=a[V>>0]|0;switch(O<<24>>24){case 97:break;case 117:{V=Z+2|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+3|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+5|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=116){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=109){ka=$a;I=90;break d}$a=Z+9|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+10|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=109){ka=$a;I=90;break d}$a=Z+11|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+12|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+13|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=121){ka=V;I=90;break d}V=Z+14|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Nb=V;I=1852;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24==108){O=Z+3|0;c[q>>2]=O;$a=a[O>>0]|0;if($a<<24>>24==108){O=Z+4|0;c[q>>2]=O;U=a[O>>0]|0;if((U&255)<91)if((U&255)<42)if((U&255)<34)if((U&255)>32){I=85;break d}else{Ob=O;I=684;break a}else if((U+-35&255)<5){I=85;break d}else{Ob=O;I=684;break a}else if((U&255)<45)if((U&255)<44){I=85;break d}else{Ob=O;I=684;break a}else if(U<<24>>24==59){Ob=O;I=684;break a}else{I=85;break d}if((U&255)>=96)if((U&255)<125)if(U<<24>>24==123){Ob=O;I=684;break a}else{I=85;break d}else if(U<<24>>24==126){I=85;break d}else{Ob=O;I=684;break a}if((U&255)<93)if((U&255)>91){I=85;break d}else{Ob=O;I=684;break a}if((U&255)<94){Ob=O;I=684;break a}if((U&255)>=95){U=Z+5|0;c[q>>2]=U;O=a[U>>0]|0;if(O<<24>>24==105){U=Z+6|0;c[q>>2]=U;F=a[U>>0]|0;if((F&255)>=109){if((F&255)<110){U=Z+7|0;c[q>>2]=U;J=a[U>>0]|0;if(J<<24>>24!=112){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;U=a[J>>0]|0;if(U<<24>>24!=111){ka=U;I=90;break d}U=Z+9|0;c[q>>2]=U;J=a[U>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;U=a[J>>0]|0;if(U<<24>>24!=116){ka=U;I=90;break d}U=Z+11|0;c[q>>2]=U;if(!(a[11197+(d[U>>0]|0)>>0]&16)){Pb=U;I=1722;break a}else{I=85;break d}}if((F&255)<111){U=Z+7|0;c[q>>2]=U;J=a[U>>0]|0;if(J<<24>>24==100){U=Z+8|0;c[q>>2]=U;zb=a[U>>0]|0;if(zb<<24>>24==105){U=Z+9|0;c[q>>2]=U;G=a[U>>0]|0;if(G<<24>>24==114){U=Z+10|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24!=101){ka=Eb;I=90;break d}Eb=Z+11|0;c[q>>2]=Eb;U=a[Eb>>0]|0;if(U<<24>>24!=99){ka=U;I=90;break d}U=Z+12|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24!=116){ka=Eb;I=90;break d}Eb=Z+13|0;c[q>>2]=Eb;if(!(a[11197+(d[Eb>>0]|0)>>0]&16)){Qb=Eb;I=1827;break a}else I=85}else{ka=G;I=90}}else{ka=zb;I=90}}else{ka=J;I=90}}else{ka=F;I=90}}else{ka=F;I=90}}else{ka=O;I=90}}else I=85}else{ka=$a;I=90}}else{ka=V;I=90}break}case 100:{V=Z+1|0;c[q>>2]=V;$a=a[V>>0]|0;switch($a<<24>>24){case 97:{V=Z+2|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=116){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=97){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Rb=V;I=687;break a}else{I=85;break d}break}case 114:{V=Z+2|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=111){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=112){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Sb=V;I=689;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}break}case 101:{$a=Z+1|0;c[q>>2]=$a;V=a[$a>>0]|0;if((V&255)<110){if(V<<24>>24!=108){ka=V;I=90;break d}$a=Z+2|0;c[q>>2]=$a;O=a[$a>>0]|0;switch(O<<24>>24){case 101:{$a=Z+3|0;c[q>>2]=$a;F=a[$a>>0]|0;if(F<<24>>24!=109){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;if(!(a[11197+(d[F>>0]|0)>>0]&16)){Tb=F;I=691;break a}else{I=85;break d}break}case 115:{F=Z+3|0;c[q>>2]=F;$a=a[F>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+4|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Ub=$a;I=693;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}}if((V&255)<111){O=Z+2|0;c[q>>2]=O;$a=a[O>>0]|0;if($a<<24>>24!=100){ka=$a;I=90;break d}$a=Z+3|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Vb=$a;I=465;break a}else{I=85;break d}}if(V<<24>>24==120){$a=Z+2|0;c[q>>2]=$a;O=a[$a>>0]|0;if(O<<24>>24==112){$a=Z+3|0;c[q>>2]=$a;F=a[$a>>0]|0;if(F<<24>>24==111){$a=Z+4|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24==114){$a=Z+5|0;c[q>>2]=$a;zb=a[$a>>0]|0;if(zb<<24>>24==116){$a=Z+6|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Wb=$a;I=895;break a}else I=85}else{ka=zb;I=90}}else{ka=J;I=90}}else{ka=F;I=90}}else{ka=O;I=90}}else{ka=V;I=90}break}case 102:{V=Z+1|0;c[q>>2]=V;O=a[V>>0]|0;if((O&255)<54){if(O<<24>>24!=51){ka=O;I=90;break d}V=Z+2|0;c[q>>2]=V;F=a[V>>0]|0;if(F<<24>>24!=50){ka=F;I=90;break d}F=Z+3|0;c[q>>2]=F;V=a[F>>0]|0;if((V&255)>=59)if((V&255)<94)if((V&255)<91)if((V&255)>59){I=85;break d}else{Xb=F;I=482;break a}else if(V<<24>>24==92){I=85;break d}else{Xb=F;I=482;break a}else if((V&255)<125)if(V<<24>>24==123){Xb=F;I=482;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{Xb=F;I=482;break a}if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{Xb=F;I=482;break a}else if((V+-35&255)<5){I=85;break d}else{Xb=F;I=482;break a}if((V&255)<45)if((V&255)<44){I=85;break d}else{Xb=F;I=482;break a}if(V<<24>>24!=46){I=85;break d}V=Z+4|0;c[q>>2]=V;F=a[V>>0]|0;do switch(F&255|0){case 97:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 98:{V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Yb=zb;I=1159;break a}else{I=85;break d}break}case 100:{zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=100){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Zb=V;I=1161;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 99:{J=Z+5|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 101:{J=Z+6|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=108){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){_b=J;I=1329;break a}else{I=85;break d}break}case 111:break;default:{ka=V;I=90;break d}}V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 110:break;case 112:{V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=121){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=115){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=103){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){$b=zb;I=1775;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;switch(zb<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){ac=V;I=1531;break a}else{I=85;break d}break}case 118:break;default:{ka=zb;I=90;break d}}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=95){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;V=a[zb>>0]|0;switch(V<<24>>24){case 115:{zb=Z+13|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+14|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=105){ka=zb;I=90;break d}zb=Z+15|0;c[q>>2]=zb;J=a[zb>>0]|0;switch(J<<24>>24){case 51:{zb=Z+16|0;c[q>>2]=zb;$a=a[zb>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){bc=$a;I=1936;break a}else{I=85;break d}break}case 54:{$a=Z+16|0;c[q>>2]=$a;zb=a[$a>>0]|0;if(zb<<24>>24!=52){ka=zb;I=90;break d}zb=Z+17|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){cc=zb;I=1938;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 117:{J=Z+13|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=47){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;zb=a[J>>0]|0;switch(zb<<24>>24){case 51:{J=Z+16|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){dc=$a;I=1940;break a}else{I=85;break d}break}case 54:{$a=Z+16|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=52){ka=J;I=90;break d}J=Z+17|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){ec=J;I=1942;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}break}default:{ka=V;I=90;break d}}break}case 100:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;switch(zb<<24>>24){case 101:break;case 105:{V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=118){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){fc=J;I=1167;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=109){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=102){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+13|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=52){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){gc=zb;I=1856;break a}else{I=85;break d}break}case 101:{zb=Z+5|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=113){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){hc=J;I=903;break a}else{I=85;break d}break}case 102:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){ic=J;I=1536;break a}else{I=85;break d}break}case 103:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;switch(zb<<24>>24){case 101:{J=Z+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){jc=J;I=906;break a}else{I=85;break d}break}case 116:{J=Z+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){kc=J;I=908;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}break}case 108:{zb=Z+5|0;c[q>>2]=zb;J=a[zb>>0]|0;if((J&255)<111){if(J<<24>>24!=101){ka=J;I=90;break d}zb=Z+6|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){lc=zb;I=910;break a}else{I=85;break d}}if((J&255)>=112){if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){mc=J;I=913;break a}else{I=85;break d}}J=Z+6|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=100){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){nc=J;I=1336;break a}else{I=85;break d}break}case 109:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if((zb&255)<105){if(zb<<24>>24!=97){ka=zb;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=120){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){oc=V;I=1171;break a}else{I=85;break d}}if((zb&255)<106){V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){pc=J;I=1173;break a}else{I=85;break d}}if(zb<<24>>24!=117){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=108){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){qc=J;I=1175;break a}else{I=85;break d}break}case 110:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if((J&255)<92)if((J&255)<42)if((J&255)<34)if((J&255)>32){I=85;break d}else{rc=zb;I=933;break a}else if((J+-35&255)<5){I=85;break d}else{rc=zb;I=933;break a}else if((J&255)<59)if(J<<24>>24==44){rc=zb;I=933;break a}else{I=85;break d}else if((J+-60&255)<31){I=85;break d}else{rc=zb;I=933;break a}if((J&255)>=104)if((J&255)<125)if(J<<24>>24==123){rc=zb;I=933;break a}else{I=85;break d}else if(J<<24>>24==126){I=85;break d}else{rc=zb;I=933;break a}if((J&255)<97)if(J<<24>>24==93){rc=zb;I=933;break a}else{I=85;break d}if((J&255)>=98){if((J&255)<103){I=85;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){sc=J;I=1178;break a}else{I=85;break d}}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){tc=J;I=1729;break a}else{I=85;break d}break}case 114:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=112){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+13|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=47){ka=zb;I=90;break d}zb=Z+16|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+17|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=51){ka=zb;I=90;break d}zb=Z+18|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=50){ka=J;I=90;break d}J=Z+19|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){uc=J;I=1964;break a}else{I=85;break d}break}case 115:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;if((zb&255)<116){if(zb<<24>>24!=113){ka=zb;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){vc=J;I=1340;break a}else{I=85;break d}}if((zb&255)>=117){if((zb&255)>=118){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=98){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){wc=J;I=1183;break a}else{I=85;break d}}J=Z+6|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){xc=zb;I=1540;break a}else{I=85;break d}break}case 116:{zb=Z+5|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=117){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=99){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){yc=zb;I=1542;break a}else{I=85;break d}break}default:{ka=F;I=90;break d}}while(0)}if((O&255)>=55){if(O<<24>>24!=117){ka=O;I=90;break d}F=Z+2|0;c[q>>2]=F;E=a[F>>0]|0;if(E<<24>>24!=110){ka=E;I=90;break d}E=Z+3|0;c[q>>2]=E;F=a[E>>0]|0;if(F<<24>>24!=99){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;if(!(a[11197+(d[F>>0]|0)>>0]&16)){zc=F;I=698;break a}else{I=85;break d}}F=Z+2|0;c[q>>2]=F;E=a[F>>0]|0;if(E<<24>>24==52){F=Z+3|0;c[q>>2]=F;zb=a[F>>0]|0;if((zb&255)>=59)if((zb&255)<94)if((zb&255)<91)if((zb&255)>59){I=85;break d}else{Ac=F;I=498;break a}else if(zb<<24>>24==92){I=85;break d}else{Ac=F;I=498;break a}else if((zb&255)<125)if(zb<<24>>24==123){Ac=F;I=498;break a}else{I=85;break d}else if(zb<<24>>24==126){I=85;break d}else{Ac=F;I=498;break a}if((zb&255)<42)if((zb&255)<34)if((zb&255)>32){I=85;break d}else{Ac=F;I=498;break a}else if((zb+-35&255)<5){I=85;break d}else{Ac=F;I=498;break a}if((zb&255)<45)if((zb&255)<44){I=85;break d}else{Ac=F;I=498;break a}if(zb<<24>>24==46){zb=Z+4|0;c[q>>2]=zb;F=a[zb>>0]|0;do switch(F&255|0){case 97:{zb=Z+5|0;c[q>>2]=zb;J=a[zb>>0]|0;switch(J<<24>>24){case 98:{zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=115){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Bc=V;I=1186;break a}else{I=85;break d}break}case 100:{V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=100){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Cc=zb;I=1188;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 99:{J=Z+5|0;c[q>>2]=J;zb=a[J>>0]|0;switch(zb<<24>>24){case 101:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=108){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Dc=J;I=1344;break a}else{I=85;break d}break}case 111:break;default:{ka=zb;I=90;break d}}zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;switch(J<<24>>24){case 110:break;case 112:{zb=Z+7|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=121){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+10|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=103){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+12|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Ec=V;I=1780;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}J=Z+7|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Fc=zb;I=1544;break a}else{I=85;break d}break}case 118:break;default:{ka=V;I=90;break d}}V=Z+8|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+10|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+12|0;c[q>>2]=V;zb=a[V>>0]|0;switch(zb<<24>>24){case 115:{V=Z+13|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+14|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+15|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 51:{V=Z+16|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Gc=$a;I=1945;break a}else{I=85;break d}break}case 54:{$a=Z+16|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=52){ka=V;I=90;break d}V=Z+17|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Hc=V;I=1947;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 117:{J=Z+13|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=47){ka=V;I=90;break d}V=Z+14|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 51:{J=Z+16|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Ic=$a;I=1949;break a}else{I=85;break d}break}case 54:{$a=Z+16|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=52){ka=J;I=90;break d}J=Z+17|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Jc=J;I=1951;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}default:{ka=zb;I=90;break d}}break}case 100:{zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=118){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Kc=zb;I=1193;break a}else{I=85;break d}break}case 101:{zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=113){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Lc=V;I=945;break a}else{I=85;break d}break}case 102:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=108){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Mc=V;I=1548;break a}else{I=85;break d}break}case 103:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;switch(zb<<24>>24){case 101:{V=Z+6|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Nc=V;I=948;break a}else{I=85;break d}break}case 116:{V=Z+6|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Oc=V;I=950;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}break}case 108:{zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if((V&255)<111){if(V<<24>>24!=101){ka=V;I=90;break d}zb=Z+6|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){Pc=zb;I=952;break a}else{I=85;break d}}if((V&255)>=112){if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Qc=V;I=955;break a}else{I=85;break d}}V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=100){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Rc=V;I=1350;break a}else{I=85;break d}break}case 109:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if((zb&255)<105){if(zb<<24>>24!=97){ka=zb;I=90;break d}V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=120){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Sc=J;I=1197;break a}else{I=85;break d}}if((zb&255)<106){J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Tc=V;I=1199;break a}else{I=85;break d}}if(zb<<24>>24!=117){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=108){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Uc=V;I=1201;break a}else{I=85;break d}break}case 110:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if((V&255)<92)if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{Vc=zb;I=975;break a}else if((V+-35&255)<5){I=85;break d}else{Vc=zb;I=975;break a}else if((V&255)<59)if(V<<24>>24==44){Vc=zb;I=975;break a}else{I=85;break d}else if((V+-60&255)<31){I=85;break d}else{Vc=zb;I=975;break a}if((V&255)>=104)if((V&255)<125)if(V<<24>>24==123){Vc=zb;I=975;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{Vc=zb;I=975;break a}if((V&255)<97)if(V<<24>>24==93){Vc=zb;I=975;break a}else{I=85;break d}if((V&255)>=98){if((V&255)<103){I=85;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Wc=V;I=1204;break a}else{I=85;break d}}V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=115){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Xc=V;I=1734;break a}else{I=85;break d}break}case 112:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=114){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=109){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=116){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=47){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=102){ka=V;I=90;break d}V=Z+13|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=51){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=50){ka=V;I=90;break d}V=Z+15|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Yc=V;I=1885;break a}else{I=85;break d}break}case 114:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=110){ka=zb;I=90;break d}zb=Z+8|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+10|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=112){ka=zb;I=90;break d}zb=Z+12|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+13|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+14|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+15|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=47){ka=zb;I=90;break d}zb=Z+16|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+17|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=54){ka=zb;I=90;break d}zb=Z+18|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=52){ka=V;I=90;break d}V=Z+19|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Zc=V;I=1966;break a}else{I=85;break d}break}case 115:{V=Z+5|0;c[q>>2]=V;zb=a[V>>0]|0;if((zb&255)<116){if(zb<<24>>24!=113){ka=zb;I=90;break d}V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){_c=V;I=1355;break a}else{I=85;break d}}if((zb&255)>=117){if((zb&255)>=118){ka=zb;I=90;break d}zb=Z+6|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=98){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){$c=V;I=1210;break a}else{I=85;break d}}V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){ad=zb;I=1553;break a}else{I=85;break d}break}case 116:{zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=117){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;zb=a[V>>0]|0;if(zb<<24>>24!=99){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){bd=zb;I=1555;break a}else{I=85;break d}break}default:{ka=F;I=90;break d}}while(0)}else I=85}else{ka=E;I=90}break}case 103:{F=Z+1|0;c[q>>2]=F;O=a[F>>0]|0;if((O&255)>=108){if((O&255)<109){F=Z+2|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+3|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=98){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=97){ka=zb;I=90;break d}zb=Z+5|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=108){ka=F;I=90;break d}F=Z+6|0;c[q>>2]=F;if(!(a[11197+(d[F>>0]|0)>>0]&16)){cd=F;I=985;break a}else{I=85;break d}}if(O<<24>>24!=114){ka=O;I=90;break d}F=Z+2|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+3|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=119){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=95){ka=zb;I=90;break d}zb=Z+5|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=109){ka=F;I=90;break d}F=Z+6|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=101){ka=zb;I=90;break d}zb=Z+7|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=109){ka=F;I=90;break d}F=Z+8|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=111){ka=zb;I=90;break d}zb=Z+9|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24!=114){ka=F;I=90;break d}F=Z+10|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24!=121){ka=zb;I=90;break d}zb=Z+11|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){dd=zb;I=1738;break a}else{I=85;break d}}if(O<<24>>24==101){zb=Z+2|0;c[q>>2]=zb;F=a[zb>>0]|0;if(F<<24>>24==116){zb=Z+3|0;c[q>>2]=zb;V=a[zb>>0]|0;if((V&255)<91)if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{ed=zb;I=516;break a}else if((V+-35&255)<5){I=85;break d}else{ed=zb;I=516;break a}else if((V&255)<45)if((V&255)<44){I=85;break d}else{ed=zb;I=516;break a}else if(V<<24>>24==59){ed=zb;I=516;break a}else{I=85;break d}if((V&255)>=96)if((V&255)<125)if(V<<24>>24==123){ed=zb;I=516;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{ed=zb;I=516;break a}if((V&255)<93)if((V&255)>91){I=85;break d}else{ed=zb;I=516;break a}if((V&255)<94){ed=zb;I=516;break a}if((V&255)>=95){V=Z+4|0;c[q>>2]=V;zb=a[V>>0]|0;switch(zb<<24>>24){case 103:break;case 108:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=99){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=97){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=108){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){fd=V;I=1558;break a}else{I=85;break d}break}default:{ka=zb;I=90;break d}}zb=Z+5|0;c[q>>2]=zb;V=a[zb>>0]|0;if(V<<24>>24==108){zb=Z+6|0;c[q>>2]=zb;J=a[zb>>0]|0;if(J<<24>>24==111){zb=Z+7|0;c[q>>2]=zb;$a=a[zb>>0]|0;if($a<<24>>24==98){zb=Z+8|0;c[q>>2]=zb;G=a[zb>>0]|0;if(G<<24>>24==97){zb=Z+9|0;c[q>>2]=zb;Eb=a[zb>>0]|0;if(Eb<<24>>24==108){zb=Z+10|0;c[q>>2]=zb;if(!(a[11197+(d[zb>>0]|0)>>0]&16)){gd=zb;I=1665;break a}else I=85}else{ka=Eb;I=90}}else{ka=G;I=90}}else{ka=$a;I=90}}else{ka=J;I=90}}else{ka=V;I=90}}else I=85}else{ka=F;I=90}}else{ka=O;I=90}break}case 105:{O=Z+1|0;c[q>>2]=O;F=a[O>>0]|0;if((F&255)>=102){if((F&255)>=109){if((F&255)<110){O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=112){ka=V;I=90;break d}V=Z+3|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=111){ka=O;I=90;break d}O=Z+4|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=116){ka=O;I=90;break d}O=Z+6|0;c[q>>2]=O;if(!(a[11197+(d[O>>0]|0)>>0]&16)){hd=O;I=1073;break a}else{I=85;break d}}if((F&255)>=111){ka=F;I=90;break d}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if((V&255)<112)if(V<<24>>24==102){la=O;I=553;break d}else{ka=V;I=90;break d}if((V&255)<113){O=Z+3|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24!=117){ka=J;I=90;break d}J=Z+4|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24!=116){ka=O;I=90;break d}O=Z+5|0;c[q>>2]=O;if(!(a[11197+(d[O>>0]|0)>>0]&16)){id=O;I=861;break a}else{I=85;break d}}if(V<<24>>24!=118){ka=V;I=90;break d}V=Z+3|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=111){ka=O;I=90;break d}O=Z+4|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=107){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=101){ka=O;I=90;break d}O=Z+6|0;c[q>>2]=O;if(!(a[11197+(d[O>>0]|0)>>0]&16)){jd=O;I=1076;break a}else{I=85;break d}}if((F&255)>=103){ka=F;I=90;break d}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if((V&255)<91)if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{kd=O;I=374;break a}else if((V+-35&255)<5){I=85;break d}else{kd=O;I=374;break a}else if((V&255)<45)if((V&255)<44){I=85;break d}else{kd=O;I=374;break a}else if(V<<24>>24==59){kd=O;I=374;break a}else{I=85;break d}if((V&255)>=96)if((V&255)<125)if(V<<24>>24==123){kd=O;I=374;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{kd=O;I=374;break a}if((V&255)<93)if((V&255)>91){I=85;break d}else{kd=O;I=374;break a}if((V&255)<94){kd=O;I=374;break a}if((V&255)<95){I=85;break d}V=Z+3|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=101){ka=O;I=90;break d}O=Z+4|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=108){ka=V;I=90;break d}V=Z+5|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=115){ka=O;I=90;break d}O=Z+6|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=101){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){ld=V;I=1282;break a}else{I=85;break d}}if((F&255)<52){if((F&255)<51){ka=F;I=90;break d}V=Z+2|0;c[q>>2]=V;O=a[V>>0]|0;if(O<<24>>24!=50){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if((V&255)>=59)if((V&255)<94)if((V&255)<91)if((V&255)>59){I=85;break d}else{md=O;I=534;break a}else if(V<<24>>24==92){I=85;break d}else{md=O;I=534;break a}else if((V&255)<125)if(V<<24>>24==123){md=O;I=534;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{md=O;I=534;break a}if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{md=O;I=534;break a}else if((V+-35&255)<5){I=85;break d}else{md=O;I=534;break a}if((V&255)<45)if((V&255)<44){I=85;break d}else{md=O;I=534;break a}if(V<<24>>24!=46){I=85;break d}V=Z+4|0;c[q>>2]=V;O=a[V>>0]|0;do switch(O&255|0){case 97:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 100:{V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=100){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){nd=$a;I=1216;break a}else{I=85;break d}break}case 110:{$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=100){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){od=V;I=1218;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 99:{J=Z+5|0;c[q>>2]=J;V=a[J>>0]|0;if((V&255)<111){if(V<<24>>24!=108){ka=V;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=122){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){pd=$a;I=1220;break a}else{I=85;break d}}if((V&255)>=112){if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=122){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){qd=$a;I=1223;break a}else{I=85;break d}}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=115){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){rd=V;I=1561;break a}else{I=85;break d}break}case 100:{V=Z+5|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=105){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=118){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;V=a[$a>>0]|0;switch(V<<24>>24){case 115:{$a=Z+9|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){sd=$a;I=1563;break a}else{I=85;break d}break}case 117:{$a=Z+9|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){td=$a;I=1565;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}case 101:{V=Z+5|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=113){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if((V&255)<91)if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{ud=$a;I=1009;break a}else if((V+-35&255)<5){I=85;break d}else{ud=$a;I=1009;break a}else if((V&255)<45)if((V&255)<44){I=85;break d}else{ud=$a;I=1009;break a}else if(V<<24>>24==59){ud=$a;I=1009;break a}else{I=85;break d}if((V&255)>=123)if((V&255)<125)if((V&255)>123){I=85;break d}else{ud=$a;I=1009;break a}else if(V<<24>>24==126){I=85;break d}else{ud=$a;I=1009;break a}if((V&255)<93)if((V&255)>91){I=85;break d}else{ud=$a;I=1009;break a}if((V&255)<94){ud=$a;I=1009;break a}if((V&255)<122){I=85;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){vd=V;I=1226;break a}else{I=85;break d}break}case 103:{V=Z+5|0;c[q>>2]=V;$a=a[V>>0]|0;switch($a<<24>>24){case 101:{V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){wd=J;I=1364;break a}else{I=85;break d}break}case 117:{J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){xd=J;I=1366;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}case 116:{V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){yd=J;I=1368;break a}else{I=85;break d}break}case 117:{J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){zd=J;I=1370;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}default:{ka=$a;I=90;break d}}break}case 108:{$a=Z+5|0;c[q>>2]=$a;V=a[$a>>0]|0;if((V&255)<111){if(V<<24>>24!=101){ka=V;I=90;break d}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 115:{J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Ad=J;I=1372;break a}else{I=85;break d}break}case 117:{J=Z+8|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Bd=J;I=1374;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}}if((V&255)>=112){if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;switch(V<<24>>24){case 115:{$a=Z+8|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Cd=$a;I=1393;break a}else{I=85;break d}break}case 117:{$a=Z+8|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Dd=$a;I=1395;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=97){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=100){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;$a=a[V>>0]|0;if(($a&255)>=57)if(($a&255)<94)if(($a&255)<91)if($a<<24>>24==59){Ed=V;I=1391;break a}else{I=85;break d}else if($a<<24>>24==92){I=85;break d}else{Ed=V;I=1391;break a}else if(($a&255)<125)if($a<<24>>24==123){Ed=V;I=1391;break a}else{I=85;break d}else if($a<<24>>24==126){I=85;break d}else{Ed=V;I=1391;break a}if(($a&255)<42)if(($a&255)<34)if(($a&255)>32){I=85;break d}else{Ed=V;I=1391;break a}else if(($a+-35&255)<5){I=85;break d}else{Ed=V;I=1391;break a}if(($a&255)<49)if($a<<24>>24==44){Ed=V;I=1391;break a}else{I=85;break d}if(($a&255)<50){V=Z+9|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 115:{V=Z+12|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Fd=V;I=1784;break a}else{I=85;break d}break}case 117:{V=Z+12|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Gd=V;I=1786;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}}else{if(($a&255)<56){I=85;break d}$a=Z+9|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 115:{J=Z+11|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Hd=J;I=1741;break a}else{I=85;break d}break}case 117:{J=Z+11|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Id=J;I=1743;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}}break}case 109:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=117){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=108){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Jd=$a;I=1233;break a}else{I=85;break d}break}case 110:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Kd=J;I=1017;break a}else{I=85;break d}break}case 111:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Ld=$a;I=1019;break a}else{I=85;break d}break}case 112:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=112){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=99){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=110){ka=$a;I=90;break d}$a=Z+9|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Md=J;I=1670;break a}else{I=85;break d}break}case 114:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 101:break;case 111:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 108:{V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Nd=V;I=1400;break a}else{I=85;break d}break}case 114:{V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Od=V;I=1402;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=$a;I=90;break d}}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 105:break;case 109:{$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;$a=a[V>>0]|0;switch($a<<24>>24){case 115:{V=Z+9|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Pd=V;I=1571;break a}else{I=85;break d}break}case 117:{V=Z+9|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Qd=V;I=1573;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}break}default:{ka=J;I=90;break d}}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=110){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+10|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=112){ka=$a;I=90;break d}$a=Z+12|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+13|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+14|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=47){ka=$a;I=90;break d}$a=Z+16|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=102){ka=J;I=90;break d}J=Z+17|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=51){ka=$a;I=90;break d}$a=Z+18|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=50){ka=J;I=90;break d}J=Z+19|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Rd=J;I=1968;break a}else{I=85;break d}break}case 115:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if(($a&255)<116){if($a<<24>>24!=104){ka=$a;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 108:{J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Sd=J;I=1239;break a}else{I=85;break d}break}case 114:break;default:{ka=V;I=90;break d}}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+9|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Td=J;I=1575;break a}else{I=85;break d}break}case 117:{J=Z+9|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Ud=J;I=1577;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}}if(($a&255)>=117){if(($a&255)>=118){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=98){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Wd=V;I=1243;break a}else{I=85;break d}}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=111){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=114){ka=V;I=90;break d}V=Z+8|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+9|0;c[q>>2]=$a;V=a[$a>>0]|0;if((V&255)>=57)if((V&255)<94)if((V&255)<91)if(V<<24>>24==59){Xd=$a;I=1594;break a}else{I=85;break d}else if(V<<24>>24==92){I=85;break d}else{Xd=$a;I=1594;break a}else if((V&255)<125)if(V<<24>>24==123){Xd=$a;I=1594;break a}else{I=85;break d}else if(V<<24>>24==126){I=85;break d}else{Xd=$a;I=1594;break a}if((V&255)<42)if((V&255)<34)if((V&255)>32){I=85;break d}else{Xd=$a;I=1594;break a}else if((V+-35&255)<5){I=85;break d}else{Xd=$a;I=1594;break a}if((V&255)<49)if(V<<24>>24==44){Xd=$a;I=1594;break a}else{I=85;break d}if((V&255)<50){$a=Z+10|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Yd=J;I=1746;break a}else{I=85;break d}}else{if((V&255)<56){I=85;break d}V=Z+10|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Zd=V;I=1674;break a}else{I=85;break d}}break}case 116:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=117){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=99){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=95){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 115:{J=Z+11|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=47){ka=$a;I=90;break d}$a=Z+12|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=102){ka=J;I=90;break d}J=Z+13|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 51:{J=Z+14|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=50){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){_d=G;I=1889;break a}else{I=85;break d}break}case 54:{G=Z+14|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=52){ka=J;I=90;break d}J=Z+15|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){$d=J;I=1891;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}break}case 117:{$a=Z+11|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+12|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=102){ka=$a;I=90;break d}$a=Z+13|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 51:{$a=Z+14|0;c[q>>2]=$a;G=a[$a>>0]|0;if(G<<24>>24!=50){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){ae=G;I=1893;break a}else{I=85;break d}break}case 54:{G=Z+14|0;c[q>>2]=G;$a=a[G>>0]|0;if($a<<24>>24!=52){ka=$a;I=90;break d}$a=Z+15|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){be=$a;I=1895;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=V;I=90;break d}}break}case 119:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=97){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=112){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=47){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=105){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=54){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=52){ka=J;I=90;break d}J=Z+12|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){ce=J;I=1791;break a}else{I=85;break d}break}case 120:{J=Z+5|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=111){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){de=J;I=1247;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}while(0)}if(F<<24>>24==54){O=Z+2|0;c[q>>2]=O;E=a[O>>0]|0;if(E<<24>>24==52){O=Z+3|0;c[q>>2]=O;J=a[O>>0]|0;if((J&255)>=59)if((J&255)<94)if((J&255)<91)if((J&255)>59){I=85;break d}else{ee=O;I=550;break a}else if(J<<24>>24==92){I=85;break d}else{ee=O;I=550;break a}else if((J&255)<125)if(J<<24>>24==123){ee=O;I=550;break a}else{I=85;break d}else if(J<<24>>24==126){I=85;break d}else{ee=O;I=550;break a}if((J&255)<42)if((J&255)<34)if((J&255)>32){I=85;break d}else{ee=O;I=550;break a}else if((J+-35&255)<5){I=85;break d}else{ee=O;I=550;break a}if((J&255)<45)if((J&255)<44){I=85;break d}else{ee=O;I=550;break a}if(J<<24>>24==46){J=Z+4|0;c[q>>2]=J;O=a[J>>0]|0;do switch(O&255|0){case 97:{J=Z+5|0;c[q>>2]=J;V=a[J>>0]|0;switch(V<<24>>24){case 100:{J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=100){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){fe=$a;I=1249;break a}else{I=85;break d}break}case 110:{$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=100){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){ge=J;I=1251;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}case 99:{V=Z+5|0;c[q>>2]=V;J=a[V>>0]|0;if((J&255)<111){if(J<<24>>24!=108){ka=J;I=90;break d}V=Z+6|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=122){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){he=$a;I=1253;break a}else{I=85;break d}}if((J&255)>=112){if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=122){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){ie=$a;I=1256;break a}else{I=85;break d}}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=115){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){je=J;I=1598;break a}else{I=85;break d}break}case 100:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=105){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=118){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 115:{$a=Z+9|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){ke=$a;I=1600;break a}else{I=85;break d}break}case 117:{$a=Z+9|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){le=$a;I=1602;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 101:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 113:break;case 120:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=110){ka=V;I=90;break d}V=Z+9|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=100){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 115:{V=Z+12|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=47){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+14|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=51){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=50){ka=V;I=90;break d}V=Z+16|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){me=V;I=1925;break a}else{I=85;break d}break}case 117:{V=Z+12|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=47){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=105){ka=V;I=90;break d}V=Z+14|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=51){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=50){ka=V;I=90;break d}V=Z+16|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){ne=V;I=1927;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=$a;I=90;break d}}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if((J&255)<91)if((J&255)<42)if((J&255)<34)if((J&255)>32){I=85;break d}else{oe=$a;I=1051;break a}else if((J+-35&255)<5){I=85;break d}else{oe=$a;I=1051;break a}else if((J&255)<45)if((J&255)<44){I=85;break d}else{oe=$a;I=1051;break a}else if(J<<24>>24==59){oe=$a;I=1051;break a}else{I=85;break d}if((J&255)>=123)if((J&255)<125)if((J&255)>123){I=85;break d}else{oe=$a;I=1051;break a}else if(J<<24>>24==126){I=85;break d}else{oe=$a;I=1051;break a}if((J&255)<93)if((J&255)>91){I=85;break d}else{oe=$a;I=1051;break a}if((J&255)<94){oe=$a;I=1051;break a}if((J&255)<122){I=85;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){pe=J;I=1259;break a}else{I=85;break d}break}case 103:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 101:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 115:{V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){qe=V;I=1411;break a}else{I=85;break d}break}case 117:{V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){re=V;I=1413;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 116:{J=Z+6|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;J=a[V>>0]|0;switch(J<<24>>24){case 115:{V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){se=V;I=1415;break a}else{I=85;break d}break}case 117:{V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){te=V;I=1417;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=$a;I=90;break d}}break}case 108:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if((J&255)<111){if(J<<24>>24!=101){ka=J;I=90;break d}$a=Z+6|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+7|0;c[q>>2]=V;$a=a[V>>0]|0;switch($a<<24>>24){case 115:{V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){ue=V;I=1419;break a}else{I=85;break d}break}case 117:{V=Z+8|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){ve=V;I=1421;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}}if((J&255)>=112){if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 115:{$a=Z+8|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){we=$a;I=1441;break a}else{I=85;break d}break}case 117:{$a=Z+8|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){xe=$a;I=1443;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=97){ka=$a;I=90;break d}$a=Z+7|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=100){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;$a=a[J>>0]|0;if(($a&255)>=56){if(($a&255)>=93)if(($a&255)<124)if(($a+-94&255)<29){I=85;break d}else{ye=J;I=1439;break a}else if($a<<24>>24!=125&($a&255)<127){I=85;break d}else{ye=J;I=1439;break a}if(($a&255)>=60)if($a<<24>>24==91){ye=J;I=1439;break a}else{I=85;break d}if(($a&255)>=57)if(($a&255)<59){I=85;break d}else{ye=J;I=1439;break a}V=Z+9|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=95){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;V=a[G>>0]|0;switch(V<<24>>24){case 115:{G=Z+11|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){ze=G;I=1754;break a}else{I=85;break d}break}case 117:{G=Z+11|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){Ae=G;I=1756;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}}if(($a&255)<44)if(($a&255)<35)if($a<<24>>24==33){I=85;break d}else{ye=J;I=1439;break a}else if(($a&-2)<<24>>24==40){ye=J;I=1439;break a}else{I=85;break d}if(($a&255)>=50){if($a<<24>>24!=51){I=85;break d}V=Z+9|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=50){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=95){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;G=a[V>>0]|0;switch(G<<24>>24){case 115:{V=Z+12|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Be=V;I=1799;break a}else{I=85;break d}break}case 117:{V=Z+12|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Ce=V;I=1801;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}}if(($a&255)<45){ye=J;I=1439;break a}if(($a&255)<49){I=85;break d}$a=Z+9|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+11|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 115:{$a=Z+12|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){De=$a;I=1795;break a}else{I=85;break d}break}case 117:{$a=Z+12|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Ee=$a;I=1797;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}case 109:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=117){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=108){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Fe=J;I=1267;break a}else{I=85;break d}break}case 110:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=101){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Ge=$a;I=1060;break a}else{I=85;break d}break}case 111:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){He=J;I=1062;break a}else{I=85;break d}break}case 112:{J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=111){ka=$a;I=90;break d}$a=Z+6|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=112){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=99){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=116){ka=$a;I=90;break d}$a=Z+10|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Ie=$a;I=1682;break a}else{I=85;break d}break}case 114:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;switch(J<<24>>24){case 101:break;case 111:{$a=Z+6|0;c[q>>2]=$a;G=a[$a>>0]|0;if(G<<24>>24!=116){ka=G;I=90;break d}G=Z+7|0;c[q>>2]=G;$a=a[G>>0]|0;switch($a<<24>>24){case 108:{G=Z+8|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){Je=G;I=1448;break a}else{I=85;break d}break}case 114:{G=Z+8|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){Ke=G;I=1450;break a}else{I=85;break d}break}default:{ka=$a;I=90;break d}}break}default:{ka=J;I=90;break d}}J=Z+6|0;c[q>>2]=J;$a=a[J>>0]|0;switch($a<<24>>24){case 105:break;case 109:{J=Z+7|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=95){ka=G;I=90;break d}G=Z+8|0;c[q>>2]=G;J=a[G>>0]|0;switch(J<<24>>24){case 115:{G=Z+9|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){Le=G;I=1610;break a}else{I=85;break d}break}case 117:{G=Z+9|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){Me=G;I=1612;break a}else{I=85;break d}break}default:{ka=J;I=90;break d}}break}default:{ka=$a;I=90;break d}}$a=Z+7|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=110){ka=J;I=90;break d}J=Z+8|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=116){ka=$a;I=90;break d}$a=Z+9|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+10|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+11|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=112){ka=J;I=90;break d}J=Z+12|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=114){ka=$a;I=90;break d}$a=Z+13|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+14|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=116){ka=$a;I=90;break d}$a=Z+15|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=47){ka=J;I=90;break d}J=Z+16|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=102){ka=$a;I=90;break d}$a=Z+17|0;c[q>>2]=$a;J=a[$a>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+18|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24!=52){ka=$a;I=90;break d}$a=Z+19|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Ne=$a;I=1970;break a}else{I=85;break d}break}case 115:{$a=Z+5|0;c[q>>2]=$a;J=a[$a>>0]|0;if((J&255)<116){if(J<<24>>24!=104){ka=J;I=90;break d}$a=Z+6|0;c[q>>2]=$a;G=a[$a>>0]|0;switch(G<<24>>24){case 108:{$a=Z+7|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Oe=$a;I=1273;break a}else{I=85;break d}break}case 114:break;default:{ka=G;I=90;break d}}G=Z+7|0;c[q>>2]=G;$a=a[G>>0]|0;if($a<<24>>24!=95){ka=$a;I=90;break d}$a=Z+8|0;c[q>>2]=$a;G=a[$a>>0]|0;switch(G<<24>>24){case 115:{$a=Z+9|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Pe=$a;I=1614;break a}else{I=85;break d}break}case 117:{$a=Z+9|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Qe=$a;I=1616;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}}if((J&255)>=117){if((J&255)>=118){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=98){ka=G;I=90;break d}G=Z+7|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){Re=G;I=1277;break a}else{I=85;break d}}G=Z+6|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=114){ka=G;I=90;break d}G=Z+8|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=101){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;G=a[J>>0]|0;if((G&255)>=56){if((G&255)>=93)if((G&255)<124)if((G+-94&255)<29){I=85;break d}else{Se=J;I=1634;break a}else if(G<<24>>24!=125&(G&255)<127){I=85;break d}else{Se=J;I=1634;break a}if((G&255)>=60)if(G<<24>>24==91){Se=J;I=1634;break a}else{I=85;break d}if((G&255)<57){$a=Z+10|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Te=$a;I=1687;break a}else{I=85;break d}}else if((G&255)<59){I=85;break d}else{Se=J;I=1634;break a}}if((G&255)<44)if((G&255)<35)if(G<<24>>24==33){I=85;break d}else{Se=J;I=1634;break a}else if((G&-2)<<24>>24==40){Se=J;I=1634;break a}else{I=85;break d}if((G&255)>=50){if(G<<24>>24!=51){I=85;break d}$a=Z+10|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=50){ka=V;I=90;break d}V=Z+11|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Ue=V;I=1761;break a}else{I=85;break d}}if((G&255)<45){Se=J;I=1634;break a}if((G&255)<49){I=85;break d}G=Z+10|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=54){ka=J;I=90;break d}J=Z+11|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){Ve=J;I=1759;break a}else{I=85;break d}break}case 116:{J=Z+5|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=114){ka=G;I=90;break d}G=Z+6|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=117){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=110){ka=G;I=90;break d}G=Z+8|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=99){ka=J;I=90;break d}J=Z+9|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=95){ka=G;I=90;break d}G=Z+10|0;c[q>>2]=G;J=a[G>>0]|0;switch(J<<24>>24){case 115:{G=Z+11|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=47){ka=V;I=90;break d}V=Z+12|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=102){ka=G;I=90;break d}G=Z+13|0;c[q>>2]=G;V=a[G>>0]|0;switch(V<<24>>24){case 51:{G=Z+14|0;c[q>>2]=G;$a=a[G>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+15|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){We=$a;I=1900;break a}else{I=85;break d}break}case 54:{$a=Z+14|0;c[q>>2]=$a;G=a[$a>>0]|0;if(G<<24>>24!=52){ka=G;I=90;break d}G=Z+15|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){Xe=G;I=1902;break a}else{I=85;break d}break}default:{ka=V;I=90;break d}}break}case 117:{V=Z+11|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=47){ka=G;I=90;break d}G=Z+12|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=102){ka=V;I=90;break d}V=Z+13|0;c[q>>2]=V;G=a[V>>0]|0;switch(G<<24>>24){case 51:{V=Z+14|0;c[q>>2]=V;$a=a[V>>0]|0;if($a<<24>>24!=50){ka=$a;I=90;break d}$a=Z+15|0;c[q>>2]=$a;if(!(a[11197+(d[$a>>0]|0)>>0]&16)){Ye=$a;I=1904;break a}else{I=85;break d}break}case 54:{$a=Z+14|0;c[q>>2]=$a;V=a[$a>>0]|0;if(V<<24>>24!=52){ka=V;I=90;break d}V=Z+15|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){Ze=V;I=1906;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}break}default:{ka=J;I=90;break d}}break}case 120:{J=Z+5|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24!=111){ka=G;I=90;break d}G=Z+6|0;c[q>>2]=G;J=a[G>>0]|0;if(J<<24>>24!=114){ka=J;I=90;break d}J=Z+7|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){_e=J;I=1280;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}while(0)}else I=85}else{ka=E;I=90}}else{ka=F;I=90}break}case 108:{O=Z+1|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24==111){O=Z+2|0;c[q>>2]=O;G=a[O>>0]|0;switch(G<<24>>24){case 99:break;case 111:{O=Z+3|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24!=112){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){$e=V;I=711;break a}else{I=85;break d}break}default:{ka=G;I=90;break d}}G=Z+3|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24==97){G=Z+4|0;c[q>>2]=G;O=a[G>>0]|0;if(O<<24>>24==108){G=Z+5|0;c[q>>2]=G;if(!(a[11197+(d[G>>0]|0)>>0]&16)){af=G;I=864;break a}else I=85}else{ka=O;I=90}}else{ka=V;I=90}}else{ka=J;I=90}break}case 109:{J=Z+1|0;c[q>>2]=J;V=a[J>>0]|0;if((V&255)<111){if(V<<24>>24!=101){ka=V;I=90;break d}J=Z+2|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24!=109){ka=O;I=90;break d}O=Z+3|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24!=111){ka=J;I=90;break d}J=Z+4|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24!=114){ka=O;I=90;break d}O=Z+5|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24!=121){ka=J;I=90;break d}J=Z+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){bf=J;I=1078;break a}else{I=85;break d}}if((V&255)>=112){if(V<<24>>24!=117){ka=V;I=90;break d}V=Z+2|0;c[q>>2]=V;J=a[V>>0]|0;if(J<<24>>24!=116){ka=J;I=90;break d}J=Z+3|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){cf=J;I=577;break a}else{I=85;break d}}J=Z+2|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24==100){J=Z+3|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24==117){J=Z+4|0;c[q>>2]=J;G=a[J>>0]|0;if(G<<24>>24==108){J=Z+5|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24==101){J=Z+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){df=J;I=1080;break a}else I=85}else{ka=$a;I=90}}else{ka=G;I=90}}else{ka=O;I=90}}else{ka=V;I=90}break}case 110:{V=Z+1|0;c[q>>2]=V;O=a[V>>0]|0;switch(O<<24>>24){case 97:{ma=V;I=384;break d;break}case 111:break;default:{ka=O;I=90;break d}}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24==112){O=Z+3|0;c[q>>2]=O;if(!(a[11197+(d[O>>0]|0)>>0]&16)){ef=O;I=597;break a}else I=85}else{ka=V;I=90}break}case 111:{V=Z+1|0;c[q>>2]=V;O=a[V>>0]|0;switch(O<<24>>24){case 102:break;case 117:{V=Z+2|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=116){ka=G;I=90;break d}G=Z+3|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=112){ka=V;I=90;break d}V=Z+4|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24!=117){ka=G;I=90;break d}G=Z+5|0;c[q>>2]=G;V=a[G>>0]|0;if(V<<24>>24!=116){ka=V;I=90;break d}V=Z+6|0;c[q>>2]=V;if(!(a[11197+(d[V>>0]|0)>>0]&16)){ff=V;I=1101;break a}else{I=85;break d}break}default:{ka=O;I=90;break d}}O=Z+2|0;c[q>>2]=O;V=a[O>>0]|0;if(V<<24>>24==102){O=Z+3|0;c[q>>2]=O;G=a[O>>0]|0;if(G<<24>>24==115){O=Z+4|0;c[q>>2]=O;$a=a[O>>0]|0;if($a<<24>>24==101){O=Z+5|0;c[q>>2]=O;J=a[O>>0]|0;if(J<<24>>24==116){O=Z+6|0;c[q>>2]=O;Eb=a[O>>0]|0;if((Eb&255)<61)if((Eb&255)<42)if((Eb&255)<34)if((Eb&255)>32){I=85;break d}else{gf=O;I=1099;break a}else if((Eb+-35&255)<5){I=85;break d}else{gf=O;I=1099;break a}else if((Eb&255)<45)if((Eb&255)<44){I=85;break d}else{gf=O;I=1099;break a}else if(Eb<<24>>24==59){gf=O;I=1099;break a}else{I=85;break d}if((Eb&255)>=94)if((Eb&255)<125)if(Eb<<24>>24==123){gf=O;I=1099;break a}else{I=85;break d}else if(Eb<<24>>24==126){I=85;break d}else{gf=O;I=1099;break a}if((Eb&255)>=91)if(Eb<<24>>24==92){I=85;break d}else{gf=O;I=1099;break a}if((Eb&255)<62){Eb=Z+7|0;c[q>>2]=Eb;O=a[Eb>>0]|0;if((O&255)>=48){do if((O&255)<49){zb=Z+8|0;c[q>>2]=zb;U=a[zb>>0]|0;hf=zb;if((U&255)<60){if((U&255)<42)if((U&255)<34)if((U&255)>32){I=85;break d}else{jf=hf;I=1473;break a}else if((U+-35&255)<5){I=85;break d}else{jf=hf;I=1473;break a}if((U&255)<48)if(U<<24>>24==44){jf=hf;I=1473;break a}else{I=85;break d}if((U&255)<58){kf=zb;break}if((U&255)<59){I=85;break d}else{jf=hf;I=1473;break a}}if((U&255)>=121)if((U&255)<125)if(U<<24>>24==123){jf=hf;I=1473;break a}else{I=85;break d}else if(U<<24>>24==126){I=85;break d}else{jf=hf;I=1473;break a}if((U&255)<93)if(U<<24>>24==91){jf=hf;I=1473;break a}else{I=85;break d}if((U&255)<94){jf=hf;I=1473;break a}if((U&255)<120){I=85;break d}U=Z+9|0;c[q>>2]=U;hf=a[U>>0]|0;if((hf&255)<65)if((hf+-48&255)<10)lf=U;else{ka=hf;I=90;break d}else if((hf&255)<71|(hf+-97&255)<6)lf=U;else{ka=hf;I=90;break d}while(1){hf=lf+1|0;c[q>>2]=hf;if((c[s>>2]|0)>>>0>hf>>>0)mf=hf;else{if((Vd(f,1)|0)==1){I=1692;break a}mf=c[q>>2]|0}hf=a[mf>>0]|0;if((hf&255)<65){if((hf&255)<44){nf=mf;of=hf;I=1695;break}if((hf&255)>=58){pf=mf;qf=hf;I=1701;break}if((hf&255)<45){rf=mf;I=1472;break a}if((hf&255)<48){I=85;break d}else{lf=mf;continue}}if((hf&255)<97){if((hf&255)>=92){sf=mf;tf=hf;I=1706;break}if((hf&255)<71){lf=mf;continue}else{uf=mf;vf=hf;I=1705;break}}else{if((hf&255)>=124){wf=mf;xf=hf;I=1710;break}if((hf&255)<103){lf=mf;continue}else{yf=mf;zf=hf;I=1709;break}}}if((I|0)==1695){I=0;hf=nf;if((of&255)<35)if(of<<24>>24==33){I=85;break d}else{jf=hf;I=1473;break a}else if((of&-2)<<24>>24==40){jf=hf;I=1473;break a}else{I=85;break d}}else if((I|0)==1701){I=0;if(qf<<24>>24==59){jf=pf;I=1473;break a}else{I=85;break d}}else if((I|0)==1705){I=0;if((vf&255)<91){I=85;break d}else{jf=uf;I=1473;break a}}else if((I|0)==1706){I=0;if(tf<<24>>24==93){jf=sf;I=1473;break a}else{I=85;break d}}else if((I|0)==1709){I=0;if((zf&255)<123){I=85;break d}else{jf=yf;I=1473;break a}}else if((I|0)==1710){I=0;if(xf<<24>>24!=125&(xf&255)<127){I=85;break d}else{jf=wf;I=1473;break a}}}else if((O&255)<58)kf=Eb;else{ka=O;I=90;break d}while(0);while(1){Eb=kf+1|0;c[q>>2]=Eb;if((c[s>>2]|0)>>>0>Eb>>>0)Af=Eb;else{if((Vd(f,1)|0)==1){I=1477;break a}Af=c[q>>2]|0}Eb=a[Af>>0]|0;if((Eb&255)>=59){Bf=Af;Cf=Eb;I=1486;break}if((Eb&255)<42){Df=Af;Ef=Eb;I=1480;break}if((Eb&255)<45){Ff=Af;Gf=Eb;I=1484;break}if((Eb+-48&255)<10)kf=Af;else{I=85;break d}}if((I|0)==1480){I=0;Eb=Df;if((Ef&255)<34)if((Ef&255)<33){jf=Eb;I=1473;break a}else{I=85;break d}else if((Ef+-35&255)<5){I=85;break d}else{jf=Eb;I=1473;break a}}else if((I|0)==1484){I=0;if((Gf&255)<44){I=85;break d}else{jf=Ff;I=1473;break a}}else if((I|0)==1486){I=0;Eb=Bf;if((Cf&255)<94)if((Cf&255)<91)if((Cf&255)<60){jf=Eb;I=1473;break a}else{I=85;break d}else if(Cf<<24>>24==92){I=85;break d}else{jf=Eb;I=1473;break a}else if((Cf&255)<125)if(Cf<<24>>24==123){jf=Eb;I=1473;break a}else{I=85;break d}else if(Cf<<24>>24==126){I=85;break d}else{jf=Eb;I=1473;break a}}}else{ka=O;I=90}}else I=85}else{ka=J;I=90}}else{ka=$a;I=90}}else{ka=G;I=90}}else{ka=V;I=90}break}case 112:{Eb=Z+1|0;c[q>>2]=Eb;F=a[Eb>>0]|0;if(F<<24>>24==97){Eb=Z+2|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24==114){Eb=Z+3|0;c[q>>2]=Eb;hf=a[Eb>>0]|0;if(hf<<24>>24==97){Eb=Z+4|0;c[q>>2]=Eb;U=a[Eb>>0]|0;if(U<<24>>24==109){Eb=Z+5|0;c[q>>2]=Eb;if(!(a[11197+(d[Eb>>0]|0)>>0]&16)){Hf=Eb;I=871;break a}else I=85}else{ka=U;I=90}}else{ka=hf;I=90}}else{ka=E;I=90}}else{ka=F;I=90}break}case 114:{F=Z+1|0;c[q>>2]=F;E=a[F>>0]|0;if(E<<24>>24==101){F=Z+2|0;c[q>>2]=F;hf=a[F>>0]|0;if((hf&255)<115){if(hf<<24>>24!=103){ka=hf;I=90;break d}F=Z+3|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24!=105){ka=U;I=90;break d}U=Z+4|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24!=115){ka=F;I=90;break d}F=Z+5|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24!=116){ka=U;I=90;break d}U=Z+6|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24!=101){ka=F;I=90;break d}F=Z+7|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24!=114){ka=U;I=90;break d}U=Z+8|0;c[q>>2]=U;if(!(a[11197+(d[U>>0]|0)>>0]&16)){If=U;I=1494;break a}else{I=85;break d}}if((hf&255)<116){U=Z+3|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24!=117){ka=F;I=90;break d}F=Z+4|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24!=108){ka=U;I=90;break d}U=Z+5|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24!=116){ka=F;I=90;break d}F=Z+6|0;c[q>>2]=F;if(!(a[11197+(d[F>>0]|0)>>0]&16)){Jf=F;I=1104;break a}else{I=85;break d}}if((hf&255)<117){F=Z+3|0;c[q>>2]=F;U=a[F>>0]|0;if(U<<24>>24==117){F=Z+4|0;c[q>>2]=F;Eb=a[F>>0]|0;if(Eb<<24>>24==114){F=Z+5|0;c[q>>2]=F;zb=a[F>>0]|0;if(zb<<24>>24==110){F=Z+6|0;c[q>>2]=F;if(!(a[11197+(d[F>>0]|0)>>0]&16)){Kf=F;I=1106;break a}else I=85}else{ka=zb;I=90}}else{ka=Eb;I=90}}else{ka=U;I=90}}else{ka=hf;I=90}}else{ka=E;I=90}break}case 115:{E=Z+1|0;c[q>>2]=E;hf=a[E>>0]|0;switch(hf<<24>>24){case 101:break;case 116:{E=Z+2|0;c[q>>2]=E;U=a[E>>0]|0;if(U<<24>>24!=97){ka=U;I=90;break d}U=Z+3|0;c[q>>2]=U;E=a[U>>0]|0;if(E<<24>>24!=114){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;U=a[E>>0]|0;if(U<<24>>24!=116){ka=U;I=90;break d}U=Z+5|0;c[q>>2]=U;if(!(a[11197+(d[U>>0]|0)>>0]&16)){Lf=U;I=879;break a}else{I=85;break d}break}default:{ka=hf;I=90;break d}}hf=Z+2|0;c[q>>2]=hf;U=a[hf>>0]|0;switch(U<<24>>24){case 108:{hf=Z+3|0;c[q>>2]=hf;E=a[hf>>0]|0;if(E<<24>>24!=101){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;hf=a[E>>0]|0;if(hf<<24>>24!=99){ka=hf;I=90;break d}hf=Z+5|0;c[q>>2]=hf;E=a[hf>>0]|0;if(E<<24>>24!=116){ka=E;I=90;break d}E=Z+6|0;c[q>>2]=E;if(!(a[11197+(d[E>>0]|0)>>0]&16)){Mf=E;I=1108;break a}else{I=85;break d}break}case 116:break;default:{ka=U;I=90;break d}}U=Z+3|0;c[q>>2]=U;E=a[U>>0]|0;if(E<<24>>24==95){U=Z+4|0;c[q>>2]=U;hf=a[U>>0]|0;switch(hf<<24>>24){case 103:break;case 108:{U=Z+5|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24!=111){ka=Eb;I=90;break d}Eb=Z+6|0;c[q>>2]=Eb;U=a[Eb>>0]|0;if(U<<24>>24!=99){ka=U;I=90;break d}U=Z+7|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24!=97){ka=Eb;I=90;break d}Eb=Z+8|0;c[q>>2]=Eb;U=a[Eb>>0]|0;if(U<<24>>24!=108){ka=U;I=90;break d}U=Z+9|0;c[q>>2]=U;if(!(a[11197+(d[U>>0]|0)>>0]&16)){Nf=U;I=1641;break a}else{I=85;break d}break}default:{ka=hf;I=90;break d}}hf=Z+5|0;c[q>>2]=hf;U=a[hf>>0]|0;if(U<<24>>24==108){hf=Z+6|0;c[q>>2]=hf;Eb=a[hf>>0]|0;if(Eb<<24>>24==111){hf=Z+7|0;c[q>>2]=hf;zb=a[hf>>0]|0;if(zb<<24>>24==98){hf=Z+8|0;c[q>>2]=hf;F=a[hf>>0]|0;if(F<<24>>24==97){hf=Z+9|0;c[q>>2]=hf;Of=a[hf>>0]|0;if(Of<<24>>24==108){hf=Z+10|0;c[q>>2]=hf;if(!(a[11197+(d[hf>>0]|0)>>0]&16)){Pf=hf;I=1712;break a}else I=85}else{ka=Of;I=90}}else{ka=F;I=90}}else{ka=zb;I=90}}else{ka=Eb;I=90}}else{ka=U;I=90}}else{ka=E;I=90}break}case 116:{E=Z+1|0;c[q>>2]=E;U=a[E>>0]|0;if((U&255)>=102)if((U&255)<105){if((U&255)<104){ka=U;I=90;break d}E=Z+2|0;c[q>>2]=E;Eb=a[E>>0]|0;if(Eb<<24>>24!=101){ka=Eb;I=90;break d}Eb=Z+3|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24!=110){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;if(!(a[11197+(d[E>>0]|0)>>0]&16)){Qf=E;I=727;break a}else{I=85;break d}}else{if(U<<24>>24!=121){ka=U;I=90;break d}E=Z+2|0;c[q>>2]=E;Eb=a[E>>0]|0;if(Eb<<24>>24!=112){ka=Eb;I=90;break d}Eb=Z+3|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24!=101){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;if(!(a[11197+(d[E>>0]|0)>>0]&16)){Rf=E;I=729;break a}else{I=85;break d}}if(U<<24>>24==97){E=Z+2|0;c[q>>2]=E;Eb=a[E>>0]|0;if(Eb<<24>>24!=98){ka=Eb;I=90;break d}Eb=Z+3|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24!=108){ka=E;I=90;break d}E=Z+4|0;c[q>>2]=E;Eb=a[E>>0]|0;if(Eb<<24>>24!=101){ka=Eb;I=90;break d}Eb=Z+5|0;c[q>>2]=Eb;if(!(a[11197+(d[Eb>>0]|0)>>0]&16)){Sf=Eb;I=881;break a}else{I=85;break d}}if((U&255)>=101){Eb=Z+2|0;c[q>>2]=Eb;E=a[Eb>>0]|0;if(E<<24>>24==101){Eb=Z+3|0;c[q>>2]=Eb;zb=a[Eb>>0]|0;if(zb<<24>>24==95){Eb=Z+4|0;c[q>>2]=Eb;F=a[Eb>>0]|0;if(F<<24>>24==108){Eb=Z+5|0;c[q>>2]=Eb;Of=a[Eb>>0]|0;if(Of<<24>>24==111){Eb=Z+6|0;c[q>>2]=Eb;hf=a[Eb>>0]|0;if(hf<<24>>24==99){Eb=Z+7|0;c[q>>2]=Eb;Tf=a[Eb>>0]|0;if(Tf<<24>>24==97){Eb=Z+8|0;c[q>>2]=Eb;Uf=a[Eb>>0]|0;if(Uf<<24>>24==108){Eb=Z+9|0;c[q>>2]=Eb;if(!(a[11197+(d[Eb>>0]|0)>>0]&16)){Vf=Eb;I=1643;break a}else I=85}else{ka=Uf;I=90}}else{ka=Tf;I=90}}else{ka=hf;I=90}}else{ka=Of;I=90}}else{ka=F;I=90}}else{ka=zb;I=90}}else{ka=E;I=90}}else{ka=U;I=90}break}case 117:{U=Z+1|0;c[q>>2]=U;E=a[U>>0]|0;if(E<<24>>24==110){U=Z+2|0;c[q>>2]=U;zb=a[U>>0]|0;if(zb<<24>>24==114){U=Z+3|0;c[q>>2]=U;F=a[U>>0]|0;if(F<<24>>24==101){U=Z+4|0;c[q>>2]=U;Of=a[U>>0]|0;if(Of<<24>>24==97){U=Z+5|0;c[q>>2]=U;hf=a[U>>0]|0;if(hf<<24>>24==99){U=Z+6|0;c[q>>2]=U;Tf=a[U>>0]|0;if(Tf<<24>>24==104){U=Z+7|0;c[q>>2]=U;Uf=a[U>>0]|0;if(Uf<<24>>24==97){U=Z+8|0;c[q>>2]=U;Eb=a[U>>0]|0;if(Eb<<24>>24==98){U=Z+9|0;c[q>>2]=U;Wf=a[U>>0]|0;if(Wf<<24>>24==108){U=Z+10|0;c[q>>2]=U;Xf=a[U>>0]|0;if(Xf<<24>>24==101){U=Z+11|0;c[q>>2]=U;if(!(a[11197+(d[U>>0]|0)>>0]&16)){Yf=U;I=1765;break a}else I=85}else{ka=Xf;I=90}}else{ka=Wf;I=90}}else{ka=Eb;I=90}}else{ka=Uf;I=90}}else{ka=Tf;I=90}}else{ka=hf;I=90}}else{ka=Of;I=90}}else{ka=F;I=90}}else{ka=zb;I=90}}else{ka=E;I=90}break}default:{E=Z+1|0;c[q>>2]=E;_a=E;I=78}}while(0);g:do if((I|0)==78){I=0;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];T=c[w>>2]|0;E=c[x>>2]|0;zb=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-T+E-zb;c[A>>2]=_a+1-T+E-zb;wi(e,f,g,11453,k);M=D;D=M;continue a}else if((I|0)==136){while(1){I=0;zb=Za+1|0;c[q>>2]=zb;E=zb;if(((c[s>>2]|0)-E|0)<3){if((Vd(f,3)|0)==1){I=139;break a}T=c[q>>2]|0;Zf=T;_f=T}else{Zf=zb;_f=E}E=a[Zf>>0]|0;if(((E&255)+-48|0)>>>0<10){Za=Zf;I=136}else{$f=_f;ag=Zf;bg=E;break}}if((bg&255)<69){if((bg&255)<44)if((bg&255)<35)if(bg<<24>>24==33){I=85;break}else{Ta=$f;I=135;break a}else if((bg&-2)<<24>>24==40){Ta=$f;I=135;break a}else{I=85;break}if((bg&255)>=47)if(bg<<24>>24==59){Ta=$f;I=135;break a}else{I=85;break}if((bg&255)<45){Ta=$f;I=135;break a}if((bg&255)<46){I=85;break}else{oa=ag;I=293;break}}if((bg&255)<101){if((bg&255)>=92)if(bg<<24>>24==93){Ta=$f;I=135;break a}else{I=85;break}if((bg&255)<70){qa=ag;I=316;break}if((bg&255)<91){I=85;break}else{Ta=$f;I=135;break a}}else{if((bg&255)>=124)if(bg<<24>>24!=125&(bg&255)<127){I=85;break}else{Ta=$f;I=135;break a}if((bg&255)<102){qa=ag;I=316;break}if((bg&255)<123){I=85;break}else{Ta=$f;I=135;break a}}}else if((I|0)==384){I=0;V=ma+1|0;c[q>>2]=V;G=a[V>>0]|0;if(G<<24>>24==110){V=ma+2|0;c[q>>2]=V;$a=a[V>>0]|0;J=V;if(($a&255)>=60)if(($a&255)<123)if(($a&255)<92)if(($a&255)<91){I=85;break}else{cg=J;I=595;break a}else if($a<<24>>24==93){cg=J;I=595;break a}else{I=85;break}else if(($a&255)<125)if(($a&255)>123){I=85;break}else{cg=J;I=595;break a}else if($a<<24>>24==126){I=85;break}else{cg=J;I=595;break a}if(($a&255)<42)if(($a&255)<34)if(($a&255)>32){I=85;break}else{cg=J;I=595;break a}else if(($a+-35&255)<5){I=85;break}else{cg=J;I=595;break a}if(($a&255)<45)if(($a&255)<44){I=85;break}else{cg=J;I=595;break a}if(($a&255)>=58){if(($a&255)>=59){cg=J;I=595;break a}J=ma+3|0;c[q>>2]=J;$a=a[J>>0]|0;if($a<<24>>24==48){J=ma+4|0;c[q>>2]=J;V=a[J>>0]|0;if(V<<24>>24==120){J=ma+5|0;c[q>>2]=J;O=a[J>>0]|0;if((O&255)<65)if((O+-48&255)<10)dg=J;else{ka=O;I=90;break}else if((O&255)<71|(O+-97&255)<6)dg=J;else{ka=O;I=90;break}while(1){O=dg+1|0;c[q>>2]=O;if((c[s>>2]|0)>>>0>O>>>0)eg=O;else{if((Vd(f,1)|0)==1){I=1287;break a}eg=c[q>>2]|0}O=a[eg>>0]|0;if((O&255)<65){if((O&255)<44){fg=eg;gg=O;I=1290;break}if((O&255)>=58){hg=eg;ig=O;I=1296;break}if((O&255)<45){jg=eg;I=594;break a}if((O&255)<48){I=85;break g}else{dg=eg;continue}}if((O&255)<97){if((O&255)>=92){kg=eg;lg=O;I=1301;break}if((O&255)<71){dg=eg;continue}else{mg=eg;ng=O;I=1300;break}}else{if((O&255)>=124){og=eg;pg=O;I=1305;break}if((O&255)<103){dg=eg;continue}else{qg=eg;rg=O;I=1304;break}}}if((I|0)==1290){I=0;O=fg;if((gg&255)<35)if(gg<<24>>24==33){I=85;break}else{cg=O;I=595;break a}else if((gg&-2)<<24>>24==40){cg=O;I=595;break a}else{I=85;break}}else if((I|0)==1296){I=0;if(ig<<24>>24==59){cg=hg;I=595;break a}else{I=85;break}}else if((I|0)==1300){I=0;if((ng&255)<91){I=85;break}else{cg=mg;I=595;break a}}else if((I|0)==1301){I=0;if(lg<<24>>24==93){cg=kg;I=595;break a}else{I=85;break}}else if((I|0)==1304){I=0;if((rg&255)<123){I=85;break}else{cg=qg;I=595;break a}}else if((I|0)==1305){I=0;if(pg<<24>>24!=125&(pg&255)<127){I=85;break}else{cg=og;I=595;break a}}}else{ka=V;I=90}}else{ka=$a;I=90}}else I=85}else{ka=G;I=90}}else if((I|0)==553){I=0;O=la+1|0;c[q>>2]=O;J=a[O>>0]|0;E=O;if((J&255)<91)if((J&255)<42)if((J&255)<34)if((J&255)>32){I=85;break}else{sg=E;I=569;break a}else if((J+-35&255)<5){I=85;break}else{sg=E;I=569;break a}else if((J&255)<45)if((J&255)<44){I=85;break}else{sg=E;I=569;break a}else if(J<<24>>24==59){sg=E;I=569;break a}else{I=85;break}if((J&255)>=106)if((J&255)<125)if(J<<24>>24==123){sg=E;I=569;break a}else{I=85;break}else if(J<<24>>24==126){I=85;break}else{sg=E;I=569;break a}if((J&255)<93)if((J&255)>91){I=85;break}else{sg=E;I=569;break a}if((J&255)<94){sg=E;I=569;break a}if((J&255)>=105){J=la+2|0;c[q>>2]=J;E=a[J>>0]|0;if(E<<24>>24==110){J=la+3|0;c[q>>2]=J;O=a[J>>0]|0;if(O<<24>>24==105){J=la+4|0;c[q>>2]=J;zb=a[J>>0]|0;if(zb<<24>>24==116){J=la+5|0;c[q>>2]=J;T=a[J>>0]|0;if(T<<24>>24==121){J=la+6|0;c[q>>2]=J;if(!(a[11197+(d[J>>0]|0)>>0]&16)){sg=J;I=569;break a}else I=85}else{ka=T;I=90}}else{ka=zb;I=90}}else{ka=O;I=90}}else{ka=E;I=90}}else I=85}else if((I|0)==635){while(1){I=0;E=Fa+1|0;c[q>>2]=E;if(((c[s>>2]|0)-E|0)<3){if((Vd(f,3)|0)==1){I=638;break a}tg=c[q>>2]|0}else tg=E;E=a[tg>>0]|0;if((E&255)>=71){if((E&255)>=112){ug=tg;vg=E;I=654;break}if((E&255)<93){wg=E;I=651;break}if((E&255)<94){I=91;break g}if((E+-97&255)<6){Fa=tg;I=635;continue}else{I=85;break g}}if((E&255)<44){xg=E;I=641;break}if((E&255)<58){if((E&255)<45){I=91;break g}if((E&255)<48){I=85;break g}else{Fa=tg;I=635;continue}}else{if(E<<24>>24==59){I=91;break g}if((E&255)<65){I=85;break g}else{Fa=tg;I=635;continue}}}if((I|0)==641){I=0;if((xg&255)<35)if(xg<<24>>24==33){I=85;break}else{I=91;break}else if((xg&-2)<<24>>24==40){I=91;break}else{I=85;break}}else if((I|0)==651){I=0;if(wg<<24>>24==91){I=91;break}else{I=85;break}}else if((I|0)==654){I=0;if((vg&255)>=124)if(vg<<24>>24!=125&(vg&255)<127){I=85;break}else{I=91;break}if((vg&255)<113){Ga=ug;I=658;break}if((vg&255)<123){I=85;break}else{I=91;break}}}while(0);h:do if((I|0)==293){while(1){I=0;G=oa+1|0;c[q>>2]=G;$a=G;if(((c[s>>2]|0)-$a|0)<3){if((Vd(f,3)|0)==1){I=296;break a}V=c[q>>2]|0;yg=V;zg=V}else{yg=$a;zg=G}G=a[zg>>0]|0;if((G&255)>=69){Ag=yg;Bg=zg;Cg=G;I=306;break}if((G&255)<44){Dg=yg;Eg=G;I=299;break}if((G&255)>=58){Fg=yg;Gg=G;I=305;break}if((G&255)<45){Hg=yg;I=315;break a}if((G&255)<48){I=85;break h}else{oa=zg;I=293}}if((I|0)==299){I=0;if((Eg&255)<35)if(Eg<<24>>24==33){I=85;break}else{Hg=Dg;I=315;break a}else if((Eg&-2)<<24>>24==40){Hg=Dg;I=315;break a}else{I=85;break}}else if((I|0)==305){I=0;if(Gg<<24>>24==59){Hg=Fg;I=315;break a}else{I=85;break}}else if((I|0)==306){I=0;if((Cg&255)<101){if((Cg&255)>=92)if(Cg<<24>>24==93){Hg=Ag;I=315;break a}else{I=85;break}if((Cg&255)<70){qa=Bg;I=316;break}if((Cg&255)<91){I=85;break}else{Hg=Ag;I=315;break a}}else{if((Cg&255)>=124)if(Cg<<24>>24!=125&(Cg&255)<127){I=85;break}else{Hg=Ag;I=315;break a}if((Cg&255)<102){qa=Bg;I=316;break}if((Cg&255)<123){I=85;break}else{Hg=Ag;I=315;break a}}}}else if((I|0)==658){I=0;G=Ga+1|0;c[q>>2]=G;$a=a[G>>0]|0;if(($a&255)<45)if($a<<24>>24==43)I=731;else{ka=$a;I=90;break}else if(($a&255)>=46)if(($a+-48&255)<10)Ig=G;else{ka=$a;I=90;break}else I=731;if((I|0)==731){I=0;$a=Ga+2|0;c[q>>2]=$a;G=a[$a>>0]|0;if((G+-48&255)>9){ka=G;I=90;break}else Ig=$a}while(1){$a=Ig+1|0;c[q>>2]=$a;if((c[s>>2]|0)>>>0>$a>>>0)Jg=$a;else{if((Vd(f,1)|0)==1){I=735;break a}Jg=c[q>>2]|0}$a=a[Jg>>0]|0;if(($a&255)>=59){Kg=Jg;Lg=$a;I=744;break}if(($a&255)<42){Mg=Jg;Ng=$a;I=738;break}if(($a&255)<45){Og=Jg;Pg=$a;I=742;break}if(($a+-48&255)<10)Ig=Jg;else{I=85;break h}}if((I|0)==738){I=0;$a=Mg;if((Ng&255)<34)if((Ng&255)>32){I=85;break}else{Qg=$a;I=751;break a}else if((Ng+-35&255)<5){I=85;break}else{Qg=$a;I=751;break a}}else if((I|0)==742){I=0;if((Pg&255)<44){I=85;break}else{Qg=Og;I=751;break a}}else if((I|0)==744){I=0;$a=Kg;if((Lg&255)<94)if((Lg&255)<91)if((Lg&255)>59){I=85;break}else{Qg=$a;I=751;break a}else if(Lg<<24>>24==92){I=85;break}else{Qg=$a;I=751;break a}else if((Lg&255)<125)if(Lg<<24>>24==123){Qg=$a;I=751;break a}else{I=85;break}else if(Lg<<24>>24==126){I=85;break}else{Qg=$a;I=751;break a}}}while(0);i:do if((I|0)==316){I=0;$a=qa+1|0;c[q>>2]=$a;G=a[$a>>0]|0;if((G&255)<45)if(G<<24>>24==43)I=411;else{ka=G;I=90;break}else if((G&255)>=46)if((G+-48&255)<10)Rg=$a;else{ka=G;I=90;break}else I=411;if((I|0)==411){I=0;G=qa+2|0;c[q>>2]=G;$a=a[G>>0]|0;if(($a+-48&255)>9){ka=$a;I=90;break}else Rg=G}while(1){G=Rg+1|0;c[q>>2]=G;if((c[s>>2]|0)>>>0>G>>>0)Sg=G;else{if((Vd(f,1)|0)==1){I=415;break a}Sg=c[q>>2]|0}G=a[Sg>>0]|0;if((G&255)>=59){Tg=Sg;Ug=G;I=424;break}if((G&255)<42){Vg=Sg;Wg=G;I=418;break}if((G&255)<45){Xg=Sg;Yg=G;I=422;break}if((G+-48&255)<10)Rg=Sg;else{I=85;break i}}if((I|0)==418){I=0;G=Vg;if((Wg&255)<34)if((Wg&255)<33){Hg=G;I=315;break a}else{I=85;break}else if((Wg+-35&255)<5){I=85;break}else{Hg=G;I=315;break a}}else if((I|0)==422){I=0;if((Yg&255)<44){I=85;break}else{Hg=Xg;I=315;break a}}else if((I|0)==424){I=0;G=Tg;if((Ug&255)<94)if((Ug&255)<91)if((Ug&255)<60){Hg=G;I=315;break a}else{I=85;break}else if(Ug<<24>>24==92){I=85;break}else{Hg=G;I=315;break a}else if((Ug&255)<125)if(Ug<<24>>24==123){Hg=G;I=315;break a}else{I=85;break}else if(Ug<<24>>24==126){I=85;break}else{Hg=G;I=315;break a}}}while(0);while(1)if((I|0)==85){I=0;G=(c[q>>2]|0)+1|0;c[q>>2]=G;if((c[s>>2]|0)>>>0>G>>>0)Zg=G;else{if((Vd(f,1)|0)==1){I=88;break a}Zg=c[q>>2]|0}ka=a[Zg>>0]|0;I=90;continue}else if((I|0)==90){I=0;if(!(a[11197+(ka&255)>>0]&16)){I=91;continue}else{I=85;continue}}else if((I|0)==91){I=0;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];G=c[r>>2]|0;$a=c[w>>2]|0;V=c[x>>2]|0;E=c[y>>2]|0;c[z>>2]=G+1-$a+V-E;O=c[q>>2]|0;c[A>>2]=O+1-$a+V-E;c[j>>2]=O-G;c[j+4>>2]=G;wi(e,f,g,11469,j);M=D;D=M;continue a}}switch(I|0){case 8:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];M=c[w>>2]|0;D=c[x>>2]|0;j=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-M+D-j;c[A>>2]=(c[q>>2]|0)+1-M+D-j;_g=0;i=h;return _g|0}case 18:{j=R+1|0;c[q>>2]=j;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;D=c[x>>2]|0;M=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+D-M;c[A>>2]=j+1-R+D-M;wi(e,f,g,11118,p);c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];p=c[w>>2]|0;M=c[x>>2]|0;D=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-p+M-D;c[A>>2]=(c[q>>2]|0)+1-p+M-D;_g=0;i=h;return _g|0}case 23:{D=W+1|0;c[q>>2]=D;W=c[r>>2]|0;c[b>>2]=W;M=D;c[b+4>>2]=M-W;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];D=c[w>>2]|0;p=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=W+1-D+p-R;c[A>>2]=M+1-D+p-R;_g=263;i=h;return _g|0}case 47:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;p=c[x>>2]|0;D=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+p-D;c[A>>2]=(c[q>>2]|0)+1-R+p-D;_g=0;i=h;return _g|0}case 52:{D=P+1|0;c[q>>2]=D;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];P=c[w>>2]|0;p=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-P+p-R;c[A>>2]=D+1-P+p-R;wi(e,f,g,11118,l);c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];l=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-l+g-R;c[A>>2]=(c[q>>2]|0)+1-l+g-R;_g=0;i=h;return _g|0}case 62:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;g=c[x>>2]|0;l=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+g-l;c[A>>2]=(c[q>>2]|0)+1-R+g-l;_g=0;i=h;return _g|0}case 67:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];l=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-l+g-R;c[A>>2]=(c[q>>2]|0)+1-l+g-R;_g=0;i=h;return _g|0}case 73:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;g=c[x>>2]|0;l=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+g-l;c[A>>2]=(c[q>>2]|0)+1-R+g-l;_g=0;i=h;return _g|0}case 76:{l=$+1|0;c[q>>2]=l;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$+g-R;c[A>>2]=l+1-$+g-R;_g=0;i=h;return _g|0}case 82:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;g=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+g-$;c[A>>2]=(c[q>>2]|0)+1-R+g-$;_g=0;i=h;return _g|0}case 88:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$+g-R;c[A>>2]=(c[q>>2]|0)+1-$+g-R;_g=0;i=h;return _g|0}case 107:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];R=c[w>>2]|0;g=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-R+g-$;c[A>>2]=ja+1-R+g-$;_g=258;i=h;return _g|0}case 108:{$=aa+1|0;c[q>>2]=$;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];aa=c[w>>2]|0;g=c[x>>2]|0;R=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-aa+g-R;c[A>>2]=$+1-aa+g-R;_g=259;i=h;return _g|0}case 135:{c[b>>2]=0;R=c[r>>2]|0;g=b+4|0;c[g>>2]=R;c[g+4>>2]=Ta-R;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];g=c[w>>2]|0;aa=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=R+1-g+aa-$;c[A>>2]=Ta+1-g+aa-$;_g=260;i=h;return _g|0}case 139:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$=c[w>>2]|0;aa=c[x>>2]|0;g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$+aa-g;c[A>>2]=(c[q>>2]|0)+1-$+aa-g;_g=0;i=h;return _g|0}case 207:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];g=c[w>>2]|0;aa=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-g+aa-$;c[A>>2]=(c[q>>2]|0)+1-g+aa-$;_g=0;i=h;return _g|0}case 214:{$=da+1|0;c[q>>2]=$;da=c[r>>2]|0;c[b>>2]=da;aa=$;c[b+4>>2]=aa-da;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$=c[w>>2]|0;g=c[x>>2]|0;Ta=c[y>>2]|0;c[z>>2]=da+1-$+g-Ta;c[A>>2]=aa+1-$+g-Ta;_g=263;i=h;return _g|0}case 218:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Ta=c[w>>2]|0;g=c[x>>2]|0;$=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Ta+g-$;c[A>>2]=(c[q>>2]|0)+1-Ta+g-$;_g=0;i=h;return _g|0}case 229:{while(1){I=0;$=ia+1|0;c[q>>2]=$;if((c[s>>2]|0)>>>0>$>>>0)$g=$;else{if((Vd(f,1)|0)==1){I=232;break}$g=c[q>>2]|0}$=a[$g>>0]|0;if(($&255)<60){if(($&255)<40)if($<<24>>24==33|($&255)>34){ia=$g;I=229;continue}else{ah=$g;I=246;break}if(($&255)<44)if(($&255)>41){ia=$g;I=229;continue}else{ah=$g;I=246;break}else if(($+-45&255)<14){ia=$g;I=229;continue}else{ah=$g;I=246;break}}if(($&255)<123)if(($&255)<92)if(($&255)<91){ia=$g;I=229;continue}else{ah=$g;I=246;break}else if($<<24>>24==93){ah=$g;I=246;break}else{ia=$g;I=229;continue}else if(($&255)<125)if(($&255)>123){ia=$g;I=229;continue}else{ah=$g;I=246;break}else if($<<24>>24==126){ia=$g;I=229;continue}else{ah=$g;I=246;break}}if((I|0)==232){c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;ia=c[x>>2]|0;f=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+ia-f;c[A>>2]=(c[q>>2]|0)+1-$g+ia-f;_g=0;i=h;return _g|0}else if((I|0)==246){f=ah;ah=c[r>>2]|0;c[b>>2]=ah;c[b+4>>2]=f-ah;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;s=c[y>>2]|0;c[z>>2]=ah+1-ia+$g-s;c[A>>2]=f+1-ia+$g-s;_g=264;i=h;return _g|0}break}case 267:{c[b>>2]=0;s=c[r>>2]|0;$g=b+4|0;c[$g>>2]=s;c[$g+4>>2]=na-s;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;ia=c[x>>2]|0;f=c[y>>2]|0;c[z>>2]=s+1-$g+ia-f;c[A>>2]=na+1-$g+ia-f;_g=261;i=h;return _g|0}case 271:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];f=c[w>>2]|0;ia=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-f+ia-$g;c[A>>2]=(c[q>>2]|0)+1-f+ia-$g;_g=0;i=h;return _g|0}case 296:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;ia=c[x>>2]|0;f=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+ia-f;c[A>>2]=(c[q>>2]|0)+1-$g+ia-f;_g=0;i=h;return _g|0}case 315:{c[b>>2]=1;f=c[r>>2]|0;ia=b+4|0;c[ia>>2]=f;c[ia+4>>2]=Hg-f;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=f+1-ia+$g-na;c[A>>2]=Hg+1-ia+$g-na;_g=262;i=h;return _g|0}case 342:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=Kb+1-na+$g-ia;_g=276;i=h;return _g|0}case 374:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=kd+1-ia+$g-na;_g=272;i=h;return _g|0}case 403:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=(c[q>>2]|0)+1-na+$g-ia;_g=0;i=h;return _g|0}case 415:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=(c[q>>2]|0)+1-ia+$g-na;_g=0;i=h;return _g|0}case 434:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=(c[q>>2]|0)+1-na+$g-ia;_g=0;i=h;return _g|0}case 465:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=Vb+1-ia+$g-na;_g=271;i=h;return _g|0}case 482:{c[b>>2]=-3;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=Xb+1-na+$g-ia;_g=265;i=h;return _g|0}case 498:{c[b>>2]=-4;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=Ac+1-ia+$g-na;_g=265;i=h;return _g|0}case 516:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=ed+1-na+$g-ia;_g=318;i=h;return _g|0}case 534:{c[b>>2]=-1;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ia=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ia+$g-na;c[A>>2]=md+1-ia+$g-na;_g=265;i=h;return _g|0}case 550:{c[b>>2]=-2;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;ia=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-ia;c[A>>2]=ee+1-na+$g-ia;_g=265;i=h;return _g|0}case 569:{c[b>>2]=3;ia=c[r>>2]|0;$g=b+4|0;c[$g>>2]=ia;c[$g+4>>2]=sg-ia;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;na=c[x>>2]|0;ee=c[y>>2]|0;c[z>>2]=ia+1-$g+na-ee;c[A>>2]=sg+1-$g+na-ee;_g=262;i=h;return _g|0}case 577:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ee=c[w>>2]|0;na=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ee+na-$g;c[A>>2]=cf+1-ee+na-$g;_g=267;i=h;return _g|0}case 594:{cg=jg;I=595;break}case 597:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=ef+1-jg+$g-na;_g=268;i=h;return _g|0}case 615:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=(c[q>>2]|0)+1-na+$g-jg;_g=0;i=h;return _g|0}case 638:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=(c[q>>2]|0)+1-jg+$g-na;_g=0;i=h;return _g|0}case 684:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=Ob+1-na+$g-jg;_g=279;i=h;return _g|0}case 687:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=Rb+1-jg+$g-na;_g=312;i=h;return _g|0}case 689:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=Sb+1-na+$g-jg;_g=269;i=h;return _g|0}case 691:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=Tb+1-jg+$g-na;_g=310;i=h;return _g|0}case 693:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=Ub+1-na+$g-jg;_g=274;i=h;return _g|0}case 698:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=zc+1-jg+$g-na;_g=301;i=h;return _g|0}case 711:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=$e+1-na+$g-jg;_g=275;i=h;return _g|0}case 727:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=Qf+1-jg+$g-na;_g=273;i=h;return _g|0}case 729:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];na=c[w>>2]|0;$g=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-na+$g-jg;c[A>>2]=Rf+1-na+$g-jg;_g=303;i=h;return _g|0}case 735:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;$g=c[x>>2]|0;na=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+$g-na;c[A>>2]=(c[q>>2]|0)+1-jg+$g-na;_g=0;i=h;return _g|0}case 751:{c[b>>2]=2;na=c[r>>2]|0;$g=b+4|0;c[$g>>2]=na;c[$g+4>>2]=Qg-na;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=na+1-$g+jg-Rf;c[A>>2]=Qg+1-$g+jg-Rf;_g=262;i=h;return _g|0}case 756:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Jb+1-Rf+jg-$g;_g=270;i=h;return _g|0}case 758:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Lb+1-$g+jg-Rf;_g=277;i=h;return _g|0}case 861:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=id+1-Rf+jg-$g;_g=327;i=h;return _g|0}case 864:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=af+1-$g+jg-Rf;_g=306;i=h;return _g|0}case 871:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Hf+1-Rf+jg-$g;_g=304;i=h;return _g|0}case 879:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Lf+1-$g+jg-Rf;_g=302;i=h;return _g|0}case 881:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Sf+1-Rf+jg-$g;_g=309;i=h;return _g|0}case 895:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Wb+1-$g+jg-Rf;_g=315;i=h;return _g|0}case 903:{c[b>>2]=91;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=hc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 906:{c[b>>2]=96;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=jc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 908:{c[b>>2]=94;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=kc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 910:{c[b>>2]=95;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=lc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 913:{c[b>>2]=93;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=mc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 933:{c[b>>2]=92;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=rc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 945:{c[b>>2]=97;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Lc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 948:{c[b>>2]=102;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Nc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 950:{c[b>>2]=100;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Oc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 952:{c[b>>2]=101;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Pc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 955:{c[b>>2]=99;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Qc+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 975:{c[b>>2]=98;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Vc+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 985:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=cd+1-Rf+jg-$g;_g=307;i=h;return _g|0}case 1009:{c[b>>2]=70;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=ud+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 1017:{c[b>>2]=71;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Kd+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 1019:{c[b>>2]=114;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Ld+1-$g+jg-Rf;_g=294;i=h;return _g|0}case 1051:{c[b>>2]=81;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=oe+1-Rf+jg-$g;_g=295;i=h;return _g|0}case 1060:{c[b>>2]=82;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Ge+1-$g+jg-Rf;_g=295;i=h;return _g|0}case 1062:{c[b>>2]=132;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=He+1-Rf+jg-$g;_g=294;i=h;return _g|0}case 1073:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=hd+1-$g+jg-Rf;_g=314;i=h;return _g|0}case 1076:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=jd+1-Rf+jg-$g;_g=317;i=h;return _g|0}case 1078:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=bf+1-$g+jg-Rf;_g=311;i=h;return _g|0}case 1080:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=df+1-Rf+jg-$g;_g=308;i=h;return _g|0}case 1099:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=gf+1-$g+jg-Rf;_g=313;i=h;return _g|0}case 1101:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=ff+1-Rf+jg-$g;_g=328;i=h;return _g|0}case 1104:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Jf+1-$g+jg-Rf;_g=305;i=h;return _g|0}case 1106:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;$g=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-$g;c[A>>2]=Kf+1-Rf+jg-$g;_g=282;i=h;return _g|0}case 1108:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];$g=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-$g+jg-Rf;c[A>>2]=Mf+1-$g+jg-Rf;_g=297;i=h;return _g|0}case 1130:{ab=ib;I=1131;break}case 1135:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=(c[q>>2]|0)+1-ib+Rf-jg;_g=0;i=h;return _g|0}case 1152:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=yb+1-jg+Rf-ib;_g=266;i=h;return _g|0}case 1159:{c[b>>2]=139;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Yb+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1161:{c[b>>2]=146;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Zb+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1167:{c[b>>2]=149;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=fc+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1171:{c[b>>2]=151;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=oc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1173:{c[b>>2]=150;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=pc+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1175:{c[b>>2]=148;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=qc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1178:{c[b>>2]=140;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=sc+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1183:{c[b>>2]=147;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=wc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1186:{c[b>>2]=153;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Bc+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1188:{c[b>>2]=160;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Cc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1193:{c[b>>2]=163;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Kc+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1197:{c[b>>2]=165;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Sc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1199:{c[b>>2]=164;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Tc+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1201:{c[b>>2]=162;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Uc+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1204:{c[b>>2]=154;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Wc+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1210:{c[b>>2]=161;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=$c+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1216:{c[b>>2]=106;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=nd+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1218:{c[b>>2]=113;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=od+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1220:{c[b>>2]=103;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=pd+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1223:{c[b>>2]=104;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=qd+1-jg+Rf-ib;_g=293;i=h;return _g|0}case 1226:{c[b>>2]=69;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=vd+1-ib+Rf-jg;_g=296;i=h;return _g|0}case 1233:{c[b>>2]=108;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Jd+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1239:{c[b>>2]=116;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Sd+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1243:{c[b>>2]=107;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Wd+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1247:{c[b>>2]=115;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=de+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1249:{c[b>>2]=124;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=fe+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1251:{c[b>>2]=131;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ge+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1253:{c[b>>2]=121;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=he+1-jg+Rf-ib;_g=293;i=h;return _g|0}case 1256:{c[b>>2]=122;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ie+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1259:{c[b>>2]=80;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=pe+1-jg+Rf-ib;_g=296;i=h;return _g|0}case 1267:{c[b>>2]=126;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Fe+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1273:{c[b>>2]=134;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Oe+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1277:{c[b>>2]=125;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Re+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1280:{c[b>>2]=133;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=_e+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1282:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ld+1-ib+Rf-jg;_g=272;i=h;return _g|0}case 1287:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=(c[q>>2]|0)+1-jg+Rf-ib;_g=0;i=h;return _g|0}case 1324:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Mb+1-ib+Rf-jg;_g=278;i=h;return _g|0}case 1329:{c[b>>2]=141;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=_b+1-jg+Rf-ib;_g=293;i=h;return _g|0}case 1336:{c[b>>2]=42;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=nc+1-ib+Rf-jg;_g=288;i=h;return _g|0}case 1340:{c[b>>2]=145;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=vc+1-jg+Rf-ib;_g=293;i=h;return _g|0}case 1344:{c[b>>2]=155;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Dc+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1350:{c[b>>2]=43;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Rc+1-jg+Rf-ib;_g=288;i=h;return _g|0}case 1355:{c[b>>2]=159;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=_c+1-ib+Rf-jg;_g=293;i=h;return _g|0}case 1364:{c[b>>2]=78;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=wd+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1366:{c[b>>2]=79;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=xd+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1368:{c[b>>2]=74;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=yd+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1370:{c[b>>2]=75;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=zd+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1372:{c[b>>2]=76;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Ad+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1374:{c[b>>2]=77;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Bd+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1391:{c[b>>2]=40;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Ed+1-jg+Rf-ib;_g=288;i=h;return _g|0}case 1393:{c[b>>2]=72;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Cd+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1395:{c[b>>2]=73;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Dd+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1400:{c[b>>2]=119;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Nd+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1402:{c[b>>2]=120;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Od+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1411:{c[b>>2]=89;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=qe+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1413:{c[b>>2]=90;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=re+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1415:{c[b>>2]=85;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=se+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1417:{c[b>>2]=86;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=te+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1419:{c[b>>2]=87;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ue+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1421:{c[b>>2]=88;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=ve+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1439:{c[b>>2]=41;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=ye+1-ib+Rf-jg;_g=288;i=h;return _g|0}case 1441:{c[b>>2]=83;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=we+1-jg+Rf-ib;_g=295;i=h;return _g|0}case 1443:{c[b>>2]=84;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=xe+1-ib+Rf-jg;_g=295;i=h;return _g|0}case 1448:{c[b>>2]=137;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;ib=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-jg+Rf-ib;c[A>>2]=Je+1-jg+Rf-ib;_g=294;i=h;return _g|0}case 1450:{c[b>>2]=138;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];ib=c[w>>2]|0;Rf=c[x>>2]|0;jg=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-ib+Rf-jg;c[A>>2]=Ke+1-ib+Rf-jg;_g=294;i=h;return _g|0}case 1472:{jf=rf;I=1473;break}case 1477:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=(c[q>>2]|0)+1-rf+jg-Rf;_g=0;i=h;return _g|0}case 1494:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=If+1-Rf+jg-rf;_g=316;i=h;return _g|0}case 1502:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=(c[q>>2]|0)+1-rf+jg-Rf;_g=0;i=h;return _g|0}case 1531:{c[b>>2]=-3;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ac+1-Rf+jg-rf;_g=292;i=h;return _g|0}case 1536:{c[b>>2]=142;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=ic+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1540:{c[b>>2]=56;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=xc+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1542:{c[b>>2]=143;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=yc+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1544:{c[b>>2]=-4;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Fc+1-Rf+jg-rf;_g=292;i=h;return _g|0}case 1548:{c[b>>2]=156;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Mc+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1553:{c[b>>2]=57;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ad+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1555:{c[b>>2]=157;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=bd+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1558:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=fd+1-Rf+jg-rf;_g=283;i=h;return _g|0}case 1561:{c[b>>2]=-1;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=rd+1-rf+jg-Rf;_g=292;i=h;return _g|0}case 1563:{c[b>>2]=109;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=sd+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1565:{c[b>>2]=110;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=td+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1571:{c[b>>2]=111;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Pd+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1573:{c[b>>2]=112;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Qd+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1575:{c[b>>2]=117;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Td+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1577:{c[b>>2]=118;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ud+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1594:{c[b>>2]=54;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Xd+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1598:{c[b>>2]=-2;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=je+1-rf+jg-Rf;_g=292;i=h;return _g|0}case 1600:{c[b>>2]=127;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ke+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1602:{c[b>>2]=128;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=le+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1610:{c[b>>2]=129;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Le+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1612:{c[b>>2]=130;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Me+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1614:{c[b>>2]=135;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Pe+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1616:{c[b>>2]=136;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Qe+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1634:{c[b>>2]=55;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Se+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1641:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Nf+1-rf+jg-Rf;_g=284;i=h;return _g|0}case 1643:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Vf+1-Rf+jg-rf;_g=285;i=h;return _g|0}case 1665:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=gd+1-rf+jg-Rf;_g=286;i=h;return _g|0}case 1670:{c[b>>2]=105;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Md+1-Rf+jg-rf;_g=293;i=h;return _g|0}case 1674:{c[b>>2]=58;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Zd+1-rf+jg-Rf;_g=289;i=h;return _g|0}case 1682:{c[b>>2]=123;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ie+1-Rf+jg-rf;_g=293;i=h;return _g|0}case 1687:{c[b>>2]=60;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Te+1-rf+jg-Rf;_g=289;i=h;return _g|0}case 1692:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=(c[q>>2]|0)+1-Rf+jg-rf;_g=0;i=h;return _g|0}case 1712:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Pf+1-rf+jg-Rf;_g=287;i=h;return _g|0}case 1719:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Hb+1-Rf+jg-rf;_g=325;i=h;return _g|0}case 1722:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Pb+1-rf+jg-Rf;_g=280;i=h;return _g|0}case 1729:{c[b>>2]=144;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=tc+1-Rf+jg-rf;_g=293;i=h;return _g|0}case 1734:{c[b>>2]=158;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Xc+1-rf+jg-Rf;_g=293;i=h;return _g|0}case 1738:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=dd+1-Rf+jg-rf;_g=300;i=h;return _g|0}case 1741:{c[b>>2]=44;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Hd+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1743:{c[b>>2]=45;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Id+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1746:{c[b>>2]=59;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Yd+1-rf+jg-Rf;_g=289;i=h;return _g|0}case 1754:{c[b>>2]=48;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ze+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1756:{c[b>>2]=49;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ae+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1759:{c[b>>2]=61;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ve+1-Rf+jg-rf;_g=289;i=h;return _g|0}case 1761:{c[b>>2]=62;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ue+1-rf+jg-Rf;_g=289;i=h;return _g|0}case 1765:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Yf+1-Rf+jg-rf;_g=298;i=h;return _g|0}case 1775:{c[b>>2]=152;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=$b+1-rf+jg-Rf;_g=294;i=h;return _g|0}case 1780:{c[b>>2]=166;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ec+1-Rf+jg-rf;_g=294;i=h;return _g|0}case 1784:{c[b>>2]=46;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Fd+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1786:{c[b>>2]=47;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Gd+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1791:{c[b>>2]=167;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=ce+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1795:{c[b>>2]=50;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=De+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1797:{c[b>>2]=51;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ee+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1799:{c[b>>2]=52;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Be+1-Rf+jg-rf;_g=288;i=h;return _g|0}case 1801:{c[b>>2]=53;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ce+1-rf+jg-Rf;_g=288;i=h;return _g|0}case 1824:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Db+1-Rf+jg-rf;_g=322;i=h;return _g|0}case 1827:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Qb+1-rf+jg-Rf;_g=281;i=h;return _g|0}case 1847:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Bb+1-Rf+jg-rf;_g=320;i=h;return _g|0}case 1852:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Nb+1-rf+jg-Rf;_g=299;i=h;return _g|0}case 1856:{c[b>>2]=182;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=gc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1885:{c[b>>2]=187;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Yc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1889:{c[b>>2]=168;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=_d+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1891:{c[b>>2]=170;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=$d+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1893:{c[b>>2]=169;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ae+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1895:{c[b>>2]=171;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=be+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1900:{c[b>>2]=174;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=We+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1902:{c[b>>2]=176;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Xe+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1904:{c[b>>2]=175;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ye+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1906:{c[b>>2]=177;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ze+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1909:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Cb+1-Rf+jg-rf;_g=319;i=h;return _g|0}case 1925:{c[b>>2]=172;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=me+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1927:{c[b>>2]=173;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ne+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1930:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ab+1-rf+jg-Rf;_g=326;i=h;return _g|0}case 1934:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ib+1-Rf+jg-rf;_g=321;i=h;return _g|0}case 1936:{c[b>>2]=178;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=bc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1938:{c[b>>2]=180;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=cc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1940:{c[b>>2]=179;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=dc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1942:{c[b>>2]=181;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=ec+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1945:{c[b>>2]=183;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Gc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1947:{c[b>>2]=185;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Hc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1949:{c[b>>2]=184;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Ic+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1951:{c[b>>2]=186;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Jc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1964:{c[b>>2]=190;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=uc+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1966:{c[b>>2]=191;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Zc+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1968:{c[b>>2]=188;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Rd+1-rf+jg-Rf;_g=296;i=h;return _g|0}case 1970:{c[b>>2]=189;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Ne+1-Rf+jg-rf;_g=296;i=h;return _g|0}case 1987:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];rf=c[w>>2]|0;jg=c[x>>2]|0;Rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-rf+jg-Rf;c[A>>2]=Fb+1-rf+jg-Rf;_g=323;i=h;return _g|0}case 1989:{c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Rf=c[w>>2]|0;jg=c[x>>2]|0;rf=c[y>>2]|0;c[z>>2]=(c[r>>2]|0)+1-Rf+jg-rf;c[A>>2]=Gb+1-Rf+jg-rf;_g=324;i=h;return _g|0}}if((I|0)==595){c[b>>2]=4;rf=c[r>>2]|0;jg=b+4|0;c[jg>>2]=rf;c[jg+4>>2]=cg-rf;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];jg=c[w>>2]|0;Rf=c[x>>2]|0;Gb=c[y>>2]|0;c[z>>2]=rf+1-jg+Rf-Gb;c[A>>2]=cg+1-jg+Rf-Gb;_g=262;i=h;return _g|0}else if((I|0)==1131){Gb=c[r>>2]|0;c[b>>2]=Gb+6;Rf=Gb;c[b+4>>2]=ab+-6-Rf;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];Gb=c[w>>2]|0;jg=c[x>>2]|0;cg=c[y>>2]|0;c[z>>2]=Rf+1-Gb+jg-cg;c[A>>2]=ab+1-Gb+jg-cg;_g=291;i=h;return _g|0}else if((I|0)==1473){I=c[r>>2]|0;c[b>>2]=I+7;r=I;c[b+4>>2]=jf+-7-r;c[e>>2]=c[t>>2];c[v>>2]=c[u>>2];u=c[w>>2]|0;w=c[x>>2]|0;x=c[y>>2]|0;c[z>>2]=r+1-u+w-x;c[A>>2]=jf+1-u+w-x;_g=290;i=h;return _g|0}return 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,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(e-g>>2>>>0>=b>>>0){$n(g|0,0,b<<2|0)|0;c[f>>2]=g+(b<<2);return}h=c[a>>2]|0;i=(g-h>>2)+b|0;if(i>>>0>1073741823)rn(a);g=e-h|0;if(g>>2>>>0<536870911){e=g>>1;g=e>>>0<i>>>0?i:e;e=c[f>>2]|0;i=e-h>>2;if(!g){j=0;k=0;l=i;m=e}else{n=g;o=e;p=i;q=8}}else{i=c[f>>2]|0;n=1073741823;o=i;p=i-h>>2;q=8}if((q|0)==8){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;$n(o|0,0,b<<2|0)|0;l=m-h|0;m=o+(0-(l>>2)<<2)|0;ho(m|0,h|0,l|0)|0;c[a>>2]=m;c[f>>2]=o+(b<<2);c[d>>2]=k+(j<<2);if(!h)return;An(h);return}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=Ni(a,-1,20252)|0;g=c[a+16>>2]|0;h=((c[a+20>>2]|0)-g|0)/24|0;if(h>>>0<=b>>>0){c[e>>2]=b;c[e+4>>2]=h+-1;Di(a,20111,e);j=1;i=d;return j|0}e=g;g=h+~b|0;if((c[e+(g*24|0)>>2]|0)==2){j=f;i=d;return j|0}j=Ki(a,e+(g*24|0)+4|0,20252)|0|f;i=d;return j|0}function Ni(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;f=i;i=i+48|0;g=f+32|0;h=f+24|0;j=f+8|0;k=f;l=b+16|0;m=b+20|0;n=c[m>>2]|0;o=c[l>>2]|0;p=(n-o|0)/24|0;if((n|0)!=(o|0)){n=o;o=p+-1|0;if((a[n+(o*24|0)+20>>0]|0)==0?((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2|0)==(c[n+(o*24|0)+16>>2]|0):0){c[j>>2]=e;c[j+4>>2]=0;c[j+8>>2]=1;Di(b,20140,j);q=1}else q=0}else{c[k>>2]=0;c[k+4>>2]=p+-1;Di(b,20111,k);q=1}k=c[m>>2]|0;m=c[l>>2]|0;l=(k-m|0)/24|0;if((k|0)==(m|0)){c[h>>2]=0;c[h+4>>2]=l+-1;Di(b,20111,h);r=0;s=1;t=r|s;i=f;return t|0}h=m;m=l+-1|0;l=b+8|0;k=c[l>>2]|0;p=c[b+4>>2]|0;j=k-p>>2;if((c[h+(m*24|0)+16>>2]|0)>>>0>=j>>>0){r=0;s=(a[h+(m*24|0)+20>>0]^1)&255|q;t=r|s;i=f;return t|0}m=c[p+(j+-1<<2)>>2]|0;c[l>>2]=k+-4;if(!((m|0)!=0&((d|0)!=0&(m|0)!=(d|0)))){r=0;s=q;t=r|s;i=f;return t|0}switch(d|0){case -1:{u=28480;break}case -2:{u=28476;break}case -3:{u=28472;break}case -4:{u=28468;break}case -16:{u=28460;break}case -32:{u=28455;break}case -64:{u=28450;break}case 0:{u=28446;break}default:u=0}switch(m|0){case -1:{v=28480;break}case -2:{v=28476;break}case -3:{v=28472;break}case -4:{v=28468;break}case -16:{v=28460;break}case -32:{v=28455;break}case -64:{v=28450;break}case 0:{v=28446;break}default:v=0}c[g>>2]=e;c[g+4>>2]=u;c[g+8>>2]=v;Di(b,20204,g);r=1;s=q;t=r|s;i=f;return t|0}function Oi(a){a=a|0;c[a+28>>2]=0;return Ni(a,-1,20258)|0}function Pi(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;d=i;i=i+32|0;e=d+8|0;f=d;g=c[a+16>>2]|0;h=((c[a+20>>2]|0)-g|0)/24|0;if(h>>>0<=b>>>0){c[f>>2]=b;c[f+4>>2]=h+-1;Di(a,20111,f);j=1;i=d;return j|0}f=g;g=h+~b|0;b=f+(g*24|0)|0;h=c[b>>2]|0;if((h|0)!=2?(k=c[f+(g*24|0)+4>>2]|0,(c[f+(g*24|0)+8>>2]|0)!=(k|0)):0)l=c[k>>2]|0;else l=-64;k=a+28|0;m=c[k>>2]|0;if((m|0)!=0&((l|0)!=0&(l|0)!=(m|0))){switch(l|0){case -1:{n=28480;break}case -2:{n=28476;break}case -3:{n=28472;break}case -4:{n=28468;break}case -16:{n=28460;break}case -32:{n=28455;break}case -64:{n=28450;break}case 0:{n=28446;break}default:n=0}switch(m|0){case -1:{o=28480;break}case -2:{o=28476;break}case -3:{o=28472;break}case -4:{o=28468;break}case -16:{o=28460;break}case -32:{o=28455;break}case -64:{o=28450;break}case 0:{o=28446;break}default:o=0}c[e>>2]=20258;c[e+4>>2]=n;c[e+8>>2]=o;Di(a,20204,e);p=1;q=c[b>>2]|0}else{p=0;q=h}c[k>>2]=l;if((q|0)==2){j=p;i=d;return j|0}j=Ki(a,f+(g*24|0)+4|0,20258)|0|p;i=d;return j|0}function Qi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d;f=c[b+20>>2]|0;g=c[b+16>>2]|0;h=(f-g|0)/24|0;if((f|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h+-1;Di(b,20111,e);j=1;i=d;return j|0}e=g;g=h+-1|0;a[e+(g*24|0)+20>>0]=1;h=c[e+(g*24|0)+16>>2]|0;g=b+4|0;e=b+8|0;b=c[e>>2]|0;f=c[g>>2]|0;k=b-f>>2;l=b;if(h>>>0>k>>>0){Li(g,h-k|0);j=0;i=d;return j|0}if(h>>>0>=k>>>0){j=0;i=d;return j|0}k=f+(h<<2)|0;if((l|0)==(k|0)){j=0;i=d;return j|0}c[e>>2]=l+(~((l+-4-k|0)>>>2)<<2);j=0;i=d;return j|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return Si(a,b,c,20267)|0}function Si(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,M=0;g=i;i=i+48|0;h=g+32|0;j=g+24|0;k=g+8|0;l=g;m=g+44|0;n=d+4|0;o=(c[n>>2]|0)-(c[d>>2]|0)>>2;p=b+16|0;q=b+20|0;r=c[q>>2]|0;s=c[p>>2]|0;t=(r-s|0)/24|0;if((r|0)!=(s|0)){r=s;s=t+-1|0;u=((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2)-(c[r+(s*24|0)+16>>2]|0)|0;if(u>>>0<o>>>0?(a[r+(s*24|0)+20>>0]|0)==0:0){c[k>>2]=f;c[k+4>>2]=u;c[k+8>>2]=o;Di(b,20140,k);v=1}else v=0}else{c[l>>2]=0;c[l+4>>2]=t+-1;Di(b,20111,l);v=1}l=c[d>>2]|0;t=(c[n>>2]|0)-l>>2;if(!t){w=0;x=v}else{k=b+4|0;o=b+8|0;u=l;l=t;t=0;s=v;while(1){v=u;r=l-t|0;y=c[q>>2]|0;z=c[p>>2]|0;A=(y-z|0)/24|0;do if((y|0)!=(z|0)){B=z;C=A+-1|0;D=c[k>>2]|0;E=(c[o>>2]|0)-D>>2;if((r+-1+(c[B+(C*24|0)+16>>2]|0)|0)>>>0<E>>>0){F=0;G=v;H=u;I=c[D+(E-r<<2)>>2]|0;break}else{F=(a[B+(C*24|0)+20>>0]^1)&255;G=v;H=u;I=0;break}}else{c[j>>2]=0;c[j+4>>2]=A+-1;Di(b,20111,j);C=c[d>>2]|0;F=1;G=C;H=C;I=0}while(0);A=F|s;v=c[G+(t<<2)>>2]|0;if((I|0)!=0&((v|0)!=(I|0)&(v|0)!=0)){switch(v|0){case -1:{J=28480;break}case -2:{J=28476;break}case -3:{J=28472;break}case -4:{J=28468;break}case -16:{J=28460;break}case -32:{J=28455;break}case -64:{J=28450;break}case 0:{J=28446;break}default:J=0}switch(I|0){case -1:{K=28480;break}case -2:{K=28476;break}case -3:{K=28472;break}case -4:{K=28468;break}case -16:{K=28460;break}case -32:{K=28455;break}case -64:{K=28450;break}case 0:{K=28446;break}default:K=0}c[h>>2]=f;c[h+4>>2]=J;c[h+8>>2]=K;Di(b,20204,h);L=1;M=c[d>>2]|0}else{L=0;M=H}v=A|L;t=t+1|0;A=(c[n>>2]|0)-M>>2;if(A>>>0<=t>>>0){w=A;x=v;break}else{u=M;l=A;s=v}}}s=Ti(b,w)|0|x;x=c[e>>2]|0;w=c[e+4>>2]|0;if((x|0)==(w|0)){i=g;return s|0}e=b+8|0;l=b+12|0;M=b+4|0;b=x;do{x=c[b>>2]|0;c[m>>2]=x;do if((x|0)!=-64){u=c[e>>2]|0;if((u|0)==(c[l>>2]|0)){de(M,m);break}else{c[u>>2]=x;c[e>>2]=u+4;break}}while(0);b=b+4|0}while((b|0)!=(w|0));i=g;return s|0}function Ti(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;e=i;i=i+16|0;f=e;g=c[b+20>>2]|0;h=c[b+16>>2]|0;j=(g-h|0)/24|0;if((g|0)==(h|0)){c[f>>2]=0;c[f+4>>2]=j+-1;Di(b,20111,f);k=1;i=e;return k|0}f=h;h=j+-1|0;j=c[f+(h*24|0)+16>>2]|0;g=b+4|0;l=b+8|0;b=c[l>>2]|0;m=c[g>>2]|0;n=b-m>>2;o=b;if((j+d|0)>>>0<=n>>>0){if(!d){k=0;i=e;return k|0}b=o+(0-d<<2)|0;d=c[l>>2]|0;if((d|0)==(b|0)){k=0;i=e;return k|0}c[l>>2]=d+(~((d+-4-b|0)>>>2)<<2);k=0;i=e;return k|0}if(!(a[f+(h*24|0)+20>>0]|0)){k=1;i=e;return k|0}if(j>>>0>n>>>0){Li(g,j-n|0);k=0;i=e;return k|0}if(j>>>0>=n>>>0){k=0;i=e;return k|0}n=m+(j<<2)|0;if((o|0)==(n|0)){k=0;i=e;return k|0}c[l>>2]=o+(~((o+-4-n|0)>>>2)<<2);k=0;i=e;return k|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ni(a,-1,20272)|0;return Si(a,b,c,20272)|0|d|0}function Vi(a,b){a=a|0;b=b|0;return Hi(a,b)|0}function Wi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if((b|0)==-64){i=d;return 0}f=a+8|0;g=c[f>>2]|0;if((g|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return 0}else{c[g>>2]=b;c[f>>2]=g+4;i=d;return 0}return 0}function Xi(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;e=d;f=Ni(a,c[1536+(b*20|0)+8>>2]|0,c[1536+(b*20|0)>>2]|0)|0;g=c[1536+(b*20|0)+4>>2]|0;c[e>>2]=g;if((g|0)==-64){i=d;return f|0}b=a+8|0;h=c[b>>2]|0;if((h|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return f|0}else{c[h>>2]=g;c[b>>2]=h+4;i=d;return f|0}return 0}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=-1;e=a+8|0;f=c[e>>2]|0;if((f|0)==(c[a+12>>2]|0)){de(a+4|0,d);i=b;return 0}else{c[f>>2]=-1;c[e>>2]=f+4;i=b;return 0}return 0}function Zi(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;d=i;i=i+32|0;e=d+24|0;f=d+8|0;g=d;h=b+16|0;j=b+20|0;k=c[j>>2]|0;l=c[h>>2]|0;m=(k-l|0)/24|0;if((k|0)!=(l|0)){k=l;l=m+-1|0;if((a[k+(l*24|0)+20>>0]|0)==0?((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2|0)==(c[k+(l*24|0)+16>>2]|0):0){c[f>>2]=20286;c[f+4>>2]=0;c[f+8>>2]=1;Di(b,20140,f);n=1}else n=0}else{c[g>>2]=0;c[g+4>>2]=m+-1;Di(b,20111,g);n=1}g=c[j>>2]|0;j=c[h>>2]|0;h=(g-j|0)/24|0;if((g|0)==(j|0)){c[e>>2]=0;c[e+4>>2]=h+-1;Di(b,20111,e);o=1;p=o|n;i=d;return p|0}e=j;j=h+-1|0;h=b+8|0;g=c[h>>2]|0;if((c[e+(j*24|0)+16>>2]|0)>>>0<g-(c[b+4>>2]|0)>>2>>>0){c[h>>2]=g+-4;o=0;p=o|n;i=d;return p|0}else{o=(a[e+(j*24|0)+20>>0]^1)&255;p=o|n;i=d;return p|0}return 0}function _i(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,t=0,u=0,v=0,w=0,x=0,y=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d;h=b+16|0;j=b+20|0;k=c[j>>2]|0;l=c[h>>2]|0;m=(k-l|0)/24|0;if((k|0)==(l|0)){c[g>>2]=0;c[g+4>>2]=m+-1;Di(b,20111,g);n=1;i=d;return n|0}g=l;l=m+-1|0;m=g+(l*24|0)|0;k=(c[m>>2]|0)!=3&1;o=g+(l*24|0)+4|0;p=Ki(b,o,20291)|0;q=Ti(b,(c[g+(l*24|0)+8>>2]|0)-(c[o>>2]|0)>>2)|0;o=c[j>>2]|0;j=c[h>>2]|0;h=(o-j|0)/24|0;if((o|0)!=(j|0)){o=b+4|0;r=b+8|0;s=(c[r>>2]|0)-(c[o>>2]|0)>>2;t=c[j+((h+-1|0)*24|0)+16>>2]|0;if((s|0)==(t|0)){u=0;v=r;w=r;x=o;y=o}else{c[e>>2]=20291;c[e+4>>2]=s;c[e+8>>2]=t;Di(b,20306,e);u=1;v=r;w=r;x=o;y=o}}else{c[f>>2]=0;c[f+4>>2]=h+-1;Di(b,20111,f);f=b+4|0;h=b+8|0;u=1;v=h;w=h;x=f;y=f}f=k|p|q|u;u=c[g+(l*24|0)+16>>2]|0;q=c[w>>2]|0;w=c[x>>2]|0;x=q-w>>2;p=w;w=q;if(u>>>0<=x>>>0){if(u>>>0<x>>>0?(q=p+(u<<2)|0,(w|0)!=(q|0)):0)c[v>>2]=w+(~((w+-4-q|0)>>>2)<<2)}else Li(y,u-x|0);c[m>>2]=4;a[g+(l*24|0)+20>>0]=0;n=f;i=d;return n|0}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+8|0;e=b;f=c[a+20>>2]|0;g=c[a+16>>2]|0;h=(f-g|0)/24|0;if((f|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h+-1;Di(a,20111,e);j=1;i=b;return j|0}e=g;g=h+-1|0;h=e+(g*24|0)|0;f=c[h>>2]|0;if((f|0)==3)if((c[e+(g*24|0)+8>>2]|0)==(c[e+(g*24|0)+4>>2]|0)){k=3;l=0}else{Di(a,20351,d);k=c[h>>2]|0;l=1}else{k=f;l=0}f=c[5376+(k<<2)>>2]|0;j=aj(a,h,f,f)|0|l;i=b;return j|0}function aj(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;f=i;i=i+32|0;g=f+8|0;h=f;j=f+20|0;k=b+4|0;l=Ki(a,k,d)|0;d=b+8|0;m=Ti(a,(c[d>>2]|0)-(c[k>>2]|0)>>2)|0|l;l=a+20|0;n=c[l>>2]|0;o=c[a+16>>2]|0;p=(n-o|0)/24|0;if((n|0)!=(o|0)){n=a+4|0;q=a+8|0;r=(c[q>>2]|0)-(c[n>>2]|0)>>2;s=c[o+((p+-1|0)*24|0)+16>>2]|0;if((r|0)==(s|0)){t=0;u=q;v=q;w=n;x=n}else{c[g>>2]=e;c[g+4>>2]=r;c[g+8>>2]=s;Di(a,20306,g);t=1;u=q;v=q;w=n;x=n}}else{c[h>>2]=0;c[h+4>>2]=p+-1;Di(a,20111,h);h=a+4|0;p=a+8|0;t=1;u=p;v=p;w=h;x=h}h=m|t;t=c[b+16>>2]|0;b=c[v>>2]|0;v=c[w>>2]|0;w=b-v>>2;m=v;v=b;if(t>>>0<=w>>>0){if(t>>>0<w>>>0?(b=m+(t<<2)|0,(v|0)!=(b|0)):0)c[u>>2]=v+(~((v+-4-b|0)>>>2)<<2)}else Li(x,t-w|0);w=c[k>>2]|0;k=c[d>>2]|0;if((w|0)!=(k|0)){d=a+12|0;a=w;do{w=c[a>>2]|0;c[j>>2]=w;do if((w|0)!=-64){t=c[u>>2]|0;if((t|0)==(c[d>>2]|0)){de(x,j);break}else{c[t>>2]=w;c[u>>2]=t+4;break}}while(0);a=a+4|0}while((a|0)!=(k|0))}k=c[l>>2]|0;a=k+-24|0;u=k;while(1){k=u+-24|0;c[l>>2]=k;j=c[u+-20>>2]|0;x=j;if(!j)y=k;else{k=u+-16|0;d=c[k>>2]|0;if((d|0)!=(j|0))c[k>>2]=d+(~((d+-4-x|0)>>>2)<<2);An(j);y=c[l>>2]|0}if((y|0)==(a|0))break;else u=y}i=f;return h|0}function bj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=Ni(a,-1,18751)|0;c[d>>2]=-1;if(-1==-64){i=b;return e|0}f=a+8|0;g=c[f>>2]|0;if((g|0)==(c[a+12>>2]|0)){de(a+4|0,d);i=b;return e|0}else{c[g>>2]=-1;c[f>>2]=g+4;i=b;return e|0}return 0}function cj(b,d){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+16|0;f=e+4|0;g=e;h=Ni(b,-1,20415)|0;c[f>>2]=3;j=(c[b+8>>2]|0)-(c[b+4>>2]|0)>>2;c[g>>2]=j;k=b+20|0;l=c[k>>2]|0;if(l>>>0<(c[b+24>>2]|0)>>>0){c[l>>2]=3;Ci(l+4|0,d);c[l+16>>2]=j;a[l+20>>0]=0;c[k>>2]=(c[k>>2]|0)+24;i=e;return h|0}else{Fi(b+16|0,f,d,g);i=e;return h|0}return 0}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if((b|0)==-64){i=d;return 0}f=a+8|0;g=c[f>>2]|0;if((g|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return 0}else{c[g>>2]=b;c[f>>2]=g+4;i=d;return 0}return 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;e=d;c[e>>2]=b;if((b|0)==-64){i=d;return 0}f=a+8|0;g=c[f>>2]|0;if((g|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return 0}else{c[g>>2]=b;c[f>>2]=g+4;i=d;return 0}return 0}function fj(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;e=d;f=Ni(a,c[1536+(b*20|0)+8>>2]|0,c[1536+(b*20|0)>>2]|0)|0;g=c[1536+(b*20|0)+4>>2]|0;c[e>>2]=g;if((g|0)==-64){i=d;return f|0}b=a+8|0;h=c[b>>2]|0;if((h|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return f|0}else{c[h>>2]=g;c[b>>2]=h+4;i=d;return f|0}return 0}function gj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=2;h=(c[b+8>>2]|0)-(c[b+4>>2]|0)>>2;c[g>>2]=h;j=b+20|0;k=c[j>>2]|0;if(k>>>0<(c[b+24>>2]|0)>>>0){c[k>>2]=2;Ci(k+4|0,d);c[k+16>>2]=h;a[k+20>>0]=0;c[j>>2]=(c[j>>2]|0)+24;i=e;return 0}else{Fi(b+16|0,f,d,g);i=e;return 0}return 0}function hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+16|0;e=d+8|0;f=d;g=b+16|0;h=b+20|0;j=c[h>>2]|0;k=c[g>>2]|0;l=((j-k|0)/24|0)+-1|0;if((j|0)==(k|0)){c[f>>2]=l;c[f+4>>2]=l;Di(b,20111,f);m=1;i=d;return m|0}f=k;k=f+4|0;l=Ki(b,k,20434)|0;j=Ti(b,(c[f+8>>2]|0)-(c[k>>2]|0)>>2)|0|l;l=c[h>>2]|0;h=c[g>>2]|0;g=(l-h|0)/24|0;if((l|0)==(h|0)){c[e>>2]=0;c[e+4>>2]=g+-1;Di(b,20111,e);m=1;i=d;return m|0}e=h;h=g+-1|0;a[e+(h*24|0)+20>>0]=1;g=c[e+(h*24|0)+16>>2]|0;h=b+4|0;e=b+8|0;b=c[e>>2]|0;l=c[h>>2]|0;k=b-l>>2;f=b;if(g>>>0>k>>>0){Li(h,g-k|0);m=j;i=d;return m|0}if(g>>>0>=k>>>0){m=j;i=d;return m|0}k=l+(g<<2)|0;if((f|0)==(k|0)){m=j;i=d;return m|0}c[e>>2]=f+(~((f+-4-k|0)>>>2)<<2);m=j;i=d;return m|0}function ij(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,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+64|0;e=d+40|0;f=d+32|0;g=d+24|0;h=d+8|0;j=d;k=d+52|0;l=Ni(b,-1,20441)|0;m=b+16|0;n=b+20|0;o=c[n>>2]|0;p=c[m>>2]|0;q=(o-p|0)/24|0;if((o|0)!=(p|0)){o=p;p=q+-1|0;r=((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2)-(c[o+(p*24|0)+16>>2]|0)|0;if(r>>>0<2?(a[o+(p*24|0)+20>>0]|0)==0:0){c[h>>2]=20441;c[h+4>>2]=r;c[h+8>>2]=2;Di(b,20140,h);s=1}else s=0}else{c[j>>2]=0;c[j+4>>2]=q+-1;Di(b,20111,j);s=1}j=c[n>>2]|0;q=c[m>>2]|0;h=(j-q|0)/24|0;do if((j|0)!=(q|0)){r=q;p=h+-1|0;o=b+8|0;t=c[o>>2]|0;u=c[b+4>>2]|0;v=t-u>>2;if((c[r+(p*24|0)+16>>2]|0)>>>0<v>>>0){w=c[u+(v+-1<<2)>>2]|0;c[o>>2]=t+-4;x=0;y=q;z=j;A=w;break}else{x=(a[r+(p*24|0)+20>>0]^1)&255;y=q;z=j;A=0;break}}else{c[g>>2]=0;c[g+4>>2]=h+-1;Di(b,20111,g);x=1;y=c[m>>2]|0;z=c[n>>2]|0;A=0}while(0);n=x|s;s=(z-y|0)/24|0;do if((z|0)!=(y|0)){m=y;g=s+-1|0;h=b+8|0;j=c[h>>2]|0;q=c[b+4>>2]|0;p=j-q>>2;if((c[m+(g*24|0)+16>>2]|0)>>>0>=p>>>0){B=0;C=(a[m+(g*24|0)+20>>0]^1)&255|n;break}g=c[q+(p+-1<<2)>>2]|0;c[h>>2]=j+-4;if((g|0)!=0&((A|0)!=0&(A|0)!=(g|0))){switch(A|0){case -1:{D=28480;break}case -2:{D=28476;break}case -3:{D=28472;break}case -4:{D=28468;break}case -16:{D=28460;break}case -32:{D=28455;break}case -64:{D=28450;break}case 0:{D=28446;break}default:D=0}switch(g|0){case -1:{E=28480;break}case -2:{E=28476;break}case -3:{E=28472;break}case -4:{E=28468;break}case -16:{E=28460;break}case -32:{E=28455;break}case -64:{E=28450;break}case 0:{E=28446;break}default:E=0}c[e>>2]=20441;c[e+4>>2]=D;c[e+8>>2]=E;Di(b,20204,e);B=1;C=n}else{B=0;C=n}}else{c[f>>2]=0;c[f+4>>2]=s+-1;Di(b,20111,f);B=0;C=x|1}while(0);x=C|l|B;c[k>>2]=A;if((A|0)==-64){i=d;return x|0}B=b+8|0;l=c[B>>2]|0;if((l|0)==(c[b+12>>2]|0)){de(b+4|0,k);i=d;return x|0}else{c[l>>2]=A;c[B>>2]=l+4;i=d;return x|0}return 0}function jj(a,b){a=a|0;b=b|0;return Ni(a,b,20448)|0}function kj(a,b){a=a|0;b=b|0;return Ni(a,b,20459)|0}function lj(a,b){a=a|0;b=b|0;return Hi(a,b)|0}function mj(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;e=i;i=i+48|0;f=e+32|0;g=e+24|0;h=e+8|0;j=e;k=b+16|0;l=b+20|0;m=c[l>>2]|0;n=c[k>>2]|0;o=(m-n|0)/24|0;if((m|0)!=(n|0)){m=n;n=o+-1|0;if((a[m+(n*24|0)+20>>0]|0)==0?((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2|0)==(c[m+(n*24|0)+16>>2]|0):0){c[h>>2]=20469;c[h+4>>2]=0;c[h+8>>2]=1;Di(b,20140,h);p=1}else p=0}else{c[j>>2]=0;c[j+4>>2]=o+-1;Di(b,20111,j);p=1}j=c[l>>2]|0;l=c[k>>2]|0;k=(j-l|0)/24|0;do if((j|0)==(l|0)){c[g>>2]=0;c[g+4>>2]=k+-1;Di(b,20111,g);q=1}else{o=l;h=k+-1|0;n=c[b+4>>2]|0;m=(c[b+8>>2]|0)-n>>2;if((c[o+(h*24|0)+16>>2]|0)>>>0>=m>>>0){q=(a[o+(h*24|0)+20>>0]^1)&255;break}h=c[n+(m+-1<<2)>>2]|0;if(!((h|0)!=0&((d|0)!=0&(h|0)!=(d|0)))){r=0;s=p;t=r|s;i=e;return t|0}switch(d|0){case -1:{u=28480;break}case -2:{u=28476;break}case -3:{u=28472;break}case -4:{u=28468;break}case -16:{u=28460;break}case -32:{u=28455;break}case -64:{u=28450;break}case 0:{u=28446;break}default:u=0}switch(h|0){case -1:{v=28480;break}case -2:{v=28476;break}case -3:{v=28472;break}case -4:{v=28468;break}case -16:{v=28460;break}case -32:{v=28455;break}case -64:{v=28450;break}case 0:{v=28446;break}default:v=0}c[f>>2]=20469;c[f+4>>2]=u;c[f+8>>2]=v;Di(b,20204,f);r=1;s=p;t=r|s;i=e;return t|0}while(0);r=0;s=q|p;t=r|s;i=e;return t|0}function nj(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;e=d;f=Ni(a,c[1536+(b*20|0)+8>>2]|0,c[1536+(b*20|0)>>2]|0)|0;g=c[1536+(b*20|0)+4>>2]|0;c[e>>2]=g;if((g|0)==-64){i=d;return f|0}b=a+8|0;h=c[b>>2]|0;if((h|0)==(c[a+12>>2]|0)){de(a+4|0,e);i=d;return f|0}else{c[h>>2]=g;c[b>>2]=h+4;i=d;return f|0}return 0}function oj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d;f=c[b+20>>2]|0;g=c[b+16>>2]|0;h=(f-g|0)/24|0;if((f|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h+-1;Di(b,20111,e);j=1;i=d;return j|0}e=g;g=h+-1|0;a[e+(g*24|0)+20>>0]=1;h=c[e+(g*24|0)+16>>2]|0;g=b+4|0;e=b+8|0;b=c[e>>2]|0;f=c[g>>2]|0;k=b-f>>2;l=b;if(h>>>0>k>>>0){Li(g,h-k|0);j=0;i=d;return j|0}if(h>>>0>=k>>>0){j=0;i=d;return j|0}k=f+(h<<2)|0;if((l|0)==(k|0)){j=0;i=d;return j|0}c[e>>2]=l+(~((l+-4-k|0)>>>2)<<2);j=0;i=d;return j|0}function pj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;e=c[a+20>>2]|0;f=c[a+16>>2]|0;g=(e-f|0)/24|0;if((e|0)==(f|0)){c[d>>2]=0;c[d+4>>2]=g+-1;Di(a,20111,d);h=1;i=b;return h|0}else{d=f+((g+-1|0)*24|0)|0;g=(c[d>>2]|0)!=0&1;h=g|(aj(a,d,20479,20395)|0);i=b;return h|0}return 0}function qj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(a>>>0<b>>>0?(f=d[a>>0]|0,(f&128|0)==0):0){c[e>>2]=f&127;g=1;return g|0}f=a+1|0;if(f>>>0<b>>>0?(h=d[f>>0]|0,(h&128|0)==0):0){c[e>>2]=(d[a>>0]|0)&127|h<<7&16256;g=2;return g|0}h=a+2|0;if(h>>>0<b>>>0?(i=d[h>>0]|0,(i&128|0)==0):0){c[e>>2]=(d[a>>0]|0)&127|i<<14&2080768|(d[f>>0]|0)<<7&16256;g=3;return g|0}i=a+3|0;if(i>>>0<b>>>0?(j=d[i>>0]|0,(j&128|0)==0):0){c[e>>2]=(d[h>>0]|0)<<14&2080768|j<<21&266338304|(d[a>>0]|0)&127|(d[f>>0]|0)<<7&16256;g=4;return g|0}j=a+4|0;if(j>>>0<b>>>0?(b=d[j>>0]|0,(b&128|0)==0):0){if(b&240|0){g=0;return g|0}c[e>>2]=(d[i>>0]|0)<<21&266338304|b<<28|(d[h>>0]|0)<<14&2080768|(d[a>>0]|0)&127|(d[f>>0]|0)<<7&16256;g=5;return g|0}c[e>>2]=0;g=0;return g|0}function rj(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;if(a>>>0<b>>>0?(f=d[a>>0]|0,(f&128|0)==0):0){c[e>>2]=f<<25>>25;g=1;return g|0}f=a+1|0;if(f>>>0<b>>>0?(h=d[f>>0]|0,(h&128|0)==0):0){c[e>>2]=((d[a>>0]|0)&127|h<<7)<<18>>18;g=2;return g|0}h=a+2|0;if(h>>>0<b>>>0?(i=d[h>>0]|0,(i&128|0)==0):0){c[e>>2]=((d[a>>0]|0)&127|i<<14|(d[f>>0]|0)<<7&16256)<<11>>11;g=3;return g|0}i=a+3|0;if(i>>>0<b>>>0?(j=d[i>>0]|0,(j&128|0)==0):0){c[e>>2]=((d[h>>0]|0)<<14&2080768|j<<21|(d[a>>0]|0)&127|(d[f>>0]|0)<<7&16256)<<4>>4;g=4;return g|0}j=a+4|0;if(j>>>0>=b>>>0){g=0;return g|0}b=d[j>>0]|0;if(b&128|0){g=0;return g|0}j=(b&8|0)!=0;k=b&240;if(j&(k|0)!=112){g=0;return g|0}if((k|0)!=0&(j^1)){g=0;return g|0}c[e>>2]=(d[i>>0]|0)<<21&266338304|b<<28|(d[h>>0]|0)<<14&2080768|(d[a>>0]|0)&127|(d[f>>0]|0)<<7&16256;g=5;return g|0}function sj(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,p=0,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;g=i;i=i+336|0;h=g+40|0;j=g+32|0;k=g+24|0;l=g+16|0;m=g+8|0;p=g;q=4;r=an(40)|0;c[r>>2]=0;s=g+304|0;t=g+48|0;n=0;ra(24,s|0,c[f>>2]|0,e|0);u=n;n=0;if((u|0)!=0&(o|0)!=0){v=fo(c[u>>2]|0,r|0,q|0)|0;if(!v)Na(u|0,o|0);C=o}else v=-1;if((v|0)!=1){v=t+4|0;u=t+176|0;w=t+204|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;x=t+208|0;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));x=t+8|0;c[x>>2]=a;c[t>>2]=b;c[t+12>>2]=b;b=t+16|0;c[b>>2]=0;c[v>>2]=c[f>>2]|0?s:e;c[t+200>>2]=f;c[w>>2]=12;r=bo(t+20|0,1,r|0,q|0)|0;q=C;n=0;w=n;n=0;if((w|0)!=0&(o|0)!=0){z=fo(c[w>>2]|0,r|0,q|0)|0;if(!z)Na(w|0,o|0);C=o}else z=-1;if((z|0)==1){A=u;B=v;D=t;E=t;F=C;G=b;H=x}else{A=u;B=v;D=t;E=t;F=0;G=b;H=x}}else{A=0;B=0;D=0;E=0;F=C;G=0;H=0}while(1){if((F|0)!=1){x=c[B>>2]|0;n=0;la(c[(c[x>>2]|0)+12>>2]|0,x|0,H|0);x=n;n=0;if((x|0)!=0&(o|0)!=0){I=fo(c[x>>2]|0,r|0,q|0)|0;if(!I)Na(x|0,o|0);C=o}else I=-1;if((I|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}x=c[G>>2]|0;b=x+4|0;v=c[D>>2]|0;if(b>>>0>v>>>0){n=0;c[p>>2]=20495;ra(25,t|0,20501,p|0);u=n;n=0;if((u|0)!=0&(o|0)!=0){P=fo(c[u>>2]|0,r|0,q|0)|0;if(!P)Na(u|0,o|0);C=o}else P=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}u=t+8|0;z=(c[u>>2]|0)+x|0;x=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;c[G>>2]=b;if((x|0)!=1836278016){n=0;ra(25,t|0,20552,m|0);x=n;n=0;if((x|0)!=0&(o|0)!=0){Q=fo(c[x>>2]|0,r|0,q|0)|0;if(!Q)Na(x|0,o|0);C=o}else Q=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}x=b+4|0;if(x>>>0>v>>>0){n=0;c[l>>2]=20568;ra(25,t|0,20501,l|0);v=n;n=0;if((v|0)!=0&(o|0)!=0){R=fo(c[v>>2]|0,r|0,q|0)|0;if(!R)Na(v|0,o|0);C=o}else R=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}v=(c[u>>2]|0)+b|0;b=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;c[G>>2]=x;if((b|0)!=1){n=0;c[k>>2]=b;c[k+4>>2]=1;ra(25,t|0,20576,k|0);x=n;n=0;if((x|0)!=0&(o|0)!=0){S=fo(c[x>>2]|0,r|0,q|0)|0;if(!S)Na(x|0,o|0);C=o}else S=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}x=c[B>>2]|0;n=0;v=za(c[(c[x>>2]|0)+16>>2]|0,x|0,b|0)|0;b=n;n=0;if((b|0)!=0&(o|0)!=0){T=fo(c[b>>2]|0,r|0,q|0)|0;if(!T)Na(b|0,o|0);C=o}else T=-1;if((T|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}if(v|0){n=0;ra(25,t|0,20618,j|0);v=n;n=0;if((v|0)!=0&(o|0)!=0){U=fo(c[v>>2]|0,r|0,q|0)|0;if(!U)Na(v|0,o|0);C=o}else U=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}n=0;ja(41,t|0);v=n;n=0;if((v|0)!=0&(o|0)!=0){V=fo(c[v>>2]|0,r|0,q|0)|0;if(!V)Na(v|0,o|0);C=o}else V=-1;if((V|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}v=c[B>>2]|0;n=0;b=pa(c[(c[v>>2]|0)+20>>2]|0,v|0)|0;v=n;n=0;if((v|0)!=0&(o|0)!=0){W=fo(c[v>>2]|0,r|0,q|0)|0;if(!W)Na(v|0,o|0);C=o}else W=-1;if((W|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}if(!b)X=0;else{n=0;ra(25,t|0,28087,h|0);b=n;n=0;if((b|0)!=0&(o|0)!=0){Y=fo(c[b>>2]|0,r|0,q|0)|0;if(!Y)Na(b|0,o|0);C=o}else Y=-1;J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}}else X=1;b=c[t+188>>2]|0;v=b;if(b|0){x=t+192|0;u=c[x>>2]|0;if((u|0)!=(b|0))c[x>>2]=u+(~((u+-4-v|0)>>>2)<<2);n=0;ja(42,b|0);b=n;n=0;if((b|0)!=0&(o|0)!=0){Z=fo(c[b>>2]|0,r|0,q|0)|0;if(!Z)Na(b|0,o|0);C=o}else Z=-1;if((Z|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O;continue}}b=c[A>>2]|0;if(!b){_=31;break}v=t+180|0;u=c[v>>2]|0;if((u|0)!=(b|0))c[v>>2]=u+(~((u+-4-b|0)>>>2)<<2);n=0;ja(42,b|0);b=n;n=0;if((b|0)!=0&(o|0)!=0){$=fo(c[b>>2]|0,r|0,q|0)|0;if(!$)Na(b|0,o|0);C=o}else $=-1;if(($|0)==1){J=H;K=G;L=E;M=D;N=B;O=A;F=C;H=J;G=K;E=L;D=M;B=N;A=O}else break}if((_|0)==31){bn(r|0);i=g;return X|0}bn(r|0);i=g;return X|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;e=i;i=i+176|0;f=e;g=e+24|0;h=e+8|0;j=e+40|0;c[g>>2]=d;c[h>>2]=c[g>>2];d=(em(j,128,b,g)|0)+1|0;if(d>>>0>128){g=i;i=i+((1*d|0)+15&-16)|0;em(g,d,b,h)|0;k=g}else k=j;j=c[a+4>>2]|0;if(ub[c[(c[j>>2]|0)+8>>2]&255](j,k)|0){l=a+20|0;Na(l|0,1)}j=c[1510]|0;c[f>>2]=c[a+16>>2];c[f+4>>2]=k;Mm(j,20529,f)|0;l=a+20|0;Na(l|0,1)}function uj(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,w=0,x=0,y=0,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,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,lb=0,mb=0,nb=0,qb=0,rb=0,tb=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,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,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,_d=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,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=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,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0;e=i;i=i+2544|0;f=e+2512|0;g=e+2488|0;h=e+2480|0;j=e+2472|0;k=e+2464|0;l=e+2456|0;m=e+2448|0;n=e+2440|0;o=e+2432|0;p=e+2424|0;q=e+2416|0;r=e+2408|0;s=e+2400|0;t=e+2392|0;u=e+2384|0;v=e+2376|0;w=e+2368|0;x=e+2360|0;y=e+2352|0;z=e+2344|0;A=e+2336|0;B=e+2328|0;C=e+2320|0;D=e+2312|0;E=e+2304|0;F=e+2296|0;G=e+2288|0;H=e+2280|0;I=e+2272|0;J=e+2264|0;K=e+2256|0;L=e+2248|0;M=e+2240|0;N=e+2232|0;O=e+2224|0;P=e+2216|0;Q=e+2208|0;R=e+2200|0;S=e+2192|0;T=e+2184|0;U=e+2176|0;V=e+2168|0;W=e+2160|0;X=e+2152|0;Y=e+2144|0;Z=e+2136|0;_=e+2128|0;$=e+2120|0;aa=e+2112|0;ba=e+2104|0;ca=e+2096|0;da=e+2088|0;ea=e+2080|0;fa=e+2072|0;ga=e+2064|0;ha=e+2056|0;ia=e+2048|0;ja=e+2040|0;ka=e+2032|0;la=e+2024|0;ma=e+2016|0;na=e+2008|0;oa=e+2e3|0;pa=e+1992|0;qa=e+1984|0;ra=e+1976|0;sa=e+1968|0;ta=e+1960|0;ua=e+1952|0;va=e+1944|0;wa=e+1936|0;xa=e+1928|0;ya=e+1920|0;za=e+1912|0;Aa=e+1904|0;Ba=e+1896|0;Ca=e+1888|0;Da=e+1880|0;Ea=e+1872|0;Fa=e+1864|0;Ga=e+1856|0;Ha=e+1848|0;Ia=e+1840|0;Ja=e+1832|0;Ka=e+1824|0;La=e+1816|0;Ma=e+1808|0;Na=e+1800|0;Oa=e+1792|0;Pa=e+1784|0;Qa=e+1776|0;Ra=e+1768|0;Sa=e+1760|0;Ta=e+1752|0;Ua=e+1744|0;Va=e+1736|0;Wa=e+1728|0;Xa=e+1720|0;Ya=e+1712|0;Za=e+1704|0;_a=e+1696|0;$a=e+1688|0;ab=e+1680|0;bb=e+1672|0;cb=e+1664|0;db=e+1656|0;eb=e+1648|0;fb=e+1640|0;gb=e+1632|0;hb=e+1624|0;ib=e+1616|0;lb=e+1608|0;mb=e+1600|0;nb=e+1592|0;qb=e+1584|0;rb=e+1576|0;tb=e+1568|0;wb=e+1560|0;xb=e+1552|0;yb=e+1544|0;zb=e+1536|0;Ab=e+1528|0;Bb=e+1520|0;Cb=e+1512|0;Db=e+1504|0;Eb=e+1496|0;Fb=e+1488|0;Gb=e+1480|0;Hb=e+1472|0;Ib=e+1464|0;Jb=e+1456|0;Kb=e+1448|0;Lb=e+1440|0;Mb=e+1432|0;Nb=e+1424|0;Ob=e+1416|0;Pb=e+1408|0;Qb=e+1400|0;Rb=e+1392|0;Sb=e+1384|0;Tb=e+1376|0;Ub=e+1368|0;Vb=e+1360|0;Wb=e+1352|0;Xb=e+1344|0;Yb=e+1336|0;Zb=e+1328|0;_b=e+1320|0;$b=e+1312|0;ac=e+1304|0;bc=e+1296|0;cc=e+1288|0;dc=e+1280|0;ec=e+1272|0;fc=e+1264|0;gc=e+1256|0;hc=e+1248|0;ic=e+1240|0;jc=e+1232|0;kc=e+1224|0;lc=e+1216|0;mc=e+1208|0;nc=e+1200|0;oc=e+1192|0;pc=e+1184|0;qc=e+1176|0;rc=e+1168|0;sc=e+1160|0;tc=e+1152|0;uc=e+1144|0;vc=e+1136|0;wc=e+1128|0;xc=e+1120|0;yc=e+1112|0;zc=e+1104|0;Ac=e+1096|0;Bc=e+1088|0;Cc=e+1080|0;Dc=e+1072|0;Ec=e+1064|0;Fc=e+1056|0;Gc=e+1048|0;Hc=e+1040|0;Ic=e+1032|0;Jc=e+1024|0;Kc=e+1016|0;Lc=e+1008|0;Mc=e+1e3|0;Nc=e+992|0;Oc=e+984|0;Pc=e+976|0;Qc=e+968|0;Rc=e+960|0;Sc=e+952|0;Tc=e+944|0;Uc=e+936|0;Vc=e+928|0;Wc=e+920|0;Xc=e+912|0;Yc=e+904|0;Zc=e+896|0;_c=e+888|0;$c=e+880|0;ad=e+872|0;bd=e+864|0;cd=e+856|0;dd=e+848|0;ed=e+840|0;fd=e+832|0;gd=e+824|0;hd=e+816|0;id=e+808|0;jd=e+800|0;kd=e+792|0;ld=e+784|0;md=e+776|0;nd=e+768|0;od=e+760|0;pd=e+752|0;qd=e+744|0;rd=e+736|0;sd=e+728|0;td=e+720|0;ud=e+712|0;vd=e+704|0;wd=e+696|0;xd=e+688|0;yd=e+680|0;zd=e+672|0;Ad=e+664|0;Bd=e+656|0;Cd=e+648|0;Dd=e+640|0;Ed=e+632|0;Fd=e+624|0;Gd=e+616|0;Hd=e+608|0;Id=e+600|0;Jd=e+592|0;Kd=e+584|0;Ld=e+576|0;Md=e+568|0;Nd=e+560|0;Od=e+552|0;Pd=e+544|0;Qd=e+536|0;Rd=e+528|0;Sd=e+520|0;Td=e+512|0;Ud=e+504|0;Vd=e+496|0;Wd=e+488|0;Xd=e+480|0;Yd=e+472|0;Zd=e+464|0;_d=e+456|0;$d=e+448|0;ae=e+440|0;be=e+432|0;ce=e+424|0;de=e+416|0;ee=e+408|0;fe=e+400|0;ge=e+392|0;he=e+384|0;ie=e+376|0;je=e+368|0;ke=e+360|0;le=e+352|0;me=e+344|0;ne=e+336|0;oe=e+328|0;pe=e+320|0;qe=e+312|0;re=e+304|0;se=e+296|0;te=e+288|0;ue=e+280|0;ve=e+272|0;we=e+264|0;xe=e+256|0;ye=e+248|0;ze=e+240|0;Ae=e+232|0;Be=e+224|0;Ce=e+216|0;De=e+208|0;Ee=e+200|0;Fe=e+192|0;Ge=e+184|0;He=e+176|0;Ie=e+152|0;Je=e+144|0;Ke=e+136|0;Le=e+128|0;Me=e+120|0;Ne=e+96|0;Oe=e+88|0;Pe=e+80|0;Qe=e+72|0;Re=e+64|0;Se=e+56|0;Te=e+48|0;Ue=e+40|0;Ve=e+32|0;We=e+24|0;Xe=e+16|0;Ye=e+8|0;Ze=e;_e=e+2540|0;$e=e+2536|0;af=b+16|0;bf=b+12|0;if((c[af>>2]|0)>>>0>=(c[bf>>2]|0)>>>0){i=e;return}cf=b+8|0;df=b+204|0;ef=b+4|0;ff=Oe+4|0;gf=b+200|0;hf=Ie+4|0;jf=b+216|0;kf=b+232|0;lf=Ke+4|0;mf=Ne+4|0;nf=b+208|0;of=b+176|0;pf=b+180|0;qf=b+212|0;rf=Je+4|0;sf=Ke+4|0;tf=Le+4|0;uf=Me+4|0;vf=Oe+4|0;wf=Pe+4|0;xf=Qe+4|0;yf=Re+4|0;zf=b+220|0;Af=Se+4|0;Bf=Te+4|0;Cf=Ue+4|0;Df=Ve+4|0;Ef=b+224|0;Ff=We+4|0;Gf=Xe+4|0;Hf=Ye+4|0;If=Ze+4|0;Jf=b+228|0;Kf=b+236|0;Lf=b+240|0;Mf=b+244|0;Nf=b+248|0;Of=He+4|0;Pf=b+252|0;Qf=b+188|0;Rf=b+192|0;Sf=c[bf>>2]|0;Tf=c[af>>2]|0;a:while(1){c[b>>2]=Sf;Uf=c[cf>>2]|0;Vf=qj(Uf+Tf|0,Uf+Sf|0,_e)|0;if(!Vf){Wf=4;break}Uf=(c[af>>2]|0)+Vf|0;c[af>>2]=Uf;Vf=c[cf>>2]|0;Xf=qj(Vf+Uf|0,Vf+(c[b>>2]|0)|0,$e)|0;if(!Xf){Wf=6;break}Vf=(c[af>>2]|0)+Xf|0;c[af>>2]=Vf;Xf=c[$e>>2]|0;Uf=Xf+Vf|0;c[b>>2]=Uf;Vf=c[_e>>2]|0;if(Vf>>>0>11){Yf=Vf;Wf=8;break}if(Uf>>>0>(c[bf>>2]|0)>>>0){Wf=10;break}Uf=c[df>>2]|0;Zf=(Vf|0)!=0;if(!((Vf|0)>(Uf|0)|Zf&(Uf|0)!=12^1)){_f=Vf;Wf=12;break}Uf=c[ef>>2]|0;if(kb[c[(c[Uf>>2]|0)+24>>2]&127](Uf,Vf,Xf)|0){Wf=14;break}do switch(Vf|0){case 0:{c[f>>2]=0;Uf=c[cf>>2]|0;$f=qj(Uf+(c[af>>2]|0)|0,Uf+(c[b>>2]|0)|0,f)|0;if(!$f){Wf=17;break a}Uf=(c[af>>2]|0)+$f|0;c[af>>2]=Uf;$f=c[f>>2]|0;ag=$f+Uf|0;if(ag>>>0>(c[b>>2]|0)>>>0){Wf=19;break a}bg=(c[cf>>2]|0)+Uf|0;c[af>>2]=ag;ag=c[ef>>2]|0;Uf=c[(c[ag>>2]|0)+28>>2]|0;c[Oe>>2]=bg;c[ff>>2]=$f;c[f>>2]=c[Oe>>2];c[f+4>>2]=c[Oe+4>>2];if(kb[Uf&127](ag,Xf,f)|0){Wf=21;break a}if(((a[(c[gf>>2]|0)+4>>0]|0)!=0?(c[df>>2]|0)>1:0)?(Nm(bg,20918,$f)|0)==0:0){$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+448>>2]&255]($f,Xf)|0){Wf=26;break a}$f=c[b>>2]|0;ag=c[af>>2]|0;b:do if(ag>>>0<$f>>>0){Uf=ag;cg=0;dg=0;while(1){eg=c[cf>>2]|0;fg=qj(eg+Uf|0,eg+$f|0,g)|0;if(!fg){Wf=29;break a}eg=(c[af>>2]|0)+fg|0;c[af>>2]=eg;fg=dg;dg=c[g>>2]|0;if(cg|0){if((dg|0)==(fg|0)){Wf=32;break a}if(dg>>>0<fg>>>0){Wf=34;break a}}fg=c[cf>>2]|0;gg=qj(fg+eg|0,fg+(c[b>>2]|0)|0,He)|0;if(!gg){Wf=36;break a}fg=(c[af>>2]|0)+gg|0;c[af>>2]=fg;gg=c[He>>2]|0;Uf=gg+fg|0;if(Uf>>>0>(c[b>>2]|0)>>>0){Wf=38;break a}c[b>>2]=Uf;c:do switch(dg|0){case 1:{fg=c[ef>>2]|0;if(sb[c[(c[fg>>2]|0)+452>>2]&63](fg,cg,1,gg)|0){Wf=41;break a}if(!gg)break c;fg=c[cf>>2]|0;eg=qj(fg+(c[af>>2]|0)|0,fg+(c[b>>2]|0)|0,Ie)|0;if(!eg){Wf=44;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;fg=c[Ie>>2]|0;if(ub[c[(c[eg>>2]|0)+456>>2]&255](eg,fg)|0){Wf=47;break a}if(fg|0){eg=0;do{hg=c[cf>>2]|0;ig=qj(hg+(c[af>>2]|0)|0,hg+(c[b>>2]|0)|0,Je)|0;if(!ig){Wf=50;break a}hg=(c[af>>2]|0)+ig|0;c[af>>2]=hg;ig=c[Je>>2]|0;if(ig>>>0>=((c[kf>>2]|0)+(c[jf>>2]|0)|0)>>>0){jg=ig;Wf=52;break a}c[f>>2]=0;kg=c[cf>>2]|0;lg=qj(kg+hg|0,kg+(c[b>>2]|0)|0,f)|0;if(!lg){Wf=54;break a}kg=(c[af>>2]|0)+lg|0;c[af>>2]=kg;lg=c[f>>2]|0;hg=lg+kg|0;if(hg>>>0>(c[b>>2]|0)>>>0){Wf=56;break a}mg=(c[cf>>2]|0)+kg|0;c[af>>2]=hg;hg=c[ef>>2]|0;kg=c[(c[hg>>2]|0)+460>>2]|0;c[Ke>>2]=mg;c[lf>>2]=lg;c[f>>2]=c[Ke>>2];c[f+4>>2]=c[Ke+4>>2];if(kb[kg&127](hg,ig,f)|0){Wf=58;break a}eg=eg+1|0}while(eg>>>0<fg>>>0)}break}case 2:{fg=c[ef>>2]|0;if(sb[c[(c[fg>>2]|0)+464>>2]&63](fg,cg,2,gg)|0){Wf=61;break a}if(!gg)break c;fg=c[cf>>2]|0;eg=qj(fg+(c[af>>2]|0)|0,fg+(c[b>>2]|0)|0,Ie)|0;if(!eg){Wf=64;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;fg=c[Ie>>2]|0;if(ub[c[(c[eg>>2]|0)+468>>2]&255](eg,fg)|0){Wf=67;break a}if(fg|0){eg=0;do{ig=c[cf>>2]|0;hg=qj(ig+(c[af>>2]|0)|0,ig+(c[b>>2]|0)|0,Je)|0;if(!hg){Wf=70;break a}ig=(c[af>>2]|0)+hg|0;c[af>>2]=ig;hg=c[cf>>2]|0;kg=qj(hg+ig|0,hg+(c[b>>2]|0)|0,Le)|0;if(!kg){Wf=72;break a}c[af>>2]=(c[af>>2]|0)+kg;kg=c[ef>>2]|0;hg=c[Je>>2]|0;ig=c[Le>>2]|0;if(kb[c[(c[kg>>2]|0)+472>>2]&127](kg,hg,ig)|0){Wf=75;break a}if(ig|0){kg=0;do{lg=c[cf>>2]|0;mg=qj(lg+(c[af>>2]|0)|0,lg+(c[b>>2]|0)|0,Me)|0;if(!mg){Wf=78;break a}lg=(c[af>>2]|0)+mg|0;c[af>>2]=lg;c[f>>2]=0;mg=c[cf>>2]|0;ng=qj(mg+lg|0,mg+(c[b>>2]|0)|0,f)|0;if(!ng){Wf=80;break a}mg=(c[af>>2]|0)+ng|0;c[af>>2]=mg;ng=c[f>>2]|0;lg=ng+mg|0;if(lg>>>0>(c[b>>2]|0)>>>0){Wf=82;break a}og=(c[cf>>2]|0)+mg|0;c[af>>2]=lg;lg=c[ef>>2]|0;mg=c[(c[lg>>2]|0)+476>>2]|0;pg=c[Me>>2]|0;c[Ne>>2]=og;c[mf>>2]=ng;c[f>>2]=c[Ne>>2];c[f+4>>2]=c[Ne+4>>2];if(sb[mg&63](lg,hg,pg,f)|0){Wf=84;break a}kg=kg+1|0}while(kg>>>0<ig>>>0)}eg=eg+1|0}while(eg>>>0<fg>>>0)}break}default:c[af>>2]=Uf}while(0);if((c[af>>2]|0)!=(Uf|0)){qg=Uf;Wf=88;break a}c[b>>2]=$f;if(Uf>>>0>=$f>>>0)break b;else cg=cg+1|0}}while(0);$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+480>>2]&127]($f)|0){Wf=91;break a}}else Wf=93;do if((Wf|0)==93){Wf=0;if(Nm(bg,21510,5)|0){c[af>>2]=c[b>>2];break}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+484>>2]&255]($f,Xf)|0){Wf=95;break a}$f=c[cf>>2]|0;ag=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,He)|0;if(!ag){Wf=97;break a}$f=(c[af>>2]|0)+ag|0;c[af>>2]=$f;ag=c[He>>2]|0;if(!ag){c[f>>2]=0;cg=c[cf>>2]|0;Uf=qj(cg+$f|0,cg+(c[b>>2]|0)|0,f)|0;if(!Uf){Wf=101;break a}cg=(c[af>>2]|0)+Uf|0;c[af>>2]=cg;Uf=c[f>>2]|0;dg=Uf+cg|0;gg=c[b>>2]|0;if(dg>>>0>gg>>>0){Wf=103;break a}fg=c[cf>>2]|0;c[af>>2]=dg;rg=fg;sg=dg;tg=gg;ug=fg+cg|0;vg=Uf}else{rg=c[cf>>2]|0;sg=$f;tg=c[b>>2]|0;ug=0;vg=0}$f=qj(rg+sg|0,rg+tg|0,g)|0;if(!$f){Wf=106;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;Uf=c[(c[$f>>2]|0)+488>>2]|0;cg=c[g>>2]|0;c[Ie>>2]=ug;c[hf>>2]=vg;c[f>>2]=c[Ie>>2];c[f+4>>2]=c[Ie+4>>2];if(sb[Uf&63]($f,cg,ag,f)|0){Wf=109;break a}if(cg|0){ag=0;do{c[Le>>2]=0;$f=c[cf>>2]|0;Uf=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!Uf){Wf=112;break a}$f=(c[af>>2]|0)+Uf|0;c[af>>2]=$f;Uf=c[cf>>2]|0;fg=qj(Uf+$f|0,Uf+(c[b>>2]|0)|0,Je)|0;if(!fg){Wf=114;break a}Uf=(c[af>>2]|0)+fg|0;c[af>>2]=Uf;fg=c[cf>>2]|0;$f=qj(fg+Uf|0,fg+(c[b>>2]|0)|0,Ke)|0;if(!$f){Wf=116;break a}fg=(c[af>>2]|0)+$f|0;c[af>>2]=fg;$f=c[f>>2]|0;if(($f+-3|0)>>>0<3){Uf=c[cf>>2]|0;gg=rj(Uf+fg|0,Uf+(c[b>>2]|0)|0,Le)|0;if(!gg){Wf=119;break a}c[af>>2]=(c[af>>2]|0)+gg;wg=c[Le>>2]|0}else wg=0;gg=c[ef>>2]|0;if(vb[c[(c[gg>>2]|0)+492>>2]&31](gg,$f,c[Je>>2]|0,c[Ke>>2]|0,wg)|0){Wf=122;break a}ag=ag+1|0}while(ag>>>0<cg>>>0)}cg=c[ef>>2]|0;if(pb[c[(c[cg>>2]|0)+496>>2]&127](cg)|0){Wf=124;break a}}while(0);bg=c[ef>>2]|0;if(pb[c[(c[bg>>2]|0)+32>>2]&127](bg)|0){Wf=128;break a}break}case 1:{bg=c[ef>>2]|0;if(ub[c[(c[bg>>2]|0)+36>>2]&255](bg,Xf)|0){Wf=131;break a}bg=c[cf>>2]|0;cg=qj(bg+(c[af>>2]|0)|0,bg+(c[b>>2]|0)|0,nf)|0;if(!cg){Wf=133;break a}c[af>>2]=(c[af>>2]|0)+cg;cg=c[ef>>2]|0;if(ub[c[(c[cg>>2]|0)+40>>2]&255](cg,c[nf>>2]|0)|0){Wf=136;break a}if(c[nf>>2]|0){cg=0;do{c[f>>2]=0;bg=c[cf>>2]|0;ag=rj(bg+(c[af>>2]|0)|0,bg+(c[b>>2]|0)|0,f)|0;if(!ag){Wf=139;break a}bg=(c[af>>2]|0)+ag|0;c[af>>2]=bg;ag=c[f>>2]|0;if((ag+128|0)>>>0>255){xg=ag;Wf=141;break a}if((ag|0)!=-32){yg=ag;Wf=143;break a}ag=c[cf>>2]|0;$f=qj(ag+bg|0,ag+(c[b>>2]|0)|0,g)|0;if(!$f){Wf=145;break a}ag=(c[af>>2]|0)+$f|0;c[af>>2]=ag;$f=c[g>>2]|0;bg=c[pf>>2]|0;gg=c[of>>2]|0;Uf=bg-gg>>2;fg=gg;gg=bg;do if($f>>>0>Uf>>>0){Li(of,$f-Uf|0);zg=c[af>>2]|0}else{if($f>>>0>=Uf>>>0){zg=ag;break}bg=fg+($f<<2)|0;if((gg|0)==(bg|0)){zg=ag;break}c[pf>>2]=gg+(~((gg+-4-bg|0)>>>2)<<2);zg=ag}while(0);ag=($f|0)==0;if(ag)Ag=zg;else{gg=zg;fg=0;while(1){c[f>>2]=0;Uf=c[cf>>2]|0;bg=rj(Uf+gg|0,Uf+(c[b>>2]|0)|0,f)|0;if(!bg){Wf=156;break a}Uf=(c[af>>2]|0)+bg|0;c[af>>2]=Uf;bg=c[f>>2]|0;if((bg+128|0)>>>0>255){Bg=bg;Wf=158;break a}if(bg>>>0<=4294967291){Cg=bg;Wf=160;break a}c[(c[of>>2]|0)+(fg<<2)>>2]=bg;fg=fg+1|0;if(fg>>>0>=$f>>>0){Ag=Uf;break}else gg=Uf}}gg=c[cf>>2]|0;fg=qj(gg+Ag|0,gg+(c[b>>2]|0)|0,He)|0;if(!fg){Wf=153;break a}gg=(c[af>>2]|0)+fg|0;c[af>>2]=gg;fg=c[He>>2]|0;if(fg>>>0>=2){Wf=162;break a}c[Ie>>2]=-64;if(fg|0){c[f>>2]=0;Uf=c[cf>>2]|0;bg=rj(Uf+gg|0,Uf+(c[b>>2]|0)|0,f)|0;if(!bg){Wf=165;break a}c[af>>2]=(c[af>>2]|0)+bg;bg=c[f>>2]|0;if((bg+128|0)>>>0>255){Dg=bg;Wf=167;break a}c[Ie>>2]=bg;if(bg>>>0<=4294967291){Eg=bg;Wf=169;break a}}if(ag)Fg=0;else Fg=c[of>>2]|0;bg=c[ef>>2]|0;if(ob[c[(c[bg>>2]|0)+44>>2]&31](bg,cg,$f,Fg,fg,Ie)|0){Wf=173;break a}cg=cg+1|0}while(cg>>>0<(c[nf>>2]|0)>>>0)}cg=c[ef>>2]|0;if(pb[c[(c[cg>>2]|0)+48>>2]&127](cg)|0){Wf=175;break a}break}case 2:{cg=c[ef>>2]|0;if(ub[c[(c[cg>>2]|0)+52>>2]&255](cg,Xf)|0){Wf=177;break a}cg=c[cf>>2]|0;fg=qj(cg+(c[af>>2]|0)|0,cg+(c[b>>2]|0)|0,qf)|0;if(!fg){Wf=179;break a}c[af>>2]=(c[af>>2]|0)+fg;fg=c[ef>>2]|0;if(ub[c[(c[fg>>2]|0)+56>>2]&255](fg,c[qf>>2]|0)|0){Wf=182;break a}d:do if(c[qf>>2]|0){fg=0;while(1){c[f>>2]=0;cg=c[cf>>2]|0;bg=qj(cg+(c[af>>2]|0)|0,cg+(c[b>>2]|0)|0,f)|0;if(!bg){Wf=185;break a}cg=(c[af>>2]|0)+bg|0;c[af>>2]=cg;bg=c[f>>2]|0;Uf=bg+cg|0;gg=c[b>>2]|0;if(Uf>>>0>gg>>>0){Wf=187;break a}dg=c[cf>>2]|0;eg=dg+cg|0;c[af>>2]=Uf;c[f>>2]=0;cg=qj(dg+Uf|0,dg+gg|0,f)|0;if(!cg){Wf=189;break a}gg=(c[af>>2]|0)+cg|0;c[af>>2]=gg;cg=c[f>>2]|0;dg=cg+gg|0;Uf=c[b>>2]|0;if(dg>>>0>Uf>>>0){Wf=191;break a}ig=c[cf>>2]|0;kg=ig+gg|0;c[af>>2]=dg;gg=qj(ig+dg|0,ig+Uf|0,He)|0;if(!gg){Wf=193;break a}Uf=(c[af>>2]|0)+gg|0;c[af>>2]=Uf;gg=c[He>>2]|0;switch(gg|0){case 0:{ig=c[cf>>2]|0;dg=qj(ig+Uf|0,ig+(c[b>>2]|0)|0,Ie)|0;if(!dg){Wf=196;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[Ie>>2]|0;if(dg>>>0>=(c[nf>>2]|0)>>>0){Wf=198;break a}ig=c[ef>>2]|0;hg=c[(c[ig>>2]|0)+60>>2]|0;c[Je>>2]=eg;c[rf>>2]=bg;c[Ke>>2]=kg;c[sf>>2]=cg;c[g>>2]=c[Je>>2];c[g+4>>2]=c[Je+4>>2];c[f>>2]=c[Ke>>2];c[f+4>>2]=c[Ke+4>>2];if(sb[hg&63](ig,fg,g,f)|0){Wf=200;break a}ig=c[ef>>2]|0;hg=c[(c[ig>>2]|0)+64>>2]|0;c[Le>>2]=eg;c[tf>>2]=bg;c[Me>>2]=kg;c[uf>>2]=cg;pg=c[jf>>2]|0;c[g>>2]=c[Le>>2];c[g+4>>2]=c[Le+4>>2];c[f>>2]=c[Me>>2];c[f+4>>2]=c[Me+4>>2];if(ob[hg&31](ig,fg,g,f,pg,dg)|0){Wf=202;break a}c[jf>>2]=(c[jf>>2]|0)+1;break}case 1:{vj(b,Ie,Ne);dg=c[ef>>2]|0;pg=c[(c[dg>>2]|0)+60>>2]|0;c[Oe>>2]=eg;c[vf>>2]=bg;c[Pe>>2]=kg;c[wf>>2]=cg;c[g>>2]=c[Oe>>2];c[g+4>>2]=c[Oe+4>>2];c[f>>2]=c[Pe>>2];c[f+4>>2]=c[Pe+4>>2];if(sb[pg&63](dg,fg,g,f)|0){Wf=205;break a}dg=c[ef>>2]|0;pg=c[(c[dg>>2]|0)+68>>2]|0;c[Qe>>2]=eg;c[xf>>2]=bg;c[Re>>2]=kg;c[yf>>2]=cg;ig=c[zf>>2]|0;hg=c[Ie>>2]|0;c[g>>2]=c[Qe>>2];c[g+4>>2]=c[Qe+4>>2];c[f>>2]=c[Re>>2];c[f+4>>2]=c[Re+4>>2];if(jb[pg&31](dg,fg,g,f,ig,hg,Ne)|0){Wf=207;break a}c[zf>>2]=(c[zf>>2]|0)+1;break}case 2:{wj(b,Ie);hg=c[ef>>2]|0;ig=c[(c[hg>>2]|0)+60>>2]|0;c[Se>>2]=eg;c[Af>>2]=bg;c[Te>>2]=kg;c[Bf>>2]=cg;c[g>>2]=c[Se>>2];c[g+4>>2]=c[Se+4>>2];c[f>>2]=c[Te>>2];c[f+4>>2]=c[Te+4>>2];if(sb[ig&63](hg,fg,g,f)|0){Wf=210;break a}hg=c[ef>>2]|0;ig=c[(c[hg>>2]|0)+72>>2]|0;c[Ue>>2]=eg;c[Cf>>2]=bg;c[Ve>>2]=kg;c[Df>>2]=cg;dg=c[Ef>>2]|0;c[g>>2]=c[Ue>>2];c[g+4>>2]=c[Ue+4>>2];c[f>>2]=c[Ve>>2];c[f+4>>2]=c[Ve+4>>2];if(ob[ig&31](hg,fg,g,f,dg,Ie)|0){Wf=212;break a}c[Ef>>2]=(c[Ef>>2]|0)+1;break}case 3:{c[f>>2]=0;dg=c[cf>>2]|0;hg=rj(dg+Uf|0,dg+(c[b>>2]|0)|0,f)|0;if(!hg){Wf=215;break a}dg=(c[af>>2]|0)+hg|0;c[af>>2]=dg;hg=c[f>>2]|0;if((hg+128|0)>>>0>255){Gg=hg;Wf=217;break a}if(hg>>>0<=4294967291){Hg=hg;Wf=219;break a}Uf=dg+1|0;if(Uf>>>0>(c[b>>2]|0)>>>0){Wf=221;break a}ig=a[(c[cf>>2]|0)+dg>>0]|0;c[af>>2]=Uf;if((ig&255)>=2){Wf=223;break a}Uf=c[ef>>2]|0;dg=c[(c[Uf>>2]|0)+60>>2]|0;c[We>>2]=eg;c[Ff>>2]=bg;c[Xe>>2]=kg;c[Gf>>2]=cg;c[g>>2]=c[We>>2];c[g+4>>2]=c[We+4>>2];c[f>>2]=c[Xe>>2];c[f+4>>2]=c[Xe+4>>2];if(sb[dg&63](Uf,fg,g,f)|0){Wf=225;break a}Uf=c[ef>>2]|0;dg=c[(c[Uf>>2]|0)+76>>2]|0;c[Ye>>2]=eg;c[Hf>>2]=bg;c[Ze>>2]=kg;c[If>>2]=cg;cg=c[Jf>>2]|0;c[g>>2]=c[Ye>>2];c[g+4>>2]=c[Ye+4>>2];c[f>>2]=c[Ze>>2];c[f+4>>2]=c[Ze+4>>2];if(jb[dg&31](Uf,fg,g,f,cg,hg,ig<<24>>24!=0)|0){Wf=227;break a}c[Jf>>2]=(c[Jf>>2]|0)+1;break}default:{Ig=gg;Wf=229;break a}}fg=fg+1|0;if(fg>>>0>=(c[qf>>2]|0)>>>0)break d}}while(0);fg=c[ef>>2]|0;if(pb[c[(c[fg>>2]|0)+80>>2]&127](fg)|0){Wf=231;break a}break}case 3:{fg=c[ef>>2]|0;if(ub[c[(c[fg>>2]|0)+84>>2]&255](fg,Xf)|0){Wf=234;break a}fg=c[cf>>2]|0;$f=qj(fg+(c[af>>2]|0)|0,fg+(c[b>>2]|0)|0,kf)|0;if(!$f){Wf=236;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+88>>2]&255]($f,c[kf>>2]|0)|0){Wf=239;break a}if(c[kf>>2]|0){$f=0;do{fg=(c[jf>>2]|0)+$f|0;ag=c[cf>>2]|0;gg=qj(ag+(c[af>>2]|0)|0,ag+(c[b>>2]|0)|0,f)|0;if(!gg){Wf=242;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[f>>2]|0;if(gg>>>0>=(c[nf>>2]|0)>>>0){Jg=gg;Wf=244;break a}ag=c[ef>>2]|0;if(kb[c[(c[ag>>2]|0)+92>>2]&127](ag,fg,gg)|0){Wf=246;break a}$f=$f+1|0}while($f>>>0<(c[kf>>2]|0)>>>0)}$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+96>>2]&127]($f)|0){Wf=248;break a}break}case 4:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+100>>2]&255]($f,Xf)|0){Wf=250;break a}$f=c[cf>>2]|0;gg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,Kf)|0;if(!gg){Wf=252;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[Kf>>2]|0;if(gg>>>0>=2){Kg=gg;Wf=254;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+104>>2]&255]($f,gg)|0){Wf=257;break a}if(c[Kf>>2]|0){gg=0;do{$f=(c[zf>>2]|0)+gg|0;vj(b,f,g);fg=c[ef>>2]|0;if(sb[c[(c[fg>>2]|0)+108>>2]&63](fg,$f,c[f>>2]|0,g)|0){Wf=260;break a}gg=gg+1|0}while(gg>>>0<(c[Kf>>2]|0)>>>0)}gg=c[ef>>2]|0;if(pb[c[(c[gg>>2]|0)+112>>2]&127](gg)|0){Wf=262;break a}break}case 5:{gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+116>>2]&255](gg,Xf)|0){Wf=264;break a}gg=c[cf>>2]|0;$f=qj(gg+(c[af>>2]|0)|0,gg+(c[b>>2]|0)|0,Lf)|0;if(!$f){Wf=266;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[Lf>>2]|0;if($f>>>0>=2){Wf=268;break a}gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+120>>2]&255](gg,$f)|0){Wf=271;break a}if(c[Lf>>2]|0){$f=0;do{gg=(c[Ef>>2]|0)+$f|0;wj(b,f);fg=c[ef>>2]|0;if(kb[c[(c[fg>>2]|0)+124>>2]&127](fg,gg,f)|0){Wf=274;break a}$f=$f+1|0}while($f>>>0<(c[Lf>>2]|0)>>>0)}$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+128>>2]&127]($f)|0){Wf=276;break a}break}case 6:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+132>>2]&255]($f,Xf)|0){Wf=278;break a}$f=c[cf>>2]|0;gg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,Mf)|0;if(!gg){Wf=280;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+136>>2]&255](gg,c[Mf>>2]|0)|0){Wf=283;break a}if(c[Mf>>2]|0){gg=0;do{$f=(c[Jf>>2]|0)+gg|0;c[f>>2]=0;fg=c[cf>>2]|0;ag=rj(fg+(c[af>>2]|0)|0,fg+(c[b>>2]|0)|0,f)|0;if(!ag){Wf=287;break a}fg=(c[af>>2]|0)+ag|0;c[af>>2]=fg;ag=c[f>>2]|0;if((ag+128|0)>>>0>255){Lg=ag;Wf=289;break a}if(ag>>>0<=4294967291){Mg=ag;Wf=291;break a}ig=fg+1|0;if(ig>>>0>(c[b>>2]|0)>>>0){Wf=293;break a}hg=a[(c[cf>>2]|0)+fg>>0]|0;c[af>>2]=ig;if((hg&255)>=2){Wf=295;break a}ig=c[ef>>2]|0;if(sb[c[(c[ig>>2]|0)+140>>2]&63](ig,$f,ag,hg<<24>>24!=0)|0){Wf=297;break a}hg=c[ef>>2]|0;if(ub[c[(c[hg>>2]|0)+144>>2]&255](hg,$f)|0){Wf=299;break a}xj(b,$f);hg=c[ef>>2]|0;if(ub[c[(c[hg>>2]|0)+148>>2]&255](hg,$f)|0){Wf=301;break a}hg=c[ef>>2]|0;gg=gg+1|0;if(ub[c[(c[hg>>2]|0)+152>>2]&255](hg,$f)|0){Wf=303;break a}}while(gg>>>0<(c[Mf>>2]|0)>>>0)}gg=c[ef>>2]|0;if(pb[c[(c[gg>>2]|0)+156>>2]&127](gg)|0){Wf=304;break a}break}case 7:{gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+160>>2]&255](gg,Xf)|0){Wf=306;break a}gg=c[cf>>2]|0;$f=qj(gg+(c[af>>2]|0)|0,gg+(c[b>>2]|0)|0,Nf)|0;if(!$f){Wf=308;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+164>>2]&255]($f,c[Nf>>2]|0)|0){Wf=311;break a}e:do if(c[Nf>>2]|0){$f=0;while(1){c[f>>2]=0;gg=c[cf>>2]|0;hg=qj(gg+(c[af>>2]|0)|0,gg+(c[b>>2]|0)|0,f)|0;if(!hg){Wf=314;break a}gg=(c[af>>2]|0)+hg|0;c[af>>2]=gg;hg=c[f>>2]|0;ag=hg+gg|0;ig=c[b>>2]|0;if(ag>>>0>ig>>>0){Wf=316;break a}fg=c[cf>>2]|0;cg=fg+gg|0;c[af>>2]=ag;gg=ag+1|0;if(gg>>>0>ig>>>0){Wf=318;break a}Uf=a[fg+ag>>0]|0;c[af>>2]=gg;if((Uf&255)>=4){Wf=320;break a}ag=qj(fg+gg|0,fg+ig|0,g)|0;if(!ag){Wf=322;break a}c[af>>2]=(c[af>>2]|0)+ag;ag=Uf&255;switch(ag|0){case 0:{Uf=c[g>>2]|0;if(Uf>>>0<((c[kf>>2]|0)+(c[jf>>2]|0)|0)>>>0)Ng=Uf;else{Og=Uf;Wf=326;break a}break}case 1:{Uf=c[g>>2]|0;if(Uf>>>0<((c[Kf>>2]|0)+(c[zf>>2]|0)|0)>>>0)Ng=Uf;else{Wf=328;break a}break}case 2:{Uf=c[g>>2]|0;if(Uf>>>0<((c[Lf>>2]|0)+(c[Ef>>2]|0)|0)>>>0)Ng=Uf;else{Wf=330;break a}break}case 3:{Uf=c[g>>2]|0;if(Uf>>>0<((c[Mf>>2]|0)+(c[Jf>>2]|0)|0)>>>0)Ng=Uf;else{Wf=332;break a}break}default:Ng=c[g>>2]|0}Uf=c[ef>>2]|0;ig=c[(c[Uf>>2]|0)+168>>2]|0;c[He>>2]=cg;c[Of>>2]=hg;c[f>>2]=c[He>>2];c[f+4>>2]=c[He+4>>2];if(vb[ig&31](Uf,$f,ag,Ng,f)|0){Wf=334;break a}$f=$f+1|0;if($f>>>0>=(c[Nf>>2]|0)>>>0)break e}}while(0);$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+172>>2]&127]($f)|0){Wf=336;break a}break}case 8:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+176>>2]&255]($f,Xf)|0){Wf=339;break a}$f=c[cf>>2]|0;ag=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!ag){Wf=341;break a}c[af>>2]=(c[af>>2]|0)+ag;ag=c[f>>2]|0;if(ag>>>0>=((c[kf>>2]|0)+(c[jf>>2]|0)|0)>>>0){Wf=343;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+180>>2]&255]($f,ag)|0){Wf=345;break a}ag=c[ef>>2]|0;if(pb[c[(c[ag>>2]|0)+184>>2]&127](ag)|0){Wf=347;break a}break}case 9:{ag=c[ef>>2]|0;if(ub[c[(c[ag>>2]|0)+380>>2]&255](ag,Xf)|0){Wf=350;break a}ag=c[cf>>2]|0;$f=qj(ag+(c[af>>2]|0)|0,ag+(c[b>>2]|0)|0,f)|0;if(!$f){Wf=352;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;ag=c[f>>2]|0;if(ub[c[(c[$f>>2]|0)+384>>2]&255]($f,ag)|0){Wf=354;break a}if(ag|0){if((c[Kf>>2]|0)==(0-(c[zf>>2]|0)|0)){Wf=357;break a}else Pg=0;do{$f=c[cf>>2]|0;Uf=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,g)|0;if(!Uf){Wf=360;break a}c[af>>2]=(c[af>>2]|0)+Uf;Uf=c[ef>>2]|0;if(kb[c[(c[Uf>>2]|0)+388>>2]&127](Uf,Pg,c[g>>2]|0)|0){Wf=362;break a}Uf=c[ef>>2]|0;if(ub[c[(c[Uf>>2]|0)+392>>2]&255](Uf,Pg)|0){Wf=364;break a}xj(b,Pg);Uf=c[ef>>2]|0;if(ub[c[(c[Uf>>2]|0)+396>>2]&255](Uf,Pg)|0){Wf=366;break a}Uf=c[cf>>2]|0;$f=qj(Uf+(c[af>>2]|0)|0,Uf+(c[b>>2]|0)|0,He)|0;if(!$f){Wf=368;break a}c[af>>2]=(c[af>>2]|0)+$f;$f=c[ef>>2]|0;Uf=c[He>>2]|0;if(kb[c[(c[$f>>2]|0)+400>>2]&127]($f,Pg,Uf)|0){Wf=371;break a}if(Uf|0){$f=0;do{ig=c[cf>>2]|0;hg=qj(ig+(c[af>>2]|0)|0,ig+(c[b>>2]|0)|0,Ie)|0;if(!hg){Wf=374;break a}c[af>>2]=(c[af>>2]|0)+hg;hg=c[ef>>2]|0;if(kb[c[(c[hg>>2]|0)+404>>2]&127](hg,Pg,c[Ie>>2]|0)|0){Wf=376;break a}$f=$f+1|0}while($f>>>0<Uf>>>0)}Uf=c[ef>>2]|0;if(ub[c[(c[Uf>>2]|0)+408>>2]&255](Uf,Pg)|0){Wf=378;break a}Pg=Pg+1|0}while(Pg>>>0<ag>>>0)}ag=c[ef>>2]|0;if(pb[c[(c[ag>>2]|0)+412>>2]&127](ag)|0){Wf=380;break a}break}case 10:{ag=c[ef>>2]|0;if(ub[c[(c[ag>>2]|0)+188>>2]&255](ag,Xf)|0){Wf=383;break a}ag=c[cf>>2]|0;Uf=qj(ag+(c[af>>2]|0)|0,ag+(c[b>>2]|0)|0,Pf)|0;if(!Uf){Wf=385;break a}c[af>>2]=(c[af>>2]|0)+Uf;Uf=c[kf>>2]|0;if((Uf|0)!=(c[Pf>>2]|0)){Wf=387;break a}ag=c[ef>>2]|0;if(ub[c[(c[ag>>2]|0)+192>>2]&255](ag,Uf)|0){Wf=390;break a}if(c[Pf>>2]|0){Uf=0;do{ag=(c[jf>>2]|0)+Uf|0;$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+196>>2]&255]($f,ag)|0){Wf=393;break a}$f=c[cf>>2]|0;hg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,He)|0;if(!hg){Wf=395;break a}$f=(c[af>>2]|0)+hg|0;c[af>>2]=$f;hg=(c[He>>2]|0)+$f|0;ig=c[cf>>2]|0;cg=qj(ig+$f|0,ig+(c[b>>2]|0)|0,Ie)|0;if(!cg){Wf=397;break a}c[af>>2]=(c[af>>2]|0)+cg;cg=c[ef>>2]|0;ig=c[Ie>>2]|0;if(ub[c[(c[cg>>2]|0)+200>>2]&255](cg,ig)|0){Wf=400;break a}if(ig|0){cg=0;do{$f=c[cf>>2]|0;fg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,g)|0;if(!fg){Wf=642;break a}$f=(c[af>>2]|0)+fg|0;c[af>>2]=$f;c[f>>2]=0;fg=c[cf>>2]|0;gg=rj(fg+$f|0,fg+(c[b>>2]|0)|0,f)|0;if(!gg){Wf=644;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[f>>2]|0;if((gg+128|0)>>>0>255){Qg=gg;Wf=646;break a}if(gg>>>0<=4294967291){Wf=648;break a}fg=c[ef>>2]|0;if(sb[c[(c[fg>>2]|0)+204>>2]&63](fg,cg,c[g>>2]|0,gg)|0){Wf=650;break a}cg=cg+1|0}while(cg>>>0<ig>>>0)}ig=c[af>>2]|0;f:do if(ig>>>0<hg>>>0){cg=ig;gg=0;while(1){fg=cg+1|0;if(fg>>>0>(c[b>>2]|0)>>>0){Wf=403;break a}$f=a[(c[cf>>2]|0)+cg>>0]|0;c[af>>2]=fg;fg=$f&255;$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+208>>2]&255]($f,fg)|0){Wf=405;break a}g:do switch(fg|0){case 0:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+368>>2]&127]($f)|0){Wf=408;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=410;break a}break}case 2:{c[f>>2]=0;$f=c[cf>>2]|0;dg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=412;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[f>>2]|0;if((dg+128|0)>>>0>255){Sg=dg;Wf=414;break a}c[g>>2]=dg;switch(dg|0){case -64:case -4:case -3:case -2:case -1:break;default:{Wf=416;break a}}$f=(dg|0)!=-64&1;dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+244>>2]&127](dg,$f,g)|0){Wf=418;break a}dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+236>>2]&127](dg,$f,g)|0){Wf=420;break a}Rg=gg;break}case 3:{c[f>>2]=0;$f=c[cf>>2]|0;dg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=423;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[f>>2]|0;if((dg+128|0)>>>0>255){Tg=dg;Wf=425;break a}c[g>>2]=dg;switch(dg|0){case -64:case -4:case -3:case -2:case -1:break;default:{Wf=427;break a}}$f=(dg|0)!=-64&1;dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+332>>2]&127](dg,$f,g)|0){Wf=429;break a}dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+236>>2]&127](dg,$f,g)|0){Wf=431;break a}Rg=gg;break}case 4:{c[f>>2]=0;$f=c[cf>>2]|0;dg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=434;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[f>>2]|0;if((dg+128|0)>>>0>255){Ug=dg;Wf=436;break a}c[g>>2]=dg;switch(dg|0){case -64:case -4:case -3:case -2:case -1:break;default:{Wf=438;break a}}$f=(dg|0)!=-64&1;dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+324>>2]&127](dg,$f,g)|0){Wf=440;break a}dg=c[ef>>2]|0;if(kb[c[(c[dg>>2]|0)+236>>2]&127](dg,$f,g)|0){Wf=442;break a}Rg=gg;break}case 5:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+284>>2]&127]($f)|0){Wf=445;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=447;break a}break}case 27:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+344>>2]&127]($f)|0){Wf=449;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=451;break a}break}case 12:{$f=c[cf>>2]|0;dg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=453;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[dg>>2]|0)+248>>2]&255](dg,$f)|0){Wf=455;break a}dg=c[ef>>2]|0;if(ub[c[(c[dg>>2]|0)+216>>2]&255](dg,$f)|0){Wf=457;break a}Rg=gg;break}case 13:{$f=c[cf>>2]|0;dg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=460;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[dg>>2]|0)+252>>2]&255](dg,$f)|0){Wf=462;break a}dg=c[ef>>2]|0;if(ub[c[(c[dg>>2]|0)+216>>2]&255](dg,$f)|0){Wf=464;break a}Rg=gg;break}case 14:{$f=c[cf>>2]|0;dg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!dg){Wf=467;break a}c[af>>2]=(c[af>>2]|0)+dg;dg=c[f>>2]|0;$f=c[Rf>>2]|0;kg=c[Qf>>2]|0;bg=$f-kg>>2;eg=kg;kg=$f;do if(dg>>>0>bg>>>0)zj(Qf,dg-bg|0);else{if(dg>>>0>=bg>>>0)break;$f=eg+(dg<<2)|0;if((kg|0)==($f|0))break;c[Rf>>2]=kg+(~((kg+-4-$f|0)>>>2)<<2)}while(0);kg=(dg|0)==0;if(!kg){eg=0;do{bg=c[cf>>2]|0;$f=qj(bg+(c[af>>2]|0)|0,bg+(c[b>>2]|0)|0,g)|0;if(!$f){Wf=478;break a}c[af>>2]=(c[af>>2]|0)+$f;c[(c[Qf>>2]|0)+(eg<<2)>>2]=c[g>>2];eg=eg+1|0}while(eg>>>0<dg>>>0)}eg=c[cf>>2]|0;$f=qj(eg+(c[af>>2]|0)|0,eg+(c[b>>2]|0)|0,g)|0;if(!$f){Wf=475;break a}c[af>>2]=(c[af>>2]|0)+$f;if(kg)Vg=0;else Vg=c[Qf>>2]|0;$f=c[ef>>2]|0;if(sb[c[(c[$f>>2]|0)+256>>2]&63]($f,dg,Vg,c[g>>2]|0)|0){Wf=482;break a}Rg=gg;break}case 15:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+340>>2]&127]($f)|0){Wf=485;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=487;break a}break}case 1:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+336>>2]&127]($f)|0){Wf=489;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=491;break a}break}case 26:{$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+280>>2]&127]($f)|0){Wf=493;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=495;break a}break}case 11:{$f=c[ef>>2]|0;eg=c[$f>>2]|0;if((c[af>>2]|0)==(hg|0))if(!(pb[c[eg+292>>2]&127]($f)|0)){Rg=1;break g}else{Wf=498;break a}else if(!(pb[c[eg+288>>2]&127]($f)|0)){Rg=gg;break g}else{Wf=500;break a}break}case 65:{c[f>>2]=0;$f=c[cf>>2]|0;eg=rj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=502;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+316>>2]&255](eg,$f)|0){Wf=504;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=506;break a}Rg=gg;break}case 66:{$f=f;c[$f>>2]=0;c[$f+4>>2]=0;yj(b,f,26191);$f=c[ef>>2]|0;eg=f;bg=c[eg>>2]|0;pg=c[eg+4>>2]|0;if(kb[c[(c[$f>>2]|0)+320>>2]&127]($f,bg,pg)|0){Wf=509;break a}$f=c[ef>>2]|0;if(kb[c[(c[$f>>2]|0)+224>>2]&127]($f,bg,pg)|0){Wf=511;break a}Rg=gg;break}case 67:{pg=c[af>>2]|0;bg=pg+4|0;if(bg>>>0>(c[b>>2]|0)>>>0){Wf=514;break a}$f=(c[cf>>2]|0)+pg|0;pg=d[$f>>0]|d[$f+1>>0]<<8|d[$f+2>>0]<<16|d[$f+3>>0]<<24;c[af>>2]=bg;bg=c[ef>>2]|0;if(ub[c[(c[bg>>2]|0)+296>>2]&255](bg,pg)|0){Wf=516;break a}bg=c[ef>>2]|0;if(!(ub[c[(c[bg>>2]|0)+228>>2]&255](bg,pg)|0))Rg=gg;else{Wf=518;break a}break}case 68:{pg=c[af>>2]|0;bg=pg+8|0;if(bg>>>0>(c[b>>2]|0)>>>0){Wf=520;break a}$f=(c[cf>>2]|0)+pg|0;pg=$f;eg=d[pg>>0]|d[pg+1>>0]<<8|d[pg+2>>0]<<16|d[pg+3>>0]<<24;pg=$f+4|0;$f=d[pg>>0]|d[pg+1>>0]<<8|d[pg+2>>0]<<16|d[pg+3>>0]<<24;c[af>>2]=bg;bg=c[ef>>2]|0;if(kb[c[(c[bg>>2]|0)+300>>2]&127](bg,eg,$f)|0){Wf=522;break a}bg=c[ef>>2]|0;if(!(kb[c[(c[bg>>2]|0)+232>>2]&127](bg,eg,$f)|0))Rg=gg;else{Wf=525;break a}break}case 35:{$f=c[cf>>2]|0;eg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=527;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+304>>2]&255](eg,$f)|0){Wf=529;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=531;break a}Rg=gg;break}case 32:{$f=c[cf>>2]|0;eg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=534;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+308>>2]&255](eg,$f)|0){Wf=536;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=538;break a}Rg=gg;break}case 36:{$f=c[cf>>2]|0;eg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=541;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+348>>2]&255](eg,$f)|0){Wf=543;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=545;break a}Rg=gg;break}case 33:{$f=c[cf>>2]|0;eg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=548;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[eg>>2]|0)+352>>2]&255](eg,$f)|0){Wf=550;break a}eg=c[ef>>2]|0;if(ub[c[(c[eg>>2]|0)+216>>2]&255](eg,$f)|0){Wf=552;break a}Rg=gg;break}case 16:{$f=c[cf>>2]|0;eg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!eg){Wf=555;break a}c[af>>2]=(c[af>>2]|0)+eg;eg=c[f>>2]|0;if(eg>>>0>=((c[kf>>2]|0)+(c[jf>>2]|0)|0)>>>0){Wf=557;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+260>>2]&255]($f,eg)|0){Wf=559;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+216>>2]&255]($f,eg)|0){Wf=561;break a}Rg=gg;break}case 17:{eg=c[cf>>2]|0;$f=qj(eg+(c[af>>2]|0)|0,eg+(c[b>>2]|0)|0,f)|0;if(!$f){Wf=564;break a}eg=(c[af>>2]|0)+$f|0;c[af>>2]=eg;$f=c[f>>2]|0;if($f>>>0>=(c[nf>>2]|0)>>>0){Wf=566;break a}bg=c[cf>>2]|0;pg=qj(bg+eg|0,bg+(c[b>>2]|0)|0,g)|0;if(!pg){Wf=568;break a}c[af>>2]=(c[af>>2]|0)+pg;if(c[g>>2]|0){Wf=570;break a}pg=c[ef>>2]|0;if(ub[c[(c[pg>>2]|0)+264>>2]&255](pg,$f)|0){Wf=572;break a}pg=c[ef>>2]|0;if(kb[c[(c[pg>>2]|0)+220>>2]&127](pg,$f,0)|0){Wf=574;break a}Rg=gg;break}case 34:{$f=c[cf>>2]|0;pg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!pg){Wf=577;break a}c[af>>2]=(c[af>>2]|0)+pg;pg=c[ef>>2]|0;$f=c[f>>2]|0;if(ub[c[(c[pg>>2]|0)+360>>2]&255](pg,$f)|0){Wf=579;break a}pg=c[ef>>2]|0;if(ub[c[(c[pg>>2]|0)+216>>2]&255](pg,$f)|0){Wf=581;break a}Rg=gg;break}case 43:case 42:case 41:case 40:case 53:case 52:case 51:case 50:case 49:case 48:case 47:case 46:case 45:case 44:{$f=c[cf>>2]|0;pg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!pg){Wf=584;break a}$f=(c[af>>2]|0)+pg|0;c[af>>2]=$f;pg=c[cf>>2]|0;bg=qj(pg+$f|0,pg+(c[b>>2]|0)|0,g)|0;if(!bg){Wf=586;break a}c[af>>2]=(c[af>>2]|0)+bg;bg=c[ef>>2]|0;pg=c[f>>2]|0;$f=c[g>>2]|0;if(sb[c[(c[bg>>2]|0)+328>>2]&63](bg,fg,pg,$f)|0){Wf=588;break a}bg=c[ef>>2]|0;if(kb[c[(c[bg>>2]|0)+220>>2]&127](bg,pg,$f)|0){Wf=590;break a}Rg=gg;break}case 57:case 56:case 55:case 54:case 62:case 61:case 60:case 59:case 58:{$f=c[cf>>2]|0;pg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!pg){Wf=593;break a}$f=(c[af>>2]|0)+pg|0;c[af>>2]=$f;pg=c[cf>>2]|0;bg=qj(pg+$f|0,pg+(c[b>>2]|0)|0,g)|0;if(!bg){Wf=595;break a}c[af>>2]=(c[af>>2]|0)+bg;bg=c[ef>>2]|0;pg=c[f>>2]|0;$f=c[g>>2]|0;if(sb[c[(c[bg>>2]|0)+356>>2]&63](bg,fg,pg,$f)|0){Wf=597;break a}bg=c[ef>>2]|0;if(kb[c[(c[bg>>2]|0)+220>>2]&127](bg,pg,$f)|0){Wf=599;break a}Rg=gg;break}case 63:{$f=c[cf>>2]|0;pg=qj($f+(c[af>>2]|0)|0,$f+(c[b>>2]|0)|0,f)|0;if(!pg){Wf=602;break a}c[af>>2]=(c[af>>2]|0)+pg;if(c[f>>2]|0){Wf=604;break a}pg=c[ef>>2]|0;if(pb[c[(c[pg>>2]|0)+276>>2]&127](pg)|0){Wf=606;break a}pg=c[ef>>2]|0;if(ub[c[(c[pg>>2]|0)+216>>2]&255](pg,0)|0){Wf=608;break a}Rg=gg;break}case 64:{pg=c[cf>>2]|0;$f=qj(pg+(c[af>>2]|0)|0,pg+(c[b>>2]|0)|0,f)|0;if(!$f){Wf=611;break a}c[af>>2]=(c[af>>2]|0)+$f;if(c[f>>2]|0){Wf=613;break a}$f=c[ef>>2]|0;if(pb[c[(c[$f>>2]|0)+312>>2]&127]($f)|0){Wf=615;break a}$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+216>>2]&255]($f,0)|0){Wf=617;break a}Rg=gg;break}case 166:case 165:case 164:case 163:case 162:case 161:case 160:case 152:case 151:case 150:case 149:case 148:case 147:case 146:case 137:case 138:case 135:case 136:case 134:case 133:case 132:case 131:case 130:case 129:case 128:case 127:case 126:case 125:case 124:case 119:case 120:case 117:case 118:case 116:case 115:case 114:case 113:case 112:case 111:case 110:case 109:case 108:case 107:case 106:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+240>>2]&255]($f,fg)|0){Wf=620;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=622;break a}break}case 102:case 100:case 101:case 99:case 98:case 97:case 96:case 94:case 95:case 93:case 92:case 91:case 90:case 86:case 89:case 85:case 88:case 84:case 87:case 83:case 82:case 81:case 79:case 75:case 78:case 74:case 77:case 73:case 76:case 72:case 71:case 70:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+268>>2]&255]($f,fg)|0){Wf=624;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=626;break a}break}case 159:case 158:case 157:case 156:case 155:case 154:case 153:case 145:case 144:case 143:case 142:case 141:case 140:case 139:case 123:case 122:case 121:case 105:case 104:case 103:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+364>>2]&255]($f,fg)|0){Wf=628;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=630;break a}break}case 80:case 69:case 189:case 188:case 191:case 187:case 186:case 185:case 184:case 183:case 190:case 182:case 181:case 180:case 179:case 178:case 173:case 172:case 177:case 175:case 176:case 174:case 167:case 171:case 169:case 170:case 168:{$f=c[ef>>2]|0;if(ub[c[(c[$f>>2]|0)+272>>2]&255]($f,fg)|0){Wf=632;break a}$f=c[ef>>2]|0;if(!(pb[c[(c[$f>>2]|0)+212>>2]&127]($f)|0))Rg=gg;else{Wf=634;break a}break}default:{Wg=fg;Wf=635;break a}}while(0);fg=c[af>>2]|0;if(fg>>>0<hg>>>0){cg=fg;gg=Rg}else{Xg=fg;Yg=Rg;break f}}}else{Xg=ig;Yg=0}while(0);if((Xg|0)!=(hg|0)){Wf=637;break a}if(!Yg){Wf=639;break a}ig=c[ef>>2]|0;if(ub[c[(c[ig>>2]|0)+372>>2]&255](ig,ag)|0){Wf=652;break a}Uf=Uf+1|0}while(Uf>>>0<(c[Pf>>2]|0)>>>0)}Uf=c[ef>>2]|0;if(pb[c[(c[Uf>>2]|0)+376>>2]&127](Uf)|0){Wf=654;break a}break}case 11:{Uf=c[ef>>2]|0;if(ub[c[(c[Uf>>2]|0)+416>>2]&255](Uf,Xf)|0){Wf=656;break a}Uf=c[cf>>2]|0;ig=qj(Uf+(c[af>>2]|0)|0,Uf+(c[b>>2]|0)|0,g)|0;if(!ig){Wf=658;break a}c[af>>2]=(c[af>>2]|0)+ig;ig=c[ef>>2]|0;Uf=c[g>>2]|0;if(ub[c[(c[ig>>2]|0)+420>>2]&255](ig,Uf)|0){Wf=660;break a}if(Uf|0){if((c[Lf>>2]|0)==(0-(c[Ef>>2]|0)|0)){Wf=663;break a}else Zg=0;do{ig=c[cf>>2]|0;gg=qj(ig+(c[af>>2]|0)|0,ig+(c[b>>2]|0)|0,He)|0;if(!gg){Wf=666;break a}c[af>>2]=(c[af>>2]|0)+gg;gg=c[ef>>2]|0;if(kb[c[(c[gg>>2]|0)+424>>2]&127](gg,Zg,c[He>>2]|0)|0){Wf=668;break a}gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+428>>2]&255](gg,Zg)|0){Wf=670;break a}xj(b,Zg);gg=c[ef>>2]|0;if(ub[c[(c[gg>>2]|0)+432>>2]&255](gg,Zg)|0){Wf=672;break a}c[f>>2]=0;gg=c[cf>>2]|0;ig=qj(gg+(c[af>>2]|0)|0,gg+(c[b>>2]|0)|0,f)|0;if(!ig){Wf=674;break a}gg=(c[af>>2]|0)+ig|0;c[af>>2]=gg;ig=c[f>>2]|0;cg=ig+gg|0;if(cg>>>0>(c[b>>2]|0)>>>0){Wf=676;break a}fg=(c[cf>>2]|0)+gg|0;c[af>>2]=cg;cg=c[ef>>2]|0;if(sb[c[(c[cg>>2]|0)+436>>2]&63](cg,Zg,fg,ig)|0){Wf=678;break a}ig=c[ef>>2]|0;if(ub[c[(c[ig>>2]|0)+440>>2]&255](ig,Zg)|0){Wf=680;break a}Zg=Zg+1|0}while(Zg>>>0<Uf>>>0)}Uf=c[ef>>2]|0;if(pb[c[(c[Uf>>2]|0)+444>>2]&127](Uf)|0){Wf=682;break a}break}default:{}}while(0);Tf=c[af>>2]|0;Xf=c[b>>2]|0;if((Tf|0)!=(Xf|0)){_g=Xf;Wf=685;break}if(Zf)c[df>>2]=Vf;Sf=c[bf>>2]|0;if(Tf>>>0>=Sf>>>0){Wf=689;break}}switch(Wf|0){case 4:{c[Ge>>2]=20646;tj(b,20659,Ge);break}case 6:{c[Fe>>2]=20689;tj(b,20659,Fe);break}case 8:{c[Ee>>2]=Yf;c[Ee+4>>2]=11;tj(b,20702,Ee);break}case 10:{tj(b,20738,De);break}case 12:{c[Ce>>2]=c[1416+(_f<<2)>>2];tj(b,20777,Ce);break}case 14:{tj(b,20801,Be);break}case 17:{c[Ae>>2]=20843;tj(b,20659,Ae);break}case 19:{c[ze>>2]=20830;tj(b,20857,ze);break}case 21:{tj(b,20883,ye);break}case 26:{tj(b,20923,xe);break}case 29:{c[we>>2]=20957;tj(b,20659,we);break}case 32:{tj(b,20967,ve);break}case 34:{tj(b,20989,ue);break}case 36:{c[te>>2]=21014;tj(b,20659,te);break}case 38:{tj(b,21030,se);break}case 41:{tj(b,21073,re);break}case 44:{c[qe>>2]=21114;tj(b,20659,qe);break}case 47:{tj(b,21125,pe);break}case 50:{c[oe>>2]=21162;tj(b,20659,oe);break}case 52:{c[ne>>2]=jg;tj(b,21177,ne);break}case 54:{c[me>>2]=20843;tj(b,20659,me);break}case 56:{c[le>>2]=21204;tj(b,20857,le);break}case 58:{tj(b,21218,ke);break}case 61:{tj(b,21249,je);break}case 64:{c[ie>>2]=21287;tj(b,20659,ie);break}case 67:{tj(b,21302,he);break}case 70:{c[ge>>2]=21162;tj(b,20659,ge);break}case 72:{c[fe>>2]=21343;tj(b,20659,fe);break}case 75:{tj(b,21355,ee);break}case 78:{c[de>>2]=21393;tj(b,20659,de);break}case 80:{c[ce>>2]=20843;tj(b,20659,ce);break}case 82:{c[be>>2]=20918;tj(b,20857,be);break}case 84:{tj(b,21405,ae);break}case 88:{c[$d>>2]=qg;tj(b,21433,$d);break}case 91:{tj(b,21478,_d);break}case 95:{tj(b,21516,Zd);break}case 97:{c[Yd>>2]=21550;tj(b,20659,Yd);break}case 101:{c[Xd>>2]=20843;tj(b,20659,Xd);break}case 103:{c[Wd>>2]=20830;tj(b,20857,Wd);break}case 106:{c[Vd>>2]=21558;tj(b,20659,Vd);break}case 109:{tj(b,21575,Ud);break}case 112:{c[Td>>2]=21604;tj(b,20659,Td);break}case 114:{c[Sd>>2]=21620;tj(b,20659,Sd);break}case 116:{c[Rd>>2]=21627;tj(b,20659,Rd);break}case 119:{c[Qd>>2]=21633;tj(b,21640,Qd);break}case 122:{tj(b,21670,Pd);break}case 124:{tj(b,21694,Od);break}case 128:{tj(b,21726,Nd);break}case 131:{tj(b,21759,Md);break}case 133:{c[Ld>>2]=21792;tj(b,20659,Ld);break}case 136:{tj(b,21803,Kd);break}case 139:{c[Jd>>2]=21831;tj(b,21640,Jd);break}case 141:{c[Id>>2]=xg;tj(b,21841,Id);break}case 143:{c[Hd>>2]=yg;tj(b,21858,Hd);break}case 145:{c[Gd>>2]=21883;tj(b,20659,Gd);break}case 153:{c[Fd>>2]=21904;tj(b,20659,Fd);break}case 156:{c[Ed>>2]=21926;tj(b,21640,Ed);break}case 158:{c[Dd>>2]=Bg;tj(b,21841,Dd);break}case 160:{c[Cd>>2]=Cg;tj(b,21946,Cd);break}case 162:{tj(b,21981,Bd);break}case 165:{c[Ad>>2]=22009;tj(b,21640,Ad);break}case 167:{c[zd>>2]=Dg;tj(b,21841,zd);break}case 169:{c[yd>>2]=Eg;tj(b,22030,yd);break}case 173:{tj(b,22061,xd);break}case 175:{tj(b,22084,wd);break}case 177:{tj(b,22115,vd);break}case 179:{c[ud>>2]=22150;tj(b,20659,ud);break}case 182:{tj(b,22163,td);break}case 185:{c[sd>>2]=20843;tj(b,20659,sd);break}case 187:{c[rd>>2]=22193;tj(b,20857,rd);break}case 189:{c[qd>>2]=20843;tj(b,20659,qd);break}case 191:{c[pd>>2]=22212;tj(b,20857,pd);break}case 193:{c[od>>2]=22230;tj(b,20659,od);break}case 196:{c[nd>>2]=22242;tj(b,20659,nd);break}case 198:{tj(b,22265,md);break}case 200:{tj(b,22296,ld);break}case 202:{tj(b,22321,kd);break}case 205:{tj(b,22296,jd);break}case 207:{tj(b,22507,id);break}case 210:{tj(b,22296,hd);break}case 212:{tj(b,22690,gd);break}case 215:{c[fd>>2]=22721;tj(b,21640,fd);break}case 217:{c[ed>>2]=Gg;tj(b,21841,ed);break}case 219:{c[dd>>2]=Hg;tj(b,22733,dd);break}case 221:{c[cd>>2]=22758;tj(b,22776,cd);break}case 223:{tj(b,22803,bd);break}case 225:{tj(b,22296,ad);break}case 227:{tj(b,22836,$c);break}case 229:{c[_c>>2]=Ig;tj(b,22867,_c);break}case 231:{tj(b,22891,Zc);break}case 234:{tj(b,22924,Yc);break}case 236:{c[Xc>>2]=22961;tj(b,20659,Xc);break}case 239:{tj(b,22986,Wc);break}case 242:{c[Vc>>2]=23018;tj(b,20659,Vc);break}case 244:{c[Uc>>2]=Jg;tj(b,23043,Uc);break}case 246:{tj(b,23080,Tc);break}case 248:{tj(b,23107,Sc);break}case 250:{tj(b,23142,Rc);break}case 252:{c[Qc>>2]=23176;tj(b,20659,Qc);break}case 254:{c[Pc>>2]=Kg;tj(b,23188,Pc);break}case 257:{tj(b,23220,Oc);break}case 260:{tj(b,23249,Nc);break}case 262:{tj(b,23273,Mc);break}case 264:{tj(b,23305,Lc);break}case 266:{c[Kc>>2]=23340;tj(b,20659,Kc);break}case 268:{tj(b,23353,Jc);break}case 271:{tj(b,23381,Ic);break}case 274:{tj(b,23411,Hc);break}case 276:{tj(b,23436,Gc);break}case 278:{tj(b,23469,Fc);break}case 280:{c[Ec>>2]=23504;tj(b,20659,Ec);break}case 283:{tj(b,23517,Dc);break}case 287:{c[Cc>>2]=22721;tj(b,21640,Cc);break}case 289:{c[Bc>>2]=Lg;tj(b,21841,Bc);break}case 291:{c[Ac>>2]=Mg;tj(b,22733,Ac);break}case 293:{c[zc>>2]=22758;tj(b,22776,zc);break}case 295:{tj(b,22803,yc);break}case 297:{tj(b,23547,xc);break}case 299:{tj(b,23575,wc);break}case 301:{tj(b,24153,vc);break}case 303:{tj(b,24187,uc);break}case 304:{tj(b,24213,tc);break}case 306:{tj(b,24246,sc);break}case 308:{c[rc>>2]=24281;tj(b,20659,rc);break}case 311:{tj(b,24294,qc);break}case 314:{c[pc>>2]=20843;tj(b,20659,pc);break}case 316:{c[oc>>2]=24324;tj(b,20857,oc);break}case 318:{c[nc>>2]=24341;tj(b,22776,nc);break}case 320:{tj(b,24362,mc);break}case 322:{c[lc>>2]=24391;tj(b,20659,lc);break}case 326:{c[kc>>2]=Og;tj(b,24409,kc);break}case 328:{tj(b,24439,jc);break}case 330:{tj(b,24466,ic);break}case 332:{tj(b,24494,hc);break}case 334:{tj(b,24522,gc);break}case 336:{tj(b,24547,fc);break}case 339:{tj(b,24580,ec);break}case 341:{c[dc>>2]=24614;tj(b,20659,dc);break}case 343:{tj(b,24635,cc);break}case 345:{tj(b,24664,bc);break}case 347:{tj(b,24696,ac);break}case 350:{tj(b,24728,$b);break}case 352:{c[_b>>2]=24761;tj(b,20659,_b);break}case 354:{tj(b,24780,Zb);break}case 357:{tj(b,24815,Yb);break}case 360:{c[Xb>>2]=24850;tj(b,20659,Xb);break}case 362:{tj(b,24875,Wb);break}case 364:{tj(b,24908,Vb);break}case 366:{tj(b,24949,Ub);break}case 368:{c[Tb>>2]=24988;tj(b,20659,Tb);break}case 371:{tj(b,25022,Sb);break}case 374:{c[Rb>>2]=25070;tj(b,20659,Rb);break}case 376:{tj(b,25098,Qb);break}case 378:{tj(b,25141,Pb);break}case 380:{tj(b,25172,Ob);break}case 383:{tj(b,25203,Nb);break}case 385:{c[Mb>>2]=25236;tj(b,20659,Mb);break}case 387:{tj(b,25256,Lb);break}case 390:{tj(b,25304,Kb);break}case 393:{tj(b,25340,Jb);break}case 395:{c[Ib>>2]=25374;tj(b,20659,Ib);break}case 397:{c[Hb>>2]=25393;tj(b,20659,Hb);break}case 400:{tj(b,25417,Gb);break}case 403:{c[Fb>>2]=23611;tj(b,22776,Fb);break}case 405:{tj(b,25450,Eb);break}case 408:{tj(b,25475,Db);break}case 410:{tj(b,25509,Cb);break}case 412:{c[Bb>>2]=25538;tj(b,21640,Bb);break}case 414:{c[Ab>>2]=Sg;tj(b,21841,Ab);break}case 416:{tj(b,25559,zb);break}case 418:{tj(b,25595,yb);break}case 420:{tj(b,25623,xb);break}case 423:{c[wb>>2]=25656;tj(b,21640,wb);break}case 425:{c[tb>>2]=Tg;tj(b,21841,tb);break}case 427:{tj(b,25559,rb);break}case 429:{tj(b,25676,qb);break}case 431:{tj(b,25623,nb);break}case 434:{c[mb>>2]=25703;tj(b,21640,mb);break}case 436:{c[lb>>2]=Ug;tj(b,21841,lb);break}case 438:{tj(b,25559,ib);break}case 440:{tj(b,25721,hb);break}case 442:{tj(b,25623,gb);break}case 445:{tj(b,25746,fb);break}case 447:{tj(b,25509,eb);break}case 449:{tj(b,25773,db);break}case 451:{tj(b,25509,cb);break}case 453:{c[bb>>2]=25802;tj(b,20659,bb);break}case 455:{tj(b,25811,ab);break}case 457:{tj(b,25836,$a);break}case 460:{c[_a>>2]=25867;tj(b,20659,_a);break}case 462:{tj(b,25879,Za);break}case 464:{tj(b,25836,Ya);break}case 467:{c[Xa>>2]=25906;tj(b,20659,Xa);break}case 475:{c[Wa>>2]=25928;tj(b,20659,Wa);break}case 478:{c[Va>>2]=25958;tj(b,20659,Va);break}case 482:{tj(b,25980,Ua);break}case 485:{tj(b,26010,Ta);break}case 487:{tj(b,25509,Sa);break}case 489:{tj(b,26039,Ra);break}case 491:{tj(b,25509,Qa);break}case 493:{tj(b,26065,Pa);break}case 495:{tj(b,25509,Oa);break}case 498:{tj(b,26092,Na);break}case 500:{tj(b,26118,Ma);break}case 502:{c[La>>2]=26144;tj(b,21640,La);break}case 504:{tj(b,26160,Ka);break}case 506:{tj(b,25836,Ja);break}case 509:{tj(b,26207,Ia);break}case 511:{tj(b,26238,Ha);break}case 514:{c[Ga>>2]=26269;tj(b,23827,Ga);break}case 516:{tj(b,26285,Fa);break}case 518:{tj(b,26316,Ea);break}case 520:{c[Da>>2]=26344;tj(b,23917,Da);break}case 522:{tj(b,26360,Ca);break}case 525:{tj(b,26391,Ba);break}case 527:{c[Aa>>2]=26419;tj(b,20659,Aa);break}case 529:{tj(b,26443,za);break}case 531:{tj(b,25836,ya);break}case 534:{c[xa>>2]=26475;tj(b,20659,xa);break}case 536:{tj(b,26497,wa);break}case 538:{tj(b,25836,va);break}case 541:{c[ua>>2]=26528;tj(b,20659,ua);break}case 543:{tj(b,26552,ta);break}case 545:{tj(b,25836,sa);break}case 548:{c[ra>>2]=26584;tj(b,20659,ra);break}case 550:{tj(b,26606,qa);break}case 552:{tj(b,25836,pa);break}case 555:{c[oa>>2]=26637;tj(b,20659,oa);break}case 557:{tj(b,26657,na);break}case 559:{tj(b,26685,ma);break}case 561:{tj(b,25836,la);break}case 564:{c[ka>>2]=26712;tj(b,20659,ka);break}case 566:{tj(b,26742,ja);break}case 568:{c[ia>>2]=26780;tj(b,20659,ia);break}case 570:{tj(b,26803,ha);break}case 572:{tj(b,26842,ga);break}case 574:{tj(b,26877,fa);break}case 577:{c[ea>>2]=26914;tj(b,20659,ea);break}case 579:{tj(b,26936,da);break}case 581:{tj(b,25836,ca);break}case 584:{c[ba>>2]=26967;tj(b,20659,ba);break}case 586:{c[aa>>2]=26982;tj(b,20659,aa);break}case 588:{tj(b,26994,$);break}case 590:{tj(b,26877,_);break}case 593:{c[Z>>2]=27021;tj(b,20659,Z);break}case 595:{c[Y>>2]=27037;tj(b,20659,Y);break}case 597:{tj(b,27050,X);break}case 599:{tj(b,26877,W);break}case 602:{c[V>>2]=27078;tj(b,20659,V);break}case 604:{tj(b,27102,U);break}case 606:{tj(b,27142,T);break}case 608:{tj(b,25836,S);break}case 611:{c[R>>2]=27178;tj(b,20659,R);break}case 613:{tj(b,27199,Q);break}case 615:{tj(b,27236,P);break}case 617:{tj(b,25836,O);break}case 620:{tj(b,27269,N);break}case 622:{tj(b,25509,M);break}case 624:{tj(b,27298,L);break}case 626:{tj(b,25509,K);break}case 628:{tj(b,27328,J);break}case 630:{tj(b,25509,I);break}case 632:{tj(b,27356,H);break}case 634:{tj(b,25509,G);break}case 635:{c[F>>2]=Wg;c[F+4>>2]=Wg;tj(b,27386,F);break}case 637:{tj(b,27415,E);break}case 639:{tj(b,27452,D);break}case 642:{c[C>>2]=27491;tj(b,20659,C);break}case 644:{c[B>>2]=27508;tj(b,21640,B);break}case 646:{c[A>>2]=Qg;tj(b,21841,A);break}case 648:{tj(b,27519,z);break}case 650:{tj(b,27545,y);break}case 652:{tj(b,27573,x);break}case 654:{tj(b,27605,w);break}case 656:{tj(b,27636,v);break}case 658:{c[u>>2]=27669;tj(b,20659,u);break}case 660:{tj(b,27688,t);break}case 663:{tj(b,27723,s);break}case 666:{c[r>>2]=27759;tj(b,20659,r);break}case 668:{tj(b,27785,q);break}case 670:{tj(b,27818,p);break}case 672:{tj(b,27859,o);break}case 674:{c[n>>2]=27916;tj(b,20659,n);break}case 676:{c[m>>2]=27898;tj(b,27926,m);break}case 678:{tj(b,27950,l);break}case 680:{tj(b,27984,k);break}case 682:{tj(b,28015,j);break}case 685:{c[h>>2]=_g;tj(b,28046,h);break}case 689:{i=e;return}}}function vj(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=i;i=i+64|0;g=f+40|0;h=f+32|0;j=f+24|0;k=f+8|0;l=f;m=f+60|0;n=f+56|0;o=f+52|0;c[m>>2]=0;p=b+8|0;q=c[p>>2]|0;r=b+16|0;s=rj(q+(c[r>>2]|0)|0,q+(c[b>>2]|0)|0,m)|0;if(!s){c[l>>2]=22350;tj(b,21640,l)}l=(c[r>>2]|0)+s|0;c[r>>2]=l;s=c[m>>2]|0;if((s+128|0)>>>0>255){c[k>>2]=s;tj(b,21841,k)}c[d>>2]=s;if((s|0)!=-16)tj(b,22366,f+16|0);c[o>>2]=0;s=c[p>>2]|0;d=qj(s+l|0,s+(c[b>>2]|0)|0,m)|0;if(!d){c[j>>2]=22398;tj(b,20659,j)}j=(c[r>>2]|0)+d|0;c[r>>2]=j;d=c[p>>2]|0;s=qj(d+j|0,d+(c[b>>2]|0)|0,n)|0;if(!s){c[h>>2]=22410;tj(b,20659,h)}h=(c[r>>2]|0)+s|0;c[r>>2]=h;s=c[m>>2]&1;if(!s){t=c[n>>2]|0;u=0;v=e+16|0;w=s&255;a[v>>0]=w;x=e;y=x;c[y>>2]=t;z=x+4|0;A=z;c[A>>2]=0;B=e+8|0;C=B;D=C;c[D>>2]=u;E=C+4|0;F=E;c[F>>2]=0;i=f;return}m=c[p>>2]|0;p=qj(m+h|0,m+(c[b>>2]|0)|0,o)|0;if(!p){c[g>>2]=22435;tj(b,20659,g)}c[r>>2]=(c[r>>2]|0)+p;p=c[n>>2]|0;n=c[o>>2]|0;if(p>>>0>n>>>0)tj(b,22456,f+48|0);else{t=p;u=n;v=e+16|0;w=s&255;a[v>>0]=w;x=e;y=x;c[y>>2]=t;z=x+4|0;A=z;c[A>>2]=0;B=e+8|0;C=B;D=C;c[D>>2]=u;E=C+4|0;F=E;c[F>>2]=0;i=f;return}}function wj(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;e=i;i=i+64|0;f=e+24|0;g=e+8|0;h=e;j=e+52|0;k=e+48|0;l=e+44|0;c[l>>2]=0;m=b+8|0;n=c[m>>2]|0;o=b+16|0;p=qj(n+(c[o>>2]|0)|0,n+(c[b>>2]|0)|0,j)|0;if(!p){c[h>>2]=22537;tj(b,20659,h)}h=(c[o>>2]|0)+p|0;c[o>>2]=h;p=c[m>>2]|0;n=qj(p+h|0,p+(c[b>>2]|0)|0,k)|0;if(!n){c[g>>2]=22550;tj(b,20659,g)}g=(c[o>>2]|0)+n|0;c[o>>2]=g;n=c[j>>2]&1;j=c[k>>2]|0;if(j>>>0>=65537)tj(b,22576,e+16|0);if(!n){q=0;r=d+16|0;s=n&255;a[r>>0]=s;t=d;u=t;c[u>>2]=j;v=t+4|0;w=v;c[w>>2]=0;x=d+8|0;y=x;z=y;c[z>>2]=q;A=y+4|0;B=A;c[B>>2]=0;i=e;return}k=c[m>>2]|0;m=qj(k+g|0,k+(c[b>>2]|0)|0,l)|0;if(!m){c[f>>2]=22604;tj(b,20659,f)}c[o>>2]=(c[o>>2]|0)+m;m=c[l>>2]|0;if(m>>>0>=65537)tj(b,22626,e+32|0);if(j>>>0>m>>>0)tj(b,22650,e+40|0);else{q=m;r=d+16|0;s=n&255;a[r>>0]=s;t=d;u=t;c[u>>2]=j;v=t+4|0;w=v;c[w>>2]=0;x=d+8|0;y=x;z=y;c[z>>2]=q;A=y+4|0;B=A;c[B>>2]=0;i=e;return}}function xj(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;f=i;i=i+112|0;g=f+104|0;h=f+96|0;j=f+88|0;k=f+72|0;l=f+56|0;m=f+40|0;n=f+16|0;o=f+8|0;p=f;q=b+16|0;r=c[q>>2]|0;s=r+1|0;t=c[b>>2]|0;if(s>>>0>t>>>0){c[o>>2]=23611;tj(b,22776,o)}o=b+8|0;u=c[o>>2]|0;v=a[u+r>>0]|0;c[q>>2]=s;w=v&255;a:do switch(w|0){case 65:{c[p>>2]=0;v=rj(u+s|0,u+t|0,p)|0;if(!v){c[n>>2]=23618;tj(b,21640,n)}c[q>>2]=(c[q>>2]|0)+v;v=c[b+4>>2]|0;if(!(kb[c[(c[v>>2]|0)+512>>2]&127](v,e,c[p>>2]|0)|0))break a;else tj(b,23644,f+24|0);break}case 66:{v=p;c[v>>2]=0;c[v+4>>2]=0;yj(b,p,23683);v=c[b+4>>2]|0;x=p;if(!(sb[c[(c[v>>2]|0)+516>>2]&63](v,e,c[x>>2]|0,c[x+4>>2]|0)|0))break a;else tj(b,23762,f+32|0);break}case 67:{x=r+5|0;if(x>>>0>t>>>0){c[m>>2]=23801;tj(b,23827,m)}v=u+s|0;y=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;c[q>>2]=x;x=c[b+4>>2]|0;if(kb[c[(c[x>>2]|0)+500>>2]&127](x,e,y)|0)tj(b,23852,f+48|0);break}case 68:{y=r+9|0;if(y>>>0>t>>>0){c[l>>2]=23891;tj(b,23917,l)}x=u+s|0;v=x;z=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;v=x+4|0;x=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;c[q>>2]=y;y=c[b+4>>2]|0;if(sb[c[(c[y>>2]|0)+504>>2]&63](y,e,z,x)|0)tj(b,23943,f+64|0);break}case 35:{x=qj(u+s|0,u+t|0,p)|0;if(!x){c[k>>2]=23982;tj(b,20659,k)}c[q>>2]=(c[q>>2]|0)+x;x=c[b+4>>2]|0;if(!(kb[c[(c[x>>2]|0)+508>>2]&127](x,e,c[p>>2]|0)|0))break a;else tj(b,24009,f+80|0);break}case 11:{i=f;return}default:{c[j>>2]=w;c[j+4>>2]=w;tj(b,24049,j)}}while(0);j=c[q>>2]|0;w=j+1|0;if(w>>>0>(c[b>>2]|0)>>>0){c[h>>2]=23611;tj(b,22776,h)}h=a[(c[o>>2]|0)+j>>0]|0;c[q>>2]=w;if(h<<24>>24==11){i=f;return}else tj(b,24104,g)}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,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;g=i;i=i+16|0;h=g+8|0;j=g;k=c[b+8>>2]|0;l=b+16|0;m=c[l>>2]|0;n=k+m|0;o=c[b>>2]|0;p=k+o|0;if((m|0)<(o|0)?(o=a[n>>0]|0,o<<24>>24>-1):0){k=ao(o&255|0,0,57)|0;o=co(k|0,C|0,57)|0;k=e;c[k>>2]=o;c[k+4>>2]=C;c[l>>2]=m+1;i=g;return}k=n+1|0;if(k>>>0<p>>>0?(o=a[k>>0]|0,o<<24>>24>-1):0){q=ao(o&255|0,0,7)|0;o=ao((d[n>>0]|0)&127|q|0,C|0,50)|0;q=co(o|0,C|0,50)|0;o=e;c[o>>2]=q;c[o+4>>2]=C;c[l>>2]=m+2;i=g;return}o=n+2|0;if(o>>>0<p>>>0?(q=a[o>>0]|0,q<<24>>24>-1):0){r=ao(q&255|0,0,14)|0;q=C;s=ao(d[k>>0]|0|0,0,7)|0;t=ao((d[n>>0]|0)&127|r|s&16256|0,q|0,43)|0;q=co(t|0,C|0,43)|0;t=e;c[t>>2]=q;c[t+4>>2]=C;c[l>>2]=m+3;i=g;return}t=n+3|0;if(t>>>0<p>>>0?(q=a[t>>0]|0,q<<24>>24>-1):0){s=ao(q&255|0,0,21)|0;q=C;r=ao(d[o>>0]|0|0,0,14)|0;u=ao(d[k>>0]|0|0,0,7)|0;v=ao(r&2080768|s|(d[n>>0]|0)&127|u&16256|0,q|0,36)|0;q=co(v|0,C|0,36)|0;v=e;c[v>>2]=q;c[v+4>>2]=C;c[l>>2]=m+4;i=g;return}v=n+4|0;if(v>>>0<p>>>0?(q=a[v>>0]|0,q<<24>>24>-1):0){u=ao(q&255|0,0,28)|0;q=C;s=ao(d[t>>0]|0|0,0,21)|0;r=ao(d[o>>0]|0|0,0,14)|0;w=ao(d[k>>0]|0|0,0,7)|0;x=ao(s&266338304|u|r&2080768|(d[n>>0]|0)&127|w&16256|0,q|0,29)|0;q=co(x|0,C|0,29)|0;x=e;c[x>>2]=q;c[x+4>>2]=C;c[l>>2]=m+5;i=g;return}x=n+5|0;if(x>>>0<p>>>0?(q=a[x>>0]|0,q<<24>>24>-1):0){w=ao(q&255|0,0,35)|0;q=C;r=ao(d[v>>0]|0|0,0,28)|0;u=C&7;s=ao(d[t>>0]|0|0,0,21)|0;y=ao(d[o>>0]|0|0,0,14)|0;z=ao(d[k>>0]|0|0,0,7)|0;A=ao(r&-268435456|w|s&266338304|y&2080768|(d[n>>0]|0)&127|z&16256|0,u|q|0,22)|0;q=co(A|0,C|0,22)|0;A=e;c[A>>2]=q;c[A+4>>2]=C;c[l>>2]=m+6;i=g;return}A=n+6|0;if(A>>>0<p>>>0?(q=a[A>>0]|0,q<<24>>24>-1):0){u=ao(q&255|0,0,42)|0;q=C;ao(d[x>>0]|0|0,0,35)|0;z=C&1016;y=ao(d[v>>0]|0|0,0,28)|0;s=C&7;w=ao(d[t>>0]|0|0,0,21)|0;r=ao(d[o>>0]|0|0,0,14)|0;B=ao(d[k>>0]|0|0,0,7)|0;D=ao(u|y&-268435456|w&266338304|r&2080768|(d[n>>0]|0)&127|B&16256|0,z|q|s|0,15)|0;s=co(D|0,C|0,15)|0;D=e;c[D>>2]=s;c[D+4>>2]=C;c[l>>2]=m+7;i=g;return}D=n+7|0;if(D>>>0<p>>>0?(s=a[D>>0]|0,s<<24>>24>-1):0){q=ao(s&255|0,0,49)|0;s=C;ao(d[A>>0]|0|0,0,42)|0;z=C&130048;ao(d[x>>0]|0|0,0,35)|0;B=C&1016;r=ao(d[v>>0]|0|0,0,28)|0;w=C&7;y=ao(d[t>>0]|0|0,0,21)|0;u=ao(d[o>>0]|0|0,0,14)|0;E=ao(d[k>>0]|0|0,0,7)|0;F=ao(q|r&-268435456|y&266338304|u&2080768|(d[n>>0]|0)&127|E&16256|0,z|s|B|w|0,8)|0;w=co(F|0,C|0,8)|0;F=e;c[F>>2]=w;c[F+4>>2]=C;c[l>>2]=m+8;i=g;return}F=n+8|0;if(F>>>0<p>>>0?(w=a[F>>0]|0,w<<24>>24>-1):0){B=ao(w&255|0,0,56)|0;w=C;ao(d[D>>0]|0|0,0,49)|0;s=C&16646144;ao(d[A>>0]|0|0,0,42)|0;z=C&130048;ao(d[x>>0]|0|0,0,35)|0;E=C&1016;u=ao(d[v>>0]|0|0,0,28)|0;y=C&7;r=ao(d[t>>0]|0|0,0,21)|0;q=ao(d[o>>0]|0|0,0,14)|0;G=ao(d[k>>0]|0|0,0,7)|0;H=ao(B|u&-268435456|r&266338304|q&2080768|(d[n>>0]|0)&127|G&16256|0,s|w|z|E|y|0,1)|0;y=co(H|0,C|0,1)|0;H=e;c[H>>2]=y;c[H+4>>2]=C;c[l>>2]=m+9;i=g;return}H=n+9|0;if(H>>>0>=p>>>0){c[h>>2]=f;tj(b,23732,h)}p=a[H>>0]|0;H=p&255;if(H&128|0){c[h>>2]=f;tj(b,23732,h)}h=(H&1|0)!=0;y=H&254;if(h&(y|0)!=126){c[j>>2]=f;tj(b,23709,j)}if((y|0)!=0&(h^1)){c[j>>2]=f;tj(b,23709,j)}j=ao(p&255|0,0,63)|0;p=C;ao(d[F>>0]|0|0,0,56)|0;F=C&2130706432;ao(d[D>>0]|0|0,0,49)|0;D=C&16646144;ao(d[A>>0]|0|0,0,42)|0;A=C&130048;ao(d[x>>0]|0|0,0,35)|0;x=C&1016;b=ao(d[v>>0]|0|0,0,28)|0;v=C&7;f=ao(d[t>>0]|0|0,0,21)|0;t=ao(d[o>>0]|0|0,0,14)|0;o=ao(d[k>>0]|0|0,0,7)|0;k=e;c[k>>2]=j|b&-268435456|f&266338304|t&2080768|(d[n>>0]|0)&127|o&16256;c[k+4>>2]=F|p|D|A|x|v;c[l>>2]=m+10;i=g;return}function zj(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;d=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(e-g>>2>>>0>=b>>>0){$n(g|0,0,b<<2|0)|0;c[f>>2]=g+(b<<2);return}h=c[a>>2]|0;i=(g-h>>2)+b|0;if(i>>>0>1073741823)rn(a);g=e-h|0;if(g>>2>>>0<536870911){e=g>>1;g=e>>>0<i>>>0?i:e;e=c[f>>2]|0;i=e-h>>2;if(!g){j=0;k=0;l=i;m=e}else{n=g;o=e;p=i;q=8}}else{i=c[f>>2]|0;n=1073741823;o=i;p=i-h>>2;q=8}if((q|0)==8){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;$n(o|0,0,b<<2|0)|0;l=m-h|0;m=o+(0-(l>>2)<<2)|0;ho(m|0,h|0,l|0)|0;c[a>>2]=m;c[f>>2]=o+(b<<2);c[d>>2]=k+(j<<2);if(!h)return;An(h);return}function Aj(a){a=a|0;return}function Bj(a){a=a|0;An(a);return}function Cj(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return ub[c[(c[d>>2]|0)+8>>2]&255](d,b)|0}function Dj(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b;d=c[a+12>>2]|0;nb[c[(c[d>>2]|0)+12>>2]&31](d,b);return}function Ej(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,28285,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+16>>2]&255](f,b)|0;i=d;return a|0}function Fj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,28311,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+20>>2]&127](d)|0;i=b;return a|0}function Gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+24>>2]&127](e,b,d)|0}function Hj(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;e=i;i=i+32|0;f=e+8|0;g=e;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);n=c[j>>2]|0;j=c[d>>2]|0;c[f>>2]=c[d+4>>2];c[f+4>>2]=j;c[f+8>>2]=b;ki(n,28322,f);c[h>>2]=(c[h>>2]|0)+2;h=c[a+12>>2]|0;a=c[(c[h>>2]|0)+28>>2]|0;n=d;d=c[n+4>>2]|0;j=g;c[j>>2]=c[n>>2];c[j+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];g=kb[a&127](h,b,f)|0;i=e;return g|0}function Ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,28360,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+32>>2]&127](d)|0;i=b;return a|0}function Jj(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,28378,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+36>>2]&255](f,b)|0;i=d;return a|0}function Kj(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,28400,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+40>>2]&255](e,b)|0;i=d;return a|0}function Lj(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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;h=i;i=i+96|0;j=h+80|0;k=h+72|0;l=h+64|0;m=h+56|0;n=h+48|0;o=h+40|0;p=h+32|0;q=h+24|0;r=h+16|0;s=h+8|0;t=h;u=a+16|0;v=c[u>>2]|0;if(v>>>0>142){w=a+8|0;x=v;while(1){li(c[w>>2]|0,28142,142,0,0);y=x+-142|0;if(y>>>0>142)x=y;else{z=y;break}}}else z=v;v=a+8|0;if(z|0)li(c[v>>2]|0,28142,c[u>>2]|0,0,0);u=c[v>>2]|0;c[t>>2]=b;ki(u,28417,t);ki(c[v>>2]|0,28444,s);s=c[v>>2]|0;a:do if(!d)A=s;else{t=d+-1|0;u=s;z=0;while(1){switch(c[e+(z<<2)>>2]|0){case -1:{B=28480;break}case -2:{B=28476;break}case -3:{B=28472;break}case -4:{B=28468;break}case -16:{B=28460;break}case -32:{B=28455;break}case -64:{B=28450;break}case 0:{B=28446;break}default:B=0}c[r>>2]=B;ki(u,28484,r);if((z|0)!=(t|0))ki(c[v>>2]|0,28487,q);z=z+1|0;x=c[v>>2]|0;if((z|0)==(d|0)){A=x;break a}else u=x}}while(0);ki(A,28490,p);ki(c[v>>2]|0,28492,o);ki(c[v>>2]|0,28444,n);n=c[v>>2]|0;if(!f){C=n;ki(C,28490,k);D=c[v>>2]|0;ki(D,28504,j);E=a+12|0;F=c[E>>2]|0;G=c[F>>2]|0;H=G+44|0;I=c[H>>2]|0;J=ob[I&31](F,b,d,e,f,g)|0;i=h;return J|0}o=f+-1|0;p=n;n=0;while(1){switch(c[g+(n<<2)>>2]|0){case -1:{K=28480;break}case -2:{K=28476;break}case -3:{K=28472;break}case -4:{K=28468;break}case -16:{K=28460;break}case -32:{K=28455;break}case -64:{K=28450;break}case 0:{K=28446;break}default:K=0}c[m>>2]=K;ki(p,28484,m);if((n|0)!=(o|0))ki(c[v>>2]|0,28487,l);n=n+1|0;A=c[v>>2]|0;if((n|0)==(f|0)){C=A;break}else p=A}ki(C,28490,k);D=c[v>>2]|0;ki(D,28504,j);E=a+12|0;F=c[E>>2]|0;G=c[F>>2]|0;H=G+44|0;I=c[H>>2]|0;J=ob[I&31](F,b,d,e,f,g)|0;i=h;return J|0}function Mj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,28507,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+48>>2]&127](d)|0;i=b;return a|0}function Nj(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,28523,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+52>>2]&255](f,b)|0;i=d;return a|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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,28547,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+56>>2]&255](e,b)|0;i=d;return a|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,q=0;f=i;i=i+48|0;g=f+16|0;h=f+40|0;j=f+8|0;k=f;l=a+16|0;m=c[l>>2]|0;if(m>>>0>142){n=a+8|0;o=m;while(1){li(c[n>>2]|0,28142,142,0,0);p=o+-142|0;if(p>>>0>142)o=p;else{q=p;break}}}else q=m;m=a+8|0;if(q|0)li(c[m>>2]|0,28142,c[l>>2]|0,0,0);l=c[m>>2]|0;m=c[d+4>>2]|0;q=c[d>>2]|0;o=c[e+4>>2]|0;n=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=m;c[g+8>>2]=q;c[g+12>>2]=o;c[g+16>>2]=n;ki(l,28566,g);l=c[a+12>>2]|0;a=c[(c[l>>2]|0)+60>>2]|0;n=d;d=c[n+4>>2]|0;o=j;c[o>>2]=c[n>>2];c[o+4>>2]=d;d=e;e=c[d+4>>2]|0;o=k;c[o>>2]=c[d>>2];c[o+4>>2]=e;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];k=sb[a&63](l,b,h,g)|0;i=f;return k|0}function Qj(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;h=i;i=i+48|0;j=h+16|0;k=h+32|0;l=h+8|0;m=h;n=a+16|0;o=c[n>>2]|0;if(o>>>0>142){p=a+8|0;q=o;while(1){li(c[p>>2]|0,28142,142,0,0);r=q+-142|0;if(r>>>0>142)q=r;else{s=r;break}}}else s=o;o=a+8|0;if(s|0)li(c[o>>2]|0,28142,c[n>>2]|0,0,0);n=c[o>>2]|0;c[j>>2]=b;c[j+4>>2]=f;c[j+8>>2]=g;ki(n,28618,j);n=c[a+12>>2]|0;a=c[(c[n>>2]|0)+64>>2]|0;o=d;d=c[o+4>>2]|0;s=l;c[s>>2]=c[o>>2];c[s+4>>2]=d;d=e;e=c[d+4>>2]|0;s=m;c[s>>2]=c[d>>2];c[s+4>>2]=e;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];m=ob[a&31](n,b,k,j,f,g)|0;i=h;return m|0}function Rj(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;k=i;i=i+176|0;l=k+40|0;m=k+56|0;n=k+32|0;o=k+16|0;p=k+64|0;q=k+8|0;r=k;s=j;t=c[s>>2]|0;u=c[s+4>>2]|0;if(!(a[j+16>>0]|0)){s=n;c[s>>2]=t;c[s+4>>2]=u;dm(p,100,28706,n)|0}else{n=j+8|0;s=c[n>>2]|0;v=c[n+4>>2]|0;n=o;c[n>>2]=t;c[n+4>>2]=u;u=o+8|0;c[u>>2]=s;c[u+4>>2]=v;dm(p,100,28681,o)|0}o=b+16|0;v=c[o>>2]|0;if(v>>>0>142){u=b+8|0;s=v;while(1){li(c[u>>2]|0,28142,142,0,0);n=s+-142|0;if(n>>>0>142)s=n;else{w=n;break}}}else w=v;v=b+8|0;if(w|0)li(c[v>>2]|0,28142,c[o>>2]|0,0,0);o=c[v>>2]|0;switch(h|0){case -1:{x=28480;break}case -2:{x=28476;break}case -3:{x=28472;break}case -4:{x=28468;break}case -16:{x=28460;break}case -32:{x=28455;break}case -64:{x=28450;break}case 0:{x=28446;break}default:x=0}c[l>>2]=d;c[l+4>>2]=g;c[l+8>>2]=x;c[l+12>>2]=p;ki(o,28720,l);o=c[b+12>>2]|0;b=c[(c[o>>2]|0)+68>>2]|0;p=e;e=c[p+4>>2]|0;x=q;c[x>>2]=c[p>>2];c[x+4>>2]=e;e=f;f=c[e+4>>2]|0;x=r;c[x>>2]=c[e>>2];c[x+4>>2]=f;c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];r=jb[b&31](o,d,m,l,g,h,j)|0;i=k;return r|0}function Sj(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;j=i;i=i+176|0;k=j+40|0;l=j+56|0;m=j+32|0;n=j+16|0;o=j+64|0;p=j+8|0;q=j;r=h;s=c[r>>2]|0;t=c[r+4>>2]|0;if(!(a[h+16>>0]|0)){r=m;c[r>>2]=s;c[r+4>>2]=t;dm(o,100,28706,m)|0}else{m=h+8|0;r=c[m>>2]|0;u=c[m+4>>2]|0;m=n;c[m>>2]=s;c[m+4>>2]=t;t=n+8|0;c[t>>2]=r;c[t+4>>2]=u;dm(o,100,28681,n)|0}n=b+16|0;u=c[n>>2]|0;if(u>>>0>142){t=b+8|0;r=u;while(1){li(c[t>>2]|0,28142,142,0,0);m=r+-142|0;if(m>>>0>142)r=m;else{v=m;break}}}else v=u;u=b+8|0;if(v|0)li(c[u>>2]|0,28142,c[n>>2]|0,0,0);n=c[u>>2]|0;c[k>>2]=d;c[k+4>>2]=g;c[k+8>>2]=o;ki(n,28789,k);n=c[b+12>>2]|0;b=c[(c[n>>2]|0)+72>>2]|0;o=e;e=c[o+4>>2]|0;u=p;c[u>>2]=c[o>>2];c[u+4>>2]=e;e=f;f=c[e+4>>2]|0;u=q;c[u>>2]=c[e>>2];c[u+4>>2]=f;c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];q=ob[b&31](n,d,l,k,g,h)|0;i=j;return q|0}function Tj(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;j=i;i=i+48|0;k=j+16|0;l=j+32|0;m=j+8|0;n=j;o=a+16|0;p=c[o>>2]|0;if(p>>>0>142){q=a+8|0;r=p;while(1){li(c[q>>2]|0,28142,142,0,0);s=r+-142|0;if(s>>>0>142)r=s;else{t=s;break}}}else t=p;p=a+8|0;if(t|0)li(c[p>>2]|0,28142,c[o>>2]|0,0,0);o=c[p>>2]|0;switch(g|0){case -1:{u=28480;break}case -2:{u=28476;break}case -3:{u=28472;break}case -4:{u=28468;break}case -16:{u=28460;break}case -32:{u=28455;break}case -64:{u=28450;break}case 0:{u=28446;break}default:u=0}c[k>>2]=b;c[k+4>>2]=f;c[k+8>>2]=u;c[k+12>>2]=h?28845:28850;ki(o,28856,k);o=c[a+12>>2]|0;a=c[(c[o>>2]|0)+76>>2]|0;u=d;d=c[u+4>>2]|0;p=m;c[p>>2]=c[u>>2];c[p+4>>2]=d;d=e;e=c[d+4>>2]|0;p=n;c[p>>2]=c[d>>2];c[p+4>>2]=e;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];n=jb[a&31](o,b,l,k,f,g,h)|0;i=j;return n|0}function Uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,28931,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+80>>2]&127](d)|0;i=b;return a|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,l=0;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,28949,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+84>>2]&255](f,b)|0;i=d;return a|0}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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,28975,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+88>>2]&255](e,b)|0;i=d;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,k=0,l=0,m=0;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;ki(g,28996,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+92>>2]&127](f,b,d)|0;i=e;return a|0}function Yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,29034,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+96>>2]&127](d)|0;i=b;return a|0}function Zj(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,29054,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+100>>2]&255](f,b)|0;i=d;return a|0}function _j(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29077,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+104>>2]&255](e,b)|0;i=d;return a|0}function $j(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;g=i;i=i+144|0;h=g+24|0;j=g+16|0;k=g;l=g+36|0;m=f;n=c[m>>2]|0;o=c[m+4>>2]|0;if(!(a[f+16>>0]|0)){m=j;c[m>>2]=n;c[m+4>>2]=o;dm(l,100,28706,j)|0}else{j=f+8|0;m=c[j>>2]|0;p=c[j+4>>2]|0;j=k;c[j>>2]=n;c[j+4>>2]=o;o=k+8|0;c[o>>2]=m;c[o+4>>2]=p;dm(l,100,28681,k)|0}k=b+16|0;p=c[k>>2]|0;if(p>>>0>142){o=b+8|0;m=p;while(1){li(c[o>>2]|0,28142,142,0,0);j=m+-142|0;if(j>>>0>142)m=j;else{q=j;break}}}else q=p;p=b+8|0;if(q|0)li(c[p>>2]|0,28142,c[k>>2]|0,0,0);k=c[p>>2]|0;switch(e|0){case -1:{r=28480;break}case -2:{r=28476;break}case -3:{r=28472;break}case -4:{r=28468;break}case -16:{r=28460;break}case -32:{r=28455;break}case -64:{r=28450;break}case 0:{r=28446;break}default:r=0}c[h>>2]=d;c[h+4>>2]=r;c[h+8>>2]=l;ki(k,29095,h);h=c[b+12>>2]|0;b=sb[c[(c[h>>2]|0)+108>>2]&63](h,d,e,f)|0;i=g;return b|0}function ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,29134,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+112>>2]&127](d)|0;i=b;return a|0}function bk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,29151,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+116>>2]&255](f,b)|0;i=d;return a|0}function ck(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29175,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+120>>2]&255](e,b)|0;i=d;return a|0}function dk(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;f=i;i=i+144|0;g=f+24|0;h=f+16|0;j=f;k=f+32|0;l=e;m=c[l>>2]|0;n=c[l+4>>2]|0;if(!(a[e+16>>0]|0)){l=h;c[l>>2]=m;c[l+4>>2]=n;dm(k,100,28706,h)|0}else{h=e+8|0;l=c[h>>2]|0;o=c[h+4>>2]|0;h=j;c[h>>2]=m;c[h+4>>2]=n;n=j+8|0;c[n>>2]=l;c[n+4>>2]=o;dm(k,100,28681,j)|0}j=b+16|0;o=c[j>>2]|0;if(o>>>0>142){n=b+8|0;l=o;while(1){li(c[n>>2]|0,28142,142,0,0);h=l+-142|0;if(h>>>0>142)l=h;else{p=h;break}}}else p=o;o=b+8|0;if(p|0)li(c[o>>2]|0,28142,c[j>>2]|0,0,0);j=c[o>>2]|0;c[g>>2]=d;c[g+4>>2]=k;ki(j,29194,g);g=c[b+12>>2]|0;b=kb[c[(c[g>>2]|0)+124>>2]&127](g,d,e)|0;i=f;return b|0}function ek(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,29219,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+128>>2]&127](d)|0;i=b;return a|0}function fk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,29237,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+132>>2]&255](f,b)|0;i=d;return a|0}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,l=0;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29261,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+136>>2]&255](e,b)|0;i=d;return a|0}function hk(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;switch(d|0){case -1:{o=28480;break}case -2:{o=28476;break}case -3:{o=28472;break}case -4:{o=28468;break}case -16:{o=28460;break}case -32:{o=28455;break}case -64:{o=28450;break}case 0:{o=28446;break}default:o=0}c[g>>2]=b;c[g+4>>2]=o;c[g+8>>2]=e?28845:28850;ki(h,29280,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+140>>2]&63](g,b,d,e)|0;i=f;return a|0}function ik(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29327,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+144>>2]&255](e,b)|0;i=d;return a|0}function jk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29352,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+148>>2]&255](e,b)|0;i=d;return a|0}function kk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29375,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+152>>2]&255](e,b)|0;i=d;return a|0}function lk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,29390,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+156>>2]&127](d)|0;i=b;return a|0}function mk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,29408,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+160>>2]&255](f,b)|0;i=d;return a|0}function nk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29432,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+164>>2]&255](e,b)|0;i=d;return a|0}function ok(a,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;g=i;i=i+32|0;h=g+8|0;j=g;k=a+16|0;l=c[k>>2]|0;if(l>>>0>142){m=a+8|0;n=l;while(1){li(c[m>>2]|0,28142,142,0,0);o=n+-142|0;if(o>>>0>142)n=o;else{p=o;break}}}else p=l;l=a+8|0;if(p|0)li(c[l>>2]|0,28142,c[k>>2]|0,0,0);k=c[l>>2]|0;l=c[1464+(d<<2)>>2]|0;p=c[f+4>>2]|0;n=c[f>>2]|0;c[h>>2]=b;c[h+4>>2]=l;c[h+8>>2]=e;c[h+12>>2]=p;c[h+16>>2]=n;ki(k,29451,h);k=c[a+12>>2]|0;a=c[(c[k>>2]|0)+168>>2]|0;n=f;f=c[n+4>>2]|0;p=j;c[p>>2]=c[n>>2];c[p+4>>2]=f;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];j=vb[a&31](k,b,d,e,h)|0;i=g;return j|0}function pk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,29512,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+172>>2]&127](d)|0;i=b;return a|0}function qk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,29530,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+176>>2]&255](f,b)|0;i=d;return a|0}function rk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29553,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+180>>2]&255](e,b)|0;i=d;return a|0}function sk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,29574,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+184>>2]&127](d)|0;i=b;return a|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,l=0;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,29591,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+188>>2]&255](f,b)|0;i=d;return a|0}function uk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29613,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+192>>2]&255](e,b)|0;i=d;return a|0}function vk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29638,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+196>>2]&255](e,b)|0;i=d;return a|0}function wk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29661,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+200>>2]&255](e,b)|0;i=d;return a|0}function xk(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;switch(e|0){case -1:{o=28480;break}case -2:{o=28476;break}case -3:{o=28472;break}case -4:{o=28468;break}case -16:{o=28460;break}case -32:{o=28455;break}case -64:{o=28450;break}case 0:{o=28446;break}default:o=0}c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=o;ki(h,29683,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+204>>2]&63](g,b,d,e)|0;i=f;return a|0}function yk(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return ub[c[(c[d>>2]|0)+208>>2]&255](d,b)|0}function zk(a){a=a|0;var b=0;b=c[a+12>>2]|0;return pb[c[(c[b>>2]|0)+212>>2]&127](b)|0}function Ak(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return ub[c[(c[d>>2]|0)+216>>2]&255](d,b)|0}function Bk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+220>>2]&127](e,b,d)|0}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+224>>2]&127](e,b,d)|0}function Dk(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return ub[c[(c[d>>2]|0)+228>>2]&255](d,b)|0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+232>>2]&127](e,b,d)|0}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;return kb[c[(c[e>>2]|0)+236>>2]&127](e,b,d)|0}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,l=0;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=c[1536+(b*20|0)>>2];c[e+4>>2]=b;ki(f,29728,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+240>>2]&255](e,b)|0;i=d;return a|0}function Hk(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;e=i;i=i+48|0;f=e+40|0;g=e+32|0;h=e+24|0;j=e+16|0;k=e+8|0;l=e;m=a+16|0;n=c[m>>2]|0;if(n>>>0>142){o=a+8|0;p=n;while(1){li(c[o>>2]|0,28142,142,0,0);q=p+-142|0;if(q>>>0>142)p=q;else{r=q;break}}}else r=n;n=a+8|0;if(r|0)li(c[n>>2]|0,28142,c[m>>2]|0,0,0);ki(c[n>>2]|0,29753,l);ki(c[n>>2]|0,28444,k);k=c[n>>2]|0;a:do if(!b)s=k;else{l=b+-1|0;m=k;r=0;while(1){switch(c[d+(r<<2)>>2]|0){case -1:{t=28480;break}case -2:{t=28476;break}case -3:{t=28472;break}case -4:{t=28468;break}case -16:{t=28460;break}case -32:{t=28455;break}case -64:{t=28450;break}case 0:{t=28446;break}default:t=0}c[j>>2]=t;ki(m,28484,j);if((r|0)!=(l|0))ki(c[n>>2]|0,28487,h);r=r+1|0;p=c[n>>2]|0;if((r|0)==(b|0)){s=p;break a}else m=p}}while(0);ki(s,28490,g);ki(c[n>>2]|0,28504,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+244>>2]&127](f,b,d)|0;i=e;return a|0}function Ik(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29771,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+248>>2]&255](e,b)|0;i=d;return a|0}function Jk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29792,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+252>>2]&255](e,b)|0;i=d;return a|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,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+32|0;g=f+24|0;h=f+16|0;j=f+8|0;k=f;l=a+16|0;m=c[l>>2]|0;if(m>>>0>142){n=a+8|0;o=m;while(1){li(c[n>>2]|0,28142,142,0,0);p=o+-142|0;if(p>>>0>142)o=p;else{q=p;break}}}else q=m;m=a+8|0;if(q|0)li(c[m>>2]|0,28142,c[l>>2]|0,0,0);l=c[m>>2]|0;c[k>>2]=b;ki(l,29815,k);k=c[m>>2]|0;if(!b)r=k;else{l=b+-1|0;q=k;k=0;while(1){c[h>>2]=c[d+(k<<2)>>2];ki(q,29873,h);if((k|0)!=(l|0))ki(c[m>>2]|0,28487,g);k=k+1|0;o=c[m>>2]|0;if((k|0)==(b|0)){r=o;break}else q=o}}c[j>>2]=e;ki(r,29856,j);j=c[a+12>>2]|0;a=sb[c[(c[j>>2]|0)+256>>2]&63](j,b,d,e)|0;i=f;return a|0}function Lk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29876,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+260>>2]&255](e,b)|0;i=d;return a|0}function Mk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,29904,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+264>>2]&255](e,b)|0;i=d;return a|0}function Nk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=c[1536+(b*20|0)>>2];c[e+4>>2]=b;ki(f,29939,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+268>>2]&255](e,b)|0;i=d;return a|0}function Ok(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=c[1536+(b*20|0)>>2];c[e+4>>2]=b;ki(f,29965,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+272>>2]&255](e,b)|0;i=d;return a|0}function Pk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,29991,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+276>>2]&127](d)|0;i=b;return a|0}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30012,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+280>>2]&127](d)|0;i=b;return a|0}function Rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30024,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+284>>2]&127](d)|0;i=b;return a|0}function Sk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30036,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+288>>2]&127](d)|0;i=b;return a|0}function Tk(a){a=a|0;var b=0;b=c[a+12>>2]|0;return pb[c[(c[b>>2]|0)+292>>2]&127](b)|0}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,j=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+16|0;e=d;f=(c[k>>2]=b,+g[k>>2]);j=a+16|0;l=c[j>>2]|0;if(l>>>0>142){m=a+8|0;n=l;while(1){li(c[m>>2]|0,28142,142,0,0);o=n+-142|0;if(o>>>0>142)n=o;else{p=o;break}}}else p=l;l=a+8|0;if(p|0)li(c[l>>2]|0,28142,c[j>>2]|0,0,0);j=c[l>>2]|0;h[e>>3]=f;c[e+8>>2]=b;ki(j,30047,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+296>>2]&255](e,b)|0;i=d;return a|0}function Vk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+16|0;f=e;c[k>>2]=b;c[k+4>>2]=d;g=+h[k>>3];j=a+16|0;l=c[j>>2]|0;if(l>>>0>142){m=a+8|0;n=l;while(1){li(c[m>>2]|0,28142,142,0,0);o=n+-142|0;if(o>>>0>142)n=o;else{p=o;break}}}else p=l;l=a+8|0;if(p|0)li(c[l>>2]|0,28142,c[j>>2]|0,0,0);j=c[l>>2]|0;h[f>>3]=g;l=f+8|0;c[l>>2]=b;c[l+4>>2]=d;ki(j,30076,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+300>>2]&127](f,b,d)|0;i=e;return a|0}function Wk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30107,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+304>>2]&255](e,b)|0;i=d;return a|0}function Xk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30135,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+308>>2]&255](e,b)|0;i=d;return a|0}function Yk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30162,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+312>>2]&127](d)|0;i=b;return a|0}function Zk(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;c[e+4>>2]=b;ki(f,30180,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+316>>2]&255](e,b)|0;i=d;return a|0}function _k(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;h=f;c[h>>2]=b;c[h+4>>2]=d;h=f+8|0;c[h>>2]=b;c[h+4>>2]=d;ki(g,30207,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+320>>2]&127](f,b,d)|0;i=e;return a|0}function $k(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;e=i;i=i+48|0;f=e+40|0;g=e+32|0;h=e+24|0;j=e+16|0;k=e+8|0;l=e;m=a+16|0;n=c[m>>2]|0;if(n>>>0>142){o=a+8|0;p=n;while(1){li(c[o>>2]|0,28142,142,0,0);q=p+-142|0;if(q>>>0>142)p=q;else{r=q;break}}}else r=n;n=a+8|0;if(r|0)li(c[n>>2]|0,28142,c[m>>2]|0,0,0);ki(c[n>>2]|0,30238,l);ki(c[n>>2]|0,28444,k);k=c[n>>2]|0;a:do if(!b)s=k;else{l=b+-1|0;m=k;r=0;while(1){switch(c[d+(r<<2)>>2]|0){case -1:{t=28480;break}case -2:{t=28476;break}case -3:{t=28472;break}case -4:{t=28468;break}case -16:{t=28460;break}case -32:{t=28455;break}case -64:{t=28450;break}case 0:{t=28446;break}default:t=0}c[j>>2]=t;ki(m,28484,j);if((r|0)!=(l|0))ki(c[n>>2]|0,28487,h);r=r+1|0;p=c[n>>2]|0;if((r|0)==(b|0)){s=p;break a}else m=p}}while(0);ki(s,28490,g);ki(c[n>>2]|0,28504,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+324>>2]&127](f,b,d)|0;i=e;return a|0}function al(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=c[1536+(b*20|0)>>2];c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;ki(h,30253,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+328>>2]&63](g,b,d,e)|0;i=f;return a|0}function bl(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;e=i;i=i+48|0;f=e+40|0;g=e+32|0;h=e+24|0;j=e+16|0;k=e+8|0;l=e;m=a+16|0;n=c[m>>2]|0;if(n>>>0>142){o=a+8|0;p=n;while(1){li(c[o>>2]|0,28142,142,0,0);q=p+-142|0;if(q>>>0>142)p=q;else{r=q;break}}}else r=n;n=a+8|0;if(r|0)li(c[n>>2]|0,28142,c[m>>2]|0,0,0);ki(c[n>>2]|0,30312,l);ki(c[n>>2]|0,28444,k);k=c[n>>2]|0;a:do if(!b)s=k;else{l=b+-1|0;m=k;r=0;while(1){switch(c[d+(r<<2)>>2]|0){case -1:{t=28480;break}case -2:{t=28476;break}case -3:{t=28472;break}case -4:{t=28468;break}case -16:{t=28460;break}case -32:{t=28455;break}case -64:{t=28450;break}case 0:{t=28446;break}default:t=0}c[j>>2]=t;ki(m,28484,j);if((r|0)!=(l|0))ki(c[n>>2]|0,28487,h);r=r+1|0;p=c[n>>2]|0;if((r|0)==(b|0)){s=p;break a}else m=p}}while(0);ki(s,28490,g);ki(c[n>>2]|0,28504,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+332>>2]&127](f,b,d)|0;i=e;return a|0}function cl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30329,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+336>>2]&127](d)|0;i=b;return a|0}function dl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30340,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+340>>2]&127](d)|0;i=b;return a|0}function el(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30354,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+344>>2]&127](d)|0;i=b;return a|0}function fl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30368,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+348>>2]&255](e,b)|0;i=d;return a|0}function gl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30396,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+352>>2]&255](e,b)|0;i=d;return a|0}function hl(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=c[1536+(b*20|0)>>2];c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;ki(h,30423,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+356>>2]&63](g,b,d,e)|0;i=f;return a|0}function il(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30483,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+360>>2]&255](e,b)|0;i=d;return a|0}function jl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=c[1536+(b*20|0)>>2];c[e+4>>2]=b;ki(f,30510,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+364>>2]&255](e,b)|0;i=d;return a|0}function kl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30534,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+368>>2]&127](d)|0;i=b;return a|0}function ll(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30553,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+372>>2]&255](e,b)|0;i=d;return a|0}function ml(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30574,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+376>>2]&127](d)|0;i=b;return a|0}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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,30590,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+380>>2]&255](f,b)|0;i=d;return a|0}function ol(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30612,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+384>>2]&255](e,b)|0;i=d;return a|0}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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;ki(g,30636,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+388>>2]&127](f,b,d)|0;i=e;return a|0}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,l=0;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30682,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+392>>2]&255](e,b)|0;i=d;return a|0}function rl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30712,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+396>>2]&255](e,b)|0;i=d;return a|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,l=0,m=0;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;ki(g,30740,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+400>>2]&127](f,b,d)|0;i=e;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,j=0,k=0,l=0,m=0;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;ki(g,30795,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+404>>2]&127](f,b,d)|0;i=e;return a|0}function ul(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30850,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+408>>2]&255](e,b)|0;i=d;return a|0}function vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,30870,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+412>>2]&127](d)|0;i=b;return a|0}function wl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,30886,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+416>>2]&255](f,b)|0;i=d;return a|0}function xl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30908,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+420>>2]&255](e,b)|0;i=d;return a|0}function yl(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;ki(g,30932,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+424>>2]&127](f,b,d)|0;i=e;return a|0}function zl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,30979,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+428>>2]&255](e,b)|0;i=d;return a|0}function Al(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,31009,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+432>>2]&255](e,b)|0;i=d;return a|0}function Bl(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=b;c[g+4>>2]=e;ki(h,31037,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+436>>2]&63](g,b,d,e)|0;i=f;return a|0}function Cl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,31075,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+440>>2]&255](e,b)|0;i=d;return a|0}function Dl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,31095,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+444>>2]&127](d)|0;i=b;return a|0}function El(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,31111,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+448>>2]&255](f,b)|0;i=d;return a|0}function Fl(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;ki(h,31134,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+452>>2]&63](g,b,d,e)|0;i=f;return a|0}function Gl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,31192,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+456>>2]&255](e,b)|0;i=d;return a|0}function Hl(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;e=i;i=i+32|0;f=e+8|0;g=e;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;j=c[d+4>>2]|0;n=c[d>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=n;ki(h,31218,f);h=c[a+12>>2]|0;a=c[(c[h>>2]|0)+460>>2]|0;n=d;d=c[n+4>>2]|0;j=g;c[j>>2]=c[n>>2];c[j+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];g=kb[a&127](h,b,f)|0;i=e;return g|0}function Il(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;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;ki(h,31259,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+464>>2]&63](g,b,d,e)|0;i=f;return a|0} +function Je(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,x=0,y=0,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,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;f=i;i=i+416|0;g=f+96|0;h=f+88|0;j=f+80|0;k=f+72|0;l=f+64|0;m=f+56|0;n=f+48|0;o=f+40|0;p=f+32|0;q=f+24|0;r=f+16|0;s=f+8|0;t=f;u=f+296|0;v=f+168|0;w=f+304|0;x=f+104|0;gi(x,b,c[e>>2]|0);b=x+16|0;c[b>>2]=e;e=x+20|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[x+44>>2]=12;y=x+48|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[u>>2]=1836278016;li(x,u,4,16286,0);c[u>>2]=1;li(x,u,4,16304,0);y=d+96|0;z=d+100|0;if((c[z>>2]|0)!=(c[y>>2]|0)){Ke(x,1);A=(c[z>>2]|0)-(c[y>>2]|0)>>2;B=A>>>7;if(!B){C=A;D=0}else{E=A;A=B;B=0;while(1){a[u+B>>0]=E|128;F=B+1|0;G=A>>>7;if(!G){C=A;D=F;break}else{H=A;A=G;B=F;E=H}}}a[u+D>>0]=C&127;li(x,u,D+1|0,16369,0);D=c[y>>2]|0;if((c[z>>2]|0)!=(D|0)){C=x+12|0;E=D;D=0;do{B=c[E+(D<<2)>>2]|0;A=c[C>>2]|0;if(A|0){c[t>>2]=16398;c[t+4>>2]=D;ki(A,16403,t)}a[u>>0]=96;li(x,u,1,28455,0);A=B+8|0;H=(c[B+12>>2]|0)-(c[A>>2]|0)>>2;F=B+20|0;G=(c[B+24>>2]|0)-(c[F>>2]|0)>>2;B=H>>>7;if(!B){I=H;J=0}else{K=H;L=B;B=0;while(1){a[u+B>>0]=K|128;M=B+1|0;N=L>>>7;if(!N){I=L;J=M;break}else{O=L;L=N;B=M;K=O}}}a[u+J>>0]=I&127;li(x,u,J+1|0,16412,0);if(H|0){K=0;do{He(x,c[(c[A>>2]|0)+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(H|0))}H=G>>>7;if(!H){P=G;Q=0}else{K=G;A=H;H=0;while(1){a[u+H>>0]=K|128;B=H+1|0;L=A>>>7;if(!L){P=A;Q=B;break}else{O=A;A=L;H=B;K=O}}}a[u+Q>>0]=P&127;li(x,u,Q+1|0,16423,0);if(G|0){K=0;do{He(x,c[(c[F>>2]|0)+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(G|0))}D=D+1|0;E=c[y>>2]|0}while(D>>>0<(c[z>>2]|0)-E>>2>>>0)}Le(x)}E=d+72|0;z=d+76|0;if((c[z>>2]|0)!=(c[E>>2]|0)){Ke(x,2);D=(c[z>>2]|0)-(c[E>>2]|0)>>2;y=D>>>7;if(!y){R=D;S=0}else{Q=D;D=y;y=0;while(1){a[u+y>>0]=Q|128;P=y+1|0;J=D>>>7;if(!J){R=D;S=P;break}else{I=D;D=J;y=P;Q=I}}}a[u+S>>0]=R&127;li(x,u,S+1|0,16435,0);S=c[E>>2]|0;a:do if((c[z>>2]|0)!=(S|0)){R=x+12|0;Q=S;y=0;while(1){D=c[Q+(y<<2)>>2]|0;I=c[R>>2]|0;if(I|0){c[s>>2]=16447;c[s+4>>2]=y;ki(I,16403,s)}I=c[D>>2]|0;P=c[D+4>>2]|0;J=P>>>7;if(!J){T=P;U=0}else{t=P;C=J;J=0;while(1){a[u+J>>0]=t|128;G=J+1|0;K=C>>>7;if(!K){T=C;U=G;break}else{F=C;C=K;J=G;t=F}}}a[u+U>>0]=T&127;li(x,u,U+1|0,20843,0);li(x,I,P,22193,1);t=c[D+8>>2]|0;J=c[D+12>>2]|0;C=J>>>7;if(!C){V=J;W=0}else{F=J;G=C;C=0;while(1){a[u+C>>0]=F|128;K=C+1|0;H=G>>>7;if(!H){V=G;W=K;break}else{A=G;G=H;C=K;F=A}}}a[u+W>>0]=V&127;li(x,u,W+1|0,20843,0);li(x,t,J,22212,1);F=D+16|0;a[u>>0]=c[F>>2];li(x,u,1,22230,0);switch(c[F>>2]|0){case 0:{F=tc(d,(c[D+20>>2]|0)+8|0)|0;C=F>>>7;if(!C){X=F;Y=0}else{G=F;F=C;C=0;while(1){a[u+C>>0]=G|128;P=C+1|0;I=F>>>7;if(!I){X=F;Y=P;break}else{A=F;F=I;C=P;G=A}}}a[u+Y>>0]=X&127;li(x,u,Y+1|0,22242,0);break}case 1:{G=c[D+20>>2]|0;a[u>>0]=112;li(x,u,1,28460,0);Ie(x,G+8|0);break}case 2:{Ie(x,(c[D+20>>2]|0)+8|0);break}case 3:{G=c[D+20>>2]|0;He(x,c[G+8>>2]|0);a[u>>0]=a[G+12>>0]|0;li(x,u,1,22758,0);break}default:{}}y=y+1|0;Q=c[E>>2]|0;if(y>>>0>=(c[z>>2]|0)-Q>>2>>>0)break a}}while(0);Le(x)}z=d+48|0;E=d+52|0;Y=(c[E>>2]|0)-(c[z>>2]|0)>>2;X=d+32|0;W=c[X>>2]|0;V=Y-W|0;U=(Y|0)!=(W|0);if(U){Ke(x,3);W=V>>>7;if(!W){Z=V;_=0}else{Y=V;T=W;W=0;while(1){a[u+W>>0]=Y|128;s=W+1|0;S=T>>>7;if(!S){Z=T;_=s;break}else{Q=T;T=S;W=s;Y=Q}}}a[u+_>>0]=Z&127;li(x,u,_+1|0,16461,0);_=0;do{Z=c[(c[z>>2]|0)+((c[X>>2]|0)+_<<2)>>2]|0;c[r>>2]=_;dm(v,100,16475,r)|0;Y=tc(d,Z+8|0)|0;Z=Y>>>7;if(!Z){$=Y;aa=0}else{W=Y;Y=Z;Z=0;while(1){a[u+Z>>0]=W|128;T=Z+1|0;Q=Y>>>7;if(!Q){$=Y;aa=T;break}else{s=Y;Y=Q;Z=T;W=s}}}a[u+aa>>0]=$&127;li(x,u,aa+1|0,v,0);_=_+1|0}while((_|0)!=(V|0));Le(x)}_=d+108|0;aa=(c[d+112>>2]|0)-(c[_>>2]|0)>>2;$=d+36|0;r=c[$>>2]|0;W=aa-r|0;if((aa|0)!=(r|0)){Ke(x,4);r=W>>>7;if(!r){ba=W;ca=0}else{aa=W;Z=r;r=0;while(1){a[u+r>>0]=aa|128;Y=r+1|0;s=Z>>>7;if(!s){ba=Z;ca=Y;break}else{T=Z;Z=s;r=Y;aa=T}}}a[u+ca>>0]=ba&127;li(x,u,ca+1|0,16504,0);ca=x+12|0;ba=0;do{aa=c[(c[_>>2]|0)+((c[$>>2]|0)+ba<<2)>>2]|0;r=c[ca>>2]|0;if(r|0){c[q>>2]=17865;c[q+4>>2]=ba;ki(r,16403,q)}a[u>>0]=112;li(x,u,1,28460,0);Ie(x,aa+8|0);ba=ba+1|0}while((ba|0)!=(W|0));Le(x)}W=d+132|0;ba=(c[d+136>>2]|0)-(c[W>>2]|0)>>2;q=d+40|0;ca=c[q>>2]|0;$=ba-ca|0;if((ba|0)!=(ca|0)){Ke(x,5);ca=$>>>7;if(!ca){da=$;ea=0}else{ba=$;_=ca;ca=0;while(1){a[u+ca>>0]=ba|128;aa=ca+1|0;r=_>>>7;if(!r){da=_;ea=aa;break}else{Z=_;_=r;ca=aa;ba=Z}}}a[u+ea>>0]=da&127;li(x,u,ea+1|0,16515,0);ea=x+12|0;da=0;do{ba=c[(c[W>>2]|0)+((c[q>>2]|0)+da<<2)>>2]|0;ca=c[ea>>2]|0;if(ca|0){c[p>>2]=17871;c[p+4>>2]=da;ki(ca,16403,p)}Ie(x,ba+8|0);da=da+1|0}while((da|0)!=($|0));Le(x)}$=d+60|0;da=(c[d+64>>2]|0)-(c[$>>2]|0)>>2;p=d+44|0;ea=c[p>>2]|0;q=da-ea|0;if((da|0)!=(ea|0)){Ke(x,6);ea=q>>>7;if(!ea){fa=q;ga=0}else{da=q;W=ea;ea=0;while(1){a[u+ea>>0]=da|128;ba=ea+1|0;ca=W>>>7;if(!ca){fa=W;ga=ba;break}else{_=W;W=ca;ea=ba;da=_}}}a[u+ga>>0]=fa&127;li(x,u,ga+1|0,16528,0);ga=0;do{fa=c[(c[$>>2]|0)+((c[p>>2]|0)+ga<<2)>>2]|0;He(x,c[fa+8>>2]|0);a[u>>0]=a[fa+12>>0]|0;li(x,u,1,22758,0);da=c[fa+16>>2]|0;if(da|0){fa=da;do{Me(x,d,0,fa);fa=c[fa+20>>2]|0}while((fa|0)!=0)}a[u>>0]=11;li(x,u,1,18226,0);ga=ga+1|0}while((ga|0)!=(q|0));Le(x)}q=d+84|0;ga=d+88|0;if((c[ga>>2]|0)!=(c[q>>2]|0)){Ke(x,7);p=(c[ga>>2]|0)-(c[q>>2]|0)>>2;$=p>>>7;if(!$){ha=p;ia=0}else{fa=p;p=$;$=0;while(1){a[u+$>>0]=fa|128;da=$+1|0;ea=p>>>7;if(!ea){ha=p;ia=da;break}else{W=p;p=ea;$=da;fa=W}}}a[u+ia>>0]=ha&127;li(x,u,ia+1|0,16712,0);ia=c[q>>2]|0;q=c[ga>>2]|0;b:do if((ia|0)!=(q|0)){ga=ia;while(1){ha=c[ga>>2]|0;fa=c[ha>>2]|0;$=c[ha+4>>2]|0;p=$>>>7;if(!p){ja=$;ka=0}else{W=$;da=p;p=0;while(1){a[u+p>>0]=W|128;ea=p+1|0;_=da>>>7;if(!_){ja=da;ka=ea;break}else{ba=da;da=_;p=ea;W=ba}}}a[u+ka>>0]=ja&127;li(x,u,ka+1|0,20843,0);li(x,fa,$,16724,1);W=ha+8|0;a[u>>0]=c[W>>2];li(x,u,1,16736,0);switch(c[W>>2]|0){case 0:{W=kc(d,ha+16|0)|0;p=W>>>7;if(!p){la=W;ma=0}else{da=W;W=p;p=0;while(1){a[u+p>>0]=da|128;D=p+1|0;ba=W>>>7;if(!ba){la=W;ma=D;break}else{ea=W;W=ba;p=D;da=ea}}}a[u+ma>>0]=la&127;li(x,u,ma+1|0,16748,0);break}case 1:{da=mc(d,ha+16|0)|0;p=da>>>7;if(!p){na=da;oa=0}else{W=da;da=p;p=0;while(1){a[u+p>>0]=W|128;$=p+1|0;fa=da>>>7;if(!fa){na=da;oa=$;break}else{ea=da;da=fa;p=$;W=ea}}}a[u+oa>>0]=na&127;li(x,u,oa+1|0,16766,0);break}case 2:{W=nc(d,ha+16|0)|0;p=W>>>7;if(!p){pa=W;qa=0}else{da=W;W=p;p=0;while(1){a[u+p>>0]=da|128;ea=p+1|0;$=W>>>7;if(!$){pa=W;qa=ea;break}else{fa=W;W=$;p=ea;da=fa}}}a[u+qa>>0]=pa&127;li(x,u,qa+1|0,16785,0);break}case 3:{da=lc(d,ha+16|0)|0;p=da>>>7;if(!p){ra=da;sa=0}else{W=da;da=p;p=0;while(1){a[u+p>>0]=W|128;fa=p+1|0;ea=da>>>7;if(!ea){ra=da;sa=fa;break}else{$=da;da=ea;p=fa;W=$}}}a[u+sa>>0]=ra&127;li(x,u,sa+1|0,16805,0);break}default:{}}ga=ga+4|0;if((ga|0)==(q|0))break b}}while(0);Le(x)}q=c[d+156>>2]|0;if(q|0?(sa=kc(d,q)|0,(sa|0)!=-1):0){Ke(x,8);q=sa>>>7;if(!q){ta=sa;ua=0}else{ra=sa;sa=q;q=0;while(1){a[u+q>>0]=ra|128;qa=q+1|0;pa=sa>>>7;if(!pa){ta=sa;ua=qa;break}else{oa=sa;sa=pa;q=qa;ra=oa}}}a[u+ua>>0]=ta&127;li(x,u,ua+1|0,16825,0);Le(x)}ua=d+120|0;ta=d+124|0;if((c[ta>>2]|0)!=(c[ua>>2]|0)){Ke(x,9);ra=(c[ta>>2]|0)-(c[ua>>2]|0)>>2;q=ra>>>7;if(!q){va=ra;wa=0}else{sa=ra;ra=q;q=0;while(1){a[u+q>>0]=sa|128;oa=q+1|0;qa=ra>>>7;if(!qa){va=ra;wa=oa;break}else{pa=ra;ra=qa;q=oa;sa=pa}}}a[u+wa>>0]=va&127;li(x,u,wa+1|0,16842,0);wa=c[ua>>2]|0;if((c[ta>>2]|0)!=(wa|0)){va=x+12|0;sa=wa;wa=0;do{q=c[sa+(wa<<2)>>2]|0;ra=mc(d,q)|0;pa=c[va>>2]|0;if(pa|0){c[o>>2]=16860;c[o+4>>2]=wa;ki(pa,16403,o)}pa=ra>>>7;if(!pa){xa=ra;ya=0}else{oa=ra;ra=pa;pa=0;while(1){a[u+pa>>0]=oa|128;qa=pa+1|0;na=ra>>>7;if(!na){xa=ra;ya=qa;break}else{ma=ra;ra=na;pa=qa;oa=ma}}}a[u+ya>>0]=xa&127;li(x,u,ya+1|0,16880,0);oa=c[q+32>>2]|0;if(oa|0){pa=oa;do{Me(x,d,0,pa);pa=c[pa+20>>2]|0}while((pa|0)!=0)}a[u>>0]=11;li(x,u,1,18226,0);pa=q+36|0;oa=q+40|0;ra=(c[oa>>2]|0)-(c[pa>>2]|0)>>5;ma=ra>>>7;if(!ma){za=ra;Aa=0}else{qa=ra;ra=ma;ma=0;while(1){a[u+ma>>0]=qa|128;na=ma+1|0;la=ra>>>7;if(!la){za=ra;Aa=na;break}else{ka=ra;ra=la;ma=na;qa=ka}}}a[u+Aa>>0]=za&127;li(x,u,Aa+1|0,16892,0);qa=c[pa>>2]|0;ma=c[oa>>2]|0;if((qa|0)!=(ma|0)){ra=qa;do{Ne(x,kc(d,ra)|0,21162,0);ra=ra+32|0}while((ra|0)!=(ma|0))}wa=wa+1|0;sa=c[ua>>2]|0}while(wa>>>0<(c[ta>>2]|0)-sa>>2>>>0)}Le(x)}if(U){Ke(x,10);U=V>>>7;if(!U){Ba=V;Ca=0}else{sa=V;ta=U;U=0;while(1){a[u+U>>0]=sa|128;wa=U+1|0;ua=ta>>>7;if(!ua){Ba=ta;Ca=wa;break}else{Aa=ta;ta=ua;U=wa;sa=Aa}}}a[u+Ca>>0]=Ba&127;li(x,u,Ca+1|0,16461,0);Ca=x+12|0;Ba=x+4|0;sa=u+1|0;U=u+2|0;ta=u+3|0;Aa=u+4|0;wa=0;do{ua=c[Ca>>2]|0;if(ua|0){c[n>>2]=16913;c[n+4>>2]=wa;ki(ua,16403,n)}ua=c[(c[z>>2]|0)+((c[X>>2]|0)+wa<<2)>>2]|0;a[u>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;a[u+3>>0]=0;a[u+4>>0]=0;za=c[Ba>>2]|0;li(x,u,a[(c[b>>2]|0)+4>>0]|0?1:5,16927,0);ya=ua+72|0;xa=ua+76|0;o=c[xa>>2]|0;va=c[ya>>2]|0;ma=va;if((o|0)!=(va|0)){ra=(c[ua+52>>2]|0)-(c[ua+48>>2]|0)>>2;oa=ra+1|0;pa=ra+(o-va>>2)|0;if(oa>>>0<pa>>>0){va=c[ma>>2]|0;o=oa;qa=1;while(1){q=va;va=c[ma+(o-ra<<2)>>2]|0;ka=((q|0)!=(va|0)&1)+qa|0;o=o+1|0;if((o|0)==(pa|0)){Da=ka;break}else qa=ka}qa=Da>>>7;if(!qa){Ea=Da;Fa=0}else{pa=Da;o=qa;qa=0;while(1){a[u+qa>>0]=pa|128;va=qa+1|0;ma=o>>>7;if(!ma){Ea=o;Fa=va;break}else{ka=o;o=ma;qa=va;pa=ka}}}}else{Ea=1;Fa=0}a[u+Fa>>0]=Ea&127;li(x,u,Fa+1|0,16950,0);pa=c[ya>>2]|0;qa=c[xa>>2]|0;o=pa;ka=(qa-o>>2)+ra|0;if(oa>>>0<=ka>>>0){va=o;o=qa;qa=ka;ka=pa;ma=c[pa>>2]|0;pa=oa;q=1;while(1){if((pa|0)==(qa|0))Ga=-64;else Ga=c[ka+(pa-ra<<2)>>2]|0;if((ma|0)==(Ga|0)){Ha=va;Ia=o;Ja=ma;Ka=q+1|0}else{na=q>>>7;if(!na){La=q;Ma=0}else{la=q;ja=na;na=0;while(1){a[u+na>>0]=la|128;ia=na+1|0;ga=ja>>>7;if(!ga){La=ja;Ma=ia;break}else{W=ja;ja=ga;na=ia;la=W}}}a[u+Ma>>0]=La&127;li(x,u,Ma+1|0,27491,0);He(x,ma);Ha=c[ya>>2]|0;Ia=c[xa>>2]|0;Ja=Ga;Ka=1}pa=pa+1|0;qa=(Ia-Ha>>2)+ra|0;if(pa>>>0>qa>>>0)break;else{va=Ha;o=Ia;ka=Ha;ma=Ja;q=Ka}}}}else{a[u>>0]=0;li(x,u,1,16950,0)}q=c[ua+124>>2]|0;if(q|0){ma=q;do{Me(x,d,ua,ma);ma=c[ma+20>>2]|0}while((ma|0)!=0)}a[u>>0]=11;li(x,u,1,18226,0);ma=(c[Ba>>2]|0)-za|0;if(!(a[(c[b>>2]|0)+4>>0]|0)){ua=ma+-5|0;a[u>>0]=ua|128;a[sa>>0]=ua>>>7|128;a[U>>0]=ua>>>14|128;a[ta>>0]=ua>>>21|128;a[Aa>>0]=ua>>>28;ii(x,za,u,5,16967,0)}else{ua=ma+-1|0;ma=ua;q=0;while(1){ma=ma>>>7;ka=q+1|0;if(!ma){Na=ka;Oa=q;break}else q=ka}if(Oa|0)mi(x,Na+za|0,za+1|0,ua);q=ua>>>7;if(!q){Pa=ua;Qa=0}else{ma=ua;ka=q;q=0;while(1){a[u+q>>0]=ma|128;o=q+1|0;va=ka>>>7;if(!va){Pa=ka;Qa=o;break}else{qa=ka;ka=va;q=o;ma=qa}}}a[u+Qa>>0]=Pa&127;ii(x,za,u,Qa+1|0,16967,0);hi(x,Oa)}wa=wa+1|0}while((wa|0)!=(V|0));Le(x)}V=d+144|0;wa=d+148|0;if((c[wa>>2]|0)!=(c[V>>2]|0)){Ke(x,11);Oa=(c[wa>>2]|0)-(c[V>>2]|0)>>2;Qa=Oa>>>7;if(!Qa){Ra=Oa;Sa=0}else{Pa=Oa;Oa=Qa;Qa=0;while(1){a[u+Qa>>0]=Pa|128;Na=Qa+1|0;Aa=Oa>>>7;if(!Aa){Ra=Oa;Sa=Na;break}else{ta=Oa;Oa=Aa;Qa=Na;Pa=ta}}}a[u+Sa>>0]=Ra&127;li(x,u,Sa+1|0,16988,0);Sa=c[V>>2]|0;if((c[wa>>2]|0)!=(Sa|0)){Ra=x+12|0;Pa=Sa;Sa=0;do{Qa=c[Pa+(Sa<<2)>>2]|0;Oa=c[Ra>>2]|0;if(Oa|0){c[m>>2]=17006;c[m+4>>2]=Sa;ki(Oa,16403,m)}Oa=nc(d,Qa)|0;ta=Oa>>>7;if(!ta){Ta=Oa;Ua=0}else{Na=Oa;Oa=ta;ta=0;while(1){a[u+ta>>0]=Na|128;Aa=ta+1|0;U=Oa>>>7;if(!U){Ta=Oa;Ua=Aa;break}else{sa=Oa;Oa=U;ta=Aa;Na=sa}}}a[u+Ua>>0]=Ta&127;li(x,u,Ua+1|0,17026,0);Na=c[Qa+32>>2]|0;if(Na|0){ta=Na;do{Me(x,d,0,ta);ta=c[ta+20>>2]|0}while((ta|0)!=0)}a[u>>0]=11;li(x,u,1,18226,0);ta=Qa+40|0;Na=c[ta>>2]|0;Oa=Na>>>7;if(!Oa){Va=Na;Wa=0}else{za=Na;Na=Oa;Oa=0;while(1){a[u+Oa>>0]=za|128;sa=Oa+1|0;Aa=Na>>>7;if(!Aa){Va=Na;Wa=sa;break}else{U=Na;Na=Aa;Oa=sa;za=U}}}a[u+Wa>>0]=Va&127;li(x,u,Wa+1|0,17039,0);za=c[Ra>>2]|0;if(za|0){c[l>>2]=27898;c[l+4>>2]=Sa;ki(za,16403,l)}li(x,c[Qa+36>>2]|0,c[ta>>2]|0,27898,0);Sa=Sa+1|0;Pa=c[V>>2]|0}while(Sa>>>0<(c[wa>>2]|0)-Pa>>2>>>0)}Le(x)}Pa=c[b>>2]|0;if(!(a[Pa+6>>0]|0))Xa=Pa;else{c[v>>2]=0;Pa=v+4|0;c[Pa>>2]=0;c[v+8>>2]=0;Pe(x,20918);wa=c[z>>2]|0;Sa=c[E>>2]|0;if((wa|0)!=(Sa|0)){V=wa;wa=0;while(1){l=((c[(c[V>>2]|0)+4>>2]|0)!=0&1)+wa|0;V=V+4|0;if((V|0)==(Sa|0)){Ya=l;break}else wa=l}if(Ya){a[u>>0]=1;li(x,u,1,17110,0);c[x+56>>2]=1;a[u>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;a[u+3>>0]=0;a[u+4>>0]=0;wa=x+4|0;Sa=c[wa>>2]|0;li(x,u,a[(c[b>>2]|0)+4>>0]|0?1:5,17129,0);c[x+52>>2]=Sa;c[x+60>>2]=c[wa>>2];wa=Ya>>>7;if(!wa){Za=Ya;_a=0}else{Sa=Ya;Ya=wa;wa=0;while(1){a[u+wa>>0]=Sa|128;V=wa+1|0;l=Ya>>>7;if(!l){Za=Ya;_a=V;break}else{Ra=Ya;Ya=l;wa=V;Sa=Ra}}}a[u+_a>>0]=Za&127;li(x,u,_a+1|0,16461,0);_a=c[E>>2]|0;Za=c[z>>2]|0;if((_a|0)!=(Za|0)){Sa=_a;_a=Za;Za=0;while(1){wa=c[_a+(Za<<2)>>2]|0;Ya=wa+4|0;if(!(c[Ya>>2]|0)){$a=_a;ab=Sa}else{Ra=Za>>>7;if(!Ra){bb=Za;cb=0}else{V=Za;l=Ra;Ra=0;while(1){a[u+Ra>>0]=V|128;Wa=Ra+1|0;Va=l>>>7;if(!Va){bb=l;cb=Wa;break}else{d=l;l=Va;Ra=Wa;V=d}}}a[u+cb>>0]=bb&127;li(x,u,cb+1|0,21162,0);c[k>>2]=Za;dm(w,100,17175,k)|0;V=c[wa>>2]|0;Ra=c[Ya>>2]|0;l=Ra>>>7;if(!l){db=Ra;eb=0}else{ta=Ra;Qa=l;l=0;while(1){a[u+l>>0]=ta|128;d=l+1|0;Wa=Qa>>>7;if(!Wa){db=Qa;eb=d;break}else{Va=Qa;Qa=Wa;l=d;ta=Va}}}a[u+eb>>0]=db&127;li(x,u,eb+1|0,20843,0);li(x,V,Ra,w,1);$a=c[z>>2]|0;ab=c[E>>2]|0}Za=Za+1|0;if(Za>>>0>=ab-$a>>2>>>0)break;else{Sa=ab;_a=$a}}}Qe(x);fb=u}else gb=172}else gb=172;if((gb|0)==172)fb=u;a[fb>>0]=2;li(x,fb,1,17189,0);c[x+56>>2]=1;a[fb>>0]=0;a[fb+1>>0]=0;a[fb+2>>0]=0;a[fb+3>>0]=0;a[fb+4>>0]=0;gb=x+4|0;$a=c[gb>>2]|0;li(x,fb,a[(c[b>>2]|0)+4>>0]|0?1:5,17129,0);c[x+52>>2]=$a;c[x+60>>2]=c[gb>>2];gb=(c[E>>2]|0)-(c[z>>2]|0)>>2;$a=gb>>>7;if(!$a){hb=gb;ib=0}else{_a=gb;gb=$a;$a=0;while(1){a[u+$a>>0]=_a|128;ab=$a+1|0;Sa=gb>>>7;if(!Sa){hb=gb;ib=ab;break}else{Za=gb;gb=Sa;$a=ab;_a=Za}}}a[u+ib>>0]=hb&127;li(x,fb,ib+1|0,16461,0);ib=c[z>>2]|0;if((c[E>>2]|0)!=(ib|0)){hb=ib;ib=0;do{_a=c[hb+(ib<<2)>>2]|0;$a=_a+48|0;gb=(c[_a+52>>2]|0)-(c[$a>>2]|0)>>2;Za=_a+72|0;ab=(c[_a+76>>2]|0)-(c[Za>>2]|0)>>2;Sa=ab+gb|0;eb=ib>>>7;if(!eb){jb=ib;kb=0}else{db=ib;k=eb;eb=0;while(1){a[u+eb>>0]=db|128;cb=eb+1|0;bb=k>>>7;if(!bb){jb=k;kb=cb;break}else{ta=k;k=bb;eb=cb;db=ta}}}a[u+kb>>0]=jb&127;li(x,fb,kb+1|0,21162,0);db=Sa>>>7;if(!db){lb=Sa;mb=0}else{eb=Sa;k=db;db=0;while(1){a[u+db>>0]=eb|128;Ra=db+1|0;V=k>>>7;if(!V){lb=k;mb=Ra;break}else{ta=k;k=V;db=Ra;eb=ta}}}a[u+mb>>0]=lb&127;li(x,fb,mb+1|0,17205,0);wc($a,_a+84|0,v);if(gb|0){eb=0;do{db=c[v>>2]|0;k=db+(eb*12|0)|0;c[j>>2]=eb;dm(w,100,17216,j)|0;Sa=eb>>>7;if(!Sa){nb=eb;ob=0}else{ta=eb;Ra=Sa;Sa=0;while(1){a[u+Sa>>0]=ta|128;V=Sa+1|0;cb=Ra>>>7;if(!cb){nb=Ra;ob=V;break}else{bb=Ra;Ra=cb;Sa=V;ta=bb}}}a[u+ob>>0]=nb&127;li(x,fb,ob+1|0,16690,0);ta=a[k>>0]|0;if(!(ta&1)){pb=(ta&255)>>>1;qb=k+1|0}else{pb=c[db+(eb*12|0)+4>>2]|0;qb=c[db+(eb*12|0)+8>>2]|0}ta=pb>>>7;if(!ta){rb=pb;sb=0}else{Sa=pb;Ra=ta;ta=0;while(1){a[u+ta>>0]=Sa|128;bb=ta+1|0;V=Ra>>>7;if(!V){rb=Ra;sb=bb;break}else{cb=Ra;Ra=V;ta=bb;Sa=cb}}}a[u+sb>>0]=rb&127;li(x,fb,sb+1|0,20843,0);li(x,qb,pb,w,1);eb=eb+1|0}while(eb>>>0<gb>>>0)}wc(Za,_a+104|0,v);if(ab|0){eb=0;do{$a=c[v>>2]|0;Sa=$a+(eb*12|0)|0;ta=eb+gb|0;c[h>>2]=ta;dm(w,100,17216,h)|0;Ra=ta>>>7;if(!Ra){tb=ta;ub=0}else{db=ta;ta=Ra;Ra=0;while(1){a[u+Ra>>0]=db|128;k=Ra+1|0;cb=ta>>>7;if(!cb){tb=ta;ub=k;break}else{bb=ta;ta=cb;Ra=k;db=bb}}}a[u+ub>>0]=tb&127;li(x,fb,ub+1|0,16690,0);db=a[Sa>>0]|0;if(!(db&1)){vb=(db&255)>>>1;wb=Sa+1|0}else{vb=c[$a+(eb*12|0)+4>>2]|0;wb=c[$a+(eb*12|0)+8>>2]|0}db=vb>>>7;if(!db){xb=vb;yb=0}else{Ra=vb;ta=db;db=0;while(1){a[u+db>>0]=Ra|128;bb=db+1|0;k=ta>>>7;if(!k){xb=ta;yb=bb;break}else{cb=ta;ta=k;db=bb;Ra=cb}}}a[u+yb>>0]=xb&127;li(x,fb,yb+1|0,20843,0);li(x,wb,vb,w,1);eb=eb+1|0}while(eb>>>0<ab>>>0)}ib=ib+1|0;hb=c[z>>2]|0}while(ib>>>0<(c[E>>2]|0)-hb>>2>>>0)}Qe(x);Le(x);hb=c[v>>2]|0;if(hb|0){E=c[Pa>>2]|0;if((E|0)==(hb|0))zb=hb;else{ib=E;do{E=ib+-12|0;c[Pa>>2]=E;jn(E);ib=c[Pa>>2]|0}while((ib|0)!=(hb|0));zb=c[v>>2]|0}An(zb)}Xa=c[b>>2]|0}if(a[Xa+5>>0]|0?(Xa=c[e>>2]|0,e=c[x+24>>2]|0,(Xa|0)!=(e|0)):0){b=Xa;do{Xa=c[b>>2]|0;c[g>>2]=21510;c[g+4>>2]=Xa;dm(v,128,17231,g)|0;Pe(x,v);Xa=c[b+4>>2]|0;zb=Xa>>>7;if(!zb){Ab=Xa;Bb=0}else{hb=Xa;Xa=zb;zb=0;while(1){a[u+zb>>0]=hb|128;ib=zb+1|0;Pa=Xa>>>7;if(!Pa){Ab=Xa;Bb=ib;break}else{E=Xa;Xa=Pa;zb=ib;hb=E}}}a[u+Bb>>0]=Ab&127;li(x,u,Bb+1|0,17237,0);hb=b+8|0;zb=b+12|0;Xa=(c[zb>>2]|0)-(c[hb>>2]|0)>>4;E=Xa>>>7;if(!E){Cb=Xa;Db=0}else{ib=Xa;Xa=E;E=0;while(1){a[u+E>>0]=ib|128;Pa=E+1|0;z=Xa>>>7;if(!z){Cb=Xa;Db=Pa;break}else{w=Xa;Xa=z;E=Pa;ib=w}}}a[u+Db>>0]=Cb&127;li(x,u,Db+1|0,17256,0);ib=c[hb>>2]|0;E=c[zb>>2]|0;if((ib|0)!=(E|0)){Xa=ib;do{ib=c[Xa>>2]|0;w=ib>>>7;if(!w){Eb=ib;Fb=0}else{Pa=ib;ib=w;w=0;while(1){a[u+w>>0]=Pa|128;z=w+1|0;vb=ib>>>7;if(!vb){Eb=ib;Fb=z;break}else{wb=ib;ib=vb;w=z;Pa=wb}}}a[u+Fb>>0]=Eb&127;li(x,u,Fb+1|0,17267,0);Pa=c[Xa+4>>2]|0;w=Pa>>>7;if(!w){Gb=Pa;Hb=0}else{ib=Pa;Pa=w;w=0;while(1){a[u+w>>0]=ib|128;wb=w+1|0;z=Pa>>>7;if(!z){Gb=Pa;Hb=wb;break}else{vb=Pa;Pa=z;w=wb;ib=vb}}}a[u+Hb>>0]=Gb&127;li(x,u,Hb+1|0,17278,0);ib=c[Xa+8>>2]|0;w=ib>>>7;if(!w){Ib=ib;Jb=0}else{Pa=ib;ib=w;w=0;while(1){a[u+w>>0]=Pa|128;vb=w+1|0;wb=ib>>>7;if(!wb){Ib=ib;Jb=vb;break}else{z=ib;ib=wb;w=vb;Pa=z}}}a[u+Jb>>0]=Ib&127;li(x,u,Jb+1|0,17291,0);if(((c[Xa>>2]|0)+-3|0)>>>0<3){Pa=c[Xa+12>>2]|0;w=Pa>>>7;if(!w){Kb=Pa;Lb=0}else{ib=Pa;Pa=w;w=0;while(1){a[u+w>>0]=ib|128;z=w+1|0;vb=Pa>>>7;if(!vb){Kb=Pa;Lb=z;break}else{wb=Pa;Pa=vb;w=z;ib=wb}}}a[u+Lb>>0]=Kb&127;li(x,u,Lb+1|0,17303,0)}Xa=Xa+16|0}while((Xa|0)!=(E|0))}Le(x);b=b+20|0}while((b|0)!=(e|0))}e=c[x+8>>2]|0;b=x+20|0;Lb=c[b>>2]|0;if(!Lb){i=f;return e|0}u=x+24|0;x=c[u>>2]|0;if((x|0)==(Lb|0))Mb=Lb;else{Kb=x;while(1){x=Kb+-20|0;c[u>>2]=x;Jb=c[Kb+-12>>2]|0;Ib=Jb;if(!Jb)Nb=x;else{x=Kb+-8|0;Hb=c[x>>2]|0;if((Hb|0)!=(Jb|0))c[x>>2]=Hb+(~((Hb+-16-Ib|0)>>>4)<<4);An(Jb);Nb=c[u>>2]|0}if((Nb|0)==(Lb|0))break;else Kb=Nb}Mb=c[b>>2]|0}An(Mb);i=f;return e|0}function Ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+112|0;f=e+8|0;g=e;h=e+12|0;c[g>>2]=c[1416+(d<<2)>>2];c[g+4>>2]=d;dm(h,100,16324,g)|0;j=c[b+12>>2]|0;if(j|0){c[f>>2]=h;ki(j,16342,f)}a[g>>0]=d;li(b,g,1,20646,0);c[b+44>>2]=d;c[b+40>>2]=1;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;a[g+4>>0]=0;d=b+4|0;f=c[d>>2]|0;li(b,g,a[(c[b+16>>2]|0)+4>>0]|0?1:5,16348,0);c[b+36>>2]=f;c[b+48>>2]=c[d>>2];i=e;return}function Le(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;d=i;i=i+16|0;e=d;f=c[b+36>>2]|0;g=b+40|0;h=c[g>>2]|0;j=(c[b+4>>2]|0)-f|0;if(!(a[(c[b+16>>2]|0)+4>>0]|0)){k=j+-5|0;a[e>>0]=k|128;a[e+1>>0]=k>>>7|128;a[e+2>>0]=k>>>14|128;a[e+3>>0]=k>>>21|128;a[e+4>>0]=k>>>28;ii(b,f,e,5,16379,0);c[g>>2]=0;i=d;return}k=j-h|0;j=k;l=0;while(1){j=j>>>7;m=l+1|0;if(!j){n=m;break}else l=m}if((n|0)!=(h|0))mi(b,n+f|0,h+f|0,k);l=k>>>7;if(!l){o=k;p=0}else{j=k;k=l;l=0;while(1){a[e+l>>0]=j|128;m=l+1|0;q=k>>>7;if(!q){o=k;p=m;break}else{r=k;k=q;l=m;j=r}}}a[e+p>>0]=o&127;ii(b,f,e,p+1|0,16379,0);hi(b,n-h|0);c[g>>2]=0;i=d;return}function Me(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,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;g=i;i=i+16|0;h=g;do switch(c[f+16>>2]|0){case 0:{j=c[f+24>>2]|0;k=c[1536+(j*20|0)>>2]|0;a[h>>0]=j;li(b,h,1,k,0);i=g;return}case 1:{a[h>>0]=2;li(b,h,1,20404,0);k=f+24|0;j=c[k>>2]|0;l=c[j+8>>2]|0;switch((c[j+12>>2]|0)-l>>2|0){case 0:{a[h>>0]=64;li(b,h,1,28450,0);break}case 1:{He(b,c[l>>2]|0);break}default:{a[h>>0]=-1;li(b,h,1,16540,0)}}l=c[(c[k>>2]|0)+20>>2]|0;if(l|0){k=l;do{Me(b,d,e,k);k=c[k+20>>2]|0}while((k|0)!=0)}a[h>>0]=11;li(b,h,1,18226,0);i=g;return}case 2:{a[h>>0]=12;li(b,h,1,20249,0);k=c[f+48>>2]|0;l=k>>>7;if(!l){m=k;n=0}else{j=k;k=l;l=0;while(1){a[h+l>>0]=j|128;o=l+1|0;p=k>>>7;if(!p){m=k;n=o;break}else{q=k;k=p;l=o;j=q}}}a[h+n>>0]=m&127;li(b,h,n+1|0,16565,0);i=g;return}case 3:{a[h>>0]=13;li(b,h,1,20252,0);j=c[f+48>>2]|0;l=j>>>7;if(!l){r=j;s=0}else{k=j;j=l;l=0;while(1){a[h+l>>0]=k|128;q=l+1|0;o=j>>>7;if(!o){r=j;s=q;break}else{p=j;j=o;l=q;k=p}}}a[h+s>>0]=r&127;li(b,h,s+1|0,16565,0);i=g;return}case 4:{a[h>>0]=14;li(b,h,1,20258,0);k=f+24|0;l=c[k>>2]|0;j=(c[l+4>>2]|0)-(c[l>>2]|0)>>5;l=j>>>7;if(!l){t=j;u=0}else{p=j;j=l;l=0;while(1){a[h+l>>0]=p|128;q=l+1|0;o=j>>>7;if(!o){t=j;u=q;break}else{v=j;j=o;l=q;p=v}}}a[h+u>>0]=t&127;li(b,h,u+1|0,16577,0);p=c[k>>2]|0;l=c[p>>2]|0;j=c[p+4>>2]|0;if((l|0)!=(j|0)){p=l;do{l=c[p+24>>2]|0;v=l>>>7;if(!v){w=l;x=0}else{q=l;l=v;v=0;while(1){a[h+v>>0]=q|128;o=v+1|0;y=l>>>7;if(!y){w=l;x=o;break}else{z=l;l=y;v=o;q=z}}}a[h+x>>0]=w&127;li(b,h,x+1|0,16565,0);p=p+32|0}while((p|0)!=(j|0))}j=c[f+56>>2]|0;p=j>>>7;if(!p){A=j;B=0}else{k=j;j=p;p=0;while(1){a[h+p>>0]=k|128;q=p+1|0;v=j>>>7;if(!v){A=j;B=q;break}else{l=j;j=v;p=q;k=l}}}a[h+B>>0]=A&127;li(b,h,B+1|0,16589,0);i=g;return}case 5:{k=kc(d,f+24|0)|0;a[h>>0]=16;li(b,h,1,20267,0);Ne(b,k,21162,0);i=g;return}case 6:{k=oc(d,f+24|0)|0;a[h>>0]=17;li(b,h,1,20272,0);p=k>>>7;if(!p){D=k;E=0}else{j=k;k=p;p=0;while(1){a[h+p>>0]=j|128;l=p+1|0;q=k>>>7;if(!q){D=k;E=l;break}else{v=k;k=q;p=l;j=v}}}a[h+E>>0]=D&127;li(b,h,E+1|0,16613,0);a[h>>0]=0;li(b,h,1,26780,0);i=g;return}case 7:{j=c[f+24>>2]|0;p=c[1536+(j*20|0)>>2]|0;a[h>>0]=j;li(b,h,1,p,0);i=g;return}case 8:{switch(c[f+40>>2]|0){case -1:{a[h>>0]=65;li(b,h,1,18763,0);p=c[f+48>>2]|0;j=p>>7;if((p|0)<0){if((j|0)!=-1|(p&64|0)==0){k=p;v=j;l=0;while(1){a[h+l>>0]=k|128;q=l+1|0;z=v>>7;if((z|0)!=-1|(v&64|0)==0){o=v;v=z;l=q;k=o}else{F=v;G=q;break}}}else{F=p;G=0}a[h+G>>0]=F&127;H=G}else{if(!(j|p&64)){I=p;J=0}else{v=p;k=j;l=0;while(1){a[h+l>>0]=v|128;q=l+1|0;o=k>>7;if(!(o|k&64)){I=k;J=q;break}else{z=k;k=o;l=q;v=z}}}a[h+J>>0]=I&127;H=J}li(b,h,H+1|0,16629,0);i=g;return}case -2:{a[h>>0]=66;li(b,h,1,18773,0);v=f+48|0;l=c[v>>2]|0;k=c[v+4>>2]|0;v=l&255;j=co(l|0,k|0,7)|0;p=C;if((k|0)<0){if((j|0)!=-1|(p|0)!=-1|(v&64)==0){k=l;z=j;q=p;o=0;while(1){a[h+o>>0]=k|128;y=o+1|0;K=z&255;L=co(z|0,q|0,7)|0;q=C;if(!((L|0)!=-1|(q|0)!=-1|(K&64)==0)){M=K;N=y;break}else{K=z;z=L;o=y;k=K}}}else{M=v;N=0}a[h+N>>0]=M&127;O=N}else{if((j|0)==0&(p|0)==0&(v&64)==0){P=v;Q=0}else{k=l;o=j;z=p;q=0;while(1){a[h+q>>0]=k|128;K=q+1|0;y=o&255;L=co(o|0,z|0,7)|0;z=C;if((L|0)==0&(z|0)==0&(y&64)==0){P=y;Q=K;break}else{y=o;o=L;q=K;k=y}}}a[h+Q>>0]=P&127;O=Q}li(b,h,O+1|0,16641,0);i=g;return}case -3:{a[h>>0]=67;li(b,h,1,18783,0);c[h>>2]=c[f+48>>2];li(b,h,4,16653,0);i=g;return}case -4:{a[h>>0]=68;li(b,h,1,18793,0);k=f+48|0;q=c[k+4>>2]|0;o=h;c[o>>2]=c[k>>2];c[o+4>>2]=q;li(b,h,8,16665,0);i=g;return}default:{i=g;return}}break}case 9:{q=c[f+24>>2]|0;o=c[1536+(q*20|0)>>2]|0;a[h>>0]=q;li(b,h,1,o,0);i=g;return}case 10:{a[h>>0]=63;li(b,h,1,18736,0);a[h>>0]=0;li(b,h,1,27078,0);i=g;return}case 11:{a[h>>0]=26;li(b,h,1,20286,0);i=g;return}case 12:{o=lc(d,f+24|0)|0;a[h>>0]=35;li(b,h,1,18420,0);Ne(b,o,16677,7);i=g;return}case 13:{o=pc(e,f+24|0)|0;a[h>>0]=32;li(b,h,1,18410,0);q=o>>>7;if(!q){R=o;S=0}else{k=o;o=q;q=0;while(1){a[h+q>>0]=k|128;z=q+1|0;p=o>>>7;if(!p){R=o;S=z;break}else{j=o;o=p;q=z;k=j}}}a[h+S>>0]=R&127;li(b,h,S+1|0,16690,0);i=g;return}case 14:{a[h>>0]=64;li(b,h,1,18751,0);a[h>>0]=0;li(b,h,1,27178,0);i=g;return}case 15:{a[h>>0]=4;li(b,h,1,20415,0);k=f+24|0;q=c[k>>2]|0;o=c[q+8>>2]|0;switch((c[q+12>>2]|0)-o>>2|0){case 0:{a[h>>0]=64;li(b,h,1,28450,0);break}case 1:{He(b,c[o>>2]|0);break}default:{a[h>>0]=-1;li(b,h,1,16540,0)}}o=c[(c[k>>2]|0)+20>>2]|0;if(o|0){q=o;do{Me(b,d,e,q);q=c[q+20>>2]|0}while((q|0)!=0)}q=k+4|0;if(c[q>>2]|0?(a[h>>0]=5,li(b,h,1,18146,0),o=c[q>>2]|0,o|0):0){q=o;do{Me(b,d,e,q);q=c[q+20>>2]|0}while((q|0)!=0)}a[h>>0]=11;li(b,h,1,18226,0);i=g;return}case 16:{q=f+24|0;k=c[q>>2]|0;o=c[1536+(k*20|0)>>2]|0;a[h>>0]=k;li(b,h,1,o,0);o=vi(c[q>>2]|0,c[q+4>>2]|0)|0;if(o>>>0>1){q=o;o=0;while(1){k=o+1<<24>>24;if(q>>>0>3){q=q>>>1;o=k}else{T=k;break}}}else T=0;a[h>>0]=T;li(b,h,1,16702,0);o=c[f+32>>2]|0;q=o>>>7;if(!q){U=o;V=0}else{k=o;o=q;q=0;while(1){a[h+q>>0]=k|128;j=q+1|0;z=o>>>7;if(!z){U=o;V=j;break}else{p=o;o=z;q=j;k=p}}}a[h+V>>0]=U&127;li(b,h,V+1|0,26982,0);i=g;return}case 17:{a[h>>0]=3;li(b,h,1,20410,0);k=f+24|0;q=c[k>>2]|0;o=c[q+8>>2]|0;switch((c[q+12>>2]|0)-o>>2|0){case 0:{a[h>>0]=64;li(b,h,1,28450,0);break}case 1:{He(b,c[o>>2]|0);break}default:{a[h>>0]=-1;li(b,h,1,16540,0)}}o=c[(c[k>>2]|0)+20>>2]|0;if(o|0){k=o;do{Me(b,d,e,k);k=c[k+20>>2]|0}while((k|0)!=0)}a[h>>0]=11;li(b,h,1,18226,0);i=g;return}case 18:{a[h>>0]=1;li(b,h,1,18142,0);i=g;return}case 19:{a[h>>0]=15;li(b,h,1,20434,0);i=g;return}case 20:{a[h>>0]=27;li(b,h,1,20441,0);i=g;return}case 21:{k=lc(d,f+24|0)|0;a[h>>0]=36;li(b,h,1,20448,0);Ne(b,k,16677,7);i=g;return}case 22:{k=pc(e,f+24|0)|0;a[h>>0]=33;li(b,h,1,20459,0);o=k>>>7;if(!o){W=k;X=0}else{q=k;k=o;o=0;while(1){a[h+o>>0]=q|128;p=o+1|0;j=k>>>7;if(!j){W=k;X=p;break}else{z=k;k=j;o=p;q=z}}}a[h+X>>0]=W&127;li(b,h,X+1|0,16690,0);i=g;return}case 23:{q=f+24|0;o=c[q>>2]|0;k=c[1536+(o*20|0)>>2]|0;a[h>>0]=o;li(b,h,1,k,0);k=vi(c[q>>2]|0,c[q+4>>2]|0)|0;if(k>>>0>1){q=k;k=0;while(1){o=k+1<<24>>24;if(q>>>0>3){q=q>>>1;k=o}else{Y=o;break}}}else Y=0;a[h>>0]=Y;li(b,h,1,16702,0);k=c[f+32>>2]|0;q=k>>>7;if(!q){Z=k;_=0}else{o=k;k=q;q=0;while(1){a[h+q>>0]=o|128;z=q+1|0;p=k>>>7;if(!p){Z=k;_=z;break}else{j=k;k=p;q=z;o=j}}}a[h+_>>0]=Z&127;li(b,h,_+1|0,27037,0);i=g;return}case 24:{o=pc(e,f+24|0)|0;a[h>>0]=34;li(b,h,1,20469,0);q=o>>>7;if(!q){$=o;aa=0}else{k=o;o=q;q=0;while(1){a[h+q>>0]=k|128;j=q+1|0;z=o>>>7;if(!z){$=o;aa=j;break}else{p=o;o=z;q=j;k=p}}}a[h+aa>>0]=$&127;li(b,h,aa+1|0,16690,0);i=g;return}case 25:{k=c[f+24>>2]|0;q=c[1536+(k*20|0)>>2]|0;a[h>>0]=k;li(b,h,1,q,0);i=g;return}case 26:{a[h>>0]=0;li(b,h,1,18130,0);i=g;return}default:{i=g;return}}while(0)}function Ne(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;g=i;i=i+16|0;h=g+8|0;j=g+4|0;k=g;if(!(a[(c[b+16>>2]|0)+5>>0]|0)){l=d>>>7;if(!l){m=d;n=0}else{o=d;p=l;l=0;while(1){a[h+l>>0]=o|128;q=l+1|0;r=p>>>7;if(!r){m=p;n=q;break}else{s=p;p=r;l=q;o=s}}}a[h+n>>0]=m&127;li(b,h,n+1|0,e,0);i=g;return}c[h>>2]=f;c[j>>2]=d;n=b+32|0;m=c[n>>2]|0;if(m){o=b+44|0;l=c[o>>2]|0;if((c[m+4>>2]|0)==(l|0))t=m;else{u=o;v=l;w=5}}else{l=b+44|0;u=l;v=c[l>>2]|0;w=5}if((w|0)==5){l=b+20|0;o=c[1416+(v<<2)>>2]|0;m=b+24|0;p=c[m>>2]|0;s=b+28|0;q=c[s>>2]|0;r=q;if(p>>>0>=q>>>0){q=c[l>>2]|0;x=((p-q|0)/20|0)+1|0;if(x>>>0>214748364)rn(l);y=q;z=(r-q|0)/20|0;if(z>>>0<107374182){r=z<<1;z=r>>>0<x>>>0?x:r;r=c[m>>2]|0;x=(r-q|0)/20|0;A=r;if(!z){B=0;C=0;D=x;E=A}else{F=z;G=A;H=x;w=12}}else{x=c[m>>2]|0;F=214748364;G=x;H=(x-q|0)/20|0;w=12}if((w|0)==12){B=F;C=Tn(F*20|0)|0;D=H;E=G}G=C+(D*20|0)|0;H=G;F=C+(B*20|0)|0;B=c[u>>2]|0;c[G>>2]=o;c[C+(D*20|0)+4>>2]=B;c[C+(D*20|0)+8>>2]=0;c[C+(D*20|0)+12>>2]=0;c[C+(D*20|0)+16>>2]=0;D=G+20|0;if((E|0)==(y|0)){I=H;J=q;K=y}else{q=E;E=G;G=H;while(1){H=q;q=q+-20|0;C=q;B=c[C+4>>2]|0;u=E+-20|0;c[u>>2]=c[C>>2];c[u+4>>2]=B;B=E+-12|0;u=H+-12|0;c[B>>2]=0;C=E+-8|0;c[C>>2]=0;c[E+-4>>2]=0;c[B>>2]=c[u>>2];B=H+-8|0;c[C>>2]=c[B>>2];C=H+-4|0;c[E+-4>>2]=c[C>>2];c[C>>2]=0;c[B>>2]=0;c[u>>2]=0;E=G+-20|0;u=E;if((q|0)==(y|0)){L=u;break}else G=u}I=L;J=c[l>>2]|0;K=c[m>>2]|0}c[l>>2]=I;c[m>>2]=D;c[s>>2]=F;F=J;if((K|0)!=(F|0)){s=K;do{K=c[s+-12>>2]|0;D=K;if(K|0){I=s+-8|0;l=c[I>>2]|0;if((l|0)!=(K|0))c[I>>2]=l+(~((l+-16-D|0)>>>4)<<4);An(K)}s=s+-20|0}while((s|0)!=(F|0))}if(J|0)An(J)}else{c[p>>2]=o;c[p+4>>2]=v;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[m>>2]=p+20}p=(c[m>>2]|0)+-20|0;c[n>>2]=p;t=p}p=(c[b+4>>2]|0)-(c[b+48>>2]|0)|0;c[k>>2]=p;n=t+12|0;m=c[n>>2]|0;if(m>>>0<(c[t+16>>2]|0)>>>0){Yh(m,f,p,d,0);c[n>>2]=(c[n>>2]|0)+16}else Oe(t+8|0,h,k,j);a[h>>0]=d|128;a[h+1>>0]=d>>>7|128;a[h+2>>0]=d>>>14|128;a[h+3>>0]=d>>>21|128;a[h+4>>0]=d>>>28;li(b,h,5,e,0);i=g;return}function Oe(a,b,d,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,l=0,m=0,n=0,o=0,p=0,q=0;f=a+4|0;g=c[a>>2]|0;h=((c[f>>2]|0)-g>>4)+1|0;if(h>>>0>268435455)rn(a);i=a+8|0;j=(c[i>>2]|0)-g|0;if(j>>4>>>0<134217727){k=j>>3;j=k>>>0<h>>>0?h:k;k=(c[f>>2]|0)-g>>4;if(!j){l=0;m=0;n=k}else{o=j;p=k;q=6}}else{o=268435455;p=(c[f>>2]|0)-g>>4;q=6}if((q|0)==6){l=o;m=Tn(o<<4)|0;n=p}p=m+(n<<4)|0;Yh(p,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,0);e=c[a>>2]|0;d=(c[f>>2]|0)-e|0;b=p+(0-(d>>4)<<4)|0;ho(b|0,e|0,d|0)|0;c[a>>2]=b;c[f>>2]=p+16;c[i>>2]=m+(l<<4);if(!e)return;An(e);return}function Pe(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;e=i;i=i+112|0;f=e+8|0;g=e;h=e+12|0;c[g>>2]=d;dm(h,100,17057,g)|0;j=c[b+12>>2]|0;if(j|0){c[f>>2]=h;ki(j,16342,f)}a[g>>0]=0;li(b,g,1,17070,0);c[b+44>>2]=0;c[b+40>>2]=1;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;a[g+4>>0]=0;f=b+4|0;j=c[f>>2]|0;li(b,g,a[(c[b+16>>2]|0)+4>>0]|0?1:5,16348,0);c[b+36>>2]=j;c[b+48>>2]=c[f>>2];f=vm(d)|0;j=f>>>7;if(!j){k=f;l=0}else{h=f;m=j;j=0;while(1){a[g+j>>0]=h|128;n=j+1|0;o=m>>>7;if(!o){k=m;l=n;break}else{p=m;m=o;j=n;h=p}}}a[g+l>>0]=k&127;li(b,g,l+1|0,20843,0);li(b,d,f,17090,1);i=e;return}function Qe(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;d=i;i=i+16|0;e=d;f=c[b+52>>2]|0;g=b+56|0;h=c[g>>2]|0;j=(c[b+4>>2]|0)-f|0;if(!(a[(c[b+16>>2]|0)+4>>0]|0)){k=j+-5|0;a[e>>0]=k|128;a[e+1>>0]=k>>>7|128;a[e+2>>0]=k>>>14|128;a[e+3>>0]=k>>>21|128;a[e+4>>0]=k>>>28;ii(b,f,e,5,17153,0);c[g>>2]=0;i=d;return}k=j-h|0;j=k;l=0;while(1){j=j>>>7;m=l+1|0;if(!j){n=m;break}else l=m}if((n|0)!=(h|0))mi(b,n+f|0,h+f|0,k);l=k>>>7;if(!l){o=k;p=0}else{j=k;k=l;l=0;while(1){a[e+l>>0]=j|128;m=l+1|0;q=k>>>7;if(!q){o=k;p=m;break}else{r=k;k=q;l=m;j=r}}}a[e+p>>0]=o&127;ii(b,f,e,p+1|0,17153,0);hi(b,n-h|0);c[g>>2]=0;i=d;return}function Re(a,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+48|0;h=g;c[h+4>>2]=0;c[h>>2]=872;c[h+8>>2]=e;c[h+12>>2]=f;f=h+16|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;f=sj(a,b,h,d)|0;c[h>>2]=872;d=c[h+20>>2]|0;if(!d){i=g;return f|0}b=h+24|0;h=c[b>>2]|0;if((h|0)!=(d|0))c[b>>2]=h+(~(((h+-12-d|0)>>>0)/12|0)*12|0);An(d);i=g;return f|0}function Se(a){a=a|0;var b=0,d=0;c[a>>2]=872;b=c[a+20>>2]|0;if(!b)return;d=a+24|0;a=c[d>>2]|0;if((a|0)!=(b|0))c[d>>2]=a+(~(((a+-12-b|0)>>>0)/12|0)*12|0);An(b);return}function Te(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=872;b=c[a+20>>2]|0;if(!b){An(a);return}d=a+24|0;e=c[d>>2]|0;if((e|0)!=(b|0))c[d>>2]=e+(~(((e+-12-b|0)>>>0)/12|0)*12|0);An(b);An(a);return}function Ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[(c[a+4>>2]|0)+8>>2]|0;g=c[a+8>>2]|0;a=c[(c[g>>2]|0)+8>>2]|0;hn(e,b,vm(b)|0);b=kb[a&127](g,f,e)|0;jn(e);i=d;return b|0}function Ve(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function We(a,b){a=a|0;b=b|0;return 0}function Xe(a){a=a|0;return 0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function _e(a){a=a|0;return 0}function $e(a,b){a=a|0;b=b|0;return 0}function af(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;d=c[a+12>>2]|0;a=d+96|0;e=d+104|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+100|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;An(h);return 0}function bf(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;b=i;i=i+16|0;h=b;j=a+12|0;a=yc(c[j>>2]|0)|0;c[a+16>>2]=4;k=Tn(32)|0;nd(k);c[a+24>>2]=k;c[h>>2]=k;Ac(k+8|0,e,e+(d<<2)|0);Ac(k+20|0,g,g+(f<<2)|0);f=c[j>>2]|0;j=f+100|0;g=c[j>>2]|0;if((g|0)==(c[f+104>>2]|0)){Bc(f+96|0,h);i=b;return 0}else{c[g>>2]=k;c[j>>2]=(c[j>>2]|0)+4;i=b;return 0}return 0}function cf(a){a=a|0;return 0}function df(a,b){a=a|0;b=b|0;return 0}function ef(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;d=c[a+12>>2]|0;a=d+72|0;e=d+80|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+76|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;An(h);return 0}function ff(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;d=i;i=i+16|0;g=d;h=b+12|0;b=yc(c[h>>2]|0)|0;c[b+16>>2]=2;j=Tn(24)|0;Cd(j);c[b+24>>2]=j;c[g>>2]=j;b=c[e>>2]|0;k=c[e+4>>2]|0;a:do if(!k)l=0;else{e=b;m=0;while(1){if(!(a[e>>0]|0)){l=m;break a}n=m+1|0;if(n>>>0<k>>>0){e=e+1|0;m=n}else{l=n;break}}}while(0);m=Vn(l+1|0)|0;ho(m|0,b|0,l|0)|0;a[m+l>>0]=0;c[j>>2]=m;c[j+4>>2]=k;k=c[f>>2]|0;m=c[f+4>>2]|0;b:do if(!m)o=0;else{f=k;l=0;while(1){if(!(a[f>>0]|0)){o=l;break b}b=l+1|0;if(b>>>0<m>>>0){f=f+1|0;l=b}else{o=b;break}}}while(0);l=Vn(o+1|0)|0;ho(l|0,k|0,o|0)|0;a[l+o>>0]=0;c[j+8>>2]=l;c[j+12>>2]=m;m=c[h>>2]|0;h=m+76|0;j=c[h>>2]|0;if((j|0)==(c[m+80>>2]|0)){qe(m+72|0,g);i=d;return 0}else{c[j>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+4;i=d;return 0}return 0}function gf(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,l=0,m=0,n=0;g=b+12|0;b=c[(c[(c[g>>2]|0)+72>>2]|0)+(d<<2)>>2]|0;c[b+16>>2]=0;d=Tn(128)|0;qd(d);f=b+20|0;c[f>>2]=d;a[d+8>>0]=1;c[d+32>>2]=0;b=d+40|0;c[b>>2]=h;c[b+4>>2]=0;b=d+48|0;e=c[g>>2]|0;i=c[(c[e+96>>2]|0)+(h<<2)>>2]|0;h=i+8|0;if((b|0)==(h|0))j=e;else{Ac(b,c[h>>2]|0,c[i+12>>2]|0);Ac(d+60|0,c[i+20>>2]|0,c[i+24>>2]|0);j=c[g>>2]|0}i=j+52|0;d=c[i>>2]|0;if((d|0)==(c[j+56>>2]|0)){pe(j+48|0,f);k=c[g>>2]|0;l=k+32|0;m=c[l>>2]|0;n=m+1|0;c[l>>2]=n;return 0}else{c[d>>2]=c[f>>2];c[i>>2]=(c[i>>2]|0)+4;k=c[g>>2]|0;l=k+32|0;m=c[l>>2]|0;n=m+1|0;c[l>>2]=n;return 0}return 0}function hf(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,l=0;g=a+12|0;a=c[(c[(c[g>>2]|0)+72>>2]|0)+(b<<2)>>2]|0;c[a+16>>2]=1;b=Tn(32)|0;ud(b);f=a+20|0;c[f>>2]=b;a=b+8|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[a+16>>2]=c[h+16>>2];c[a+20>>2]=c[h+20>>2];h=c[g>>2]|0;a=h+112|0;b=c[a>>2]|0;if((b|0)==(c[h+116>>2]|0)){le(h+108|0,f);i=c[g>>2]|0;j=i+36|0;k=c[j>>2]|0;l=k+1|0;c[j>>2]=l;return 0}else{c[b>>2]=c[f>>2];c[a>>2]=(c[a>>2]|0)+4;i=c[g>>2]|0;j=i+36|0;k=c[j>>2]|0;l=k+1|0;c[j>>2]=l;return 0}return 0}function jf(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;f=a+12|0;a=c[(c[(c[f>>2]|0)+72>>2]|0)+(b<<2)>>2]|0;c[a+16>>2]=2;b=Tn(32)|0;Ad(b);e=a+20|0;c[e>>2]=b;a=b+8|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];c[a+16>>2]=c[g+16>>2];c[a+20>>2]=c[g+20>>2];g=c[f>>2]|0;a=g+136|0;b=c[a>>2]|0;if((b|0)==(c[g+140>>2]|0)){ne(g+132|0,e);h=c[f>>2]|0;i=h+40|0;j=c[i>>2]|0;k=j+1|0;c[i>>2]=k;return 0}else{c[b>>2]=c[e>>2];c[a>>2]=(c[a>>2]|0)+4;h=c[f>>2]|0;i=h+40|0;j=c[i>>2]|0;k=j+1|0;c[i>>2]=k;return 0}return 0}function kf(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,l=0,m=0;g=b+12|0;b=c[(c[(c[g>>2]|0)+72>>2]|0)+(d<<2)>>2]|0;c[b+16>>2]=3;d=Tn(20)|0;sd(d);f=b+20|0;c[f>>2]=d;c[d+8>>2]=h;a[d+12>>0]=i&1;i=c[g>>2]|0;h=i+64|0;b=c[h>>2]|0;if((b|0)==(c[i+68>>2]|0)){je(i+60|0,f);j=c[g>>2]|0;k=j+44|0;l=c[k>>2]|0;m=l+1|0;c[k>>2]=m;return 0}else{c[b>>2]=d;c[h>>2]=(c[h>>2]|0)+4;j=c[g>>2]|0;k=j+44|0;l=c[k>>2]|0;m=l+1|0;c[k>>2]=m;return 0}return 0}function lf(a){a=a|0;return 0}function mf(a,b){a=a|0;b=b|0;return 0}function nf(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;d=c[a+12>>2]|0;a=d+48|0;e=(c[d+32>>2]|0)+b|0;b=d+56|0;f=c[a>>2]|0;if((c[b>>2]|0)-f>>2>>>0>=e>>>0)return 0;g=d+52|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!e)i=0;else i=Tn(e<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[b>>2]=i+(e<<2);if(!f)return 0;An(h);return 0}function of(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;d=i;i=i+16|0;f=d;g=b+12|0;b=yc(c[g>>2]|0)|0;c[b+16>>2]=0;h=Tn(128)|0;qd(h);c[b+24>>2]=h;c[f>>2]=h;a[h+8>>0]=1;c[h+32>>2]=0;b=h+40|0;c[b>>2]=e;c[b+4>>2]=0;b=h+48|0;j=c[g>>2]|0;k=c[(c[j+96>>2]|0)+(e<<2)>>2]|0;e=k+8|0;if((b|0)==(e|0))l=j;else{Ac(b,c[e>>2]|0,c[k+12>>2]|0);Ac(h+60|0,c[k+20>>2]|0,c[k+24>>2]|0);l=c[g>>2]|0}g=l+52|0;k=c[g>>2]|0;if((k|0)==(c[l+56>>2]|0)){pe(l+48|0,f);i=d;return 0}else{c[k>>2]=h;c[g>>2]=(c[g>>2]|0)+4;i=d;return 0}return 0}function pf(a){a=a|0;return 0}function qf(a,b){a=a|0;b=b|0;return 0}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;d=c[a+12>>2]|0;a=d+108|0;e=(c[d+36>>2]|0)+b|0;b=d+116|0;f=c[a>>2]|0;if((c[b>>2]|0)-f>>2>>>0>=e>>>0)return 0;g=d+112|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!e)i=0;else i=Tn(e<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[b>>2]=i+(e<<2);if(!f)return 0;An(h);return 0}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;d=a+12|0;a=yc(c[d>>2]|0)|0;c[a+16>>2]=5;b=Tn(32)|0;ud(b);f=a+24|0;c[f>>2]=b;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];e=c[d>>2]|0;d=e+112|0;a=c[d>>2]|0;if((a|0)==(c[e+116>>2]|0)){le(e+108|0,f);return 0}else{c[a>>2]=c[f>>2];c[d>>2]=(c[d>>2]|0)+4;return 0}return 0}function tf(a){a=a|0;return 0}function uf(a,b){a=a|0;b=b|0;return 0}function vf(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;d=c[a+12>>2]|0;a=d+132|0;e=(c[d+40>>2]|0)+b|0;b=d+140|0;f=c[a>>2]|0;if((c[b>>2]|0)-f>>2>>>0>=e>>>0)return 0;g=d+136|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!e)i=0;else i=Tn(e<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[b>>2]=i+(e<<2);if(!f)return 0;An(h);return 0}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=a+12|0;a=yc(c[b>>2]|0)|0;c[a+16>>2]=7;e=Tn(32)|0;Ad(e);f=a+24|0;c[f>>2]=e;a=e+8|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];c[a+20>>2]=c[d+20>>2];d=c[b>>2]|0;b=d+136|0;a=c[b>>2]|0;if((a|0)==(c[d+140>>2]|0)){ne(d+132|0,f);return 0}else{c[a>>2]=c[f>>2];c[b>>2]=(c[b>>2]|0)+4;return 0}return 0}function xf(a){a=a|0;return 0}function yf(a,b){a=a|0;b=b|0;return 0}function zf(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;d=c[a+12>>2]|0;a=d+60|0;e=(c[d+44>>2]|0)+b|0;b=d+68|0;f=c[a>>2]|0;if((c[b>>2]|0)-f>>2>>>0>=e>>>0)return 0;g=d+64|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!e)i=0;else i=Tn(e<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[b>>2]=i+(e<<2);if(!f)return 0;An(h);return 0}function Af(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;d=b+12|0;b=yc(c[d>>2]|0)|0;c[b+16>>2]=1;g=Tn(20)|0;sd(g);h=b+24|0;c[h>>2]=g;c[g+8>>2]=e;a[g+12>>0]=f&1;f=c[d>>2]|0;d=f+64|0;e=c[d>>2]|0;if((e|0)==(c[f+68>>2]|0)){je(f+60|0,h);return 0}else{c[e>>2]=g;c[d>>2]=(c[d>>2]|0)+4;return 0}return 0}function Bf(a,b){a=a|0;b=b|0;c[a+36>>2]=(c[(c[(c[a+12>>2]|0)+60>>2]|0)+(b<<2)>>2]|0)+16;return 0}function Cf(a,b){a=a|0;b=b|0;c[a+36>>2]=0;return 0}function Df(a,b){a=a|0;b=b|0;return 0}function Ef(a){a=a|0;return 0}function Ff(a,b){a=a|0;b=b|0;return 0}function Gf(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;d=c[a+12>>2]|0;a=d+84|0;e=d+92|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+88|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;An(h);return 0}function Hf(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;d=i;i=i+16|0;h=d;j=b+12|0;b=yc(c[j>>2]|0)|0;c[b+16>>2]=3;k=Tn(48)|0;Ed(k);c[b+24>>2]=k;c[h>>2]=k;b=c[g>>2]|0;l=c[g+4>>2]|0;g=k;a:do if(!l)m=0;else{n=b;o=0;while(1){if(!(a[n>>0]|0)){m=o;break a}p=o+1|0;if(p>>>0<l>>>0){n=n+1|0;o=p}else{m=p;break}}}while(0);o=Vn(m+1|0)|0;ho(o|0,b|0,m|0)|0;a[o+m>>0]=0;c[k>>2]=o;c[k+4>>2]=l;c[k+32>>2]=0;l=k+40|0;c[l>>2]=f;c[l+4>>2]=0;c[k+8>>2]=e;e=c[j>>2]|0;j=e+88|0;k=c[j>>2]|0;if((k|0)==(c[e+92>>2]|0)){ke(e+84|0,h);i=d;return 0}else{c[k>>2]=g;c[j>>2]=(c[j>>2]|0)+4;i=d;return 0}return 0}function If(a){a=a|0;return 0}function Jf(a,b){a=a|0;b=b|0;return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;a=yc(c[d>>2]|0)|0;c[a+16>>2]=9;c[a+40>>2]=0;e=a+48|0;c[e>>2]=b;c[e+4>>2]=0;c[(c[d>>2]|0)+156>>2]=a+24;return 0}function Lf(a){a=a|0;return 0}function Mf(a,b){a=a|0;b=b|0;return 0}function Nf(a,b){a=a|0;b=b|0;return 0}function Of(a,b){a=a|0;b=b|0;var d=0;d=c[(c[(c[a+12>>2]|0)+48>>2]|0)+(b<<2)>>2]|0;c[a+16>>2]=d;Pf(a,0,d+124|0);return 0}function Pf(a,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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;d=a+32|0;c[d>>2]=(c[d>>2]|0)+1;d=a+20|0;f=a+24|0;g=c[f>>2]|0;h=a+28|0;a=c[h>>2]|0;if(g>>>0<a>>>0){c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=0;c[f>>2]=g+12;return}i=c[d>>2]|0;j=((g-i|0)/12|0)+1|0;if(j>>>0>357913941)rn(d);g=(a-i|0)/12|0;if(g>>>0<178956970){a=g<<1;g=a>>>0<j>>>0?j:a;a=c[f>>2]|0;j=(a-i|0)/12|0;if(!g){k=0;l=0;m=j;n=a}else{o=g;p=a;q=j;r=8}}else{j=c[f>>2]|0;o=357913941;p=j;q=(j-i|0)/12|0;r=8}if((r|0)==8){k=o;l=Tn(o*12|0)|0;m=q;n=p}p=l+(m*12|0)|0;c[p>>2]=b;c[l+(m*12|0)+4>>2]=e;c[l+(m*12|0)+8>>2]=0;m=n-i|0;n=p+(((m|0)/-12|0)*12|0)|0;e=i;ho(n|0,e|0,m|0)|0;c[d>>2]=n;c[f>>2]=p+12;c[h>>2]=l+(k*12|0);if(!i)return;An(e);return}function Qf(a,b){a=a|0;b=b|0;return 0}function Rf(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;b=i;i=i+16|0;f=b;c[f>>2]=e;g=c[a+16>>2]|0;a=g+72|0;h=g+76|0;j=c[a>>2]|0;k=(c[h>>2]|0)-j|0;l=k>>2;m=l+d|0;n=g+80|0;if((c[n>>2]|0)-j>>2>>>0<m>>>0){if(!m)o=0;else o=Tn(m<<2)|0;g=o+(l<<2)|0;p=g+(0-l<<2)|0;l=j;ho(p|0,l|0,k|0)|0;c[a>>2]=p;c[h>>2]=g;c[n>>2]=o+(m<<2);if(j|0)An(l)}if(!d){i=b;return 0}else q=0;do{l=c[h>>2]|0;if((l|0)==(c[n>>2]|0))de(a,f);else{c[l>>2]=e;c[h>>2]=l+4}q=q+1|0}while((q|0)!=(d|0));i=b;return 0}function Sf(a,b){a=a|0;b=b|0;return 0}function Tf(a){a=a|0;return 0}function Uf(a,b){a=a|0;b=b|0;return 0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Xf(a,b){a=a|0;b=b|0;return 0}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=Oc(b)|0;b=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(b-g|0)/12|0;if((b|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,17402,e);if(!f){j=1;i=d;return j|0}Ec(f);An(f);j=1;i=d;return j|0}e=g;g=h+-1|0;h=c[e+(g*12|0)+4>>2]|0;a=e+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=f;c[h>>2]=f;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=f;c[a>>2]=f;j=0;i=d;return j|0}return 0}function $f(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+176|0;f=e+32|0;g=e+16|0;h=e;j=e+48|0;c[g>>2]=d;c[h>>2]=c[g>>2];d=(em(j,128,b,g)|0)+1|0;if(d>>>0>128){g=i;i=i+((1*d|0)+15&-16)|0;em(g,d,b,h)|0;k=g}else k=j;j=c[a+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;hn(f,k,vm(k)|0);kb[a&127](j,-1,f)|0;jn(f);i=e;return}function ag(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;e=i;i=i+16|0;f=e;g=Tn(24)|0;Mc(g);h=Pc(g)|0;g=h+24|0;Ac((c[g>>2]|0)+8|0,d,d+(b<<2)|0);b=c[a+24>>2]|0;d=c[a+20>>2]|0;j=(b-d|0)/12|0;do if((b|0)==(d|0)){c[f>>2]=0;c[f+4>>2]=j;$f(a,17402,f);if(h|0){Ec(h);An(h)}}else{k=d;l=j+-1|0;m=c[k+(l*12|0)+4>>2]|0;n=k+(l*12|0)+8|0;if(!(c[m>>2]|0)){c[n>>2]=h;c[m>>2]=h;break}else{c[(c[n>>2]|0)+20>>2]=h;c[n>>2]=h;break}}while(0);Pf(a,1,(c[g>>2]|0)+20|0);i=e;return 0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=Qc(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=Rc(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}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;f=i;i=i+112|0;g=f+72|0;h=f+64|0;j=f+32|0;k=f;l=Tn(12)|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;if(b|0){eg(l,b);m=0;do{n=(c[l>>2]|0)+(m<<5)|0;Hc(j,c[d+(m<<2)>>2]|0,0);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];m=m+1|0}while((m|0)!=(b|0))}Hc(k,e,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[g+20>>2]=c[k+20>>2];c[g+24>>2]=c[k+24>>2];c[g+28>>2]=c[k+28>>2];k=Sc(l,g)|0;g=c[a+24>>2]|0;l=c[a+20>>2]|0;e=(g-l|0)/12|0;if((g|0)==(l|0)){c[h>>2]=0;c[h+4>>2]=e;$f(a,17402,h);if(!k){o=1;i=f;return o|0}Ec(k);An(k);o=1;i=f;return o|0}h=l;l=e+-1|0;e=c[h+(l*12|0)+4>>2]|0;a=h+(l*12|0)+8|0;if(!(c[e>>2]|0)){c[a>>2]=k;c[e>>2]=k;o=0;i=f;return o|0}else{c[(c[a>>2]|0)+20>>2]=k;c[a>>2]=k;o=0;i=f;return o|0}return 0}function eg(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;d=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(e-g>>5>>>0>=b>>>0){h=b;i=g;do{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;i=(c[f>>2]|0)+32|0;c[f>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=c[a>>2]|0;i=(g-h>>5)+b|0;if(i>>>0>134217727)rn(a);g=e-h|0;if(g>>5>>>0<67108863){e=g>>4;g=e>>>0<i>>>0?i:e;e=(c[f>>2]|0)-h>>5;if(!g){j=0;k=0;l=e}else{m=g;n=e;o=9}}else{m=134217727;n=(c[f>>2]|0)-h>>5;o=9}if((o|0)==9){j=m;k=Tn(m<<5)|0;l=n}n=k+(l<<5)|0;l=k+(j<<5)|0;j=b;b=n;k=n;while(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[b+24>>2]=0;c[b+28>>2]=0;b=k+32|0;m=b;j=j+-1|0;if(!j){p=m;break}else k=m}k=c[a>>2]|0;j=(c[f>>2]|0)-k|0;b=n+(0-(j>>5)<<5)|0;ho(b|0,k|0,j|0)|0;c[a>>2]=b;c[f>>2]=p;c[d>>2]=l;if(!k)return;An(k);return}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=Tc(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=Uc(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=Vc(b)|0;b=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(b-g|0)/12|0;if((b|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,17402,e);if(!f){j=1;i=d;return j|0}Ec(f);An(f);j=1;i=d;return j|0}e=g;g=h+-1|0;h=c[e+(g*12|0)+4>>2]|0;a=e+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=f;c[h>>2]=f;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=f;c[a>>2]=f;j=0;i=d;return j|0}return 0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=Xc(b)|0;b=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(b-g|0)/12|0;if((b|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,17402,e);if(!f){j=1;i=d;return j|0}Ec(f);An(f);j=1;i=d;return j|0}e=g;g=h+-1|0;h=c[e+(g*12|0)+4>>2]|0;a=e+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=f;c[h>>2]=f;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=f;c[a>>2]=f;j=0;i=d;return j|0}return 0}function jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=Yc()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,17402,d);if(!e){j=1;i=b;return j|0}Ec(e);An(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function kg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=Zc()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,17402,d);if(!e){j=1;i=b;return j|0}Ec(e);An(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function lg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b+16|0;e=b;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,17402,e);j=1;i=b;return j|0}e=g;g=h+-1|0;f=e+(g*12|0)|0;if((c[f>>2]|0)!=3){$f(a,17440,b+8|0);j=1;i=b;return j|0}if(h>>>0>1){c[f>>2]=4;c[e+(g*12|0)+4>>2]=(c[e+((h+-2|0)*12|0)+8>>2]|0)+24+4;c[e+(g*12|0)+8>>2]=0;j=0;i=b;return j|0}else{c[d>>2]=1;c[d+4>>2]=h;$f(a,17402,d);j=1;i=b;return j|0}return 0}function mg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=a+24|0;e=c[d>>2]|0;if((e|0)==(c[a+20>>2]|0)){$f(a,17476,b);f=1;i=b;return f|0}else{g=a+32|0;c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=e+-12;f=0;i=b;return f|0}return 0}function ng(a){a=a|0;return 0}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+48|0;f=e+41|0;g=e+32|0;h=e;a[f>>0]=a[e+40>>0]|0;Kc(h,f,d);d=Wc(h)|0;h=c[b+24>>2]|0;f=c[b+20>>2]|0;j=(h-f|0)/12|0;if((h|0)==(f|0)){c[g>>2]=0;c[g+4>>2]=j;$f(b,17402,g);if(!d){k=1;i=e;return k|0}Ec(d);An(d);k=1;i=e;return k|0}g=f;f=j+-1|0;j=c[g+(f*12|0)+4>>2]|0;b=g+(f*12|0)+8|0;if(!(c[j>>2]|0)){c[b>>2]=d;c[j>>2]=d;k=0;i=e;return k|0}else{c[(c[b>>2]|0)+20>>2]=d;c[b>>2]=d;k=0;i=e;return k|0}return 0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+48|0;g=f+41|0;h=f+32|0;j=f;a[g>>0]=a[f+40>>0]|0;Lc(j,g,d,e);e=Wc(j)|0;j=c[b+24>>2]|0;d=c[b+20>>2]|0;g=(j-d|0)/12|0;if((j|0)==(d|0)){c[h>>2]=0;c[h+4>>2]=g;$f(b,17402,h);if(!e){k=1;i=f;return k|0}Ec(e);An(e);k=1;i=f;return k|0}h=d;d=g+-1|0;g=c[h+(d*12|0)+4>>2]|0;b=h+(d*12|0)+8|0;if(!(c[g>>2]|0)){c[b>>2]=e;c[g>>2]=e;k=0;i=f;return k|0}else{c[(c[b>>2]|0)+20>>2]=e;c[b>>2]=e;k=0;i=f;return k|0}return 0}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=_c(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=$c(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function sg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=ad()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,17402,d);if(!e){j=1;i=b;return j|0}Ec(e);An(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function tg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+48|0;f=e+41|0;g=e+32|0;h=e;a[f>>0]=a[e+40>>0]|0;Ic(h,f,d);d=Wc(h)|0;h=c[b+24>>2]|0;f=c[b+20>>2]|0;j=(h-f|0)/12|0;if((h|0)==(f|0)){c[g>>2]=0;c[g+4>>2]=j;$f(b,17402,g);if(!d){k=1;i=e;return k|0}Ec(d);An(d);k=1;i=e;return k|0}g=f;f=j+-1|0;j=c[g+(f*12|0)+4>>2]|0;b=g+(f*12|0)+8|0;if(!(c[j>>2]|0)){c[b>>2]=d;c[j>>2]=d;k=0;i=e;return k|0}else{c[(c[b>>2]|0)+20>>2]=d;c[b>>2]=d;k=0;i=e;return k|0}return 0}function ug(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+48|0;g=f+41|0;h=f+32|0;j=f;a[g>>0]=a[f+40>>0]|0;Jc(j,g,d,e);e=Wc(j)|0;j=c[b+24>>2]|0;d=c[b+20>>2]|0;g=(j-d|0)/12|0;if((j|0)==(d|0)){c[h>>2]=0;c[h+4>>2]=g;$f(b,17402,h);if(!e){k=1;i=f;return k|0}Ec(e);An(e);k=1;i=f;return k|0}h=d;d=g+-1|0;g=c[h+(d*12|0)+4>>2]|0;b=h+(d*12|0)+8|0;if(!(c[g>>2]|0)){c[b>>2]=e;c[g>>2]=e;k=0;i=f;return k|0}else{c[(c[b>>2]|0)+20>>2]=e;c[b>>2]=e;k=0;i=f;return k|0}return 0}function vg(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;e=i;i=i+16|0;f=e;g=Tn(24)|0;Mc(g);h=bd(g,0)|0;g=h+24|0;Ac((c[g>>2]|0)+8|0,d,d+(b<<2)|0);c[g+4>>2]=0;b=c[a+24>>2]|0;d=c[a+20>>2]|0;j=(b-d|0)/12|0;do if((b|0)==(d|0)){c[f>>2]=0;c[f+4>>2]=j;$f(a,17402,f);if(h|0){Ec(h);An(h)}}else{k=d;l=j+-1|0;m=c[k+(l*12|0)+4>>2]|0;n=k+(l*12|0)+8|0;if(!(c[m>>2]|0)){c[n>>2]=h;c[m>>2]=h;break}else{c[(c[n>>2]|0)+20>>2]=h;c[n>>2]=h;break}}while(0);Pf(a,3,(c[g>>2]|0)+20|0);i=e;return 0}function wg(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;h=cd(b,1<<d,e,0)|0;e=c[a+24>>2]|0;d=c[a+20>>2]|0;b=(e-d|0)/12|0;if((e|0)==(d|0)){c[g>>2]=0;c[g+4>>2]=b;$f(a,17402,g);if(!h){j=1;i=f;return j|0}Ec(h);An(h);j=1;i=f;return j|0}g=d;d=b+-1|0;b=c[g+(d*12|0)+4>>2]|0;a=g+(d*12|0)+8|0;if(!(c[b>>2]|0)){c[a>>2]=h;c[b>>2]=h;j=0;i=f;return j|0}else{c[(c[a>>2]|0)+20>>2]=h;c[a>>2]=h;j=0;i=f;return j|0}return 0}function xg(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;e=i;i=i+16|0;f=e;g=Tn(24)|0;Mc(g);h=dd(g)|0;g=h+24|0;Ac((c[g>>2]|0)+8|0,d,d+(b<<2)|0);b=c[a+24>>2]|0;d=c[a+20>>2]|0;j=(b-d|0)/12|0;do if((b|0)==(d|0)){c[f>>2]=0;c[f+4>>2]=j;$f(a,17402,f);if(h|0){Ec(h);An(h)}}else{k=d;l=j+-1|0;m=c[k+(l*12|0)+4>>2]|0;n=k+(l*12|0)+8|0;if(!(c[m>>2]|0)){c[n>>2]=h;c[m>>2]=h;break}else{c[(c[n>>2]|0)+20>>2]=h;c[n>>2]=h;break}}while(0);Pf(a,2,(c[g>>2]|0)+20|0);i=e;return 0}function yg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=ed()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,17402,d);if(!e){j=1;i=b;return j|0}Ec(e);An(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function zg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=fd()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,17402,d);if(!e){j=1;i=b;return j|0}Ec(e);An(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function Ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=gd()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,17402,d);if(!e){j=1;i=b;return j|0}Ec(e);An(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=hd(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=id(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}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;f=i;i=i+16|0;g=f;h=jd(b,1<<d,e,0)|0;e=c[a+24>>2]|0;d=c[a+20>>2]|0;b=(e-d|0)/12|0;if((e|0)==(d|0)){c[g>>2]=0;c[g+4>>2]=b;$f(a,17402,g);if(!h){j=1;i=f;return j|0}Ec(h);An(h);j=1;i=f;return j|0}g=d;d=b+-1|0;b=c[g+(d*12|0)+4>>2]|0;a=g+(d*12|0)+8|0;if(!(c[b>>2]|0)){c[a>>2]=h;c[b>>2]=h;j=0;i=f;return j|0}else{c[(c[a>>2]|0)+20>>2]=h;c[a>>2]=h;j=0;i=f;return j|0}return 0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+40|0;f=d+32|0;g=d;Hc(g,b,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];g=kd(e)|0;e=c[a+24>>2]|0;b=c[a+20>>2]|0;h=(e-b|0)/12|0;if((e|0)==(b|0)){c[f>>2]=0;c[f+4>>2]=h;$f(a,17402,f);if(!g){j=1;i=d;return j|0}Ec(g);An(g);j=1;i=d;return j|0}f=b;b=h+-1|0;h=c[f+(b*12|0)+4>>2]|0;a=f+(b*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=g;c[h>>2]=g;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=g;c[a>>2]=g;j=0;i=d;return j|0}return 0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;f=ld(b)|0;b=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(b-g|0)/12|0;if((b|0)==(g|0)){c[e>>2]=0;c[e+4>>2]=h;$f(a,17402,e);if(!f){j=1;i=d;return j|0}Ec(f);An(f);j=1;i=d;return j|0}e=g;g=h+-1|0;h=c[e+(g*12|0)+4>>2]|0;a=e+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=f;c[h>>2]=f;j=0;i=d;return j|0}else{c[(c[a>>2]|0)+20>>2]=f;c[a>>2]=f;j=0;i=d;return j|0}return 0}function Gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b;e=md()|0;f=c[a+24>>2]|0;g=c[a+20>>2]|0;h=(f-g|0)/12|0;if((f|0)==(g|0)){c[d>>2]=0;c[d+4>>2]=h;$f(a,17402,d);if(!e){j=1;i=b;return j|0}Ec(e);An(e);j=1;i=b;return j|0}d=g;g=h+-1|0;h=c[d+(g*12|0)+4>>2]|0;a=d+(g*12|0)+8|0;if(!(c[h>>2]|0)){c[a>>2]=e;c[h>>2]=e;j=0;i=b;return j|0}else{c[(c[a>>2]|0)+20>>2]=e;c[a>>2]=e;j=0;i=b;return j|0}return 0}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=a+24|0;e=c[d>>2]|0;if((e|0)==(c[a+20>>2]|0)){$f(a,17476,b);f=1;i=b;return f|0}else{g=a+32|0;c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=e+-12;c[a+16>>2]=0;f=0;i=b;return f|0}return 0}function Ig(a){a=a|0;return 0}function Jg(a,b){a=a|0;b=b|0;return 0}function Kg(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;d=c[a+12>>2]|0;a=d+120|0;e=d+128|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+124|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;An(h);return 0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=a+12|0;a=yc(c[b>>2]|0)|0;c[a+16>>2]=6;e=Tn(48)|0;wd(e);f=a+24|0;c[f>>2]=e;c[e+16>>2]=0;a=e+24|0;c[a>>2]=d;c[a+4>>2]=0;a=c[b>>2]|0;b=a+124|0;d=c[b>>2]|0;if((d|0)==(c[a+128>>2]|0)){me(a+120|0,f);return 0}else{c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+4;return 0}return 0}function Mg(a,b){a=a|0;b=b|0;c[a+36>>2]=(c[(c[(c[a+12>>2]|0)+120>>2]|0)+(b<<2)>>2]|0)+32;return 0}function Ng(a,b){a=a|0;b=b|0;c[a+36>>2]=0;return 0}function Og(a,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=c[(c[(c[a+12>>2]|0)+120>>2]|0)+(b<<2)>>2]|0;b=e+36|0;a=e+44|0;f=c[b>>2]|0;if((c[a>>2]|0)-f>>5>>>0>=d>>>0)return 0;g=e+40|0;e=(c[g>>2]|0)-f|0;h=e>>5;if(!d)i=0;else i=Tn(d<<5)|0;j=i+(h<<5)|0;k=j+(0-h<<5)|0;h=f;ho(k|0,h|0,e|0)|0;c[b>>2]=k;c[g>>2]=j;c[a>>2]=i+(d<<5);if(!f)return 0;An(h);return 0}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[(c[(c[a+12>>2]|0)+120>>2]|0)+(b<<2)>>2]|0;b=e+40|0;a=c[b>>2]|0;if(a>>>0<(c[e+44>>2]|0)>>>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[b>>2]|0)+32|0;c[b>>2]=a;f=a}else{Qg(e+36|0);f=c[b>>2]|0}c[f+-16>>2]=0;b=f+-8|0;c[b>>2]=d;c[b+4>>2]=0;return 0}function Qg(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;b=a+4|0;d=c[a>>2]|0;e=((c[b>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)rn(a);f=a+8|0;g=(c[f>>2]|0)-d|0;if(g>>5>>>0<67108863){h=g>>4;g=h>>>0<e>>>0?e:h;h=c[b>>2]|0;e=h-d>>5;if(!g){i=0;j=0;k=e;l=h}else{m=g;n=h;o=e;p=6}}else{e=c[b>>2]|0;m=134217727;n=e;o=e-d>>5;p=6}if((p|0)==6){i=m;j=Tn(m<<5)|0;k=o;l=n}n=j+(k<<5)|0;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;k=l-d|0;l=n+(0-(k>>5)<<5)|0;ho(l|0,d|0,k|0)|0;c[a>>2]=l;c[b>>2]=n+32;c[f>>2]=j+(i<<5);if(!d)return;An(d);return}function Rg(a,b){a=a|0;b=b|0;return 0}function Sg(a){a=a|0;return 0}function Tg(a,b){a=a|0;b=b|0;return 0}function Ug(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;d=c[a+12>>2]|0;a=d+144|0;e=d+152|0;f=c[a>>2]|0;if((c[e>>2]|0)-f>>2>>>0>=b>>>0)return 0;g=d+148|0;d=(c[g>>2]|0)-f|0;h=d>>2;if(!b)i=0;else i=Tn(b<<2)|0;j=i+(h<<2)|0;k=j+(0-h<<2)|0;h=f;ho(k|0,h|0,d|0)|0;c[a>>2]=k;c[g>>2]=j;c[e>>2]=i+(b<<2);if(!f)return 0;An(h);return 0}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=a+12|0;a=yc(c[b>>2]|0)|0;c[a+16>>2]=8;e=Tn(48)|0;yd(e);f=a+24|0;c[f>>2]=e;c[e+16>>2]=0;a=e+24|0;c[a>>2]=d;c[a+4>>2]=0;a=c[b>>2]|0;b=a+148|0;d=c[b>>2]|0;if((d|0)==(c[a+152>>2]|0)){oe(a+144|0,f);return 0}else{c[d>>2]=e;c[b>>2]=(c[b>>2]|0)+4;return 0}return 0}function Wg(a,b){a=a|0;b=b|0;c[a+36>>2]=(c[(c[(c[a+12>>2]|0)+144>>2]|0)+(b<<2)>>2]|0)+32;return 0}function Xg(a,b){a=a|0;b=b|0;c[a+36>>2]=0;return 0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[(c[(c[a+12>>2]|0)+144>>2]|0)+(b<<2)>>2]|0;b=Vn(e)|0;c[f+36>>2]=b;c[f+40>>2]=e;ho(b|0,d|0,e|0)|0;return 0}function Zg(a,b){a=a|0;b=b|0;return 0}function _g(a){a=a|0;return 0}function $g(a,b){a=a|0;b=b|0;return 0}function ah(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function bh(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;e=d;f=c[a+12>>2]|0;g=(c[f+52>>2]|0)-(c[f+48>>2]|0)>>2;if(g>>>0>=b>>>0){h=0;i=d;return h|0}c[e>>2]=b;c[e+4>>2]=g;$f(a,17502,e);h=1;i=d;return h|0}function ch(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;f=i;i=i+32|0;g=f+16|0;h=f;if(Zh(e)|0){i=f;return 0}j=b+12|0;b=c[j>>2]|0;k=e+4|0;hn(g,c[e>>2]|0,c[k>>2]|0);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;l=Tn(40)|0;m=l+8|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;m=l+20|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];c[l+36>>2]=d;ge(b+160|0,l)|0;jn(g);g=c[(c[(c[j>>2]|0)+48>>2]|0)+(d<<2)>>2]|0;d=c[e>>2]|0;e=c[k>>2]|0;a:do if(!e)n=0;else{k=d;j=0;while(1){if(!(a[k>>0]|0)){n=j;break a}l=j+1|0;if(l>>>0<e>>>0){k=k+1|0;j=l}else{n=l;break}}}while(0);j=Vn(n+1|0)|0;ho(j|0,d|0,n|0)|0;a[j+n>>0]=0;c[g>>2]=j;c[g+4>>2]=e;i=f;return 0}function dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function eh(a,b){a=a|0;b=b|0;return 0}function fh(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;g=c[(c[(c[a+12>>2]|0)+48>>2]|0)+(b<<2)>>2]|0;b=((c[g+76>>2]|0)-(c[g+72>>2]|0)>>2)+((c[g+52>>2]|0)-(c[g+48>>2]|0)>>2)|0;if(b>>>0>=d>>>0){h=0;i=e;return h|0}c[f>>2]=d;c[f+4>>2]=b;$f(a,17560,f);h=1;i=e;return h|0}function gh(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;g=f+16|0;h=f;if(Zh(e)|0){i=f;return 0}j=c[(c[(c[a+12>>2]|0)+48>>2]|0)+(b<<2)>>2]|0;b=(c[j+52>>2]|0)-(c[j+48>>2]|0)>>2;a=b>>>0>d>>>0;hn(g,c[e>>2]|0,c[e+4>>2]|0);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;e=Tn(40)|0;k=e+8|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;k=e+20|0;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];c[e+36>>2]=d-(a?0:b);ge(a?j+84|0:j+104|0,e)|0;jn(g);i=f;return 0}function hh(a){a=a|0;return 0}function ih(a,b){a=a|0;b=b|0;return 0}function jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function kh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function lh(a){a=a|0;return 0}function mh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=i;i=i+48|0;f=d+33|0;g=d;a[f>>0]=a[d+32>>0]|0;Kc(g,f,e);e=Wc(g)|0;c[c[b+36>>2]>>2]=e;i=d;return 0}function nh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;d=i;i=i+48|0;g=d+33|0;h=d;a[g>>0]=a[d+32>>0]|0;Lc(h,g,e,f);f=Wc(h)|0;c[c[b+36>>2]>>2]=f;i=d;return 0}function oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=i;i=i+64|0;e=b+32|0;f=b;Hc(f,d,0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[e+16>>2]=c[f+16>>2];c[e+20>>2]=c[f+20>>2];c[e+24>>2]=c[f+24>>2];c[e+28>>2]=c[f+28>>2];f=_c(e)|0;c[c[a+36>>2]>>2]=f;i=b;return 0}function ph(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=i;i=i+48|0;f=d+33|0;g=d;a[f>>0]=a[d+32>>0]|0;Ic(g,f,e);e=Wc(g)|0;c[c[b+36>>2]>>2]=e;i=d;return 0}function qh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;d=i;i=i+48|0;g=d+33|0;h=d;a[g>>0]=a[d+32>>0]|0;Jc(h,g,e,f);f=Wc(h)|0;c[c[b+36>>2]>>2]=f;i=d;return 0}function rh(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;if(!(c[a+12>>2]|0)){i=e;return}c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;sh(a,f);uh(c[f>>2]|0,c[g>>2]|0);yh(0,f,b,d);d=c[f>>2]|0;f=d;if(d|0){b=c[g>>2]|0;if((b|0)!=(d|0))c[g>>2]=b+(~((b+-4-f|0)>>>2)<<2);An(d)}i=e;return}function sh(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,x=0,y=0,z=0,A=0,B=0,C=0;f=i;i=i+16|0;g=f+4|0;h=f;j=c[d+8>>2]|0;d=c[j>>2]|0;if(!d){i=f;return}k=e+4|0;l=e+8|0;m=j;j=1;n=d;while(1){d=n;o=m;p=o+8|0;q=d+8|0;r=b[p>>1]|0;s=(r&1)==0;t=(r&254)>>>1;u=s?t:c[o+12>>2]|0;v=a[q>>0]|0;w=(v&1)==0;x=(r&65535)>>>8&255;a:do if((u|0)==((w?(v&255)>>>1:c[d+12>>2]|0)|0)){r=w?q+1|0:c[d+16>>2]|0;b:do if(s){if(u|0){if(x<<24>>24!=(a[r>>0]|0)){y=n;z=1;break a}A=t;B=p+1|0;C=r;while(1){A=A+-1|0;B=B+1|0;if(!A)break b;C=C+1|0;if((a[B>>0]|0)!=(a[C>>0]|0)){y=n;z=1;break a}}}}else if(um(c[o+16>>2]|0,r,u)|0){y=n;z=1;break a}while(0);do if(j){c[g>>2]=p;r=c[k>>2]|0;if(r>>>0<(c[l>>2]|0)>>>0){c[r>>2]=p;c[k>>2]=(c[k>>2]|0)+4;break}else{th(e,g);break}}while(0);c[h>>2]=q;r=c[k>>2]|0;if(r>>>0<(c[l>>2]|0)>>>0){c[r>>2]=q;c[k>>2]=(c[k>>2]|0)+4;y=m;z=0;break}else{th(e,h);y=m;z=0;break}}else{y=n;z=1}while(0);n=c[n>>2]|0;if(!n)break;else{m=y;j=z}}i=f;return}function th(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function uh(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,u=0,v=0,w=0,x=0,y=0,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;d=a;a=b;a:while(1){b=a;e=a+-4|0;f=a+-8|0;g=d;b:while(1){h=g;i=b-h|0;j=i>>2;switch(j|0){case 2:{k=g;l=e;m=e;n=4;break a;break}case 3:{o=g;p=e;q=e;n=8;break a;break}case 4:{r=g;s=e;n=26;break a;break}case 5:{t=g;u=e;n=27;break a;break}case 1:case 0:{n=137;break a;break}default:{}}if((i|0)<124){v=g;w=a;n=29;break a}x=g+(((j|0)/2|0)<<2)|0;do if((i|0)>3996){y=(j|0)/4|0;z=wh(g,g+(y<<2)|0,x,x+(y<<2)|0,e)|0}else{y=c[x>>2]|0;A=c[g>>2]|0;B=c[y+16>>2]|0;C=c[A+16>>2]|0;D=y;E=A;if((B|0)>=(C|0))if((B|0)==(C|0))F=(c[y+20>>2]|0)<(c[A+20>>2]|0);else F=0;else F=1;G=c[e>>2]|0;H=c[G+16>>2]|0;I=G;if((H|0)>=(B|0))if((H|0)==(B|0))J=(c[G+20>>2]|0)<(c[y+20>>2]|0);else J=0;else J=1;if(!F){if(!J){z=0;break}c[x>>2]=I;c[e>>2]=D;y=c[x>>2]|0;G=c[g>>2]|0;B=c[y+16>>2]|0;H=c[G+16>>2]|0;K=G;L=y;if((B|0)>=(H|0)){if((B|0)!=(H|0)){z=1;break}if((c[y+20>>2]|0)>=(c[G+20>>2]|0)){z=1;break}}c[g>>2]=L;c[x>>2]=K;z=2;break}if(J){c[g>>2]=I;c[e>>2]=E;z=1;break}c[g>>2]=D;c[x>>2]=E;D=c[e>>2]|0;I=c[D+16>>2]|0;K=D;if((I|0)>=(C|0)){if((I|0)!=(C|0)){z=1;break}if((c[D+20>>2]|0)>=(c[A+20>>2]|0)){z=1;break}}c[x>>2]=K;c[e>>2]=E;z=2}while(0);j=c[g>>2]|0;i=c[x>>2]|0;E=c[j+16>>2]|0;K=c[i+16>>2]|0;A=j;c:do if((E|0)<(K|0)){M=e;N=z}else{if((E|0)==(K|0)?(c[j+20>>2]|0)<(c[i+20>>2]|0):0){M=e;N=z;break}d:do if((g|0)!=(f|0)){D=i+20|0;C=f;while(1){I=c[C>>2]|0;L=c[I+16>>2]|0;if((L|0)<(K|0)){O=C;P=I;break}if((L|0)==(K|0)?(c[I+20>>2]|0)<(c[D>>2]|0):0){O=C;P=I;break}C=C+-4|0;if((g|0)==(C|0))break d}c[g>>2]=P;c[O>>2]=A;M=O;N=z+1|0;break c}while(0);C=g+4|0;D=c[e>>2]|0;I=c[D+16>>2]|0;L=D;do if((E|0)<(I|0))Q=C;else{if((E|0)==(I|0)?(c[j+20>>2]|0)<(c[D+20>>2]|0):0){Q=C;break}if((C|0)==(e|0)){n=137;break a}G=j+20|0;y=C;while(1){H=c[y>>2]|0;B=c[H+16>>2]|0;if((E|0)<(B|0)){R=H;S=y;break}if((E|0)==(B|0)?(c[G>>2]|0)<(c[H+20>>2]|0):0){R=H;S=y;break}y=y+4|0;if((y|0)==(e|0)){n=137;break a}}c[S>>2]=L;c[e>>2]=R;Q=S+4|0}while(0);if((Q|0)==(e|0)){n=137;break a}else{T=Q;U=e}while(1){L=c[g>>2]|0;C=c[T>>2]|0;D=c[L+16>>2]|0;I=c[C+16>>2]|0;e:do if((D|0)<(I|0))V=T;else{y=L+20|0;G=I;H=C;B=T;while(1){if((D|0)==(G|0)?(c[y>>2]|0)<(c[H+20>>2]|0):0){V=B;break e}W=B+4|0;H=c[W>>2]|0;G=c[H+16>>2]|0;if((D|0)<(G|0)){V=W;break}else B=W}}while(0);C=L+20|0;I=U;while(1){B=I+-4|0;G=c[B>>2]|0;H=c[G+16>>2]|0;if((D|0)<(H|0)){I=B;continue}if((D|0)!=(H|0)){X=B;Y=G;break}if((c[C>>2]|0)<(c[G+20>>2]|0))I=B;else{X=B;Y=G;break}}if(V>>>0>=X>>>0){g=V;continue b}I=c[V>>2]|0;c[V>>2]=Y;c[X>>2]=I;T=V+4|0;U=X}}while(0);E=g+4|0;f:do if(E>>>0<M>>>0){j=E;A=M;K=x;i=N;while(1){I=c[K>>2]|0;C=c[I+16>>2]|0;D=I+20|0;I=j;while(1){L=c[I>>2]|0;G=c[L+16>>2]|0;if((G|0)>=(C|0)){if((G|0)!=(C|0)){Z=L;_=I;break}if((c[L+20>>2]|0)>=(c[D>>2]|0)){Z=L;_=I;break}}I=I+4|0}I=Z;L=A+-4|0;G=c[L>>2]|0;B=c[G+16>>2]|0;g:do if((B|0)<(C|0))$=L;else{H=B;y=G;W=L;while(1){if((H|0)==(C|0)?(c[y+20>>2]|0)<(c[D>>2]|0):0){$=W;break g}aa=W+-4|0;y=c[aa>>2]|0;H=c[y+16>>2]|0;if((H|0)<(C|0)){$=aa;break}else W=aa}}while(0);if(_>>>0>$>>>0){ba=_;ca=K;da=i;break f}c[_>>2]=c[$>>2];c[$>>2]=I;j=_+4|0;A=$;K=(K|0)==(_|0)?$:K;i=i+1|0}}else{ba=E;ca=x;da=N}while(0);do if((ba|0)==(ca|0))ea=da;else{x=c[ca>>2]|0;E=c[ba>>2]|0;i=c[x+16>>2]|0;K=c[E+16>>2]|0;A=E;j=x;if((i|0)>=(K|0)){if((i|0)!=(K|0)){ea=da;break}if((c[x+20>>2]|0)>=(c[E+20>>2]|0)){ea=da;break}}c[ba>>2]=j;c[ca>>2]=A;ea=da+1|0}while(0);if(!ea){fa=xh(g,ba)|0;A=ba+4|0;if(xh(A,a)|0){n=136;break}if(fa){g=A;continue}}A=ba;if((A-h|0)>=(b-A|0)){ga=g;ha=ba;n=135;break}uh(g,ba);g=ba+4|0}if((n|0)==135){n=0;uh(ha+4|0,a);d=ga;a=ha;continue}else if((n|0)==136){n=0;if(fa){n=137;break}else{d=g;a=ba;continue}}}if((n|0)==4){ba=c[l>>2]|0;l=c[k>>2]|0;a=c[ba+16>>2]|0;d=c[l+16>>2]|0;fa=l;ha=ba;if((a|0)>=(d|0)){if((a|0)!=(d|0))return;if((c[ba+20>>2]|0)>=(c[l+20>>2]|0))return}c[k>>2]=ha;c[m>>2]=fa;return}else if((n|0)==8){fa=o+4|0;m=c[fa>>2]|0;ha=c[o>>2]|0;k=c[m+16>>2]|0;l=c[ha+16>>2]|0;ba=m;d=ha;if((k|0)>=(l|0))if((k|0)==(l|0))ia=(c[m+20>>2]|0)<(c[ha+20>>2]|0);else ia=0;else ia=1;a=c[p>>2]|0;ga=c[a+16>>2]|0;ea=a;if((ga|0)>=(k|0))if((ga|0)==(k|0))ja=(c[a+20>>2]|0)<(c[m+20>>2]|0);else ja=0;else ja=1;if(!ia){if(!ja)return;c[fa>>2]=ea;c[q>>2]=ba;ia=c[fa>>2]|0;m=c[o>>2]|0;a=c[ia+16>>2]|0;k=c[m+16>>2]|0;ga=m;da=ia;if((a|0)>=(k|0)){if((a|0)!=(k|0))return;if((c[ia+20>>2]|0)>=(c[m+20>>2]|0))return}c[o>>2]=da;c[fa>>2]=ga;return}if(ja){c[o>>2]=ea;c[q>>2]=d;return}c[o>>2]=ba;c[fa>>2]=d;ba=c[p>>2]|0;p=c[ba+16>>2]|0;o=ba;if((p|0)>=(l|0)){if((p|0)!=(l|0))return;if((c[ba+20>>2]|0)>=(c[ha+20>>2]|0))return}c[fa>>2]=o;c[q>>2]=d;return}else if((n|0)==26){vh(r,r+4|0,r+8|0,s)|0;return}else if((n|0)==27){wh(t,t+4|0,t+8|0,t+12|0,u)|0;return}else if((n|0)==29){u=v+8|0;t=v+4|0;s=c[t>>2]|0;r=c[v>>2]|0;d=c[s+16>>2]|0;q=c[r+16>>2]|0;o=s;fa=r;if((d|0)>=(q|0))if((d|0)==(q|0))ka=(c[s+20>>2]|0)<(c[r+20>>2]|0);else ka=0;else ka=1;ha=c[u>>2]|0;ba=c[ha+16>>2]|0;l=ha;if((ba|0)>=(d|0))if((ba|0)==(d|0))la=(c[ha+20>>2]|0)<(c[s+20>>2]|0);else la=0;else la=1;do if(!ka)if(la){c[t>>2]=l;c[u>>2]=o;if((ba|0)>=(q|0)){if((ba|0)!=(q|0)){ma=o;na=s;break}if((c[ha+20>>2]|0)>=(c[r+20>>2]|0)){ma=o;na=s;break}}c[v>>2]=l;c[t>>2]=fa;ma=o;na=s}else{ma=l;na=ha}else{if(la){c[v>>2]=l;c[u>>2]=fa;ma=fa;na=r;break}c[v>>2]=o;c[t>>2]=fa;if((ba|0)>=(q|0)){if((ba|0)!=(q|0)){ma=l;na=ha;break}if((c[ha+20>>2]|0)>=(c[r+20>>2]|0)){ma=l;na=ha;break}}c[t>>2]=l;c[u>>2]=fa;ma=fa;na=r}while(0);r=v+12|0;if((r|0)==(w|0))return;else{oa=na;pa=ma;qa=r;ra=u}while(1){u=c[qa>>2]|0;r=u+16|0;ma=c[r>>2]|0;na=c[oa+16>>2]|0;fa=u;if((ma|0)>=(na|0)){if((ma|0)==(na|0)?(na=u+20|0,(c[na>>2]|0)<(c[oa+20>>2]|0)):0){sa=na;n=52}}else{sa=u+20|0;n=52}if((n|0)==52){n=0;c[qa>>2]=pa;h:do if((ra|0)==(v|0))ta=ra;else{u=c[r>>2]|0;na=ra;while(1){ma=na+-4|0;l=c[ma>>2]|0;t=c[l+16>>2]|0;ha=l;if((u|0)>=(t|0)){if((u|0)!=(t|0)){ta=na;break h}if((c[sa>>2]|0)>=(c[l+20>>2]|0)){ta=na;break h}}c[na>>2]=ha;if((ma|0)==(v|0)){ta=ma;break}else na=ma}}while(0);c[ta>>2]=fa}r=qa+4|0;if((r|0)==(w|0))break;g=c[qa>>2]|0;na=qa;oa=g;pa=g;qa=r;ra=na}return}else if((n|0)==137)return}function vh(a,b,d,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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=c[b>>2]|0;g=c[a>>2]|0;h=c[f+16>>2]|0;i=c[g+16>>2]|0;j=f;k=g;if((h|0)>=(i|0))if((h|0)==(i|0))l=(c[f+20>>2]|0)<(c[g+20>>2]|0);else l=0;else l=1;m=c[d>>2]|0;n=c[m+16>>2]|0;o=m;if((n|0)>=(h|0))if((n|0)==(h|0))p=(c[m+20>>2]|0)<(c[f+20>>2]|0);else p=0;else p=1;do if(!l)if(p){c[b>>2]=o;c[d>>2]=j;h=c[b>>2]|0;n=c[a>>2]|0;q=c[h+16>>2]|0;r=c[n+16>>2]|0;s=n;t=h;if((q|0)>=(r|0)){if((q|0)!=(r|0)){u=1;v=f;w=j;break}if((c[h+20>>2]|0)>=(c[n+20>>2]|0)){u=1;v=f;w=j;break}}c[a>>2]=t;c[b>>2]=s;s=c[d>>2]|0;u=2;v=s;w=s}else{u=0;v=m;w=o}else{if(p){c[a>>2]=o;c[d>>2]=k;u=1;v=g;w=k;break}c[a>>2]=j;c[b>>2]=k;s=c[d>>2]|0;t=c[s+16>>2]|0;n=s;if((t|0)>=(i|0)){if((t|0)!=(i|0)){u=1;v=s;w=n;break}if((c[s+20>>2]|0)>=(c[g+20>>2]|0)){u=1;v=s;w=n;break}}c[b>>2]=n;c[d>>2]=k;u=2;v=g;w=k}while(0);k=c[e>>2]|0;g=c[k+16>>2]|0;i=c[v+16>>2]|0;j=k;if((g|0)>=(i|0)){if((g|0)!=(i|0)){x=u;return x|0}if((c[k+20>>2]|0)>=(c[v+20>>2]|0)){x=u;return x|0}}c[d>>2]=j;c[e>>2]=w;w=u+1|0;e=c[d>>2]|0;j=c[b>>2]|0;v=c[e+16>>2]|0;k=c[j+16>>2]|0;i=j;g=e;if((v|0)>=(k|0)){if((v|0)!=(k|0)){x=w;return x|0}if((c[e+20>>2]|0)>=(c[j+20>>2]|0)){x=w;return x|0}}c[b>>2]=g;c[d>>2]=i;i=u+2|0;d=c[b>>2]|0;g=c[a>>2]|0;w=c[d+16>>2]|0;j=c[g+16>>2]|0;e=g;k=d;if((w|0)>=(j|0)){if((w|0)!=(j|0)){x=i;return x|0}if((c[d+20>>2]|0)>=(c[g+20>>2]|0)){x=i;return x|0}}c[a>>2]=k;c[b>>2]=e;x=u+3|0;return x|0}function wh(a,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;g=vh(a,b,d,e)|0;h=c[f>>2]|0;i=c[e>>2]|0;j=c[h+16>>2]|0;k=c[i+16>>2]|0;l=i;m=h;if((j|0)>=(k|0)){if((j|0)!=(k|0)){n=g;return n|0}if((c[h+20>>2]|0)>=(c[i+20>>2]|0)){n=g;return n|0}}c[e>>2]=m;c[f>>2]=l;l=g+1|0;f=c[e>>2]|0;m=c[d>>2]|0;i=c[f+16>>2]|0;h=c[m+16>>2]|0;k=m;j=f;if((i|0)>=(h|0)){if((i|0)!=(h|0)){n=l;return n|0}if((c[f+20>>2]|0)>=(c[m+20>>2]|0)){n=l;return n|0}}c[d>>2]=j;c[e>>2]=k;k=g+2|0;e=c[d>>2]|0;j=c[b>>2]|0;l=c[e+16>>2]|0;m=c[j+16>>2]|0;f=j;h=e;if((l|0)>=(m|0)){if((l|0)!=(m|0)){n=k;return n|0}if((c[e+20>>2]|0)>=(c[j+20>>2]|0)){n=k;return n|0}}c[b>>2]=h;c[d>>2]=f;f=g+3|0;d=c[b>>2]|0;h=c[a>>2]|0;k=c[d+16>>2]|0;j=c[h+16>>2]|0;e=h;m=d;if((k|0)>=(j|0)){if((k|0)!=(j|0)){n=f;return n|0}if((c[d+20>>2]|0)>=(c[h+20>>2]|0)){n=f;return n|0}}c[a>>2]=m;c[b>>2]=e;n=g+4|0;return n|0}function xh(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,u=0,v=0,w=0,x=0,y=0,z=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=c[d>>2]|0;f=c[a>>2]|0;g=c[e+16>>2]|0;h=c[f+16>>2]|0;i=f;j=e;if((g|0)>=(h|0)){if((g|0)!=(h|0)){k=1;return k|0}if((c[e+20>>2]|0)>=(c[f+20>>2]|0)){k=1;return k|0}}c[a>>2]=j;c[d>>2]=i;k=1;return k|0}case 3:{i=a+4|0;d=b+-4|0;j=c[i>>2]|0;f=c[a>>2]|0;e=c[j+16>>2]|0;h=c[f+16>>2]|0;g=j;l=f;if((e|0)>=(h|0))if((e|0)==(h|0))m=(c[j+20>>2]|0)<(c[f+20>>2]|0);else m=0;else m=1;n=c[d>>2]|0;o=c[n+16>>2]|0;p=n;if((o|0)>=(e|0))if((o|0)==(e|0))q=(c[n+20>>2]|0)<(c[j+20>>2]|0);else q=0;else q=1;if(!m){if(!q){k=1;return k|0}c[i>>2]=p;c[d>>2]=g;m=c[i>>2]|0;j=c[a>>2]|0;n=c[m+16>>2]|0;e=c[j+16>>2]|0;o=j;r=m;if((n|0)>=(e|0)){if((n|0)!=(e|0)){k=1;return k|0}if((c[m+20>>2]|0)>=(c[j+20>>2]|0)){k=1;return k|0}}c[a>>2]=r;c[i>>2]=o;k=1;return k|0}if(q){c[a>>2]=p;c[d>>2]=l;k=1;return k|0}c[a>>2]=g;c[i>>2]=l;g=c[d>>2]|0;p=c[g+16>>2]|0;q=g;if((p|0)>=(h|0)){if((p|0)!=(h|0)){k=1;return k|0}if((c[g+20>>2]|0)>=(c[f+20>>2]|0)){k=1;return k|0}}c[i>>2]=q;c[d>>2]=l;k=1;return k|0}case 4:{vh(a,a+4|0,a+8|0,b+-4|0)|0;k=1;return k|0}case 5:{wh(a,a+4|0,a+8|0,a+12|0,b+-4|0)|0;k=1;return k|0}case 1:case 0:{k=1;return k|0}default:{l=a+8|0;d=a+4|0;q=c[d>>2]|0;i=c[a>>2]|0;f=c[q+16>>2]|0;g=c[i+16>>2]|0;h=q;p=i;if((f|0)>=(g|0))if((f|0)==(g|0))s=(c[q+20>>2]|0)<(c[i+20>>2]|0);else s=0;else s=1;o=c[l>>2]|0;r=c[o+16>>2]|0;j=o;if((r|0)>=(f|0))if((r|0)==(f|0))t=(c[o+20>>2]|0)<(c[q+20>>2]|0);else t=0;else t=1;do if(!s)if(t){c[d>>2]=j;c[l>>2]=h;if((r|0)>=(g|0)){if((r|0)!=(g|0)){u=q;break}if((c[o+20>>2]|0)>=(c[i+20>>2]|0)){u=q;break}}c[a>>2]=j;c[d>>2]=p;u=q}else u=o;else{if(t){c[a>>2]=j;c[l>>2]=p;u=i;break}c[a>>2]=h;c[d>>2]=p;if((r|0)>=(g|0)){if((r|0)!=(g|0)){u=o;break}if((c[o+20>>2]|0)>=(c[i+20>>2]|0)){u=o;break}}c[d>>2]=j;c[l>>2]=p;u=i}while(0);i=a+12|0;a:do if((i|0)==(b|0)){v=1;w=0}else{p=u;j=0;d=i;o=l;while(1){g=c[d>>2]|0;r=c[g+16>>2]|0;h=c[p+16>>2]|0;t=g;if((r|0)>=(h|0))if((r|0)==(h|0)?(c[g+20>>2]|0)<(c[p+20>>2]|0):0)x=48;else y=j;else x=48;if((x|0)==48){x=0;h=g+20|0;c[d>>2]=c[o>>2];b:do if((o|0)==(a|0))z=o;else{r=c[g+16>>2]|0;q=o;while(1){s=q+-4|0;f=c[s>>2]|0;m=c[f+16>>2]|0;e=f;if((r|0)>=(m|0)){if((r|0)!=(m|0)){z=q;break b}if((c[h>>2]|0)>=(c[f+20>>2]|0)){z=q;break b}}c[q>>2]=e;if((s|0)==(a|0)){z=s;break}else q=s}}while(0);c[z>>2]=t;h=j+1|0;if((h|0)==8){v=0;w=(d+4|0)==(b|0);break a}else y=h}h=d+4|0;if((h|0)==(b|0)){v=1;w=0;break a}g=d;p=c[d>>2]|0;j=y;d=h;o=g}}while(0);k=w|v;return k|0}}return 0}function yh(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=c[e>>2]|0;h=e+4|0;i=c[h>>2]|0;if((d|0)==(i|0))return;else{j=d;k=i;l=d}while(1){a:do if((j|0)!=(k|0)){d=c[l>>2]|0;m=b[d>>1]|0;n=(m&1)==0;o=n?(m&254)>>>1:c[d+4>>2]|0;p=d+8|0;q=d+1|0;d=(m&65535)>>>8&255;m=(o|0)==0;if(n){if(m){n=j;while(1){r=c[n>>2]|0;s=b[r>>1]|0;if(!(((s&1)==0?(s&254)>>>1:c[r+4>>2]|0)|0)){t=n;break a}n=n+4|0;if((n|0)==(k|0)){t=k;break a}}}else u=j;while(1){n=c[u>>2]|0;r=b[n>>1]|0;s=(r&1)==0;v=(r&254)>>>1;w=(r&65535)>>>8&255;do if(((s?v:c[n+4>>2]|0)|0)==(o|0)){if(!s)if(!(um(c[n+8>>2]|0,q,o)|0)){t=u;break a}else break;if(w<<24>>24==d<<24>>24){r=v;x=n+1|0;y=q;do{r=r+-1|0;x=x+1|0;if(!r){t=u;break a}y=y+1|0}while((a[x>>0]|0)==(a[y>>0]|0))}}while(0);u=u+4|0;if((u|0)==(k|0)){t=k;break}}}else{if(m){q=j;while(1){d=c[q>>2]|0;n=b[d>>1]|0;if(!(((n&1)==0?(n&254)>>>1:c[d+4>>2]|0)|0)){t=q;break a}q=q+4|0;if((q|0)==(k|0)){t=k;break a}}}else z=j;while(1){q=c[z>>2]|0;m=b[q>>1]|0;d=(m&1)==0;n=(m&254)>>>1;v=(m&65535)>>>8&255;do if(((d?n:c[q+4>>2]|0)|0)==(o|0)){m=c[p>>2]|0;if(!d)if(!(um(c[q+8>>2]|0,m,o)|0)){t=z;break a}else break;if(v<<24>>24==(a[m>>0]|0)){w=n;s=q+1|0;y=m;do{w=w+-1|0;s=s+1|0;if(!w){t=z;break a}y=y+1|0}while((a[s>>0]|0)==(a[y>>0]|0))}}while(0);z=z+4|0;if((z|0)==(k|0)){t=k;break}}}}else t=k;while(0);if((t|0)!=(l|0))qb[f&31](c[t>>2]|0,c[l>>2]|0,g);o=l+4|0;if((o|0)==(i|0))break;j=c[e>>2]|0;k=c[h>>2]|0;l=o}return}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[a+24>>2]|0;c[e>>2]=f;a=b+152|0;g=c[a>>2]|0;if((g|0)==(c[b+156>>2]|0)){Ah(b+148|0,e);i=d;return 0}else{c[g>>2]=f;c[a>>2]=(c[a>>2]|0)+4;i=d;return 0}return 0}function Ah(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function Bh(a,b){a=a|0;b=b|0;a=b+152|0;c[a>>2]=(c[a>>2]|0)+-4;return 0}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[a+24>>2]|0;c[e>>2]=f;a=b+152|0;g=c[a>>2]|0;if((g|0)==(c[b+156>>2]|0)){Ah(b+148|0,e);i=d;return 0}else{c[g>>2]=f;c[a>>2]=(c[a>>2]|0)+4;i=d;return 0}return 0}function Dh(a,b){a=a|0;b=b|0;a=b+152|0;c[a>>2]=(c[a>>2]|0)+-4;return 0}function Eh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=b+148|0;j=b+152|0;k=a+48|0;a=(c[j>>2]|0)-(c[h>>2]|0)>>2;while(1){l=a+-1|0;if((a|0)<=0){m=6;break}if(_h(c[(c[h>>2]|0)+(l<<2)>>2]|0,k)|0){n=a;m=5;break}else a=l}if((m|0)==5){$h(k);c[g>>2]=0;g=k;c[g>>2]=((c[j>>2]|0)-(c[h>>2]|0)>>2)-n;c[g+4>>2]=0;i=d;return 0}else if((m|0)==6){m=c[k>>2]|0;c[e>>2]=c[k+4>>2];c[e+4>>2]=m;Fh(b,f,17611,e);i=d;return 0}return 0}function Fh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[a+160>>2]=1;c[g>>2]=e;xi(c[a>>2]|0,b,c[a+4>>2]|0,d,g);i=f;return}function Gh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=b+148|0;j=b+152|0;k=a+48|0;a=(c[j>>2]|0)-(c[h>>2]|0)>>2;while(1){l=a+-1|0;if((a|0)<=0){m=6;break}if(_h(c[(c[h>>2]|0)+(l<<2)>>2]|0,k)|0){n=a;m=5;break}else a=l}if((m|0)==5){$h(k);c[g>>2]=0;g=k;c[g>>2]=((c[j>>2]|0)-(c[h>>2]|0)>>2)-n;c[g+4>>2]=0;i=d;return 0}else if((m|0)==6){m=c[k>>2]|0;c[e>>2]=c[k+4>>2];c[e+4>>2]=m;Fh(b,f,17611,e);i=d;return 0}return 0}function Hh(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;d=i;i=i+16|0;e=d+8|0;f=d;g=c[a+24>>2]|0;h=c[g>>2]|0;j=c[g+4>>2]|0;if((h|0)!=(j|0)){g=b+148|0;k=b+152|0;l=h;do{h=l+16|0;do if((c[h>>2]|0)==1){m=l+24|0;n=(c[k>>2]|0)-(c[g>>2]|0)>>2;while(1){o=n+-1|0;if((n|0)<=0){p=15;break}if(_h(c[(c[g>>2]|0)+(o<<2)>>2]|0,m)|0){q=n;p=14;break}else n=o}if((p|0)==14){p=0;$h(m);c[h>>2]=0;n=m;c[n>>2]=((c[k>>2]|0)-(c[g>>2]|0)>>2)-q;c[n+4>>2]=0;break}else if((p|0)==15){p=0;n=c[m>>2]|0;c[e>>2]=c[m+4>>2];c[e+4>>2]=n;Fh(b,l,17611,e);break}}while(0);l=l+32|0}while((l|0)!=(j|0))}j=a+48|0;if((c[j>>2]|0)!=1){i=d;return 0}l=b+148|0;e=b+152|0;q=a+56|0;g=(c[e>>2]|0)-(c[l>>2]|0)>>2;while(1){k=g+-1|0;if((g|0)<=0){p=8;break}if(_h(c[(c[l>>2]|0)+(k<<2)>>2]|0,q)|0){r=g;p=7;break}else g=k}if((p|0)==7){$h(q);c[j>>2]=0;j=q;c[j>>2]=((c[e>>2]|0)-(c[l>>2]|0)>>2)-r;c[j+4>>2]=0;i=d;return 0}else if((p|0)==8){p=c[q>>2]|0;c[f>>2]=c[q+4>>2];c[f+4>>2]=p;Fh(b,a+32|0,17611,f);i=d;return 0}return 0}function Ih(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=hc((c[b+12>>2]|0)+160|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j+4>>2]|0;l=c[j>>2]|0;c[e>>2]=20395;c[e+4>>2]=k;c[e+8>>2]=l;Fh(b,f,17643,e);i=d;return 0}else{e=a+48|0;$h(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Jh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=hc((c[b+12>>2]|0)+220|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j+4>>2]|0;l=c[j>>2]|0;c[e>>2]=17672;c[e+4>>2]=k;c[e+8>>2]=l;Fh(b,f,17643,e);i=d;return 0}else{e=a+48|0;$h(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Kh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=hc((c[b+12>>2]|0)+180|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j+4>>2]|0;l=c[j>>2]|0;c[e>>2]=17878;c[e+4>>2]=k;c[e+8>>2]=l;Fh(b,f,17643,e);i=d;return 0}else{e=a+48|0;$h(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=pc(c[b+16>>2]|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j>>2]|0;c[e>>2]=c[j+4>>2];c[e+4>>2]=k;Fh(b,f,17686,e);i=d;return 0}else{e=a+48|0;$h(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[a+24>>2]|0;c[e>>2]=f;a=b+152|0;g=c[a>>2]|0;if((g|0)==(c[b+156>>2]|0)){Ah(b+148|0,e);i=d;return 0}else{c[g>>2]=f;c[a>>2]=(c[a>>2]|0)+4;i=d;return 0}return 0}function Nh(a,b){a=a|0;b=b|0;a=b+152|0;c[a>>2]=(c[a>>2]|0)+-4;return 0}function Oh(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;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=hc((c[b+12>>2]|0)+180|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j+4>>2]|0;l=c[j>>2]|0;c[e>>2]=17878;c[e+4>>2]=k;c[e+8>>2]=l;Fh(b,f,17643,e);i=d;return 0}else{e=a+48|0;$h(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=pc(c[b+16>>2]|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j>>2]|0;c[e>>2]=c[j+4>>2];c[e+4>>2]=k;Fh(b,f,17686,e);i=d;return 0}else{e=a+48|0;$h(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=a+24|0;g=a+40|0;if((c[g>>2]|0)!=1){i=d;return 0}h=pc(c[b+16>>2]|0,f)|0;if((h|0)==-1){j=a+48|0;k=c[j>>2]|0;c[e>>2]=c[j+4>>2];c[e+4>>2]=k;Fh(b,f,17686,e);i=d;return 0}else{e=a+48|0;$h(e);a=e;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;c[g>>2]=0;i=d;return 0}return 0}function Rh(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;e=i;i=i+160|0;f=e+128|0;g=e+112|0;h=e+96|0;j=e+80|0;k=e+64|0;l=e+48|0;m=e+32|0;n=e+16|0;o=e;p=e+144|0;q=b+12|0;c[q>>2]=d;c[p>>2]=b;c[p+4>>2]=20395;rh(d+160|0,23,p);c[p>>2]=b;c[p+4>>2]=17878;rh(d+180|0,23,p);c[p>>2]=b;c[p+4>>2]=17672;rh(d+220|0,23,p);c[p>>2]=b;c[p+4>>2]=17865;rh(d+240|0,23,p);c[p>>2]=b;c[p+4>>2]=17871;rh(d+260|0,23,p);r=c[d+48>>2]|0;s=c[d+52>>2]|0;if((r|0)!=(s|0)){t=b+16|0;u=p+4|0;v=p+4|0;w=b+20|0;x=r;do{r=c[x>>2]|0;c[t>>2]=r;do if(a[r+8>>0]|0?(y=r+16|0,z=r+32|0,(c[z>>2]|0)==1):0){A=hc((c[q>>2]|0)+220|0,y)|0;if((A|0)==-1){B=r+40|0;C=c[B+4>>2]|0;D=c[B>>2]|0;c[o>>2]=17672;c[o+4>>2]=C;c[o+8>>2]=D;Fh(b,y,17643,o);break}else{y=r+40|0;$h(y);D=y;c[D>>2]=A;c[D+4>>2]=((A|0)<0)<<31>>31;c[z>>2]=0;break}}while(0);c[p>>2]=b;c[u>>2]=17742;rh(r+84|0,23,p);c[p>>2]=b;c[v>>2]=17752;rh(r+104|0,23,p);Td(r,w)|0;c[t>>2]=0;x=x+4|0}while((x|0)!=(s|0))}s=c[d+84>>2]|0;x=c[d+88>>2]|0;a:do if((s|0)!=(x|0)){t=s;while(1){w=c[t>>2]|0;b:do switch(c[w+8>>2]|0){case 0:{p=w+16|0;v=w+32|0;if((c[v>>2]|0)==1){u=hc((c[q>>2]|0)+160|0,p)|0;if((u|0)==-1){o=w+40|0;z=c[o+4>>2]|0;A=c[o>>2]|0;c[n>>2]=20395;c[n+4>>2]=z;c[n+8>>2]=A;Fh(b,p,17643,n);break b}else{p=w+40|0;$h(p);A=p;c[A>>2]=u;c[A+4>>2]=((u|0)<0)<<31>>31;c[v>>2]=0;break b}}break}case 1:{v=w+16|0;u=w+32|0;if((c[u>>2]|0)==1){A=hc((c[q>>2]|0)+240|0,v)|0;if((A|0)==-1){p=w+40|0;z=c[p+4>>2]|0;o=c[p>>2]|0;c[m>>2]=17865;c[m+4>>2]=z;c[m+8>>2]=o;Fh(b,v,17643,m);break b}else{v=w+40|0;$h(v);o=v;c[o>>2]=A;c[o+4>>2]=((A|0)<0)<<31>>31;c[u>>2]=0;break b}}break}case 2:{u=w+16|0;A=w+32|0;if((c[A>>2]|0)==1){o=hc((c[q>>2]|0)+260|0,u)|0;if((o|0)==-1){v=w+40|0;z=c[v+4>>2]|0;p=c[v>>2]|0;c[l>>2]=17871;c[l+4>>2]=z;c[l+8>>2]=p;Fh(b,u,17643,l);break b}else{u=w+40|0;$h(u);p=u;c[p>>2]=o;c[p+4>>2]=((o|0)<0)<<31>>31;c[A>>2]=0;break b}}break}case 3:{A=w+16|0;o=w+32|0;if((c[o>>2]|0)==1){p=hc((c[q>>2]|0)+180|0,A)|0;if((p|0)==-1){u=w+40|0;z=c[u+4>>2]|0;v=c[u>>2]|0;c[k>>2]=17878;c[k+4>>2]=z;c[k+8>>2]=v;Fh(b,A,17643,k);break b}else{A=w+40|0;$h(A);v=A;c[v>>2]=p;c[v+4>>2]=((p|0)<0)<<31>>31;c[o>>2]=0;break b}}break}default:{}}while(0);t=t+4|0;if((t|0)==(x|0))break a}}while(0);x=c[d+60>>2]|0;k=c[d+64>>2]|0;if((x|0)!=(k|0)){l=b+20|0;m=x;do{Rd(c[(c[m>>2]|0)+16>>2]|0,l)|0;m=m+4|0}while((m|0)!=(k|0))}k=c[d+120>>2]|0;m=c[d+124>>2]|0;if((k|0)!=(m|0)){l=b+20|0;x=k;do{k=c[x>>2]|0;n=k+16|0;do if((c[n>>2]|0)==1){s=hc((c[q>>2]|0)+240|0,k)|0;if((s|0)==-1){t=k+24|0;r=c[t+4>>2]|0;w=c[t>>2]|0;c[j>>2]=17865;c[j+4>>2]=r;c[j+8>>2]=w;Fh(b,k,17643,j);break}else{w=k+24|0;$h(w);r=w;c[r>>2]=s;c[r+4>>2]=((s|0)<0)<<31>>31;c[n>>2]=0;break}}while(0);Rd(c[k+32>>2]|0,l)|0;n=c[k+36>>2]|0;s=c[k+40>>2]|0;if((n|0)!=(s|0)){r=n;do{n=r+16|0;do if((c[n>>2]|0)==1){w=hc((c[q>>2]|0)+160|0,r)|0;if((w|0)==-1){t=r+24|0;o=c[t+4>>2]|0;p=c[t>>2]|0;c[h>>2]=20395;c[h+4>>2]=o;c[h+8>>2]=p;Fh(b,r,17643,h);break}else{p=r+24|0;$h(p);o=p;c[o>>2]=w;c[o+4>>2]=((w|0)<0)<<31>>31;c[n>>2]=0;break}}while(0);r=r+32|0}while((r|0)!=(s|0))}x=x+4|0}while((x|0)!=(m|0))}m=c[d+144>>2]|0;x=c[d+148>>2]|0;if((m|0)!=(x|0)){h=b+20|0;l=m;do{m=c[l>>2]|0;j=m+16|0;do if((c[j>>2]|0)==1){s=hc((c[q>>2]|0)+260|0,m)|0;if((s|0)==-1){r=m+24|0;k=c[r+4>>2]|0;n=c[r>>2]|0;c[g>>2]=17871;c[g+4>>2]=k;c[g+8>>2]=n;Fh(b,m,17643,g);break}else{n=m+24|0;$h(n);k=n;c[k>>2]=s;c[k+4>>2]=((s|0)<0)<<31>>31;c[j>>2]=0;break}}while(0);Rd(c[m+32>>2]|0,h)|0;l=l+4|0}while((l|0)!=(x|0))}x=c[d+156>>2]|0;if(!x){c[q>>2]=0;i=e;return}d=x+16|0;if((c[d>>2]|0)!=1){c[q>>2]=0;i=e;return}l=hc((c[q>>2]|0)+160|0,x)|0;if((l|0)==-1){h=x+24|0;g=c[h+4>>2]|0;j=c[h>>2]|0;c[f>>2]=20395;c[f+4>>2]=g;c[f+8>>2]=j;Fh(b,x,17643,f);c[q>>2]=0;i=e;return}else{f=x+24|0;$h(f);x=f;c[x>>2]=l;c[x+4>>2]=((l|0)<0)<<31>>31;c[d>>2]=0;c[q>>2]=0;i=e;return}}function Sh(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;h=(c[b+16>>2]|0)>(c[d+16>>2]|0)?b+12|0:d+12|0;d=c[e>>2]|0;j=(a[b>>0]&1)==0?b+1|0:c[b+8>>2]|0;c[g>>2]=c[e+4>>2];c[g+4>>2]=j;Fh(d,h,17718,g);i=f;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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+336|0;f=e+328|0;g=e+164|0;h=e;$n(h|0,0,160)|0;j=h+4|0;c[j>>2]=a;c[h>>2]=d;d=h+160|0;c[d>>2]=0;c[h+8>>2]=b;a=h+20|0;c[a>>2]=h;c[h+28>>2]=138;c[h+32>>2]=139;c[h+104>>2]=140;c[h+108>>2]=141;c[h+36>>2]=142;c[h+40>>2]=143;c[h+44>>2]=144;c[h+48>>2]=145;c[h+52>>2]=146;c[h+76>>2]=147;c[h+80>>2]=148;c[h+88>>2]=149;c[h+96>>2]=150;c[h+124>>2]=151;c[h+128>>2]=152;c[h+136>>2]=153;k=c[b>>2]|0;l=c[b+4>>2]|0;if((k|0)==(l|0)){m=0;i=e;return m|0}b=g+4|0;n=g+20|0;o=g+160|0;p=g+148|0;q=g+152|0;r=k;do{k=c[r>>2]|0;switch(c[k>>2]|0){case 0:{Rh(h,c[k+8>>2]|0);break}case 6:{s=c[k+8>>2]|0;if(!(c[s>>2]|0))Rh(h,c[s+4>>2]|0);break}case 4:{c[f>>2]=1400;$n(g|0,0,160)|0;c[g>>2]=f;c[b>>2]=c[j>>2];s=n;t=a;u=s+128|0;do{c[s>>2]=c[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));c[n>>2]=g;c[o>>2]=0;t=c[k+8>>2]|0;if((c[t>>2]|0)==0?(Rh(g,c[t+4>>2]|0),(c[o>>2]|0)==1):0)c[k>>2]=5;t=c[p>>2]|0;s=t;if(t|0){u=c[q>>2]|0;if((u|0)!=(t|0))c[q>>2]=u+(~((u+-4-s|0)>>>2)<<2);An(t)}break}case 7:{t=c[k+8>>2]|0;if(!(c[t>>2]|0))Rh(h,c[t+4>>2]|0);break}default:{}}r=r+4|0}while((r|0)!=(l|0));l=c[d>>2]|0;d=c[h+148>>2]|0;if(!d){m=l;i=e;return m|0}r=h+152|0;h=c[r>>2]|0;if((h|0)!=(d|0))c[r>>2]=h+(~((h+-4-d|0)>>>2)<<2);An(d);m=l;i=e;return m|0}function Uh(a){a=a|0;return}function Vh(a){a=a|0;An(a);return}function Wh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function Xh(a){a=a|0;return 80}function Yh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=f;return}function Zh(a){a=a|0;var b=0;if(!(c[a>>2]|0)){b=1;return b|0}b=(c[a+4>>2]|0)==0;return b|0}function _h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a>>2]|0;if(!d){e=0;return e|0}f=c[b>>2]|0;if(!f){e=0;return e|0}g=c[a+4>>2]|0;if((g|0)!=(c[b+4>>2]|0)){e=0;return e|0}e=(um(d,f,g)|0)==0;return e|0}function $h(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;Wn(b);return}function ai(a,b){a=a|0;b=b|0;var d=0,e=0;d=a<<24>>24;a=d+-48|0;if(a>>>0<10){c[b>>2]=a;e=0;return e|0}if((d+-97|0)>>>0<7){c[b>>2]=d+-87;e=0;return e|0}if((d+-65|0)>>>0>=7){e=1;return e|0}c[b>>2]=d+-55;e=0;return e|0}function bi(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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((b|0)==(d|0)){f=1;return f|0}g=a[b>>0]|0;a:do if((g<<24>>24==48?(h=b+1|0,h>>>0<d>>>0):0)?(a[h>>0]|0)==120:0){h=b+2|0;if((h|0)==(d|0)){f=1;return f|0}if(h>>>0<d>>>0){i=h;j=0;k=0;b:while(1){l=a[i>>0]|0;m=l+-48|0;do if(m>>>0<10)n=m;else{if((l+-97|0)>>>0<7){n=l+-87|0;break}if((l+-65|0)>>>0>=7){f=1;o=21;break b}n=l+-55|0}while(0);l=ao(j|0,k|0,4)|0;m=go(n|0,0,l|0,C|0)|0;l=C;if(k>>>0>l>>>0|(k|0)==(l|0)&j>>>0>m>>>0){f=1;o=21;break}p=i+1|0;if(p>>>0<d>>>0){i=p;j=m;k=l}else{q=p;r=m;s=l;break a}}if((o|0)==21)return f|0}else{q=h;r=0;s=0}}else o=3;while(0);c:do if((o|0)==3)if(b>>>0<d>>>0){n=(g<<24>>24)+-48|0;if(n>>>0>9){f=1;return f|0}else{t=b;u=0;v=0;w=n}while(1){n=oo(u|0,v|0,10,0)|0;k=u;u=go(w|0,0,n|0,C|0)|0;n=v;v=C;if(n>>>0>v>>>0|(n|0)==(v|0)&k>>>0>u>>>0){f=1;o=21;break}t=t+1|0;if(t>>>0>=d>>>0){q=t;r=u;s=v;break c}w=(a[t>>0]|0)+-48|0;if(w>>>0>9){f=1;o=21;break}}if((o|0)==21)return f|0}else{q=b;r=0;s=0}while(0);if((q|0)!=(d|0)){f=1;return f|0}d=e;c[d>>2]=r;c[d+4>>2]=s;f=0;return f|0}function ci(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,l=0,m=0,n=0,o=0,p=0,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;g=a[b>>0]|0;a:do switch(g<<24>>24){case 43:case 45:{if(!f){h=1;return h|0}else{i=b+1|0;j=g<<24>>24==45;break a}break}default:{i=b;j=0}}while(0);b:do if((i|0)==(d|0)){k=1;l=0;m=0}else{b=a[i>>0]|0;if((b<<24>>24==48?(g=i+1|0,g>>>0<d>>>0):0)?(a[g>>0]|0)==120:0){g=i+2|0;if((g|0)==(d|0)){k=1;l=0;m=0;break}if(g>>>0<d>>>0){f=g;n=0;o=0;while(1){p=a[f>>0]|0;q=p+-48|0;do if(q>>>0<10)r=q;else{if((p+-97|0)>>>0<7){r=p+-87|0;break}if((p+-65|0)>>>0>=7){k=1;l=0;m=0;break b}r=p+-55|0}while(0);p=ao(n|0,o|0,4)|0;q=go(r|0,0,p|0,C|0)|0;p=C;if(o>>>0>p>>>0|(o|0)==(p|0)&n>>>0>q>>>0){k=1;l=0;m=0;break b}s=f+1|0;if(s>>>0<d>>>0){f=s;n=q;o=p}else{t=s;u=q;v=p;break}}}else{t=g;u=0;v=0}}else w=6;c:do if((w|0)==6)if(i>>>0<d>>>0){o=(b<<24>>24)+-48|0;if(o>>>0>9){k=1;l=0;m=0;break b}else{x=i;y=0;z=0;A=o}while(1){o=oo(y|0,z|0,10,0)|0;n=y;y=go(A|0,0,o|0,C|0)|0;o=z;z=C;if(o>>>0>z>>>0|(o|0)==(z|0)&n>>>0>y>>>0){k=1;l=0;m=0;break b}x=x+1|0;if(x>>>0>=d>>>0){t=x;u=y;v=z;break c}A=(a[x>>0]|0)+-48|0;if(A>>>0>9){k=1;l=0;m=0;break b}}}else{t=i;u=0;v=0}while(0);b=(t|0)==(d|0);k=b&1^1;l=b?v:0;m=b?u:0}while(0);do if(j)if(l>>>0>2147483648|(l|0)==-2147483648&m>>>0>0){h=1;return h|0}else{u=_n(0,0,m|0,l|0)|0;B=u;D=C;break}else{B=m;D=l}while(0);l=e;c[l>>2]=B;c[l+4>>2]=D;h=k;return h|0}function di(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=a[b>>0]|0;a:do switch(g<<24>>24){case 43:case 45:{if(!f){h=1;return h|0}else{i=b+1|0;j=g<<24>>24==45;break a}break}default:{i=b;j=0}}while(0);if((i|0)==(d|0)){h=1;return h|0}b=a[i>>0]|0;b:do if((b<<24>>24==48?(g=i+1|0,g>>>0<d>>>0):0)?(a[g>>0]|0)==120:0){g=i+2|0;if((g|0)==(d|0)){h=1;return h|0}if(g>>>0<d>>>0){f=g;k=0;l=0;c:while(1){m=a[f>>0]|0;n=m+-48|0;do if(n>>>0<10)o=n;else{if((m+-97|0)>>>0<7){o=m+-87|0;break}if((m+-65|0)>>>0>=7){h=1;p=28;break c}o=m+-55|0}while(0);m=ao(k|0,l|0,4)|0;n=go(o|0,0,m|0,C|0)|0;m=C;if(l>>>0>m>>>0|(l|0)==(m|0)&k>>>0>n>>>0){h=1;p=28;break}q=f+1|0;if(q>>>0<d>>>0){f=q;k=n;l=m}else{r=q;s=m;t=n;break b}}if((p|0)==28)return h|0}else{r=g;s=0;t=0}}else p=6;while(0);d:do if((p|0)==6)if(i>>>0<d>>>0){o=(b<<24>>24)+-48|0;if(o>>>0>9){h=1;return h|0}else{u=i;v=0;w=0;x=o}while(1){o=oo(v|0,w|0,10,0)|0;l=v;v=go(x|0,0,o|0,C|0)|0;o=w;w=C;if(o>>>0>w>>>0|(o|0)==(w|0)&l>>>0>v>>>0){h=1;p=28;break}u=u+1|0;if(u>>>0>=d>>>0){r=u;s=w;t=v;break d}x=(a[u>>0]|0)+-48|0;if(x>>>0>9){h=1;p=28;break}}if((p|0)==28)return h|0}else{r=i;s=0;t=0}while(0);if((r|0)!=(d|0)){h=1;return h|0}do if(j)if(s>>>0>0|(s|0)==0&t>>>0>2147483648){h=1;return h|0}else{d=_n(0,1,t|0,s|0)|0;y=d;break}else if(s>>>0>0|(s|0)==0&t>>>0>4294967295){h=1;return h|0}else y=t;while(0);c[e>>2]=y;h=0;return h|0}function ei(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.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,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,ba=0,ca=0;h=i;i=i+16|0;j=h;switch(b|0){case 1:case 0:{b=Zl()|0;c[b>>2]=0;k=+Zm(d,j);do if((c[j>>2]|0)==(e|0)){if(k==-s|(k==0.0|k==s)?c[b>>2]|0:0){l=1;break}g[f>>2]=k;l=0}else l=1;while(0);m=l;i=h;return m|0}case 2:{switch(a[d>>0]|0){case 45:{n=d+1|0;o=1;break}case 43:{n=d+1|0;o=0;break}default:{n=d;o=0}}l=n+2|0;if(l>>>0<e>>>0){n=l;l=0;b=0;j=0;p=0;q=0;a:while(1){r=a[n>>0]|0;do if(r<<24>>24!=46){t=r<<24>>24;u=t+-48|0;if(u>>>0<10){v=q+4|0;if(!u){w=l;x=b;y=j;z=p;A=v;break}else{B=v;C=u}}else{if((t+-97|0)>>>0<7)D=t+-87|0;else{if((t+-65|0)>>>0>=7){E=n;F=1;G=l;H=b;I=p;J=q;break a}D=t+-55|0}B=q+4|0;C=D}if((b|0)==0|(B+j|0)<29){w=l;x=(b<<B)+C|0;y=j+4|0;z=p-(l?B:0)|0;A=0}else{w=l;x=b;y=j;z=p;A=B}}else{w=1;x=b;y=j;z=((b|0)==0?0:q)+p|0;A=0}while(0);r=n+1|0;if(r>>>0<e>>>0){n=r;l=w;b=x;j=y;p=z;q=A}else{E=r;F=0;G=w;H=x;I=z;J=A;break}}A=(G?0:J)+I|0;if(H|0){if(F){F=E+1|0;switch(a[F>>0]|0){case 45:{K=E+2|0;L=1;M=0-A|0;break}case 43:{K=E+2|0;L=0;M=A;break}default:{K=F;L=0;M=0}}if(K>>>0<e>>>0){F=K;K=0;while(1){E=(K*10|0)+-48+(a[F>>0]|0)|0;F=F+1|0;if(!(F>>>0<e>>>0&(E+M|0)<128)){N=E;break}else K=E}}else N=0;O=L<<24>>24?0-N|0:N}else O=0;N=32-(aa(H|0)|0)|0;L=A+N|0;A=L+-1+O|0;if((A|0)>127){c[f>>2]=(o&1)<<31|2139095040;m=0;i=h;return m|0}if((A|0)>=-126){if((N|0)<=24)if((N|0)<24){P=A;Q=H<<24-N}else{P=A;Q=H}else{K=N+-24|0;if(!(1<<K&H))R=H;else R=(1<<N+-25)+H|0;M=R>>>K;P=M>>>0>16777215?O+L|0:A;Q=M}c[f>>2]=Q&8388607|(o&1)<<31|(P<<23)+1065353216;m=0;i=h;return m|0}if((N|0)<=23)if((N|0)<23)S=H<<23-N;else S=H;else{P=N+-23|0;if(!(1<<P&H))T=H;else T=(1<<N+-24)+H|0;S=T>>>P}P=-127-A|0;if((P|0)<23){if(!P)U=S;else{if(!(S&1<<P))V=S;else V=S+(1<<P+-1)|0;U=V>>>P&8388607}if(U|0){c[f>>2]=U|(o&1)<<31;m=0;i=h;return m|0}}c[f>>2]=(o&1)<<31;m=0;i=h;return m|0}}c[f>>2]=(o&1)<<31;m=0;i=h;return m|0}case 3:{c[f>>2]=((a[d>>0]|0)==45&1)<<31|2139095040;m=0;i=h;return m|0}case 4:{switch(a[d>>0]|0){case 45:{W=d+1|0;X=-8388608;break}case 43:{W=d+1|0;X=2139095040;break}default:{W=d;X=2139095040}}do if((W+3|0)!=(e|0)){d=W+6|0;if(d>>>0<e>>>0){Y=d;Z=0}else{m=1;i=h;return m|0}b:while(1){d=a[Y>>0]|0;o=d+-48|0;do if(o>>>0<10)_=o;else{if((d+-97|0)>>>0<7){_=d+-87|0;break}if((d+-65|0)>>>0>=7){m=1;$=71;break b}_=d+-55|0}while(0);d=_+(Z<<4)|0;Y=Y+1|0;if(d>>>0>=8388608){m=1;$=71;break}if(Y>>>0>=e>>>0){ba=d;$=69;break}else Z=d}if(($|0)==69){if(!ba)m=1;else{ca=ba;break}i=h;return m|0}else if(($|0)==71){i=h;return m|0}}else ca=4194304;while(0);c[f>>2]=ca|X;m=0;i=h;return m|0}default:{m=1;i=h;return m|0}}return 0}function fi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0.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,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;g=i;i=i+16|0;j=g;switch(b|0){case 1:case 0:{b=Zl()|0;c[b>>2]=0;k=+$m(d,j);do if((c[j>>2]|0)==(e|0)){if(k==-s|(k==0.0|k==s)?c[b>>2]|0:0){l=1;break}h[f>>3]=k;l=0}else l=1;while(0);m=l;i=g;return m|0}case 2:{switch(a[d>>0]|0){case 45:{n=d+1|0;o=0;p=-2147483648;break}case 43:{n=d+1|0;o=0;p=0;break}default:{n=d;o=0;p=0}}l=n+2|0;if(l>>>0<e>>>0){n=l;l=0;b=0;j=0;q=0;r=0;t=0;a:while(1){u=a[n>>0]|0;do if(u<<24>>24!=46){v=u<<24>>24;w=v+-48|0;if(w>>>0<10){x=t+4|0;if(!w){y=l;z=b;A=j;B=q;D=r;E=x;break}else{F=x;G=w}}else{if((v+-97|0)>>>0<7)H=v+-87|0;else{if((v+-65|0)>>>0>=7){I=n;J=1;K=l;L=b;M=j;N=r;O=t;break a}H=v+-55|0}F=t+4|0;G=H}if((l|0)==0&(b|0)==0|(F+q|0)<58){v=ao(l|0,b|0,F|0)|0;w=go(v|0,C|0,G|0,0)|0;y=w;z=C;A=j;B=q+4|0;D=r-(j?F:0)|0;E=0}else{y=l;z=b;A=j;B=q;D=r;E=F}}else{y=l;z=b;A=1;B=q;D=((l|0)==0&(b|0)==0?0:t)+r|0;E=0}while(0);u=n+1|0;if(u>>>0<e>>>0){n=u;l=y;b=z;j=A;q=B;r=D;t=E}else{I=u;J=0;K=y;L=z;M=A;N=D;O=E;break}}E=(M?0:O)+N|0;if(!((K|0)==0&(L|0)==0)){if(J){J=I+1|0;switch(a[J>>0]|0){case 45:{P=I+2|0;Q=1;R=0-E|0;break}case 43:{P=I+2|0;Q=0;R=E;break}default:{P=J;Q=0;R=0}}if(P>>>0<e>>>0){J=P;P=0;while(1){I=(P*10|0)+-48+(a[J>>0]|0)|0;J=J+1|0;if(!(J>>>0<e>>>0&(I+R|0)<1024)){S=I;break}else P=I}}else S=0;T=Q<<24>>24?0-S|0:S}else T=0;S=jo(K|0,L|0,0)|0;Q=64-S|0;S=E+Q|0;E=S+-1+T|0;if((E|0)>1023){P=f;c[P>>2]=o;c[P+4>>2]=p|2146435072;m=0;i=g;return m|0}if((E|0)>=-1022){if((Q|0)<=53)if((Q|0)<53){P=ao(K|0,L|0,53-Q|0)|0;U=C;V=P;W=E}else{U=L;V=K;W=E}else{P=Q+-53|0;R=ao(1,0,P|0)|0;if((R&K|0)==0&(C&L|0)==0){X=K;Y=L}else{R=ao(1,0,Q+-54|0)|0;J=go(R|0,C|0,K|0,L|0)|0;X=J;Y=C}J=eo(X|0,Y|0,P|0)|0;P=C;U=P;V=J;W=P>>>0>2097151|(P|0)==2097151&J>>>0>4294967295?T+S|0:E}S=ao(W+1023|0,0,52)|0;W=f;c[W>>2]=V|o|S;c[W+4>>2]=U&1048575|p|C;m=0;i=g;return m|0}if((Q|0)<=52)if((Q|0)<52){U=ao(K|0,L|0,52-Q|0)|0;Z=U;_=C}else{Z=K;_=L}else{U=Q+-52|0;W=ao(1,0,U|0)|0;if((W&K|0)==0&(C&L|0)==0){$=K;aa=L}else{W=ao(1,0,Q+-53|0)|0;Q=go(W|0,C|0,K|0,L|0)|0;$=Q;aa=C}Q=eo($|0,aa|0,U|0)|0;Z=Q;_=C}Q=-1023-E|0;if((Q|0)<52){if(!Q){ba=Z;ca=_}else{E=ao(1,0,Q|0)|0;if((Z&E|0)==0&(_&C|0)==0){da=Z;ea=_}else{E=ao(1,0,Q+-1|0)|0;U=go(Z|0,_|0,E|0,C|0)|0;da=U;ea=C}U=eo(da|0,ea|0,Q|0)|0;ba=U;ca=C&1048575}if(!((ba|0)==0&(ca|0)==0)){U=f;c[U>>2]=ba|o;c[U+4>>2]=ca|p;m=0;i=g;return m|0}}ca=f;c[ca>>2]=o;c[ca+4>>2]=p;m=0;i=g;return m|0}}ca=f;c[ca>>2]=o;c[ca+4>>2]=p;m=0;i=g;return m|0}case 3:{p=ao((a[d>>0]|0)==45|0,0,63)|0;ca=f;c[ca>>2]=p;c[ca+4>>2]=C|2146435072;m=0;i=g;return m|0}case 4:{switch(a[d>>0]|0){case 45:{fa=d+1|0;ga=0;ha=-1048576;break}case 43:{fa=d+1|0;ga=0;ha=2146435072;break}default:{fa=d;ga=0;ha=2146435072}}d=fa+3|0;do if((d|0)!=(e|0)){b:do if(d>>>0<e>>>0){ca=d;p=18030;while(1){o=a[p>>0]|0;if(!(o<<24>>24)){ia=p;break b}if((a[ca>>0]|0)!=o<<24>>24){m=1;break}ca=ca+1|0;o=p+1|0;if(ca>>>0>=e>>>0){ia=o;break b}else p=o}i=g;return m|0}else ia=18030;while(0);if(a[ia>>0]|0){m=1;i=g;return m|0}p=fa+6|0;if(p>>>0<e>>>0){ja=p;ka=0;la=0}else{m=1;i=g;return m|0}c:while(1){p=a[ja>>0]|0;ca=p+-48|0;do if(ca>>>0<10)ma=ca;else{if((p+-97|0)>>>0<7){ma=p+-87|0;break}if((p+-65|0)>>>0>=7){m=1;na=76;break c}ma=p+-55|0}while(0);p=ao(ka|0,la|0,4)|0;ca=go(ma|0,0,p|0,C|0)|0;p=C;ja=ja+1|0;if(!(p>>>0<1048576|(p|0)==1048576&ca>>>0<0)){m=1;na=76;break}if(ja>>>0>=e>>>0){oa=ca;pa=p;na=74;break}else{ka=ca;la=p}}if((na|0)==74){if((oa|0)==0&(pa|0)==0)m=1;else{qa=oa;ra=pa;break}i=g;return m|0}else if((na|0)==76){i=g;return m|0}}else{qa=0;ra=524288}while(0);na=f;c[na>>2]=qa|ga;c[na+4>>2]=ra|ha;m=0;i=g;return m|0}default:{m=1;i=g;return m|0}}return 0}function gi(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=d;return}function hi(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;c[d>>2]=(c[d>>2]|0)+b;return}function ii(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;h=a+8|0;if((c[h>>2]|0)==1)return;i=c[a+12>>2]|0;if(i|0)ji(i,d,e,b,0,f,g);g=c[a>>2]|0;c[h>>2]=sb[c[(c[g>>2]|0)+8>>2]&63](g,b,d,e)|0;return}function ji(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,J=0,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+32|0;m=l+24|0;n=l+16|0;o=l+8|0;p=l;q=l+28|0;r=e+f|0;if((f|0)<=0){i=l;return}f=(h|0)==0;s=g-e|0;g=b+4|0;t=b+8|0;u=b+12|0;v=(k|0)==1;k=(j|0)!=0;w=e;while(1){e=w+16|0;if(!f){c[p>>2]=h;ki(b,28484,p)}c[o>>2]=s+w;ki(b,18034,o);x=0;y=w;while(1){if(y>>>0<r>>>0){c[n>>2]=d[y>>0];ki(b,18042,n)}else{a[q>>0]=32;z=c[g>>2]|0;if((c[t>>2]|0)==1){A=z;B=1}else{C=c[u>>2]|0;if(C|0)ji(C,q,1,z,0,0,0);C=c[b>>2]|0;D=sb[c[(c[C>>2]|0)+8>>2]&63](C,z,q,1)|0;c[t>>2]=D;A=c[g>>2]|0;B=D}D=A+1|0;c[g>>2]=D;a[q>>0]=32;if((B|0)==1)E=D;else{z=c[u>>2]|0;if(z|0)ji(z,q,1,D,0,0,0);z=c[b>>2]|0;c[t>>2]=sb[c[(c[z>>2]|0)+8>>2]&63](z,D,q,1)|0;E=c[g>>2]|0}c[g>>2]=E+1}D=x+1|0;z=y+1|0;if((D|0)<2){x=D;y=z;continue}a[q>>0]=32;D=c[g>>2]|0;if((c[t>>2]|0)==1){F=1;G=D}else{C=c[u>>2]|0;if(C|0)ji(C,q,1,D,0,0,0);C=c[b>>2]|0;H=sb[c[(c[C>>2]|0)+8>>2]&63](C,D,q,1)|0;c[t>>2]=H;F=H;G=c[g>>2]|0}H=G+1|0;c[g>>2]=H;if(z>>>0<e>>>0){x=0;y=z}else{I=z;J=F;K=H;break}}if(v){a[q>>0]=32;if((J|0)==1){L=1;M=K}else{y=c[u>>2]|0;if(y|0)ji(y,q,1,K,0,0,0);y=c[b>>2]|0;x=sb[c[(c[y>>2]|0)+8>>2]&63](y,K,q,1)|0;c[t>>2]=x;L=x;M=c[g>>2]|0}x=M+1|0;c[g>>2]=x;if(w>>>0<r>>>0){y=0;e=w;while(1){if(!(Om(d[e>>0]|0)|0))N=46;else N=d[e>>0]|0;a[q>>0]=N;H=c[g>>2]|0;if((c[t>>2]|0)==1){O=1;P=H}else{z=c[u>>2]|0;if(z|0)ji(z,q,1,H,0,0,0);z=c[b>>2]|0;D=sb[c[(c[z>>2]|0)+8>>2]&63](z,H,q,1)|0;c[t>>2]=D;O=D;P=c[g>>2]|0}D=P+1|0;c[g>>2]=D;y=y+1|0;H=e+1|0;if(!(H>>>0<r>>>0&(y|0)<16)){Q=O;R=D;S=H;break}else e=H}}else{Q=L;R=x;S=w}}else{Q=J;R=K;S=I}if(k&S>>>0>=r>>>0){c[m>>2]=j;ki(b,18047,m);T=c[t>>2]|0;U=c[g>>2]|0}else{T=Q;U=R}a[q>>0]=10;if((T|0)==1)V=U;else{e=c[u>>2]|0;if(e|0)ji(e,q,1,U,0,0,0);e=c[b>>2]|0;c[t>>2]=sb[c[(c[e>>2]|0)+8>>2]&63](e,U,q,1)|0;V=c[g>>2]|0}c[g>>2]=V+1;if(S>>>0<r>>>0)w=S;else break}i=l;return}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,l=0,m=0,n=0;e=i;i=i+160|0;f=e+16|0;g=e;h=e+32|0;c[f>>2]=d;c[g>>2]=c[f>>2];d=em(h,128,b,f)|0;f=d+1|0;if(f>>>0>128){j=i;i=i+((1*f|0)+15&-16)|0;k=j;l=em(j,f,b,g)|0}else{k=h;l=d}d=a+4|0;h=c[d>>2]|0;g=a+8|0;if((c[g>>2]|0)==1){m=h;n=m+l|0;c[d>>2]=n;i=e;return}b=c[a+12>>2]|0;if(b|0)ji(b,k,l,h,0,0,0);b=c[a>>2]|0;c[g>>2]=sb[c[(c[b>>2]|0)+8>>2]&63](b,h,k,l)|0;m=c[d>>2]|0;n=m+l|0;c[d>>2]=n;i=e;return}function li(a,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;g=a+4|0;h=c[g>>2]|0;i=a+8|0;if((c[i>>2]|0)==1){j=h;k=j+d|0;c[g>>2]=k;return}l=c[a+12>>2]|0;if(l|0)ji(l,b,d,h,0,e,f);f=c[a>>2]|0;c[i>>2]=sb[c[(c[f>>2]|0)+8>>2]&63](f,h,b,d)|0;j=c[g>>2]|0;k=j+d|0;c[g>>2]=k;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;f=i;i=i+16|0;g=f;h=a+8|0;if((c[h>>2]|0)==1){i=f;return}j=c[a+12>>2]|0;if(j|0){c[g>>2]=d;c[g+4>>2]=e+d;c[g+8>>2]=b;c[g+12>>2]=e+b;ki(j,18054,g)}g=c[a>>2]|0;c[h>>2]=sb[c[(c[g>>2]|0)+12>>2]&63](g,b,d,e)|0;i=f;return}function ni(a){a=a|0;var b=0;b=a+16|0;c[a>>2]=b;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;ti(b);return}function oi(a){a=a|0;var b=0,d=0;c[a>>2]=1520;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;b=c[a>>2]|0;if(b|0){d=a+4|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;An(b)}An(a);return}function pi(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=1520;b=a+4|0;d=c[b>>2]|0;c[b>>2]=0;if(!d){An(a);return}b=c[d>>2]|0;if(b|0){e=d+4|0;if((c[e>>2]|0)!=(b|0))c[e>>2]=b;An(b)}An(d);An(a);return}function qi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!e)return 0;f=e+b|0;g=a+4|0;a=c[g>>2]|0;h=(c[a+4>>2]|0)-(c[a>>2]|0)|0;if(f>>>0>h>>>0){ri(a,f-h|0);i=c[g>>2]|0}else i=a;ho((c[i>>2]|0)+b|0,d|0,e|0)|0;return 0}function ri(b,d){b=b|0;d=d|0;var 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;e=b+8|0;f=c[e>>2]|0;g=b+4|0;h=c[g>>2]|0;if((f-h|0)>>>0>=d>>>0){i=d;j=h;do{a[j>>0]=0;j=(c[g>>2]|0)+1|0;c[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=c[b>>2]|0;j=h-i+d|0;if((j|0)<0)rn(b);h=f-i|0;if(h>>>0<1073741823){f=h<<1;h=f>>>0<j>>>0?j:f;f=(c[g>>2]|0)-i|0;if(!h){k=0;l=0;m=f}else{n=h;o=f;p=9}}else{n=2147483647;o=(c[g>>2]|0)-i|0;p=9}if((p|0)==9){k=n;l=Tn(n)|0;m=o}o=l+m|0;m=l+k|0;k=d;d=o;l=o;while(1){a[d>>0]=0;d=l+1|0;n=d;k=k+-1|0;if(!k){q=n;break}else l=n}l=c[b>>2]|0;k=(c[g>>2]|0)-l|0;d=o+(0-k)|0;ho(d|0,l|0,k|0)|0;c[b>>2]=d;c[g>>2]=q;c[e>>2]=m;if(!l)return;An(l);return}function si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!e)return 0;f=e+d|0;g=e+b|0;h=f>>>0>g>>>0?f:g;g=a+4|0;a=c[g>>2]|0;f=(c[a+4>>2]|0)-(c[a>>2]|0)|0;if(h>>>0>f>>>0){ri(a,h-f|0);i=c[g>>2]|0}else i=a;a=c[i>>2]|0;io(a+b|0,a+d|0,e|0)|0;return 0}function ti(a){a=a|0;var b=0;c[a>>2]=1520;b=Tn(12)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+4>>2]=b;return}function ui(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function vi(a,b){a=a|0;b=b|0;var d=0;if((b|0)!=-1){d=b;return d|0}d=c[1536+(a*20|0)+16>>2]|0;return d|0}function wi(a,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;g=i;i=i+16|0;h=g;j=d+8|0;c[j>>2]=(c[j>>2]|0)+1;c[h>>2]=f;xi(c[d+4>>2]|0,a,b,e,h);i=g;return}function xi(a,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;g=i;i=i+176|0;h=g+32|0;j=g+48|0;k=g+28|0;l=g+24|0;m=g+12|0;n=g;c[h>>2]=c[f>>2];o=(em(j,128,e,f)|0)+1|0;if(o>>>0>128){f=i;i=i+((1*o|0)+15&-16)|0;em(f,o,e,h)|0;p=f}else p=j;c[k>>2]=0;c[l>>2]=0;j=pb[c[(c[a>>2]|0)+12>>2]&127](a)|0;if((b|0)!=0&(d|0)!=0){f=i;i=i+((1*(j+1|0)|0)+15&-16)|0;if((Yd(d,b,j,f,k,l)|0)==1){Pm(20079,31,1,c[1510]|0)|0;gb(1)}else q=f}else q=0;f=c[(c[a>>2]|0)+8>>2]|0;hn(m,p,vm(p)|0);hn(n,q,c[k>>2]|0);vb[f&31](a,b,m,n,c[l>>2]|0)|0;jn(n);jn(m);i=g;return}function yi(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)return;else d=b;do{b=d;d=c[d+8>>2]|0;$h(b);An(b)}while((d|0)!=0);return}function zi(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+32>>2]=0;return}function Ai(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;switch(c[a>>2]|0){case 0:{Dc(c[a+4>>2]|0);return}case 3:case 4:case 1:{b=c[a+4>>2]|0;if(!b)return;d=c[b>>2]|0;e=d;if(d|0){f=b+4|0;g=c[f>>2]|0;if((g|0)!=(d|0))c[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);An(d)}An(b);return}case 5:case 2:{$h(a+20|0);return}default:return}}function Bi(a){a=a|0;var b=0;if(!a)return;else b=a;do{a=b;b=c[b+32>>2]|0;Ai(a);An(a)}while((b|0)!=0);return}function Ci(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;c[a+8>>2]=0;e=b+4|0;f=(c[e>>2]|0)-(c[b>>2]|0)|0;g=f>>2;if(!g)return;if(g>>>0>1073741823)rn(a);h=Tn(f)|0;c[d>>2]=h;c[a>>2]=h;c[a+8>>2]=h+(g<<2);g=c[b>>2]|0;b=c[e>>2]|0;if((g|0)==(b|0))return;e=(b+-4-g|0)>>>2;a=g;g=h;while(1){c[g>>2]=c[a>>2];a=a+4|0;if((a|0)==(b|0))break;else g=g+4|0}c[d>>2]=h+(e+1<<2);return}function Di(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+160|0;f=e+16|0;g=e;h=e+32|0;if(!(c[c[a>>2]>>2]|0)){i=e;return}c[f>>2]=d;c[g>>2]=c[f>>2];d=(em(h,128,b,f)|0)+1|0;if(d>>>0>128){f=i;i=i+((1*d|0)+15&-16)|0;em(f,d,b,g)|0;j=f}else j=h;h=c[a>>2]|0;nb[c[h>>2]&31](j,c[h+4>>2]|0);i=e;return}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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+16|0;f=e+4|0;g=e;h=b+4|0;j=c[h>>2]|0;k=b+8|0;l=c[k>>2]|0;m=j;if((l|0)==(j|0))n=l;else{j=l+(~((l+-4-m|0)>>>2)<<2)|0;c[k>>2]=j;n=j}j=b+16|0;l=c[j>>2]|0;o=b+20|0;p=c[o>>2]|0;if((p|0)==(l|0)){q=m;r=n}else{n=p;while(1){p=n+-24|0;c[o>>2]=p;m=c[n+-20>>2]|0;s=m;if(!m)t=p;else{p=n+-16|0;u=c[p>>2]|0;if((u|0)!=(m|0))c[p>>2]=u+(~((u+-4-s|0)>>>2)<<2);An(m);t=c[o>>2]|0}if((t|0)==(l|0))break;else n=t}q=c[h>>2]|0;r=c[k>>2]|0}c[f>>2]=0;k=r-q>>2;c[g>>2]=k;if(l>>>0<(c[b+24>>2]|0)>>>0){c[l>>2]=0;Ci(l+4|0,d);c[l+16>>2]=k;a[l+20>>0]=0;c[o>>2]=(c[o>>2]|0)+24;i=e;return 0}else{Fi(j,f,d,g);i=e;return 0}return 0}function Fi(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=b+4|0;h=c[b>>2]|0;i=(((c[g>>2]|0)-h|0)/24|0)+1|0;if(i>>>0>178956970)rn(b);j=b+8|0;k=((c[j>>2]|0)-h|0)/24|0;if(k>>>0<89478485){l=k<<1;k=l>>>0<i>>>0?i:l;l=((c[g>>2]|0)-h|0)/24|0;if(!k){m=0;n=0;o=l}else{p=k;q=l;r=6}}else{p=178956970;q=((c[g>>2]|0)-h|0)/24|0;r=6}if((r|0)==6){m=p;n=Tn(p*24|0)|0;o=q}q=n+(o*24|0)|0;p=q;r=n+(m*24|0)|0;m=c[f>>2]|0;c[q>>2]=c[d>>2];Ci(n+(o*24|0)+4|0,e);c[n+(o*24|0)+16>>2]=m;a[n+(o*24|0)+20>>0]=0;o=q+24|0;n=c[b>>2]|0;m=c[g>>2]|0;if((m|0)==(n|0)){s=p;t=n;u=n}else{e=m;m=q;q=p;while(1){p=e;e=e+-24|0;c[m+-24>>2]=c[e>>2];d=m+-20|0;f=p+-20|0;c[d>>2]=0;h=m+-16|0;c[h>>2]=0;c[m+-12>>2]=0;c[d>>2]=c[f>>2];d=p+-16|0;c[h>>2]=c[d>>2];h=p+-12|0;c[m+-12>>2]=c[h>>2];c[h>>2]=0;c[d>>2]=0;c[f>>2]=0;f=m+-8|0;d=p+-8|0;c[f>>2]=c[d>>2];a[f+4>>0]=a[d+4>>0]|0;m=q+-24|0;d=m;if((e|0)==(n|0)){v=d;break}else q=d}s=v;t=c[b>>2]|0;u=c[g>>2]|0}c[b>>2]=s;c[g>>2]=o;c[j>>2]=r;r=t;if((u|0)!=(r|0)){j=u;do{u=c[j+-20>>2]|0;o=u;if(u|0){g=j+-16|0;s=c[g>>2]|0;if((s|0)!=(u|0))c[g>>2]=s+(~((s+-4-o|0)>>>2)<<2);An(u)}j=j+-24|0}while((j|0)!=(r|0))}if(!t)return;An(t);return}function Gi(a,b){a=a|0;b=b|0;return Hi(a,b)|0}function Hi(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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=i;i=i+80|0;f=e+56|0;g=e+40|0;h=e+32|0;j=e+24|0;k=e+8|0;l=e;m=e+68|0;n=c[1536+(d*20|0)+8>>2]|0;o=c[1536+(d*20|0)+12>>2]|0;p=c[1536+(d*20|0)>>2]|0;q=b+16|0;r=b+20|0;s=c[r>>2]|0;t=c[q>>2]|0;u=(s-t|0)/24|0;if((s|0)!=(t|0)){s=t;t=u+-1|0;v=((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2)-(c[s+(t*24|0)+16>>2]|0)|0;if(v>>>0<2?(a[s+(t*24|0)+20>>0]|0)==0:0){c[k>>2]=p;c[k+4>>2]=v;c[k+8>>2]=2;Di(b,20140,k);w=1}else w=0}else{c[l>>2]=0;c[l+4>>2]=u+-1;Di(b,20111,l);w=1}l=c[r>>2]|0;u=c[q>>2]|0;k=(l-u|0)/24|0;do if((l|0)!=(u|0)){v=u;t=k+-1|0;s=b+8|0;x=c[s>>2]|0;y=c[b+4>>2]|0;z=x-y>>2;if((c[v+(t*24|0)+16>>2]|0)>>>0<z>>>0){A=c[y+(z+-1<<2)>>2]|0;c[s>>2]=x+-4;B=0;C=u;D=l;E=A;break}else{B=(a[v+(t*24|0)+20>>0]^1)&255;C=u;D=l;E=0;break}}else{c[j>>2]=0;c[j+4>>2]=k+-1;Di(b,20111,j);B=1;C=c[q>>2]|0;D=c[r>>2]|0;E=0}while(0);r=B|w;w=(D-C|0)/24|0;do if((D|0)!=(C|0)){q=C;j=w+-1|0;k=b+8|0;l=c[k>>2]|0;u=c[b+4>>2]|0;t=l-u>>2;if((c[q+(j*24|0)+16>>2]|0)>>>0>=t>>>0){F=0;G=(a[q+(j*24|0)+20>>0]^1)&255|r;break}j=c[u+(t+-1<<2)>>2]|0;c[k>>2]=l+-4;if((j|0)!=0&((n|0)!=0&(j|0)!=(n|0))){switch(n|0){case -1:{H=28480;break}case -2:{H=28476;break}case -3:{H=28472;break}case -4:{H=28468;break}case -16:{H=28460;break}case -32:{H=28455;break}case -64:{H=28450;break}case 0:{H=28446;break}default:H=0}switch(j|0){case -1:{I=28480;break}case -2:{I=28476;break}case -3:{I=28472;break}case -4:{I=28468;break}case -16:{I=28460;break}case -32:{I=28455;break}case -64:{I=28450;break}case 0:{I=28446;break}default:I=0}c[g>>2]=p;c[g+4>>2]=H;c[g+8>>2]=I;Di(b,20204,g);F=1;G=r}else{F=0;G=r}}else{c[h>>2]=0;c[h+4>>2]=w+-1;Di(b,20111,h);F=0;G=B|1}while(0);B=F|G;if((E|0)!=0&((o|0)!=0&(E|0)!=(o|0))){switch(o|0){case -1:{J=28480;break}case -2:{J=28476;break}case -3:{J=28472;break}case -4:{J=28468;break}case -16:{J=28460;break}case -32:{J=28455;break}case -64:{J=28450;break}case 0:{J=28446;break}default:J=0}switch(E|0){case -1:{K=28480;break}case -2:{K=28476;break}case -3:{K=28472;break}case -4:{K=28468;break}case -16:{K=28460;break}case -32:{K=28455;break}case -64:{K=28450;break}case 0:{K=28446;break}default:K=0}c[f>>2]=p;c[f+4>>2]=J;c[f+8>>2]=K;Di(b,20204,f);L=1}else L=0;f=B|L;L=c[1536+(d*20|0)+4>>2]|0;c[m>>2]=L;if((L|0)==-64){i=e;return f|0}d=b+8|0;B=c[d>>2]|0;if((B|0)==(c[b+12>>2]|0)){de(b+4|0,m);i=e;return f|0}else{c[B>>2]=L;c[d>>2]=B+4;i=e;return f|0}return 0}function Ii(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=1;h=(c[b+8>>2]|0)-(c[b+4>>2]|0)>>2;c[g>>2]=h;j=b+20|0;k=c[j>>2]|0;if(k>>>0<(c[b+24>>2]|0)>>>0){c[k>>2]=1;Ci(k+4|0,d);c[k+16>>2]=h;a[k+20>>0]=0;c[j>>2]=(c[j>>2]|0)+24;i=e;return 0}else{Fi(b+16|0,f,d,g);i=e;return 0}return 0}function Ji(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;e=i;i=i+16|0;f=e+8|0;g=e;h=b+16|0;j=b+20|0;k=c[j>>2]|0;l=c[h>>2]|0;m=(k-l|0)/24|0;if(m>>>0<=d>>>0){c[g>>2]=d;c[g+4>>2]=m+-1;Di(b,20111,g);n=1;i=e;return n|0}g=l;o=m+~d|0;if((c[g+(o*24|0)>>2]|0)==2){p=l;q=k;r=0}else{k=Ki(b,g+(o*24|0)+4|0,20249)|0;p=c[h>>2]|0;q=c[j>>2]|0;r=k}k=(q-p|0)/24|0;if((q|0)==(p|0)){c[f>>2]=0;c[f+4>>2]=k+-1;Di(b,20111,f);n=1;i=e;return n|0}f=p;p=k+-1|0;a[f+(p*24|0)+20>>0]=1;k=c[f+(p*24|0)+16>>2]|0;p=b+4|0;f=b+8|0;b=c[f>>2]|0;q=c[p>>2]|0;j=b-q>>2;h=b;if(k>>>0>j>>>0){Li(p,k-j|0);n=r;i=e;return n|0}if(k>>>0>=j>>>0){n=r;i=e;return n|0}j=q+(k<<2)|0;if((h|0)==(j|0)){n=r;i=e;return n|0}c[f>>2]=h+(~((h+-4-j|0)>>>2)<<2);n=r;i=e;return n|0}function Ki(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=i;i=i+48|0;g=f+32|0;h=f+24|0;j=f+8|0;k=f;l=d+4|0;m=(c[l>>2]|0)-(c[d>>2]|0)>>2;n=b+16|0;o=b+20|0;p=c[o>>2]|0;q=c[n>>2]|0;r=(p-q|0)/24|0;if((p|0)!=(q|0)){p=q;q=r+-1|0;s=((c[b+8>>2]|0)-(c[b+4>>2]|0)>>2)-(c[p+(q*24|0)+16>>2]|0)|0;if(s>>>0<m>>>0?(a[p+(q*24|0)+20>>0]|0)==0:0){c[j>>2]=e;c[j+4>>2]=s;c[j+8>>2]=m;Di(b,20140,j);t=1}else t=0}else{c[k>>2]=0;c[k+4>>2]=r+-1;Di(b,20111,k);t=1}k=c[d>>2]|0;r=(c[l>>2]|0)-k>>2;if(!r){u=t;i=f;return u|0}j=b+4|0;m=b+8|0;s=k;k=r;r=0;q=t;while(1){t=s;p=k-r|0;v=c[o>>2]|0;w=c[n>>2]|0;x=(v-w|0)/24|0;do if((v|0)!=(w|0)){y=w;z=x+-1|0;A=c[j>>2]|0;B=(c[m>>2]|0)-A>>2;if((p+-1+(c[y+(z*24|0)+16>>2]|0)|0)>>>0<B>>>0){C=0;D=t;E=s;F=c[A+(B-p<<2)>>2]|0;break}else{C=(a[y+(z*24|0)+20>>0]^1)&255;D=t;E=s;F=0;break}}else{c[h>>2]=0;c[h+4>>2]=x+-1;Di(b,20111,h);z=c[d>>2]|0;C=1;D=z;E=z;F=0}while(0);x=C|q;t=c[D+(r<<2)>>2]|0;if((F|0)!=0&((t|0)!=(F|0)&(t|0)!=0)){switch(t|0){case -1:{G=28480;break}case -2:{G=28476;break}case -3:{G=28472;break}case -4:{G=28468;break}case -16:{G=28460;break}case -32:{G=28455;break}case -64:{G=28450;break}case 0:{G=28446;break}default:G=0}switch(F|0){case -1:{H=28480;break}case -2:{H=28476;break}case -3:{H=28472;break}case -4:{H=28468;break}case -16:{H=28460;break}case -32:{H=28455;break}case -64:{H=28450;break}case 0:{H=28446;break}default:H=0}c[g>>2]=e;c[g+4>>2]=G;c[g+8>>2]=H;Di(b,20204,g);I=1;J=c[d>>2]|0}else{I=0;J=E}t=x|I;r=r+1|0;k=(c[l>>2]|0)-J>>2;if(k>>>0<=r>>>0){u=t;break}else{s=J;q=t}}i=f;return u|0} +function Vd(b,d){b=b|0;d=d|0;var 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;e=b+36|0;if(a[e>>0]|0){f=1;return f|0}g=b+52|0;h=c[g>>2]|0;i=b+40|0;j=c[i>>2]|0;k=h;l=j;m=k-l|0;if(m>>>0<d>>>0){n=b+44|0;o=c[n>>2]|0;p=d+29|0;d=o|0?o<<1:65536;while(1){q=d-o+m|0;if(q>>>0<p>>>0)d=d<<1;else{r=q;s=d;break}}d=Vn(s)|0;p=b+60|0;o=c[p>>2]|0;io(d|0,h|0,o-k|0)|0;c[i>>2]=d;c[n>>2]=s;s=0-m|0;c[g>>2]=d+m+s;n=b+48|0;c[n>>2]=d+((c[n>>2]|0)-l)+s;n=b+56|0;c[n>>2]=d+((c[n>>2]|0)-l)+s;c[p>>2]=d+(o-l)+s;s=b+28|0;c[s>>2]=(c[s>>2]|0)+m;if(!j)t=r;else{Wn(j);t=r}}else{r=b+60|0;io(j|0,h|0,(c[r>>2]|0)-k|0)|0;k=0-m|0;c[g>>2]=(c[g>>2]|0)+k;g=b+48|0;c[g>>2]=(c[g>>2]|0)+k;g=b+56|0;c[g>>2]=(c[g>>2]|0)+k;c[r>>2]=(c[r>>2]|0)+k;k=b+28|0;c[k>>2]=(c[k>>2]|0)+m;t=m}if(!(c[b>>2]|0)){m=b+60|0;k=Sm(c[m>>2]|0,1,t,c[b+4>>2]|0)|0;r=(c[m>>2]|0)+k|0;c[m>>2]=r;u=m;v=r}else{r=b+12|0;m=c[r>>2]|0;k=(c[b+8>>2]|0)-m|0;g=t>>>0>k>>>0?k:t;t=b+60|0;ho(c[t>>2]|0,(c[b+4>>2]|0)+m|0,g|0)|0;c[r>>2]=(c[r>>2]|0)+g;r=(c[t>>2]|0)+g|0;c[t>>2]=r;u=t;v=r}if(v>>>0>=((c[i>>2]|0)+(c[b+44>>2]|0)+-29|0)>>>0){f=0;return f|0}a[e>>0]=1;e=v;v=e+29|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(v|0));c[u>>2]=(c[u>>2]|0)+29;f=0;return f|0}function Wd(a){a=a|0;var b=0;if((c[a>>2]|0)==0?(b=c[a+4>>2]|0,b|0):0)Jm(b)|0;b=c[a+40>>2]|0;if(!b){An(a);return}Wn(b);An(a);return}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Tn(64)|0;f=e;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[e+20>>2]=1;c[e+16>>2]=a;c[e>>2]=1;c[e+4>>2]=b;c[e+8>>2]=d;c[e+12>>2]=0;return e|0}function Yd(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,C=0;j=i;i=i+16|0;k=j+4|0;l=j;m=c[d+4>>2]|0;n=c[b+20>>2]|0;o=c[b+32>>2]|0;do if((n|0)==(m|0)){c[k>>2]=o;p=o}else{if((m|0)==1){c[k>>2]=0;p=0;break}if((n|0)<(m|0))q=Zd(b,n,o,0,m,k)|0;else q=Zd(b,1,0,0,m,k)|0;if((q|0)!=1){p=c[k>>2]|0;break}r=1;i=j;return r|0}while(0);if((Zd(b,m,p,1,m,l)|0)==1){r=1;i=j;return r|0}m=c[l>>2]|0;l=c[d+8>>2]|0;k=c[d+12>>2]|0;d=m-p|0;do if(d>>>0>e>>>0){if((k-l|0)>>>0>e>>>0)s=l;else s=(k+l|0)/2|0;q=s+-1|0;o=e>>>1;n=(q>>>0>o>>>0?q-o|0:0)+p|0;o=m-e|0;q=n>>>0>o>>>0?o:n;n=(m|0)==(q+e|0);if((p|0)==(q|0))if(n){t=p;u=e;v=e;w=p;x=f;break}else{y=e;z=p;A=f}else{a[f>>0]=a[11493]|0;a[f+1>>0]=a[11494]|0;a[f+2>>0]=a[11495]|0;o=q+3|0;B=f+3|0;C=e+-3|0;if(n){t=q;u=e;v=C;w=o;x=B;break}else{y=C;z=o;A=B}}B=f+e+-3|0;a[B>>0]=a[11493]|0;a[B+1>>0]=a[11494]|0;a[B+2>>0]=a[11495]|0;t=q;u=e;v=y+-3|0;w=z;x=A}else{t=p;u=d;v=d;w=p;x=f}while(0);if((c[b>>2]|0)!=1){d=c[b+4>>2]|0;A=Vm(d)|0;if((A|0)==-1){r=1;i=j;return r|0}if((Ym(d,w,0)|0)==-1){r=1;i=j;return r|0}if((Sm(x,1,v,d)|0)>>>0<v>>>0){r=1;i=j;return r|0}if((Ym(d,A,0)|0)==-1){r=1;i=j;return r|0}}else ho(x|0,(c[b+4>>2]|0)+w|0,v|0)|0;a[f+u>>0]=0;c[g>>2]=u;c[h>>2]=t-p;r=0;i=j;return r|0}function Zd(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,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;j=i;i=i+8192|0;k=j;if((c[b>>2]|0)==1){l=c[b+4>>2]|0;m=l+e|0;n=c[b+8>>2]|0;o=l+n|0;a:do if((n|0)>(e|0))if(!f){l=d;p=m;while(1){if((a[p>>0]|0)==10){q=l+1|0;if((q|0)==(g|0)){r=p;break}else s=q}else s=l;q=p+1|0;if(q>>>0<o>>>0){l=s;p=q}else{t=0;u=q;break a}}t=e+1-m+r|0;u=r;break}else{p=0;l=d;q=m;while(1){v=a[q>>0]|0;if(v<<24>>24==10)if((l|0)==(g|0)){w=p;x=q;break}else y=l+1|0;else y=l;z=q+1|0;if(z>>>0<o>>>0){p=v<<24>>24==13;l=y;q=z}else{t=0;u=z;break a}}t=e-m+(w<<31>>31)+x|0;u=x;break}else{t=0;u=m}while(0);if((u|0)==(o|0))if(!f){A=t;B=1}else{A=e-m+o|0;B=0}else{A=t;B=0}c[h>>2]=A;C=B;i=j;return C|0}B=c[b+4>>2]|0;b=Vm(B)|0;if((b|0)==-1){C=1;i=j;return C|0}if((Ym(B,e,0)|0)==-1)D=1;else{A=Sm(k,1,8192,B)|0;b:do if(!A){E=e;F=27}else{t=k;o=1-t|0;c:do if(!f){m=d;u=A;x=e;while(1){w=k+u|0;d:do if((u|0)>0){y=m;r=k;while(1){if((a[r>>0]|0)==10){s=y+1|0;if((s|0)==(g|0)){G=r;break}else H=s}else H=y;s=r+1|0;if(s>>>0<w>>>0){y=H;r=s}else{I=H;J=0;K=s;break d}}I=g;J=o+x+G|0;K=G}else{I=m;J=0;K=k}while(0);if((K|0)!=(w|0)){L=J;break c}c[h>>2]=J;r=x+u|0;u=Sm(k,1,8192,B)|0;if(!u){E=r;F=27;break b}else{m=I;x=r}}}else{x=k+A|0;e:do if((A|0)>0){m=0;u=d;r=k;while(1){y=a[r>>0]|0;if(y<<24>>24==10)if((u|0)==(g|0)){M=m;N=r;break}else O=u+1|0;else O=u;s=r+1|0;if(s>>>0<x>>>0){m=y<<24>>24==13;u=O;r=s}else{P=0;Q=s;break e}}P=e-t+(M<<31>>31)+N|0;Q=N}else{P=0;Q=k}while(0);L=(Q|0)==(x|0)?A+e|0:P}while(0);c[h>>2]=L;R=0}while(0);if((F|0)==27)if(!f)R=1;else{c[h>>2]=E;R=0}D=R}R=(Ym(B,b,0)|0)==-1;C=R?1:D;i=j;return C|0}function _d(a){a=a|0;return}function $d(a){a=a|0;An(a);return}function ae(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;f=i;i=i+16|0;g=f+8|0;h=f;j=c[b+4>>2]|0;k=c[b+8>>2]|0;l=c[b+12>>2]|0;b=(a[e>>0]&1)==0?e+1|0:c[e+8>>2]|0;if((d|0)==-1){c[h>>2]=b;wi(j,k,l,11559,h);i=f;return 1}else{c[g>>2]=d;c[g+4>>2]=b;wi(j,k,l,11586,g);i=f;return 1}return 0}function be(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,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,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,uc=0,vc=0,wc=0,xc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Jc=0,Kc=0,Lc=0,od=0,pd=0,Dd=0,Gd=0,Id=0,Nd=0,Rd=0,Sd=0,Td=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,he=0,ie=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0;g=i;i=i+11056|0;h=g+7032|0;j=g+10504|0;k=g+10496|0;l=g+7024|0;m=g+7016|0;n=g+7008|0;o=g+7e3|0;p=g+6992|0;q=g+6984|0;r=g+6976|0;s=g+6968|0;t=g+6952|0;u=g+6944|0;v=g+6928|0;w=g+6920|0;x=g+6904|0;y=g+6896|0;z=g+6880|0;A=g+6872|0;B=g+6856|0;C=g+6848|0;D=g+6840|0;E=g+6832|0;F=g+6824|0;G=g+6816|0;H=g+6768|0;I=g+10456|0;J=g+10520|0;K=g+304|0;L=g+7256|0;M=g+240|0;N=g+10920|0;O=g+7236|0;P=g+7208|0;Q=g+10492|0;R=g+10488|0;S=g+10484|0;T=g+10472|0;U=g+6800|0;V=g+6736|0;W=g+11050|0;X=g+6704|0;Y=g+11049|0;Z=g+272|0;_=g+11048|0;$=g+7240|0;aa=g+224|0;ba=g+7224|0;ca=g+208|0;da=g+7212|0;ea=g+192|0;fa=g+7196|0;ga=g+176|0;ha=g+7184|0;ia=g+160|0;ja=g+7172|0;ka=g+144|0;la=g+7160|0;ma=g+128|0;na=g+7148|0;oa=g+112|0;pa=g+7136|0;qa=g+96|0;ra=g+7124|0;sa=g+80|0;ta=g+7112|0;ua=g+64|0;va=g+7100|0;wa=g+48|0;xa=g+7088|0;ya=g+32|0;za=g+7076|0;Aa=g+16|0;Ba=g+7064|0;Ca=g;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[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[O>>2]=128;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;Da=M+4|0;Ea=h+8|0;Fa=j+4|0;Ga=M+16|0;Ha=M+8|0;Ia=Da+4|0;Ja=M+24|0;Ka=M+24|0;La=Ka+4|0;Ma=h+16|0;Na=h+24|0;Oa=h+24|0;Pa=j+4|0;Qa=j+8|0;Ra=j+12|0;Sa=f+12|0;Ta=f+16|0;Ua=f+20|0;Va=h+16|0;Wa=-2;Xa=L;Ya=L;Za=J;_a=J;$a=200;ab=0;bb=K;cb=K;while(1){b[_a>>1]=ab;if((Za+($a<<1)+-2|0)>>>0<=_a>>>0){db=(_a-Za>>1)+1|0;eb=$a<<1;fb=eb>>>0>2147483647?-1:eb<<1;gb=Vn(fb)|0;$n(gb|0,0,fb|0)|0;io(gb|0,Za|0,eb|0)|0;if(!((Za|0)==(J|0)|(Za|0)==0))Wn(Za);c[Sa>>2]=gb;fb=eb>>>0>134217727?-1:eb<<5;hb=Vn(fb)|0;$n(hb|0,0,fb|0)|0;io(hb|0,bb|0,$a<<5|0)|0;if(!((bb|0)==(K|0)|(bb|0)==0))Wn(bb);c[Ta>>2]=hb;fb=eb>>>0>268435455?-1:eb<<4;ib=Vn(fb)|0;$n(ib|0,0,fb|0)|0;io(ib|0,Xa|0,$a<<4|0)|0;if(!((Xa|0)==(L|0)|(Xa|0)==0))Wn(Xa);c[Ua>>2]=ib;fb=gb+(db<<1)+-2|0;jb=hb+(db<<5)+-32|0;if((eb|0)>(db|0)){kb=ib;lb=ib+(db<<4)+-16|0;mb=gb;nb=fb;ob=eb;pb=hb;qb=jb}else{rb=Wa;sb=N;tb=1;ub=gb;vb=fb;wb=jb;break}}else{kb=Xa;lb=Ya;mb=Za;nb=_a;ob=$a;pb=bb;qb=cb}if((ab|0)==10){rb=Wa;sb=N;tb=0;ub=mb;vb=nb;wb=qb;break}jb=b[6788+(ab<<1)>>1]|0;fb=jb<<16>>16;do if(jb<<16>>16!=-274){if((Wa|0)==-2)xb=Ud(H,I,e,f)|0;else xb=Wa;if((xb|0)>=1)if(xb>>>0<330){yb=xb;zb=d[11622+xb>>0]|0}else{yb=xb;zb=2}else{yb=0;zb=0}gb=zb+fb|0;if(gb>>>0<=797?(b[7598+(gb<<1)>>1]|0)==(zb|0):0){hb=b[9194+(gb<<1)>>1]|0;gb=hb<<16>>16;if(hb<<16>>16<1){Ab=yb;Bb=0-gb|0;Cb=24;break}else{hb=qb+32|0;c[hb>>2]=c[H>>2];c[hb+4>>2]=c[H+4>>2];c[hb+8>>2]=c[H+8>>2];c[hb+12>>2]=c[H+12>>2];c[hb+16>>2]=c[H+16>>2];c[hb+20>>2]=c[H+20>>2];c[hb+24>>2]=c[H+24>>2];c[hb+28>>2]=c[H+28>>2];eb=lb+16|0;c[eb>>2]=c[I>>2];c[eb+4>>2]=c[I+4>>2];c[eb+8>>2]=c[I+8>>2];c[eb+12>>2]=c[I+12>>2];Db=-2;Eb=eb;Fb=nb;Gb=gb;Hb=hb;break}}else{Ib=yb;Cb=23}}else{Ib=Wa;Cb=23}while(0);if((Cb|0)==23){Cb=0;fb=a[11952+ab>>0]|0;if(!(fb<<24>>24)){Jb=Ib;Kb=mb;Lb=nb;Mb=ab;Nb=qb;Cb=695;break}else{Ab=Ib;Bb=fb&255;Cb=24}}do if((Cb|0)==24){Cb=0;fb=a[12357+Bb>>0]|0;jb=fb&255;hb=qb+(1-jb<<5)|0;c[M>>2]=c[hb>>2];c[M+4>>2]=c[hb+4>>2];c[M+8>>2]=c[hb+8>>2];c[M+12>>2]=c[hb+12>>2];c[M+16>>2]=c[hb+16>>2];c[M+20>>2]=c[hb+20>>2];c[M+24>>2]=c[hb+24>>2];c[M+28>>2]=c[hb+28>>2];hb=0-jb|0;if(!(fb<<24>>24)){fb=c[lb+(hb<<4)+12>>2]|0;Ob=0;Pb=fb;Qb=fb;Rb=lb+(hb<<4)+4|0}else{fb=lb+(hb<<4)|0;gb=fb+16|0;Ob=c[gb>>2]|0;Pb=c[gb+8>>2]|0;Qb=c[fb+(jb<<4)+12>>2]|0;Rb=gb+4|0}gb=c[Rb>>2]|0;a:do switch(Bb|0){case 2:{jb=Tn(12)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;fb=c[qb>>2]|0;eb=qb+4|0;db=c[eb>>2]|0;b:do if(!db)Sb=0;else{ib=fb;Tb=0;while(1){if(!(a[ib>>0]|0)){Sb=Tb;break b}Ub=Tb+1|0;if(Ub>>>0<db>>>0){ib=ib+1|0;Tb=Ub}else{Sb=Ub;break}}}while(0);db=Vn(Sb+1|0)|0;ho(db|0,fb|0,Sb|0)|0;a[db+Sb>>0]=0;c[jb>>2]=db;c[jb+4>>2]=c[eb>>2];c[jb+8>>2]=0;c[Da>>2]=jb;c[M>>2]=jb;break}case 3:{db=qb+-32|0;Tb=c[db+4>>2]|0;ib=M;c[ib>>2]=c[db>>2];c[ib+4>>2]=Tb;ib=Tn(12)|0;c[ib>>2]=0;c[ib+4>>2]=0;c[ib+8>>2]=0;db=c[qb>>2]|0;Ub=qb+4|0;Vb=c[Ub>>2]|0;Wb=Tb;c:do if(!Vb)Xb=0;else{Tb=db;Yb=0;while(1){if(!(a[Tb>>0]|0)){Xb=Yb;break c}Zb=Yb+1|0;if(Zb>>>0<Vb>>>0){Tb=Tb+1|0;Yb=Zb}else{Xb=Zb;break}}}while(0);Vb=Vn(Xb+1|0)|0;ho(Vb|0,db|0,Xb|0)|0;a[Vb+Xb>>0]=0;c[ib>>2]=Vb;c[ib+4>>2]=c[Ub>>2];c[ib+8>>2]=0;c[Wb+8>>2]=ib;c[Da>>2]=ib;break}case 4:{c[Da>>2]=0;c[M>>2]=0;break}case 6:{Vb=qb;jb=c[Vb+4>>2]|0;eb=h;c[eb>>2]=c[Vb>>2];c[eb+4>>2]=jb;c[Ea>>2]=0;c[j>>2]=h;c[Fa>>2]=h;ce(j,k,P);c[M>>2]=c[k>>2];c[Da>>2]=c[P>>2];break}case 7:{jb=Tn(12)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[M>>2]=jb;break}case 8:{jb=c[qb+-32>>2]|0;c[M>>2]=jb;eb=jb+4|0;Vb=c[eb>>2]|0;if((Vb|0)==(c[jb+8>>2]|0)){de(jb,qb);break a}else{c[Vb>>2]=c[qb>>2];c[eb>>2]=Vb+4;break a}break}case 171:{Vb=Tn(32)|0;Qd(Vb);c[M>>2]=Vb;eb=c[qb>>2]|0;jb=c[Vb>>2]|0;if(!jb){_b=Vb+4|0;$b=Vb+8|0}else{fb=Vb+4|0;Yb=c[fb>>2]|0;if((Yb|0)==(jb|0))ac=jb;else{Tb=Yb;do{Yb=Tb+-4|0;c[fb>>2]=Yb;Zb=c[Yb>>2]|0;c[Yb>>2]=0;if(Zb|0){Pd(Zb);An(Zb)}Tb=c[fb>>2]|0}while((Tb|0)!=(jb|0));ac=c[Vb>>2]|0}An(ac);jb=Vb+8|0;c[jb>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;_b=fb;$b=jb}c[Vb>>2]=c[eb>>2];jb=eb+4|0;c[_b>>2]=c[jb>>2];Tb=eb+8|0;c[$b>>2]=c[Tb>>2];c[Tb>>2]=0;c[jb>>2]=0;c[eb>>2]=0;jb=c[qb>>2]|0;if(jb|0){Tb=c[jb>>2]|0;if(Tb|0){ib=jb+4|0;Wb=c[ib>>2]|0;if((Wb|0)==(Tb|0))bc=Tb;else{Ub=Wb;do{Wb=Ub+-4|0;c[ib>>2]=Wb;db=c[Wb>>2]|0;c[Wb>>2]=0;if(db|0){Pd(db);An(db)}Ub=c[ib>>2]|0}while((Ub|0)!=(Tb|0));bc=c[jb>>2]|0}An(bc)}An(jb)}Tb=c[M>>2]|0;Ub=Tb;d:do if((c[Tb+4>>2]|0)==(c[Tb>>2]|0))cc=Ub;else{ib=Tb;eb=Ub;Vb=0;fb=-1;while(1){db=c[(c[ib>>2]|0)+(Vb<<2)>>2]|0;switch(c[db>>2]|0){case 0:{Wb=c[db+8>>2]|0;Zb=c[Wb+20>>2]|0;if(!Zb){dc=ib;ec=eb;fc=Vb}else{hn(Ba,c[Wb+16>>2]|0,Zb);c[Ca>>2]=c[Wb>>2];c[Ca+4>>2]=c[Wb+4>>2];c[Ca+8>>2]=c[Wb+8>>2];c[Ca+12>>2]=c[Wb+12>>2];Wb=Tn(40)|0;Zb=Wb+8|0;c[Zb>>2]=c[Ba>>2];c[Zb+4>>2]=c[Ba+4>>2];c[Zb+8>>2]=c[Ba+8>>2];c[Ba>>2]=0;c[Ba+4>>2]=0;c[Ba+8>>2]=0;Zb=Wb+20|0;c[Zb>>2]=c[Ca>>2];c[Zb+4>>2]=c[Ca+4>>2];c[Zb+8>>2]=c[Ca+8>>2];c[Zb+12>>2]=c[Ca+12>>2];c[Wb+36>>2]=Vb;ge(ib+12|0,Wb)|0;jn(Ba);Wb=c[M>>2]|0;dc=Wb;ec=Wb;fc=Vb}break}case 8:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 9:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 10:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 12:case 11:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 1:{gc=(c[db+8>>2]|0)+24|0;Cb=687;break}case 2:{gc=db+16|0;Cb=687;break}default:{dc=ib;ec=eb;fc=fb}}if((Cb|0)==687){Cb=0;if((c[gc+16>>2]|0)==0?(db=gc+24|0,Wb=db,(c[Wb>>2]|0)==-1?(c[Wb+4>>2]|0)==-1:0):0){Wb=db;c[Wb>>2]=fb;c[Wb+4>>2]=((fb|0)<0)<<31>>31;dc=ib;ec=eb;fc=fb}else{dc=ib;ec=eb;fc=fb}}Vb=Vb+1|0;if(Vb>>>0>=(c[dc+4>>2]|0)-(c[dc>>2]|0)>>2>>>0){cc=ec;break d}else{ib=dc;eb=ec;fb=fc}}}while(0);c[f>>2]=cc;break}case 10:{Ub=Tn(20)|0;sd(Ub);c[M>>2]=Ub;c[Ub+8>>2]=c[qb>>2];a[Ub+12>>0]=0;break}case 11:{Ub=Tn(20)|0;sd(Ub);c[M>>2]=Ub;c[Ub+8>>2]=c[qb+-32>>2];a[Ub+12>>0]=1;break}case 12:{c[M>>2]=c[qb+-32>>2];break}case 13:{Ub=Tn(24)|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[Ub+12>>2]=0;c[Ub+16>>2]=0;c[Ub+20>>2]=0;c[M>>2]=Ub;break}case 14:{Ub=Tn(24)|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[Ub+12>>2]=0;c[Ub+16>>2]=0;c[Ub+20>>2]=0;c[M>>2]=Ub;Tb=qb+-32|0;jb=c[Tb>>2]|0;fb=jb+4|0;eb=c[fb>>2]|0;c[Ub>>2]=c[jb>>2];c[Ub+4>>2]=eb;eb=jb+8|0;c[Ub+8>>2]=c[eb>>2];c[eb>>2]=0;c[fb>>2]=0;c[jb>>2]=0;jb=c[Tb>>2]|0;if(jb|0){Tb=c[jb>>2]|0;fb=Tb;if(Tb|0){eb=jb+4|0;Ub=c[eb>>2]|0;if((Ub|0)!=(Tb|0))c[eb>>2]=Ub+(~((Ub+-4-fb|0)>>>2)<<2);An(Tb)}An(jb)}break}case 15:{jb=Tn(24)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[jb+12>>2]=0;c[jb+16>>2]=0;c[jb+20>>2]=0;c[M>>2]=jb;Tb=qb+-160|0;fb=c[Tb>>2]|0;Ub=fb+4|0;eb=c[Ub>>2]|0;c[jb>>2]=c[fb>>2];c[jb+4>>2]=eb;eb=fb+8|0;c[jb+8>>2]=c[eb>>2];c[eb>>2]=0;c[Ub>>2]=0;c[fb>>2]=0;fb=c[Tb>>2]|0;if(fb|0){Tb=c[fb>>2]|0;Ub=Tb;if(Tb|0){eb=fb+4|0;jb=c[eb>>2]|0;if((jb|0)!=(Tb|0))c[eb>>2]=jb+(~((jb+-4-Ub|0)>>>2)<<2);An(Tb)}An(fb)}fb=c[M>>2]|0;Tb=fb+12|0;Ub=qb+-32|0;jb=c[Ub>>2]|0;eb=c[Tb>>2]|0;ib=eb;Vb=fb+16|0;if(!eb)hc=fb+20|0;else{Wb=c[Vb>>2]|0;if((Wb|0)!=(eb|0))c[Vb>>2]=Wb+(~((Wb+-4-ib|0)>>>2)<<2);An(eb);eb=fb+20|0;c[eb>>2]=0;c[Vb>>2]=0;c[Tb>>2]=0;hc=eb}c[Tb>>2]=c[jb>>2];Tb=jb+4|0;c[Vb>>2]=c[Tb>>2];Vb=jb+8|0;c[hc>>2]=c[Vb>>2];c[Vb>>2]=0;c[Tb>>2]=0;c[jb>>2]=0;jb=c[Ub>>2]|0;if(jb|0){Ub=c[jb>>2]|0;Tb=Ub;if(Ub|0){Vb=jb+4|0;eb=c[Vb>>2]|0;if((eb|0)!=(Ub|0))c[Vb>>2]=eb+(~((eb+-4-Tb|0)>>>2)<<2);An(Ub)}An(jb)}break}case 16:{jb=Tn(24)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[jb+12>>2]=0;c[jb+16>>2]=0;c[jb+20>>2]=0;c[M>>2]=jb;Ub=qb+-32|0;Tb=c[Ub>>2]|0;eb=Tb+4|0;Vb=c[eb>>2]|0;c[jb+12>>2]=c[Tb>>2];c[jb+16>>2]=Vb;Vb=Tb+8|0;c[jb+20>>2]=c[Vb>>2];c[Vb>>2]=0;c[eb>>2]=0;c[Tb>>2]=0;Tb=c[Ub>>2]|0;if(Tb|0){Ub=c[Tb>>2]|0;eb=Ub;if(Ub|0){Vb=Tb+4|0;jb=c[Vb>>2]|0;if((jb|0)!=(Ub|0))c[Vb>>2]=jb+(~((jb+-4-eb|0)>>>2)<<2);An(Ub)}An(Tb)}break}case 17:{Tb=Tn(32)|0;ud(Tb);c[M>>2]=Tb;Ub=Tb+8|0;Tb=qb+-32|0;c[Ub>>2]=c[Tb>>2];c[Ub+4>>2]=c[Tb+4>>2];c[Ub+8>>2]=c[Tb+8>>2];c[Ub+12>>2]=c[Tb+12>>2];c[Ub+16>>2]=c[Tb+16>>2];c[Ub+20>>2]=c[Tb+20>>2];break}case 18:{Tb=Tn(32)|0;Ad(Tb);c[M>>2]=Tb;Ub=Tb+8|0;c[Ub>>2]=c[qb>>2];c[Ub+4>>2]=c[qb+4>>2];c[Ub+8>>2]=c[qb+8>>2];c[Ub+12>>2]=c[qb+12>>2];c[Ub+16>>2]=c[qb+16>>2];c[Ub+20>>2]=c[qb+20>>2];break}case 19:{a[Ga>>0]=0;Ub=qb;Tb=c[Ub+4>>2]|0;eb=M;c[eb>>2]=c[Ub>>2];c[eb+4>>2]=Tb;Tb=Ha;c[Tb>>2]=0;c[Tb+4>>2]=0;break}case 20:{a[Ga>>0]=1;Tb=qb+-32|0;eb=c[Tb+4>>2]|0;Ub=M;c[Ub>>2]=c[Tb>>2];c[Ub+4>>2]=eb;eb=qb;Ub=c[eb+4>>2]|0;Tb=Ha;c[Tb>>2]=c[eb>>2];c[Tb+4>>2]=Ub;break}case 21:{Ub=qb+-32|0;c[M>>2]=c[Ub>>2];c[M+4>>2]=c[Ub+4>>2];c[M+8>>2]=c[Ub+8>>2];c[M+12>>2]=c[Ub+12>>2];c[M+16>>2]=c[Ub+16>>2];c[M+20>>2]=c[Ub+20>>2];c[M+24>>2]=c[Ub+24>>2];c[M+28>>2]=c[Ub+28>>2];break}case 22:{Ub=qb+4|0;Tb=c[Ub>>2]|0;eb=Ub+4|0;if((bi(Tb,Tb+(c[eb>>2]|0)|0,M)|0)==1){Tb=c[Ub>>2]|0;c[G>>2]=c[eb>>2];c[G+4>>2]=Tb;wi(lb,e,f,12530,G)}break}case 23:{c[M>>2]=c[qb>>2];Tb=qb+4|0;eb=c[Tb>>2]|0;Ub=Tb+4|0;Tb=c[Ub>>2]|0;e:do if(!Tb)ic=0;else{jb=eb;Vb=0;while(1){if(!(a[jb>>0]|0)){ic=Vb;break e}fb=Vb+1|0;if(fb>>>0<Tb>>>0){jb=jb+1|0;Vb=fb}else{ic=fb;break}}}while(0);Tb=Vn(ic+1|0)|0;ho(Tb|0,eb|0,ic|0)|0;a[Tb+ic>>0]=0;c[Da>>2]=Tb;c[Ia>>2]=c[Ub>>2];break}case 24:{c[M>>2]=c[qb>>2];Tb=qb+4|0;Vb=c[Tb>>2]|0;jb=Tb+4|0;Tb=c[jb>>2]|0;f:do if(!Tb)jc=0;else{fb=Vb;ib=0;while(1){if(!(a[fb>>0]|0)){jc=ib;break f}Wb=ib+1|0;if(Wb>>>0<Tb>>>0){fb=fb+1|0;ib=Wb}else{jc=Wb;break}}}while(0);Tb=Vn(jc+1|0)|0;ho(Tb|0,Vb|0,jc|0)|0;a[Tb+jc>>0]=0;c[Da>>2]=Tb;c[Ia>>2]=c[jb>>2];break}case 25:{c[M>>2]=c[qb>>2];Tb=qb+4|0;Ub=c[Tb>>2]|0;eb=Tb+4|0;Tb=c[eb>>2]|0;g:do if(!Tb)kc=0;else{ib=Ub;fb=0;while(1){if(!(a[ib>>0]|0)){kc=fb;break g}Wb=fb+1|0;if(Wb>>>0<Tb>>>0){ib=ib+1|0;fb=Wb}else{kc=Wb;break}}}while(0);Tb=Vn(kc+1|0)|0;ho(Tb|0,Ub|0,kc|0)|0;a[Tb+kc>>0]=0;c[Da>>2]=Tb;c[Ia>>2]=c[eb>>2];break}case 26:{c[M>>2]=c[lb>>2];c[M+4>>2]=c[lb+4>>2];c[M+8>>2]=c[lb+8>>2];c[M+12>>2]=c[lb+12>>2];c[Ga>>2]=0;Tb=qb;jb=c[Tb+4>>2]|0;Vb=Ja;c[Vb>>2]=c[Tb>>2];c[Vb+4>>2]=jb;break}case 27:{c[M>>2]=c[lb>>2];c[M+4>>2]=c[lb+4>>2];c[M+8>>2]=c[lb+8>>2];c[M+12>>2]=c[lb+12>>2];c[Ga>>2]=1;jb=c[qb>>2]|0;Vb=qb+4|0;Tb=c[Vb>>2]|0;h:do if(!Tb)lc=0;else{fb=jb;ib=0;while(1){if(!(a[fb>>0]|0)){lc=ib;break h}Wb=ib+1|0;if(Wb>>>0<Tb>>>0){fb=fb+1|0;ib=Wb}else{lc=Wb;break}}}while(0);Tb=Vn(lc+1|0)|0;ho(Tb|0,jb|0,lc|0)|0;a[Tb+lc>>0]=0;c[Ka>>2]=Tb;c[La>>2]=c[Vb>>2];break}case 28:{Tb=Tn(12)|0;c[Tb>>2]=0;c[Tb+4>>2]=0;c[Tb+8>>2]=0;c[M>>2]=Tb;break}case 29:{Tb=c[qb+-32>>2]|0;c[M>>2]=Tb;eb=Tb+4|0;Ub=c[eb>>2]|0;if((Ub|0)==(c[Tb+8>>2]|0)){ee(Tb,qb);break a}else{c[Ub>>2]=c[qb>>2];c[Ub+4>>2]=c[qb+4>>2];c[Ub+8>>2]=c[qb+8>>2];c[Ub+12>>2]=c[qb+12>>2];c[Ub+16>>2]=c[qb+16>>2];c[Ub+20>>2]=c[qb+20>>2];c[Ub+24>>2]=c[qb+24>>2];c[Ub+28>>2]=c[qb+28>>2];c[eb>>2]=(c[eb>>2]|0)+32;break a}break}case 30:{eb=M;c[eb>>2]=0;c[eb+4>>2]=0;break}case 32:{eb=c[qb>>2]|0;Ub=qb+4|0;Tb=c[Ub>>2]|0;i:do if(!Tb)mc=0;else{ib=eb;fb=0;while(1){if(!(a[ib>>0]|0)){mc=fb;break i}Wb=fb+1|0;if(Wb>>>0<Tb>>>0){ib=ib+1|0;fb=Wb}else{mc=Wb;break}}}while(0);Tb=Vn(mc+1|0)|0;ho(Tb|0,eb|0,mc|0)|0;a[Tb+mc>>0]=0;c[M>>2]=Tb;c[Da>>2]=c[Ub>>2];break}case 33:{Tb=M;c[Tb>>2]=0;c[Tb+4>>2]=0;break}case 35:{Tb=M;c[Tb>>2]=0;c[Tb+4>>2]=0;break}case 36:{Tb=c[qb>>2]|0;Vb=qb+4|0;if((ci(Tb,Tb+(c[Vb>>2]|0)|0,M,1)|0)==1){Tb=c[qb>>2]|0;c[F>>2]=c[Vb>>2];c[F+4>>2]=Tb;wi(lb,e,f,12548,F)}break}case 37:{c[M>>2]=-1;break}case 38:{Tb=c[qb>>2]|0;Vb=qb+4|0;if((di(Tb,Tb+(c[Vb>>2]|0)|0,M,0)|0)==1){Tb=c[qb>>2]|0;c[E>>2]=c[Vb>>2];c[E+4>>2]=Tb;wi(lb,e,f,12570,E)}break}case 39:{Tb=c[qb>>2]|0;Vb=Tb;c[Tb>>2]=c[lb>>2];c[Tb+4>>2]=c[lb+4>>2];c[Tb+8>>2]=c[lb+8>>2];c[Tb+12>>2]=c[lb+12>>2];c[M>>2]=Vb;c[Da>>2]=Vb;c[Ha>>2]=1;break}case 40:{Vb=c[qb>>2]|0;Tb=Vb;c[Vb>>2]=c[lb>>2];c[Vb+4>>2]=c[lb+4>>2];c[Vb+8>>2]=c[lb+8>>2];c[Vb+12>>2]=c[lb+12>>2];c[M>>2]=Tb;c[Da>>2]=Tb;c[Ha>>2]=1;break}case 41:{c[M>>2]=c[qb>>2];c[M+4>>2]=c[qb+4>>2];c[M+8>>2]=c[qb+8>>2];break}case 42:{c[M>>2]=md()|0;break}case 43:{c[M>>2]=ed()|0;break}case 44:{c[M>>2]=Zc()|0;break}case 45:{c[M>>2]=gd()|0;break}case 46:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Qc(h)|0;break}case 47:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Rc(h)|0;break}case 48:{Tb=c[qb+-32>>2]|0;c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Sc(Tb,h)|0;break}case 49:{c[M>>2]=fd()|0;break}case 50:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Tc(h)|0;break}case 51:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=Uc(h)|0;break}case 52:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=$c(h)|0;break}case 53:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=id(h)|0;break}case 54:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=kd(h)|0;break}case 55:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=_c(h)|0;break}case 56:{c[h>>2]=c[qb>>2];c[h+4>>2]=c[qb+4>>2];c[h+8>>2]=c[qb+8>>2];c[h+12>>2]=c[qb+12>>2];c[h+16>>2]=c[qb+16>>2];c[h+20>>2]=c[qb+20>>2];c[h+24>>2]=c[qb+24>>2];c[h+28>>2]=c[qb+28>>2];c[M>>2]=hd(h)|0;break}case 57:{Tb=qb+-32|0;c[M>>2]=cd(c[qb+-64>>2]|0,c[qb>>2]|0,c[Tb>>2]|0,c[Tb+4>>2]|0)|0;break}case 58:{Tb=qb+-32|0;c[M>>2]=jd(c[qb+-64>>2]|0,c[qb>>2]|0,c[Tb>>2]|0,c[Tb+4>>2]|0)|0;break}case 59:{Tb=lb+-16|0;c[Va>>2]=0;c[Va+4>>2]=0;c[Va+8>>2]=0;c[Va+12>>2]=0;c[h>>2]=c[Tb>>2];c[h+4>>2]=c[Tb+4>>2];c[h+8>>2]=c[Tb+8>>2];c[h+12>>2]=c[Tb+12>>2];Tb=c[qb+-32>>2]|0;Vb=c[qb>>2]|0;jb=qb+4|0;fb=c[jb>>2]|0;ib=jb+4|0;Wb=c[ib>>2]|0;db=fb+Wb|0;c[Ma>>2]=Tb;switch(Tb|0){case -1:{nc=di(fb,db,Na,1)|0;Cb=140;break}case -2:{nc=ci(fb,db,Oa,1)|0;Cb=140;break}case -3:{nc=ei(Vb,fb,db,Na)|0;Cb=140;break}case -4:{nc=fi(Vb,fb,db,Oa)|0;Cb=140;break}default:{oc=Wb;pc=fb;Cb=142}}if((Cb|0)==140?(Cb=0,(nc|0)==1):0){oc=c[ib>>2]|0;pc=c[jb>>2]|0;Cb=142}if((Cb|0)==142){Cb=0;c[D>>2]=oc;c[D+4>>2]=pc;wi(lb,e,f,12595,D)}ib=c[jb>>2]|0;if(ib|0)Wn(ib);c[M>>2]=Wc(h)|0;break}case 60:{c[M>>2]=ld(c[qb>>2]|0)|0;break}case 61:{c[M>>2]=Oc(c[qb>>2]|0)|0;break}case 62:{c[M>>2]=Vc(c[qb>>2]|0)|0;break}case 63:{c[M>>2]=Xc(c[qb>>2]|0)|0;break}case 64:{c[M>>2]=Yc()|0;break}case 65:{c[M>>2]=ad()|0;break}case 66:{ib=Pc(c[qb+-64>>2]|0)|0;c[M>>2]=ib;jb=qb+-96|0;fb=c[jb+4>>2]|0;Wb=c[ib+24>>2]|0;c[Wb>>2]=c[jb>>2];c[Wb+4>>2]=fb;if(!(Zh(qb)|0)){if(!(Zh(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(_h(c[(c[M>>2]|0)+24>>2]|0,qb)|0)){fb=c[(c[M>>2]|0)+24>>2]|0;Wb=c[fb>>2]|0;jb=c[qb+4>>2]|0;ib=c[qb>>2]|0;c[B>>2]=c[fb+4>>2];c[B+4>>2]=Wb;c[B+8>>2]=jb;c[B+12>>2]=ib;wi(lb,e,f,12642,B)}}else{ib=c[qb>>2]|0;c[C>>2]=c[qb+4>>2];c[C+4>>2]=ib;wi(lb,e,f,12618,C)}$h(qb)}break}case 67:{ib=dd(c[qb+-64>>2]|0)|0;c[M>>2]=ib;jb=qb+-96|0;Wb=c[jb+4>>2]|0;fb=c[ib+24>>2]|0;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Wb;if(!(Zh(qb)|0)){if(!(Zh(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(_h(c[(c[M>>2]|0)+24>>2]|0,qb)|0)){Wb=c[(c[M>>2]|0)+24>>2]|0;fb=c[Wb>>2]|0;jb=c[qb+4>>2]|0;ib=c[qb>>2]|0;c[z>>2]=c[Wb+4>>2];c[z+4>>2]=fb;c[z+8>>2]=jb;c[z+12>>2]=ib;wi(lb,e,f,12642,z)}}else{ib=c[qb>>2]|0;c[A>>2]=c[qb+4>>2];c[A+4>>2]=ib;wi(lb,e,f,12618,A)}$h(qb)}break}case 68:{ib=bd(c[qb+-64>>2]|0,0)|0;c[M>>2]=ib;jb=qb+-96|0;fb=c[jb+4>>2]|0;Wb=c[ib+24>>2]|0;c[Wb>>2]=c[jb>>2];c[Wb+4>>2]=fb;if(!(Zh(qb)|0)){if(!(Zh(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(_h(c[(c[M>>2]|0)+24>>2]|0,qb)|0)){fb=c[(c[M>>2]|0)+24>>2]|0;Wb=c[fb>>2]|0;jb=c[qb+4>>2]|0;ib=c[qb>>2]|0;c[x>>2]=c[fb+4>>2];c[x+4>>2]=Wb;c[x+8>>2]=jb;c[x+12>>2]=ib;wi(lb,e,f,12642,x)}}else{ib=c[qb>>2]|0;c[y>>2]=c[qb+4>>2];c[y+4>>2]=ib;wi(lb,e,f,12618,y)}$h(qb)}break}case 69:{ib=bd(c[qb+-160>>2]|0,c[qb+-64>>2]|0)|0;c[M>>2]=ib;jb=qb+-192|0;Wb=c[jb+4>>2]|0;fb=c[ib+24>>2]|0;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Wb;Wb=qb+-96|0;if(!(Zh(Wb)|0)){if(!(Zh(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(_h(c[(c[M>>2]|0)+24>>2]|0,Wb)|0)){fb=c[(c[M>>2]|0)+24>>2]|0;jb=c[fb>>2]|0;ib=c[qb+-92>>2]|0;db=c[Wb>>2]|0;c[v>>2]=c[fb+4>>2];c[v+4>>2]=jb;c[v+8>>2]=ib;c[v+12>>2]=db;wi(lb+-48|0,e,f,12642,v)}}else{db=c[Wb>>2]|0;c[w>>2]=c[qb+-92>>2];c[w+4>>2]=db;wi(lb+-48|0,e,f,12618,w)}$h(Wb)}if(!(Zh(qb)|0)){if(!(Zh(c[(c[M>>2]|0)+24>>2]|0)|0)){if(!(_h(c[(c[M>>2]|0)+24>>2]|0,qb)|0)){Wb=c[(c[M>>2]|0)+24>>2]|0;db=c[Wb>>2]|0;ib=c[qb+4>>2]|0;jb=c[qb>>2]|0;c[t>>2]=c[Wb+4>>2];c[t+4>>2]=db;c[t+8>>2]=ib;c[t+12>>2]=jb;wi(lb,e,f,12642,t)}}else{jb=c[qb>>2]|0;c[u>>2]=c[qb+4>>2];c[u+4>>2]=jb;wi(lb,e,f,12618,u)}$h(qb)}break}case 70:{jb=Tn(24)|0;Mc(jb);c[M>>2]=jb;ib=jb+8|0;db=qb+-32|0;Wb=c[db>>2]|0;fb=c[ib>>2]|0;Vb=fb;Tb=jb+12|0;if(!fb)qc=jb+16|0;else{Zb=c[Tb>>2]|0;if((Zb|0)!=(fb|0))c[Tb>>2]=Zb+(~((Zb+-4-Vb|0)>>>2)<<2);An(fb);fb=jb+16|0;c[fb>>2]=0;c[Tb>>2]=0;c[ib>>2]=0;qc=fb}c[ib>>2]=c[Wb>>2];ib=Wb+4|0;c[Tb>>2]=c[ib>>2];Tb=Wb+8|0;c[qc>>2]=c[Tb>>2];c[Tb>>2]=0;c[ib>>2]=0;c[Wb>>2]=0;Wb=c[db>>2]|0;if(Wb|0){db=c[Wb>>2]|0;ib=db;if(db|0){Tb=Wb+4|0;fb=c[Tb>>2]|0;if((fb|0)!=(db|0))c[Tb>>2]=fb+(~((fb+-4-ib|0)>>>2)<<2);An(db)}An(Wb)}c[(c[M>>2]|0)+20>>2]=c[qb>>2];break}case 71:{Wb=qb+-32|0;c[M>>2]=c[Wb>>2];c[M+4>>2]=c[Wb+4>>2];c[M+8>>2]=c[Wb+8>>2];break}case 72:{Wb=lb+-16|0;db=c[qb+-32>>2]|0;ib=c[qb>>2]|0;if(ib){fb=c[qb+4>>2]|0;Tb=(c[qb+8>>2]|0)+1|0;if(!fb){rc=db;uc=Tb}else{c[fb+20>>2]=db;rc=ib;uc=Tb}}else{rc=db;uc=1}c[db>>2]=c[Wb>>2];c[db+4>>2]=c[Wb+4>>2];c[db+8>>2]=c[Wb+8>>2];c[db+12>>2]=c[Wb+12>>2];c[M>>2]=rc;c[Da>>2]=db;c[Ha>>2]=uc;break}case 73:{db=Pc(c[qb>>2]|0)|0;Wb=qb+-32|0;Tb=c[Wb+4>>2]|0;ib=c[db+24>>2]|0;c[ib>>2]=c[Wb>>2];c[ib+4>>2]=Tb;Tb=lb+-32|0;ib=db;c[db>>2]=c[Tb>>2];c[db+4>>2]=c[Tb+4>>2];c[db+8>>2]=c[Tb+8>>2];c[db+12>>2]=c[Tb+12>>2];c[M>>2]=ib;c[Da>>2]=ib;c[Ha>>2]=1;break}case 74:{ib=dd(c[qb>>2]|0)|0;Tb=qb+-32|0;db=c[Tb+4>>2]|0;Wb=c[ib+24>>2]|0;c[Wb>>2]=c[Tb>>2];c[Wb+4>>2]=db;db=lb+-32|0;Wb=ib;c[ib>>2]=c[db>>2];c[ib+4>>2]=c[db+4>>2];c[ib+8>>2]=c[db+8>>2];c[ib+12>>2]=c[db+12>>2];c[M>>2]=Wb;c[Da>>2]=Wb;c[Ha>>2]=1;break}case 75:{c[M>>2]=c[qb>>2];c[M+4>>2]=c[qb+4>>2];c[M+8>>2]=c[qb+8>>2];Wb=(c[qb+4>>2]|0)+24|0;db=qb+-64|0;ib=c[db+4>>2]|0;Tb=c[Wb>>2]|0;c[Tb>>2]=c[db>>2];c[Tb+4>>2]=ib;ib=c[Wb>>2]|0;Wb=ib+8|0;Tb=qb+-32|0;db=c[Tb>>2]|0;fb=c[Wb>>2]|0;jb=fb;Vb=ib+12|0;if(!fb)vc=ib+16|0;else{Zb=c[Vb>>2]|0;if((Zb|0)!=(fb|0))c[Vb>>2]=Zb+(~((Zb+-4-jb|0)>>>2)<<2);An(fb);fb=ib+16|0;c[fb>>2]=0;c[Vb>>2]=0;c[Wb>>2]=0;vc=fb}c[Wb>>2]=c[db>>2];Wb=db+4|0;c[Vb>>2]=c[Wb>>2];Vb=db+8|0;c[vc>>2]=c[Vb>>2];c[Vb>>2]=0;c[Wb>>2]=0;c[db>>2]=0;db=c[Tb>>2]|0;if(db|0){Tb=c[db>>2]|0;Wb=Tb;if(Tb|0){Vb=db+4|0;fb=c[Vb>>2]|0;if((fb|0)!=(Tb|0))c[Vb>>2]=fb+(~((fb+-4-Wb|0)>>>2)<<2);An(Tb)}An(db)}break}case 76:{db=Tn(24)|0;Nc(db,c[qb+-160>>2]|0);Tb=bd(db,c[qb+-32>>2]|0)|0;db=lb+-112|0;Wb=Tb;c[Tb>>2]=c[db>>2];c[Tb+4>>2]=c[db+4>>2];c[Tb+8>>2]=c[db+8>>2];c[Tb+12>>2]=c[db+12>>2];c[M>>2]=Wb;c[Da>>2]=Wb;c[Ha>>2]=1;break}case 77:{Wb=Tn(24)|0;Nc(Wb,c[qb+-32>>2]|0);db=bd(Wb,0)|0;Wb=lb+-48|0;Tb=db;c[db>>2]=c[Wb>>2];c[db+4>>2]=c[Wb+4>>2];c[db+8>>2]=c[Wb+8>>2];c[db+12>>2]=c[Wb+12>>2];c[M>>2]=Tb;c[Da>>2]=Tb;c[Ha>>2]=1;break}case 78:{Tb=Tn(24)|0;Nc(Tb,c[qb+-160>>2]|0);Wb=bd(Tb,c[qb+-32>>2]|0)|0;Tb=lb+-128|0;db=c[qb+-256>>2]|0;if(db){fb=c[qb+-252>>2]|0;Vb=(c[qb+-248>>2]|0)+1|0;if(!fb){wc=Wb;xc=Vb}else{c[fb+20>>2]=Wb;wc=db;xc=Vb}}else{wc=Wb;xc=1}c[Wb>>2]=c[Tb>>2];c[Wb+4>>2]=c[Tb+4>>2];c[Wb+8>>2]=c[Tb+8>>2];c[Wb+12>>2]=c[Tb+12>>2];c[M>>2]=wc;c[Da>>2]=Wb;c[Ha>>2]=xc;break}case 79:{Wb=Tn(24)|0;Nc(Wb,c[qb+-32>>2]|0);Tb=bd(Wb,0)|0;Wb=lb+-64|0;Vb=c[qb+-128>>2]|0;if(Vb){db=c[qb+-124>>2]|0;fb=(c[qb+-120>>2]|0)+1|0;if(!db){Cc=Tb;Dc=fb}else{c[db+20>>2]=Tb;Cc=Vb;Dc=fb}}else{Cc=Tb;Dc=1}c[Tb>>2]=c[Wb>>2];c[Tb+4>>2]=c[Wb+4>>2];c[Tb+8>>2]=c[Wb+8>>2];c[Tb+12>>2]=c[Wb+12>>2];c[M>>2]=Cc;c[Da>>2]=Tb;c[Ha>>2]=Dc;break}case 80:{Tb=Tn(24)|0;Nc(Tb,c[qb+-32>>2]|0);Wb=bd(Tb,c[qb>>2]|0)|0;Tb=lb+-32|0;fb=c[qb+-64>>2]|0;if(fb){Vb=c[qb+-60>>2]|0;db=(c[qb+-56>>2]|0)+1|0;if(!Vb){Ec=Wb;Fc=db}else{c[Vb+20>>2]=Wb;Ec=fb;Fc=db}}else{Ec=Wb;Fc=1}c[Wb>>2]=c[Tb>>2];c[Wb+4>>2]=c[Tb+4>>2];c[Wb+8>>2]=c[Tb+8>>2];c[Wb+12>>2]=c[Tb+12>>2];c[M>>2]=Ec;c[Da>>2]=Wb;c[Ha>>2]=Fc;break}case 81:{Wb=Tn(24)|0;Nc(Wb,c[qb>>2]|0);Tb=bd(Wb,0)|0;Wb=lb+-16|0;db=c[qb+-32>>2]|0;if(db){fb=c[qb+-28>>2]|0;Vb=(c[qb+-24>>2]|0)+1|0;if(!fb){Gc=Tb;Hc=Vb}else{c[fb+20>>2]=Tb;Gc=db;Hc=Vb}}else{Gc=Tb;Hc=1}c[Tb>>2]=c[Wb>>2];c[Tb+4>>2]=c[Wb+4>>2];c[Tb+8>>2]=c[Wb+8>>2];c[Tb+12>>2]=c[Wb+12>>2];c[M>>2]=Gc;c[Da>>2]=Tb;c[Ha>>2]=Hc;break}case 82:{c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;break}case 83:{c[M>>2]=c[qb+-32>>2];Tb=c[qb+-28>>2]|0;c[Tb+20>>2]=c[qb>>2];Wb=c[qb+4>>2]|0;c[Da>>2]=(Wb|0)==0?Tb:Wb;c[Ha>>2]=(c[qb+8>>2]|0)+(c[qb+-24>>2]|0);break}case 84:{c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;break}case 85:{c[M>>2]=c[qb+-32>>2];Wb=c[qb+-28>>2]|0;c[Wb+20>>2]=c[qb>>2];Tb=c[qb+4>>2]|0;c[Da>>2]=(Tb|0)==0?Wb:Tb;c[Ha>>2]=(c[qb+8>>2]|0)+(c[qb+-24>>2]|0);break}case 88:{Tb=Tn(36)|0;zi(Tb);c[M>>2]=Tb;c[Tb>>2]=3;c[Tb+4>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 89:{Tb=Tn(36)|0;zi(Tb);c[M>>2]=Tb;c[Tb>>2]=1;c[Tb+4>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 90:{Tb=Tn(36)|0;zi(Tb);c[M>>2]=Tb;c[Tb>>2]=2;Wb=Tb+4|0;Vb=lb+-64|0;c[Wb>>2]=c[Vb>>2];c[Wb+4>>2]=c[Vb+4>>2];c[Wb+8>>2]=c[Vb+8>>2];c[Wb+12>>2]=c[Vb+12>>2];Vb=qb+-96|0;Wb=c[Vb+4>>2]|0;db=Tb+20|0;c[db>>2]=c[Vb>>2];c[db+4>>2]=Wb;c[Tb+28>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 91:{Tb=Tn(36)|0;zi(Tb);c[M>>2]=Tb;c[Tb>>2]=0;c[Tb+4>>2]=c[qb>>2];c[Tb+32>>2]=0;break}case 92:{Tb=Tn(36)|0;zi(Tb);c[M>>2]=Tb;c[Tb>>2]=4;c[Tb+4>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 93:{Tb=Tn(36)|0;zi(Tb);c[M>>2]=Tb;c[Tb>>2]=5;Wb=Tb+4|0;db=lb+-64|0;c[Wb>>2]=c[db>>2];c[Wb+4>>2]=c[db+4>>2];c[Wb+8>>2]=c[db+8>>2];c[Wb+12>>2]=c[db+12>>2];db=qb+-96|0;Wb=c[db+4>>2]|0;Vb=Tb+20|0;c[Vb>>2]=c[db>>2];c[Vb+4>>2]=Wb;c[Tb+28>>2]=c[qb+-64>>2];c[Tb+32>>2]=c[qb>>2];break}case 94:{Tb=Tn(128)|0;qd(Tb);c[M>>2]=Tb;Tb=c[qb>>2]|0;if(Tb|0){Wb=Tb;while(1){Tb=Wb;Wb=c[Wb+32>>2]|0;Vb=c[Tb>>2]|0;switch(Vb|0){case 0:{db=Tb+4|0;c[(c[M>>2]|0)+124>>2]=c[db>>2];c[db>>2]=0;break}case 4:case 1:{db=c[M>>2]|0;fb=(Vb|0)==1?db+48|0:db+72|0;c[Q>>2]=c[fb+4>>2];db=c[Tb+4>>2]|0;c[R>>2]=c[db>>2];c[S>>2]=c[db+4>>2];c[k>>2]=c[Q>>2];c[j>>2]=c[R>>2];c[h>>2]=c[S>>2];fe(fb,k,j,h)|0;break}case 5:case 2:{fb=(Vb|0)==2;Vb=c[M>>2]|0;db=fb?Vb+48|0:Vb+72|0;ib=Tb+28|0;jb=db+4|0;Zb=c[jb>>2]|0;if((Zb|0)==(c[db+8>>2]|0))de(db,ib);else{c[Zb>>2]=c[ib>>2];c[jb>>2]=Zb+4}hn(T,c[Tb+20>>2]|0,c[Tb+24>>2]|0);Zb=c[jb>>2]|0;jb=c[db>>2]|0;db=Tb+4|0;c[U>>2]=c[db>>2];c[U+4>>2]=c[db+4>>2];c[U+8>>2]=c[db+8>>2];c[U+12>>2]=c[db+12>>2];db=Tn(40)|0;ib=db+8|0;c[ib>>2]=c[T>>2];c[ib+4>>2]=c[T+4>>2];c[ib+8>>2]=c[T+8>>2];c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;ib=db+20|0;c[ib>>2]=c[U>>2];c[ib+4>>2]=c[U+4>>2];c[ib+8>>2]=c[U+8>>2];c[ib+12>>2]=c[U+12>>2];c[db+36>>2]=(Zb-jb>>2)+-1;ge(fb?Vb+84|0:Vb+104|0,db)|0;jn(T);break}case 3:{db=c[M>>2]|0;Vb=db+60|0;fb=c[Tb+4>>2]|0;jb=c[Vb>>2]|0;Zb=jb;ib=db+64|0;if(!jb)Jc=db+68|0;else{Yb=c[ib>>2]|0;if((Yb|0)!=(jb|0))c[ib>>2]=Yb+(~((Yb+-4-Zb|0)>>>2)<<2);An(jb);jb=db+68|0;c[jb>>2]=0;c[ib>>2]=0;c[Vb>>2]=0;Jc=jb}c[Vb>>2]=c[fb>>2];Vb=fb+4|0;c[ib>>2]=c[Vb>>2];ib=fb+8|0;c[Jc>>2]=c[ib>>2];c[ib>>2]=0;c[Vb>>2]=0;c[fb>>2]=0;break}default:{}}Ai(Tb);An(Tb);if(!Wb)break a}}break}case 95:{Wb=Tn(12)|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;c[M>>2]=Wb;Ub=c[qb+-32>>2]|0;c[Wb>>2]=Ub;Wb=Ub;a[Wb+8>>0]=1;Ub=Wb+16|0;Wb=qb+-64|0;c[Ub>>2]=c[Wb>>2];c[Ub+4>>2]=c[Wb+4>>2];c[Ub+8>>2]=c[Wb+8>>2];c[Ub+12>>2]=c[Wb+12>>2];c[Ub+16>>2]=c[Wb+16>>2];c[Ub+20>>2]=c[Wb+20>>2];c[Ub+24>>2]=c[Wb+24>>2];c[Ub+28>>2]=c[Wb+28>>2];Wb=qb+-128|0;Ub=c[Wb+4>>2]|0;eb=c[c[M>>2]>>2]|0;c[eb>>2]=c[Wb>>2];c[eb+4>>2]=Ub;Ub=c[M>>2]|0;eb=Ub+4|0;Wb=qb+-96|0;Tb=c[Wb>>2]|0;fb=c[Tb>>2]|0;c[Tb>>2]=0;Vb=c[eb>>2]|0;c[eb>>2]=fb;if(Vb|0){Fd(Vb);An(Vb)}a[Ub+8>>0]=a[Tb+4>>0]|0;Tb=c[Wb>>2]|0;if(Tb|0){Wb=c[Tb>>2]|0;c[Tb>>2]=0;if(Wb|0){Fd(Wb);An(Wb)}An(Tb)}break}case 96:{Tb=Tn(12)|0;c[Tb>>2]=0;c[Tb+4>>2]=0;c[Tb+8>>2]=0;c[M>>2]=Tb;Wb=c[qb+-32>>2]|0;c[Tb>>2]=Wb;Tb=Wb;a[Tb+8>>0]=1;Wb=Tb+16|0;Tb=qb+-64|0;c[Wb>>2]=c[Tb>>2];c[Wb+4>>2]=c[Tb+4>>2];c[Wb+8>>2]=c[Tb+8>>2];c[Wb+12>>2]=c[Tb+12>>2];c[Wb+16>>2]=c[Tb+16>>2];c[Wb+20>>2]=c[Tb+20>>2];c[Wb+24>>2]=c[Tb+24>>2];c[Wb+28>>2]=c[Tb+28>>2];Tb=qb+-96|0;Wb=c[Tb+4>>2]|0;Ub=c[c[M>>2]>>2]|0;c[Ub>>2]=c[Tb>>2];c[Ub+4>>2]=Wb;break}case 97:{Wb=Tn(12)|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;c[M>>2]=Wb;Ub=c[qb+-32>>2]|0;c[Wb>>2]=Ub;Wb=qb+-96|0;Tb=c[Wb+4>>2]|0;Vb=Ub;c[Vb>>2]=c[Wb>>2];c[Vb+4>>2]=Tb;Tb=c[M>>2]|0;Vb=Tb+4|0;Wb=qb+-64|0;Ub=c[Wb>>2]|0;fb=c[Ub>>2]|0;c[Ub>>2]=0;eb=c[Vb>>2]|0;c[Vb>>2]=fb;if(eb|0){Fd(eb);An(eb)}a[Tb+8>>0]=a[Ub+4>>0]|0;Ub=c[Wb>>2]|0;if(Ub|0){Wb=c[Ub>>2]|0;c[Ub>>2]=0;if(Wb|0){Fd(Wb);An(Wb)}An(Ub)}break}case 98:{Ub=Tn(12)|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[M>>2]=Ub;Wb=c[qb+-32>>2]|0;c[Ub>>2]=Wb;Ub=qb+-64|0;Tb=c[Ub+4>>2]|0;eb=Wb;c[eb>>2]=c[Ub>>2];c[eb+4>>2]=Tb;break}case 99:{Tb=qb+-32|0;c[M>>2]=c[Tb>>2];c[M+4>>2]=c[Tb+4>>2];c[M+8>>2]=c[Tb+8>>2];break}case 101:{Tb=Tn(48)|0;wd(Tb);c[M>>2]=Tb;eb=qb+-96|0;c[Tb>>2]=c[eb>>2];c[Tb+4>>2]=c[eb+4>>2];c[Tb+8>>2]=c[eb+8>>2];c[Tb+12>>2]=c[eb+12>>2];c[Tb+16>>2]=c[eb+16>>2];c[Tb+20>>2]=c[eb+20>>2];c[Tb+24>>2]=c[eb+24>>2];c[Tb+28>>2]=c[eb+28>>2];c[Tb+32>>2]=c[qb+-64>>2];eb=Tb+36|0;Ub=qb+-32|0;Wb=c[Ub>>2]|0;fb=c[eb>>2]|0;Vb=fb;ib=Tb+40|0;if(!fb)Kc=Tb+44|0;else{jb=c[ib>>2]|0;if((jb|0)!=(fb|0))c[ib>>2]=jb+(~((jb+-32-Vb|0)>>>5)<<5);An(fb);fb=Tb+44|0;c[fb>>2]=0;c[ib>>2]=0;c[eb>>2]=0;Kc=fb}c[eb>>2]=c[Wb>>2];eb=Wb+4|0;c[ib>>2]=c[eb>>2];ib=Wb+8|0;c[Kc>>2]=c[ib>>2];c[ib>>2]=0;c[eb>>2]=0;c[Wb>>2]=0;Wb=c[Ub>>2]|0;if(Wb|0){Ub=c[Wb>>2]|0;eb=Ub;if(Ub|0){ib=Wb+4|0;fb=c[ib>>2]|0;if((fb|0)!=(Ub|0))c[ib>>2]=fb+(~((fb+-32-eb|0)>>>5)<<5);An(Ub)}An(Wb)}break}case 102:{Wb=Tn(48)|0;wd(Wb);c[M>>2]=Wb;Ub=lb+-48|0;c[Wb>>2]=c[Ub>>2];c[Wb+4>>2]=c[Ub+4>>2];c[Wb+8>>2]=c[Ub+8>>2];c[Wb+12>>2]=c[Ub+12>>2];c[Wb+16>>2]=0;Ub=Wb+24|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Wb+32>>2]=c[qb+-64>>2];Ub=Wb+36|0;eb=qb+-32|0;fb=c[eb>>2]|0;ib=c[Ub>>2]|0;Tb=ib;Vb=Wb+40|0;if(!ib)Lc=Wb+44|0;else{jb=c[Vb>>2]|0;if((jb|0)!=(ib|0))c[Vb>>2]=jb+(~((jb+-32-Tb|0)>>>5)<<5);An(ib);ib=Wb+44|0;c[ib>>2]=0;c[Vb>>2]=0;c[Ub>>2]=0;Lc=ib}c[Ub>>2]=c[fb>>2];Ub=fb+4|0;c[Vb>>2]=c[Ub>>2];Vb=fb+8|0;c[Lc>>2]=c[Vb>>2];c[Vb>>2]=0;c[Ub>>2]=0;c[fb>>2]=0;fb=c[eb>>2]|0;if(fb|0){eb=c[fb>>2]|0;Ub=eb;if(eb|0){Vb=fb+4|0;ib=c[Vb>>2]|0;if((ib|0)!=(eb|0))c[Vb>>2]=ib+(~((ib+-32-Ub|0)>>>5)<<5);An(eb)}An(fb)}break}case 103:{fb=Tn(20)|0;c[fb>>2]=0;c[fb+4>>2]=0;c[fb+8>>2]=0;c[fb+12>>2]=0;c[fb+16>>2]=0;c[M>>2]=fb;eb=c[qb+-32>>2]|0;c[fb>>2]=eb;fb=qb+-96|0;Ub=c[fb+4>>2]|0;ib=eb;c[ib>>2]=c[fb>>2];c[ib+4>>2]=Ub;Ub=c[M>>2]|0;a[Ub+16>>0]=0;ib=Ub+8|0;fb=qb+-64|0;eb=c[fb>>2]|0;Vb=c[eb>>2]|0;c[eb>>2]=0;Wb=c[ib>>2]|0;c[ib>>2]=Vb;if(Wb|0){Fd(Wb);An(Wb)}a[Ub+12>>0]=a[eb+4>>0]|0;eb=c[fb>>2]|0;if(eb|0){fb=c[eb>>2]|0;c[eb>>2]=0;if(fb|0){Fd(fb);An(fb)}An(eb)}break}case 104:{a[h>>0]=a[W>>0]|0;Ic(V,h,0);eb=Wc(V)|0;fb=lb+-128|0;c[eb>>2]=c[fb>>2];c[eb+4>>2]=c[fb+4>>2];c[eb+8>>2]=c[fb+8>>2];c[eb+12>>2]=c[fb+12>>2];fb=Tn(20)|0;c[fb>>2]=0;c[fb+4>>2]=0;c[fb+8>>2]=0;c[fb+12>>2]=0;c[fb+16>>2]=0;c[M>>2]=fb;Ub=Tn(32)|0;ud(Ub);Wb=c[fb>>2]|0;c[fb>>2]=Ub;if(Wb|0){vd(Wb);An(Wb)}Wb=qb+-224|0;Ub=c[Wb+4>>2]|0;fb=c[c[M>>2]>>2]|0;c[fb>>2]=c[Wb>>2];c[fb+4>>2]=Ub;Ub=qb+-64|0;fb=c[Ub>>2]|0;Wb=(c[fb+4>>2]|0)-(c[fb>>2]|0)>>5;fb=c[M>>2]|0;Vb=c[fb>>2]|0;ib=Vb+8|0;c[ib>>2]=Wb;c[ib+4>>2]=0;ib=Vb+16|0;c[ib>>2]=Wb;c[ib+4>>2]=0;a[Vb+24>>0]=1;a[fb+16>>0]=1;Vb=Tn(48)|0;wd(Vb);ib=fb+4|0;fb=c[ib>>2]|0;c[ib>>2]=Vb;if(fb|0){xd(fb);An(fb)}c[(c[(c[M>>2]|0)+4>>2]|0)+32>>2]=eb;eb=c[(c[M>>2]|0)+4>>2]|0;fb=eb+36|0;Vb=c[Ub>>2]|0;ib=c[fb>>2]|0;Wb=ib;Tb=eb+40|0;if(!ib)od=eb+44|0;else{jb=c[Tb>>2]|0;if((jb|0)!=(ib|0))c[Tb>>2]=jb+(~((jb+-32-Wb|0)>>>5)<<5);An(ib);ib=eb+44|0;c[ib>>2]=0;c[Tb>>2]=0;c[fb>>2]=0;od=ib}c[fb>>2]=c[Vb>>2];fb=Vb+4|0;c[Tb>>2]=c[fb>>2];Tb=Vb+8|0;c[od>>2]=c[Tb>>2];c[Tb>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;Vb=c[Ub>>2]|0;if(Vb|0){Ub=c[Vb>>2]|0;fb=Ub;if(Ub|0){Tb=Vb+4|0;ib=c[Tb>>2]|0;if((ib|0)!=(Ub|0))c[Tb>>2]=ib+(~((ib+-32-fb|0)>>>5)<<5);An(Ub)}An(Vb)}Vb=c[M>>2]|0;Ub=Vb+8|0;fb=qb+-192|0;ib=c[fb>>2]|0;Tb=c[ib>>2]|0;c[ib>>2]=0;eb=c[Ub>>2]|0;c[Ub>>2]=Tb;if(eb|0){Fd(eb);An(eb)}a[Vb+12>>0]=a[ib+4>>0]|0;ib=c[fb>>2]|0;if(ib|0){fb=c[ib>>2]|0;c[ib>>2]=0;if(fb|0){Fd(fb);An(fb)}An(ib)}break}case 105:{ib=Tn(48)|0;yd(ib);c[M>>2]=ib;fb=qb+-96|0;c[ib>>2]=c[fb>>2];c[ib+4>>2]=c[fb+4>>2];c[ib+8>>2]=c[fb+8>>2];c[ib+12>>2]=c[fb+12>>2];c[ib+16>>2]=c[fb+16>>2];c[ib+20>>2]=c[fb+20>>2];c[ib+24>>2]=c[fb+24>>2];c[ib+28>>2]=c[fb+28>>2];c[ib+32>>2]=c[qb+-64>>2];fb=qb+-32|0;ce(fb,ib+36|0,ib+40|0);yi(fb);break}case 106:{fb=Tn(48)|0;yd(fb);c[M>>2]=fb;ib=lb+-48|0;c[fb>>2]=c[ib>>2];c[fb+4>>2]=c[ib+4>>2];c[fb+8>>2]=c[ib+8>>2];c[fb+12>>2]=c[ib+12>>2];c[fb+16>>2]=0;ib=fb+24|0;c[ib>>2]=0;c[ib+4>>2]=0;c[fb+32>>2]=c[qb+-64>>2];ib=qb+-32|0;ce(ib,fb+36|0,fb+40|0);yi(ib);break}case 107:{ib=Tn(20)|0;c[ib>>2]=0;c[ib+4>>2]=0;c[ib+8>>2]=0;c[ib+12>>2]=0;c[ib+16>>2]=0;c[M>>2]=ib;fb=c[qb+-32>>2]|0;c[ib>>2]=fb;ib=qb+-96|0;Vb=c[ib+4>>2]|0;eb=fb;c[eb>>2]=c[ib>>2];c[eb+4>>2]=Vb;Vb=c[M>>2]|0;a[Vb+16>>0]=0;eb=Vb+8|0;ib=qb+-64|0;fb=c[ib>>2]|0;Tb=c[fb>>2]|0;c[fb>>2]=0;Ub=c[eb>>2]|0;c[eb>>2]=Tb;if(Ub|0){Fd(Ub);An(Ub)}a[Vb+12>>0]=a[fb+4>>0]|0;fb=c[ib>>2]|0;if(fb|0){ib=c[fb>>2]|0;c[fb>>2]=0;if(ib|0){Fd(ib);An(ib)}An(fb)}break}case 108:{a[h>>0]=a[Y>>0]|0;Ic(X,h,0);fb=Wc(X)|0;ib=lb+-112|0;c[fb>>2]=c[ib>>2];c[fb+4>>2]=c[ib+4>>2];c[fb+8>>2]=c[ib+8>>2];c[fb+12>>2]=c[ib+12>>2];ib=Tn(20)|0;Vb=ib+4|0;c[ib>>2]=0;c[ib+4>>2]=0;c[ib+8>>2]=0;c[ib+12>>2]=0;c[ib+16>>2]=0;c[M>>2]=ib;a[ib+16>>0]=1;ib=Tn(48)|0;yd(ib);Ub=c[Vb>>2]|0;c[Vb>>2]=ib;if(Ub|0){zd(Ub);An(Ub)}c[(c[(c[M>>2]|0)+4>>2]|0)+32>>2]=fb;fb=qb+-64|0;Ub=c[(c[M>>2]|0)+4>>2]|0;ce(fb,Ub+36|0,Ub+40|0);yi(fb);fb=c[M>>2]|0;Ub=c[(c[fb+4>>2]|0)+40>>2]|0;ib=Tn(32)|0;Ad(ib);Vb=(Ub+65535|0)>>>16;Ub=c[fb>>2]|0;c[fb>>2]=ib;if(Ub|0){Bd(Ub);An(Ub)}Ub=qb+-192|0;ib=c[Ub+4>>2]|0;fb=c[c[M>>2]>>2]|0;c[fb>>2]=c[Ub>>2];c[fb+4>>2]=ib;ib=c[M>>2]|0;fb=c[ib>>2]|0;Ub=fb+8|0;c[Ub>>2]=Vb;c[Ub+4>>2]=0;Ub=fb+16|0;c[Ub>>2]=Vb;c[Ub+4>>2]=0;a[fb+24>>0]=1;fb=ib+8|0;Ub=qb+-160|0;Vb=c[Ub>>2]|0;Tb=c[Vb>>2]|0;c[Vb>>2]=0;eb=c[fb>>2]|0;c[fb>>2]=Tb;if(eb|0){Fd(eb);An(eb)}a[ib+12>>0]=a[Vb+4>>0]|0;Vb=c[Ub>>2]|0;if(Vb|0){Ub=c[Vb>>2]|0;c[Vb>>2]=0;if(Ub|0){Fd(Ub);An(Ub)}An(Vb)}break}case 109:{a[h>>0]=a[_>>0]|0;Ic(Z,h,0);Vb=Wc(Z)|0;Ub=lb+-96|0;c[Vb>>2]=c[Ub>>2];c[Vb+4>>2]=c[Ub+4>>2];c[Vb+8>>2]=c[Ub+8>>2];c[Vb+12>>2]=c[Ub+12>>2];Ub=Tn(20)|0;ib=Ub+4|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[Ub+12>>2]=0;c[Ub+16>>2]=0;c[M>>2]=Ub;a[Ub+16>>0]=1;Ub=Tn(48)|0;yd(Ub);eb=c[ib>>2]|0;c[ib>>2]=Ub;if(eb|0){zd(eb);An(eb)}c[(c[(c[M>>2]|0)+4>>2]|0)+32>>2]=Vb;Vb=qb+-64|0;eb=c[(c[M>>2]|0)+4>>2]|0;ce(Vb,eb+36|0,eb+40|0);yi(Vb);Vb=c[M>>2]|0;eb=c[(c[Vb+4>>2]|0)+40>>2]|0;Ub=Tn(32)|0;Ad(Ub);ib=(eb+65535|0)>>>16;eb=c[Vb>>2]|0;c[Vb>>2]=Ub;if(eb|0){Bd(eb);An(eb)}eb=qb+-160|0;Ub=c[eb+4>>2]|0;Vb=c[c[M>>2]>>2]|0;c[Vb>>2]=c[eb>>2];c[Vb+4>>2]=Ub;Ub=c[M>>2]|0;Vb=c[Ub>>2]|0;eb=Vb+8|0;c[eb>>2]=ib;c[eb+4>>2]=0;eb=Vb+16|0;c[eb>>2]=ib;c[eb+4>>2]=0;a[Vb+24>>0]=1;a[Ub+12>>0]=0;break}case 110:{Ub=Tn(12)|0;c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;c[M>>2]=Ub;Vb=c[qb+-64>>2]|0;c[Ub>>2]=Vb;Ub=qb+-128|0;eb=c[Ub+4>>2]|0;ib=Vb;c[ib>>2]=c[Ub>>2];c[ib+4>>2]=eb;c[(c[c[M>>2]>>2]|0)+16>>2]=c[qb+-32>>2];eb=c[M>>2]|0;ib=eb+4|0;Ub=qb+-96|0;Vb=c[Ub>>2]|0;Tb=c[Vb>>2]|0;c[Vb>>2]=0;fb=c[ib>>2]|0;c[ib>>2]=Tb;if(fb|0){Fd(fb);An(fb)}a[eb+8>>0]=a[Vb+4>>0]|0;Vb=c[Ub>>2]|0;if(Vb|0){Ub=c[Vb>>2]|0;c[Vb>>2]=0;if(Ub|0){Fd(Ub);An(Ub)}An(Vb)}break}case 111:{Vb=Tn(12)|0;c[Vb>>2]=0;c[Vb+4>>2]=0;c[Vb+8>>2]=0;c[M>>2]=Vb;Ub=c[qb+-64>>2]|0;c[Vb>>2]=Ub;Vb=qb+-96|0;eb=c[Vb+4>>2]|0;fb=Ub;c[fb>>2]=c[Vb>>2];c[fb+4>>2]=eb;c[(c[c[M>>2]>>2]|0)+16>>2]=c[qb+-32>>2];a[(c[M>>2]|0)+8>>0]=0;break}case 112:{eb=Tn(24)|0;Cd(eb);c[M>>2]=eb;c[eb+16>>2]=0;eb=Tn(128)|0;qd(eb);c[(c[M>>2]|0)+20>>2]=eb;eb=qb+-64|0;fb=c[eb+4>>2]|0;Vb=c[(c[M>>2]|0)+20>>2]|0;c[Vb>>2]=c[eb>>2];c[Vb+4>>2]=fb;fb=c[(c[M>>2]|0)+20>>2]|0;a[fb+8>>0]=1;Vb=fb+16|0;fb=qb+-32|0;c[Vb>>2]=c[fb>>2];c[Vb+4>>2]=c[fb+4>>2];c[Vb+8>>2]=c[fb+8>>2];c[Vb+12>>2]=c[fb+12>>2];c[Vb+16>>2]=c[fb+16>>2];c[Vb+20>>2]=c[fb+20>>2];c[Vb+24>>2]=c[fb+24>>2];c[Vb+28>>2]=c[fb+28>>2];break}case 113:{fb=Tn(24)|0;Cd(fb);c[M>>2]=fb;c[fb+16>>2]=0;fb=Tn(128)|0;qd(fb);c[(c[M>>2]|0)+20>>2]=fb;fb=qb+-64|0;Vb=c[fb+4>>2]|0;eb=c[(c[M>>2]|0)+20>>2]|0;c[eb>>2]=c[fb>>2];c[eb+4>>2]=Vb;Vb=c[(c[M>>2]|0)+20>>2]|0;eb=Vb+48|0;fb=qb+-32|0;Ub=c[fb>>2]|0;Tb=c[eb>>2]|0;ib=Tb;Wb=Vb+52|0;if(!Tb)pd=Vb+56|0;else{jb=c[Wb>>2]|0;if((jb|0)!=(Tb|0))c[Wb>>2]=jb+(~((jb+-4-ib|0)>>>2)<<2);An(Tb);Tb=Vb+56|0;c[Tb>>2]=0;c[Wb>>2]=0;c[eb>>2]=0;pd=Tb}c[eb>>2]=c[Ub>>2];eb=Ub+4|0;c[Wb>>2]=c[eb>>2];Wb=Ub+8|0;c[pd>>2]=c[Wb>>2];c[Wb>>2]=0;c[eb>>2]=0;c[Ub>>2]=0;eb=Vb+60|0;Wb=Ub+12|0;Tb=c[eb>>2]|0;ib=Tb;jb=Vb+64|0;if(!Tb)Dd=Vb+68|0;else{db=c[jb>>2]|0;if((db|0)!=(Tb|0))c[jb>>2]=db+(~((db+-4-ib|0)>>>2)<<2);An(Tb);Tb=Vb+68|0;c[Tb>>2]=0;c[jb>>2]=0;c[eb>>2]=0;Dd=Tb}c[eb>>2]=c[Wb>>2];eb=Ub+16|0;c[jb>>2]=c[eb>>2];jb=Ub+20|0;c[Dd>>2]=c[jb>>2];c[jb>>2]=0;c[eb>>2]=0;c[Wb>>2]=0;Wb=c[fb>>2]|0;if(Wb|0){fb=c[Wb+12>>2]|0;eb=fb;if(fb|0){jb=Wb+16|0;Ub=c[jb>>2]|0;if((Ub|0)!=(fb|0))c[jb>>2]=Ub+(~((Ub+-4-eb|0)>>>2)<<2);An(fb)}fb=c[Wb>>2]|0;eb=fb;if(fb|0){Ub=Wb+4|0;jb=c[Ub>>2]|0;if((jb|0)!=(fb|0))c[Ub>>2]=jb+(~((jb+-4-eb|0)>>>2)<<2);An(fb)}An(Wb)}break}case 114:{Wb=Tn(24)|0;Cd(Wb);c[M>>2]=Wb;c[Wb+16>>2]=1;fb=c[qb+-32>>2]|0;c[Wb+20>>2]=fb;Wb=qb+-64|0;eb=c[Wb+4>>2]|0;jb=fb;c[jb>>2]=c[Wb>>2];c[jb+4>>2]=eb;break}case 115:{eb=Tn(24)|0;Cd(eb);c[M>>2]=eb;c[eb+16>>2]=2;jb=c[qb+-32>>2]|0;c[eb+20>>2]=jb;eb=qb+-64|0;Wb=c[eb+4>>2]|0;fb=jb;c[fb>>2]=c[eb>>2];c[fb+4>>2]=Wb;break}case 116:{Wb=Tn(24)|0;Cd(Wb);c[M>>2]=Wb;c[Wb+16>>2]=3;fb=c[qb+-32>>2]|0;c[Wb+20>>2]=fb;Wb=qb+-64|0;eb=c[Wb+4>>2]|0;jb=fb;c[jb>>2]=c[Wb>>2];c[jb+4>>2]=eb;break}case 117:{eb=c[qb+-32>>2]|0;c[M>>2]=eb;jb=qb+-96|0;Wb=c[jb+4>>2]|0;fb=eb;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Wb;Wb=qb+-64|0;fb=c[Wb+4>>2]|0;jb=(c[M>>2]|0)+8|0;c[jb>>2]=c[Wb>>2];c[jb+4>>2]=fb;break}case 118:{fb=c[qb+-64>>2]|0;c[M>>2]=fb;c[fb+16>>2]=0;fb=Tn(128)|0;qd(fb);c[(c[M>>2]|0)+20>>2]=fb;fb=qb+-96|0;jb=c[fb+4>>2]|0;Wb=c[(c[M>>2]|0)+20>>2]|0;c[Wb>>2]=c[fb>>2];c[Wb+4>>2]=jb;jb=c[(c[M>>2]|0)+20>>2]|0;a[jb+8>>0]=1;Wb=jb+16|0;jb=qb+-32|0;c[Wb>>2]=c[jb>>2];c[Wb+4>>2]=c[jb+4>>2];c[Wb+8>>2]=c[jb+8>>2];c[Wb+12>>2]=c[jb+12>>2];c[Wb+16>>2]=c[jb+16>>2];c[Wb+20>>2]=c[jb+20>>2];c[Wb+24>>2]=c[jb+24>>2];c[Wb+28>>2]=c[jb+28>>2];break}case 119:{jb=c[qb+-64>>2]|0;c[M>>2]=jb;c[jb+16>>2]=0;jb=Tn(128)|0;qd(jb);c[(c[M>>2]|0)+20>>2]=jb;jb=qb+-96|0;Wb=c[jb+4>>2]|0;fb=c[(c[M>>2]|0)+20>>2]|0;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Wb;Wb=c[(c[M>>2]|0)+20>>2]|0;fb=Wb+48|0;jb=qb+-32|0;eb=c[jb>>2]|0;Ub=c[fb>>2]|0;Tb=Ub;Vb=Wb+52|0;if(!Ub)Gd=Wb+56|0;else{ib=c[Vb>>2]|0;if((ib|0)!=(Ub|0))c[Vb>>2]=ib+(~((ib+-4-Tb|0)>>>2)<<2);An(Ub);Ub=Wb+56|0;c[Ub>>2]=0;c[Vb>>2]=0;c[fb>>2]=0;Gd=Ub}c[fb>>2]=c[eb>>2];fb=eb+4|0;c[Vb>>2]=c[fb>>2];Vb=eb+8|0;c[Gd>>2]=c[Vb>>2];c[Vb>>2]=0;c[fb>>2]=0;c[eb>>2]=0;fb=Wb+60|0;Vb=eb+12|0;Ub=c[fb>>2]|0;Tb=Ub;ib=Wb+64|0;if(!Ub)Id=Wb+68|0;else{db=c[ib>>2]|0;if((db|0)!=(Ub|0))c[ib>>2]=db+(~((db+-4-Tb|0)>>>2)<<2);An(Ub);Ub=Wb+68|0;c[Ub>>2]=0;c[ib>>2]=0;c[fb>>2]=0;Id=Ub}c[fb>>2]=c[Vb>>2];fb=eb+16|0;c[ib>>2]=c[fb>>2];ib=eb+20|0;c[Id>>2]=c[ib>>2];c[ib>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;Vb=c[jb>>2]|0;if(Vb|0){jb=c[Vb+12>>2]|0;fb=jb;if(jb|0){ib=Vb+16|0;eb=c[ib>>2]|0;if((eb|0)!=(jb|0))c[ib>>2]=eb+(~((eb+-4-fb|0)>>>2)<<2);An(jb)}jb=c[Vb>>2]|0;fb=jb;if(jb|0){eb=Vb+4|0;ib=c[eb>>2]|0;if((ib|0)!=(jb|0))c[eb>>2]=ib+(~((ib+-4-fb|0)>>>2)<<2);An(jb)}An(Vb)}break}case 120:{Vb=c[qb+-64>>2]|0;c[M>>2]=Vb;c[Vb+16>>2]=1;c[Vb+20>>2]=c[qb+-32>>2];Vb=qb+-96|0;jb=c[Vb+4>>2]|0;fb=c[(c[M>>2]|0)+20>>2]|0;c[fb>>2]=c[Vb>>2];c[fb+4>>2]=jb;break}case 121:{jb=c[qb+-64>>2]|0;c[M>>2]=jb;c[jb+16>>2]=2;c[jb+20>>2]=c[qb+-32>>2];jb=qb+-96|0;fb=c[jb+4>>2]|0;Vb=c[(c[M>>2]|0)+20>>2]|0;c[Vb>>2]=c[jb>>2];c[Vb+4>>2]=fb;break}case 122:{fb=c[qb+-64>>2]|0;c[M>>2]=fb;c[fb+16>>2]=3;c[fb+20>>2]=c[qb+-32>>2];fb=qb+-96|0;Vb=c[fb+4>>2]|0;jb=c[(c[M>>2]|0)+20>>2]|0;c[jb>>2]=c[fb>>2];c[jb+4>>2]=Vb;break}case 123:{Vb=Tn(24)|0;Cd(Vb);c[M>>2]=Vb;jb=qb+-64|0;fb=c[jb+4>>2]|0;ib=Vb;c[ib>>2]=c[jb>>2];c[ib+4>>2]=fb;fb=qb+-32|0;ib=c[fb+4>>2]|0;jb=Vb+8|0;c[jb>>2]=c[fb>>2];c[jb+4>>2]=ib;break}case 124:{ib=Tn(48)|0;Ed(ib);c[M>>2]=ib;c[ib+8>>2]=0;jb=ib+16|0;ib=qb+-32|0;c[jb>>2]=c[ib>>2];c[jb+4>>2]=c[ib+4>>2];c[jb+8>>2]=c[ib+8>>2];c[jb+12>>2]=c[ib+12>>2];c[jb+16>>2]=c[ib+16>>2];c[jb+20>>2]=c[ib+20>>2];c[jb+24>>2]=c[ib+24>>2];c[jb+28>>2]=c[ib+28>>2];break}case 125:{ib=Tn(48)|0;Ed(ib);c[M>>2]=ib;c[ib+8>>2]=1;jb=ib+16|0;ib=qb+-32|0;c[jb>>2]=c[ib>>2];c[jb+4>>2]=c[ib+4>>2];c[jb+8>>2]=c[ib+8>>2];c[jb+12>>2]=c[ib+12>>2];c[jb+16>>2]=c[ib+16>>2];c[jb+20>>2]=c[ib+20>>2];c[jb+24>>2]=c[ib+24>>2];c[jb+28>>2]=c[ib+28>>2];break}case 126:{ib=Tn(48)|0;Ed(ib);c[M>>2]=ib;c[ib+8>>2]=2;jb=ib+16|0;ib=qb+-32|0;c[jb>>2]=c[ib>>2];c[jb+4>>2]=c[ib+4>>2];c[jb+8>>2]=c[ib+8>>2];c[jb+12>>2]=c[ib+12>>2];c[jb+16>>2]=c[ib+16>>2];c[jb+20>>2]=c[ib+20>>2];c[jb+24>>2]=c[ib+24>>2];c[jb+28>>2]=c[ib+28>>2];break}case 127:{ib=Tn(48)|0;Ed(ib);c[M>>2]=ib;c[ib+8>>2]=3;jb=ib+16|0;ib=qb+-32|0;c[jb>>2]=c[ib>>2];c[jb+4>>2]=c[ib+4>>2];c[jb+8>>2]=c[ib+8>>2];c[jb+12>>2]=c[ib+12>>2];c[jb+16>>2]=c[ib+16>>2];c[jb+20>>2]=c[ib+20>>2];c[jb+24>>2]=c[ib+24>>2];c[jb+28>>2]=c[ib+28>>2];break}case 128:{ib=c[qb+-32>>2]|0;c[M>>2]=ib;jb=qb+-64|0;fb=c[jb+4>>2]|0;Vb=ib;c[Vb>>2]=c[jb>>2];c[Vb+4>>2]=fb;break}case 129:{fb=Tn(8)|0;Vb=fb;c[Vb>>2]=0;c[Vb+4>>2]=0;c[fb>>2]=0;c[M>>2]=fb;a[fb+4>>0]=0;break}case 131:{fb=Tn(8)|0;Vb=fb;c[Vb>>2]=0;c[Vb+4>>2]=0;c[fb>>2]=0;c[M>>2]=fb;a[fb+4>>0]=1;Vb=Tn(48)|0;Ed(Vb);jb=c[fb>>2]|0;c[fb>>2]=Vb;if(jb|0){Fd(jb);An(jb)}jb=qb+-32|0;Vb=c[jb+4>>2]|0;fb=c[c[M>>2]>>2]|0;c[fb>>2]=c[jb>>2];c[fb+4>>2]=Vb;break}case 132:{Vb=Tn(32)|0;nd(Vb);c[M>>2]=Vb;fb=Vb+8|0;jb=qb+-32|0;ib=c[jb>>2]|0;eb=c[fb>>2]|0;Ub=eb;Wb=Vb+12|0;if(!eb)Nd=Vb+16|0;else{Tb=c[Wb>>2]|0;if((Tb|0)!=(eb|0))c[Wb>>2]=Tb+(~((Tb+-4-Ub|0)>>>2)<<2);An(eb);eb=Vb+16|0;c[eb>>2]=0;c[Wb>>2]=0;c[fb>>2]=0;Nd=eb}c[fb>>2]=c[ib>>2];fb=ib+4|0;c[Wb>>2]=c[fb>>2];Wb=ib+8|0;c[Nd>>2]=c[Wb>>2];c[Wb>>2]=0;c[fb>>2]=0;c[ib>>2]=0;fb=Vb+20|0;Wb=ib+12|0;eb=c[fb>>2]|0;Ub=eb;Tb=Vb+24|0;if(!eb)Rd=Vb+28|0;else{db=c[Tb>>2]|0;if((db|0)!=(eb|0))c[Tb>>2]=db+(~((db+-4-Ub|0)>>>2)<<2);An(eb);eb=Vb+28|0;c[eb>>2]=0;c[Tb>>2]=0;c[fb>>2]=0;Rd=eb}c[fb>>2]=c[Wb>>2];fb=ib+16|0;c[Tb>>2]=c[fb>>2];Tb=ib+20|0;c[Rd>>2]=c[Tb>>2];c[Tb>>2]=0;c[fb>>2]=0;c[Wb>>2]=0;Wb=c[jb>>2]|0;if(Wb|0){jb=c[Wb+12>>2]|0;fb=jb;if(jb|0){Tb=Wb+16|0;ib=c[Tb>>2]|0;if((ib|0)!=(jb|0))c[Tb>>2]=ib+(~((ib+-4-fb|0)>>>2)<<2);An(jb)}jb=c[Wb>>2]|0;fb=jb;if(jb|0){ib=Wb+4|0;Tb=c[ib>>2]|0;if((Tb|0)!=(jb|0))c[ib>>2]=Tb+(~((Tb+-4-fb|0)>>>2)<<2);An(jb)}An(Wb)}break}case 133:{Wb=Tn(32)|0;nd(Wb);c[M>>2]=Wb;jb=qb+-64|0;fb=c[jb+4>>2]|0;Tb=Wb;c[Tb>>2]=c[jb>>2];c[Tb+4>>2]=fb;fb=Wb+8|0;Tb=qb+-32|0;jb=c[Tb>>2]|0;ib=c[fb>>2]|0;eb=ib;Vb=Wb+12|0;if(!ib)Sd=Wb+16|0;else{Ub=c[Vb>>2]|0;if((Ub|0)!=(ib|0))c[Vb>>2]=Ub+(~((Ub+-4-eb|0)>>>2)<<2);An(ib);ib=Wb+16|0;c[ib>>2]=0;c[Vb>>2]=0;c[fb>>2]=0;Sd=ib}c[fb>>2]=c[jb>>2];fb=jb+4|0;c[Vb>>2]=c[fb>>2];Vb=jb+8|0;c[Sd>>2]=c[Vb>>2];c[Vb>>2]=0;c[fb>>2]=0;c[jb>>2]=0;fb=Wb+20|0;Vb=jb+12|0;ib=c[fb>>2]|0;eb=ib;Ub=Wb+24|0;if(!ib)Td=Wb+28|0;else{db=c[Ub>>2]|0;if((db|0)!=(ib|0))c[Ub>>2]=db+(~((db+-4-eb|0)>>>2)<<2);An(ib);ib=Wb+28|0;c[ib>>2]=0;c[Ub>>2]=0;c[fb>>2]=0;Td=ib}c[fb>>2]=c[Vb>>2];fb=jb+16|0;c[Ub>>2]=c[fb>>2];Ub=jb+20|0;c[Td>>2]=c[Ub>>2];c[Ub>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;Vb=c[Tb>>2]|0;if(Vb|0){Tb=c[Vb+12>>2]|0;fb=Tb;if(Tb|0){Ub=Vb+16|0;jb=c[Ub>>2]|0;if((jb|0)!=(Tb|0))c[Ub>>2]=jb+(~((jb+-4-fb|0)>>>2)<<2);An(Tb)}Tb=c[Vb>>2]|0;fb=Tb;if(Tb|0){jb=Vb+4|0;Ub=c[jb>>2]|0;if((Ub|0)!=(Tb|0))c[jb>>2]=Ub+(~((Ub+-4-fb|0)>>>2)<<2);An(Tb)}An(Vb)}break}case 134:{Vb=qb+-32|0;c[M>>2]=c[Vb>>2];c[M+4>>2]=c[Vb+4>>2];c[M+8>>2]=c[Vb+8>>2];c[M+12>>2]=c[Vb+12>>2];c[M+16>>2]=c[Vb+16>>2];c[M+20>>2]=c[Vb+20>>2];c[M+24>>2]=c[Vb+24>>2];c[M+28>>2]=c[Vb+28>>2];break}case 135:{Vb=Tn(280)|0;Hd(Vb);c[M>>2]=Vb;break}case 136:{Vb=c[qb+-32>>2]|0;c[M>>2]=Vb;Tb=yc(Vb)|0;c[Tb>>2]=c[lb>>2];c[Tb+4>>2]=c[lb+4>>2];c[Tb+8>>2]=c[lb+8>>2];c[Tb+12>>2]=c[lb+12>>2];c[Tb+16>>2]=4;Vb=c[qb>>2]|0;fb=Tb+24|0;c[fb>>2]=Vb;Tb=c[M>>2]|0;Ub=Tb+100|0;jb=c[Ub>>2]|0;if((jb|0)==(c[Tb+104>>2]|0))Bc(Tb+96|0,fb);else{c[jb>>2]=Vb;c[Ub>>2]=(c[Ub>>2]|0)+4}Ub=c[qb>>2]|0;Vb=c[Ub>>2]|0;if(Vb|0){jb=c[M>>2]|0;hn($,Vb,c[Ub+4>>2]|0);Ub=c[M>>2]|0;Vb=c[Ub+100>>2]|0;fb=c[Ub+96>>2]|0;c[aa>>2]=c[lb>>2];c[aa+4>>2]=c[lb+4>>2];c[aa+8>>2]=c[lb+8>>2];c[aa+12>>2]=c[lb+12>>2];Ub=Tn(40)|0;Tb=Ub+8|0;c[Tb>>2]=c[$>>2];c[Tb+4>>2]=c[$+4>>2];c[Tb+8>>2]=c[$+8>>2];c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;Tb=Ub+20|0;c[Tb>>2]=c[aa>>2];c[Tb+4>>2]=c[aa+4>>2];c[Tb+8>>2]=c[aa+8>>2];c[Tb+12>>2]=c[aa+12>>2];c[Ub+36>>2]=(Vb-fb>>2)+-1;ge(jb+220|0,Ub)|0;jn($)}break}case 137:{Ub=c[qb+-32>>2]|0;c[M>>2]=Ub;jb=yc(Ub)|0;c[jb>>2]=c[lb>>2];c[jb+4>>2]=c[lb+4>>2];c[jb+8>>2]=c[lb+8>>2];c[jb+12>>2]=c[lb+12>>2];c[jb+16>>2]=1;Ub=c[qb>>2]|0;fb=c[Ub>>2]|0;c[Ub>>2]=0;Ub=jb+24|0;c[Ub>>2]=fb;jb=c[M>>2]|0;Vb=jb+64|0;Tb=c[Vb>>2]|0;if((Tb|0)==(c[jb+68>>2]|0))je(jb+60|0,Ub);else{c[Tb>>2]=fb;c[Vb>>2]=(c[Vb>>2]|0)+4}Vb=c[Ub>>2]|0;Ub=c[Vb>>2]|0;if(Ub|0){fb=c[M>>2]|0;hn(ba,Ub,c[Vb+4>>2]|0);Vb=c[M>>2]|0;Ub=c[Vb+64>>2]|0;Tb=c[Vb+60>>2]|0;c[ca>>2]=c[lb>>2];c[ca+4>>2]=c[lb+4>>2];c[ca+8>>2]=c[lb+8>>2];c[ca+12>>2]=c[lb+12>>2];Vb=Tn(40)|0;jb=Vb+8|0;c[jb>>2]=c[ba>>2];c[jb+4>>2]=c[ba+4>>2];c[jb+8>>2]=c[ba+8>>2];c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;jb=Vb+20|0;c[jb>>2]=c[ca>>2];c[jb+4>>2]=c[ca+4>>2];c[jb+8>>2]=c[ca+8>>2];c[jb+12>>2]=c[ca+12>>2];c[Vb+36>>2]=(Ub-Tb>>2)+-1;ge(fb+180|0,Vb)|0;jn(ba)}Vb=c[qb>>2]|0;if(!(a[Vb+8>>0]|0))Vd=Vb;else{Vb=yc(c[M>>2]|0)|0;c[Vb>>2]=c[lb>>2];c[Vb+4>>2]=c[lb+4>>2];c[Vb+8>>2]=c[lb+8>>2];c[Vb+12>>2]=c[lb+12>>2];c[Vb+16>>2]=3;fb=(c[qb>>2]|0)+4|0;Tb=c[fb>>2]|0;c[fb>>2]=0;fb=Vb+24|0;c[fb>>2]=Tb;c[Tb+8>>2]=3;Ub=Tb+16|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];Ub=c[M>>2]|0;Tb=c[fb>>2]|0;jb=Tb+40|0;c[jb>>2]=((c[Ub+64>>2]|0)-(c[Ub+60>>2]|0)>>2)+-1;c[jb+4>>2]=0;jb=Ub+88|0;ib=c[jb>>2]|0;if((ib|0)==(c[Ub+92>>2]|0))ke(Ub+84|0,fb);else{c[ib>>2]=Tb;c[jb>>2]=(c[jb>>2]|0)+4}jb=c[fb>>2]|0;fb=c[jb>>2]|0;if(fb|0){Tb=c[M>>2]|0;hn(da,fb,c[jb+4>>2]|0);jb=c[M>>2]|0;fb=c[jb+88>>2]|0;ib=c[jb+84>>2]|0;c[ea>>2]=c[Vb>>2];c[ea+4>>2]=c[Vb+4>>2];c[ea+8>>2]=c[Vb+8>>2];c[ea+12>>2]=c[Vb+12>>2];Vb=Tn(40)|0;jb=Vb+8|0;c[jb>>2]=c[da>>2];c[jb+4>>2]=c[da+4>>2];c[jb+8>>2]=c[da+8>>2];c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=0;jb=Vb+20|0;c[jb>>2]=c[ea>>2];c[jb+4>>2]=c[ea+4>>2];c[jb+8>>2]=c[ea+8>>2];c[jb+12>>2]=c[ea+12>>2];c[Vb+36>>2]=(fb-ib>>2)+-1;ge(Tb+200|0,Vb)|0;jn(da)}Vd=c[qb>>2]|0}if(Vd|0){Vb=Vd+4|0;Tb=c[Vb>>2]|0;c[Vb>>2]=0;if(Tb|0){Fd(Tb);An(Tb)}Tb=c[Vd>>2]|0;c[Vd>>2]=0;if(Tb|0){td(Tb);An(Tb)}An(Vd)}break}case 138:{Tb=c[qb+-32>>2]|0;c[M>>2]=Tb;Vb=yc(Tb)|0;c[Vb>>2]=c[lb>>2];c[Vb+4>>2]=c[lb+4>>2];c[Vb+8>>2]=c[lb+8>>2];c[Vb+12>>2]=c[lb+12>>2];c[Vb+16>>2]=5;Tb=c[qb>>2]|0;ib=c[Tb>>2]|0;c[Tb>>2]=0;Tb=Vb+24|0;c[Tb>>2]=ib;Vb=c[M>>2]|0;fb=Vb+112|0;jb=c[fb>>2]|0;if((jb|0)==(c[Vb+116>>2]|0))le(Vb+108|0,Tb);else{c[jb>>2]=ib;c[fb>>2]=(c[fb>>2]|0)+4}fb=c[Tb>>2]|0;Tb=c[fb>>2]|0;if(Tb|0){ib=c[M>>2]|0;hn(fa,Tb,c[fb+4>>2]|0);fb=c[M>>2]|0;Tb=c[fb+112>>2]|0;jb=c[fb+108>>2]|0;c[ga>>2]=c[lb>>2];c[ga+4>>2]=c[lb+4>>2];c[ga+8>>2]=c[lb+8>>2];c[ga+12>>2]=c[lb+12>>2];fb=Tn(40)|0;Vb=fb+8|0;c[Vb>>2]=c[fa>>2];c[Vb+4>>2]=c[fa+4>>2];c[Vb+8>>2]=c[fa+8>>2];c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=0;Vb=fb+20|0;c[Vb>>2]=c[ga>>2];c[Vb+4>>2]=c[ga+4>>2];c[Vb+8>>2]=c[ga+8>>2];c[Vb+12>>2]=c[ga+12>>2];c[fb+36>>2]=(Tb-jb>>2)+-1;ge(ib+240|0,fb)|0;jn(fa)}if(a[(c[qb>>2]|0)+12>>0]|0){fb=yc(c[M>>2]|0)|0;c[fb>>2]=c[lb>>2];c[fb+4>>2]=c[lb+4>>2];c[fb+8>>2]=c[lb+8>>2];c[fb+12>>2]=c[lb+12>>2];c[fb+16>>2]=3;ib=(c[qb>>2]|0)+8|0;jb=c[ib>>2]|0;c[ib>>2]=0;ib=fb+24|0;c[ib>>2]=jb;c[jb+8>>2]=1;Tb=jb+16|0;c[Tb>>2]=c[lb>>2];c[Tb+4>>2]=c[lb+4>>2];c[Tb+8>>2]=c[lb+8>>2];c[Tb+12>>2]=c[lb+12>>2];Tb=c[M>>2]|0;jb=c[ib>>2]|0;Vb=jb+40|0;c[Vb>>2]=((c[Tb+112>>2]|0)-(c[Tb+108>>2]|0)>>2)+-1;c[Vb+4>>2]=0;Vb=Tb+88|0;Ub=c[Vb>>2]|0;if((Ub|0)==(c[Tb+92>>2]|0))ke(Tb+84|0,ib);else{c[Ub>>2]=jb;c[Vb>>2]=(c[Vb>>2]|0)+4}Vb=c[ib>>2]|0;ib=c[Vb>>2]|0;if(ib|0){jb=c[M>>2]|0;hn(ha,ib,c[Vb+4>>2]|0);Vb=c[M>>2]|0;ib=c[Vb+88>>2]|0;Ub=c[Vb+84>>2]|0;c[ia>>2]=c[fb>>2];c[ia+4>>2]=c[fb+4>>2];c[ia+8>>2]=c[fb+8>>2];c[ia+12>>2]=c[fb+12>>2];fb=Tn(40)|0;Vb=fb+8|0;c[Vb>>2]=c[ha>>2];c[Vb+4>>2]=c[ha+4>>2];c[Vb+8>>2]=c[ha+8>>2];c[ha>>2]=0;c[ha+4>>2]=0;c[ha+8>>2]=0;Vb=fb+20|0;c[Vb>>2]=c[ia>>2];c[Vb+4>>2]=c[ia+4>>2];c[Vb+8>>2]=c[ia+8>>2];c[Vb+12>>2]=c[ia+12>>2];c[fb+36>>2]=(ib-Ub>>2)+-1;ge(jb+200|0,fb)|0;jn(ha)}}fb=c[qb>>2]|0;if(!(a[fb+16>>0]|0))Wd=fb;else{fb=yc(c[M>>2]|0)|0;c[fb>>2]=c[lb>>2];c[fb+4>>2]=c[lb+4>>2];c[fb+8>>2]=c[lb+8>>2];c[fb+12>>2]=c[lb+12>>2];c[fb+16>>2]=6;jb=(c[qb>>2]|0)+4|0;Ub=c[jb>>2]|0;c[jb>>2]=0;jb=fb+24|0;c[jb>>2]=Ub;fb=c[M>>2]|0;ib=fb+124|0;Vb=c[ib>>2]|0;if((Vb|0)==(c[fb+128>>2]|0))me(fb+120|0,jb);else{c[Vb>>2]=Ub;c[ib>>2]=(c[ib>>2]|0)+4}Wd=c[qb>>2]|0}if(Wd|0){ib=Wd+8|0;Ub=c[ib>>2]|0;c[ib>>2]=0;if(Ub|0){Fd(Ub);An(Ub)}Ub=Wd+4|0;ib=c[Ub>>2]|0;c[Ub>>2]=0;if(ib|0){xd(ib);An(ib)}ib=c[Wd>>2]|0;c[Wd>>2]=0;if(ib|0){vd(ib);An(ib)}An(Wd)}break}case 139:{ib=c[qb+-32>>2]|0;c[M>>2]=ib;Ub=yc(ib)|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];c[Ub+16>>2]=7;ib=c[qb>>2]|0;Vb=c[ib>>2]|0;c[ib>>2]=0;ib=Ub+24|0;c[ib>>2]=Vb;Ub=c[M>>2]|0;jb=Ub+136|0;fb=c[jb>>2]|0;if((fb|0)==(c[Ub+140>>2]|0))ne(Ub+132|0,ib);else{c[fb>>2]=Vb;c[jb>>2]=(c[jb>>2]|0)+4}jb=c[ib>>2]|0;ib=c[jb>>2]|0;if(ib|0){Vb=c[M>>2]|0;hn(ja,ib,c[jb+4>>2]|0);jb=c[M>>2]|0;ib=c[jb+136>>2]|0;fb=c[jb+132>>2]|0;c[ka>>2]=c[lb>>2];c[ka+4>>2]=c[lb+4>>2];c[ka+8>>2]=c[lb+8>>2];c[ka+12>>2]=c[lb+12>>2];jb=Tn(40)|0;Ub=jb+8|0;c[Ub>>2]=c[ja>>2];c[Ub+4>>2]=c[ja+4>>2];c[Ub+8>>2]=c[ja+8>>2];c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;Ub=jb+20|0;c[Ub>>2]=c[ka>>2];c[Ub+4>>2]=c[ka+4>>2];c[Ub+8>>2]=c[ka+8>>2];c[Ub+12>>2]=c[ka+12>>2];c[jb+36>>2]=(ib-fb>>2)+-1;ge(Vb+260|0,jb)|0;jn(ja)}if(a[(c[qb>>2]|0)+12>>0]|0){jb=yc(c[M>>2]|0)|0;c[jb>>2]=c[lb>>2];c[jb+4>>2]=c[lb+4>>2];c[jb+8>>2]=c[lb+8>>2];c[jb+12>>2]=c[lb+12>>2];c[jb+16>>2]=3;Vb=(c[qb>>2]|0)+8|0;fb=c[Vb>>2]|0;c[Vb>>2]=0;Vb=jb+24|0;c[Vb>>2]=fb;c[fb+8>>2]=2;ib=fb+16|0;c[ib>>2]=c[lb>>2];c[ib+4>>2]=c[lb+4>>2];c[ib+8>>2]=c[lb+8>>2];c[ib+12>>2]=c[lb+12>>2];ib=c[M>>2]|0;fb=c[Vb>>2]|0;Ub=fb+40|0;c[Ub>>2]=((c[ib+136>>2]|0)-(c[ib+132>>2]|0)>>2)+-1;c[Ub+4>>2]=0;Ub=ib+88|0;Tb=c[Ub>>2]|0;if((Tb|0)==(c[ib+92>>2]|0))ke(ib+84|0,Vb);else{c[Tb>>2]=fb;c[Ub>>2]=(c[Ub>>2]|0)+4}Ub=c[Vb>>2]|0;Vb=c[Ub>>2]|0;if(Vb|0){fb=c[M>>2]|0;hn(la,Vb,c[Ub+4>>2]|0);Ub=c[M>>2]|0;Vb=c[Ub+88>>2]|0;Tb=c[Ub+84>>2]|0;c[ma>>2]=c[jb>>2];c[ma+4>>2]=c[jb+4>>2];c[ma+8>>2]=c[jb+8>>2];c[ma+12>>2]=c[jb+12>>2];jb=Tn(40)|0;Ub=jb+8|0;c[Ub>>2]=c[la>>2];c[Ub+4>>2]=c[la+4>>2];c[Ub+8>>2]=c[la+8>>2];c[la>>2]=0;c[la+4>>2]=0;c[la+8>>2]=0;Ub=jb+20|0;c[Ub>>2]=c[ma>>2];c[Ub+4>>2]=c[ma+4>>2];c[Ub+8>>2]=c[ma+8>>2];c[Ub+12>>2]=c[ma+12>>2];c[jb+36>>2]=(Vb-Tb>>2)+-1;ge(fb+200|0,jb)|0;jn(la)}}jb=c[qb>>2]|0;if(!(a[jb+16>>0]|0))Xd=jb;else{jb=yc(c[M>>2]|0)|0;c[jb>>2]=c[lb>>2];c[jb+4>>2]=c[lb+4>>2];c[jb+8>>2]=c[lb+8>>2];c[jb+12>>2]=c[lb+12>>2];c[jb+16>>2]=8;fb=(c[qb>>2]|0)+4|0;Tb=c[fb>>2]|0;c[fb>>2]=0;fb=jb+24|0;c[fb>>2]=Tb;jb=c[M>>2]|0;Vb=jb+148|0;Ub=c[Vb>>2]|0;if((Ub|0)==(c[jb+152>>2]|0))oe(jb+144|0,fb);else{c[Ub>>2]=Tb;c[Vb>>2]=(c[Vb>>2]|0)+4}Xd=c[qb>>2]|0}if(Xd|0){Vb=Xd+8|0;Tb=c[Vb>>2]|0;c[Vb>>2]=0;if(Tb|0){Fd(Tb);An(Tb)}Tb=Xd+4|0;Vb=c[Tb>>2]|0;c[Tb>>2]=0;if(Vb|0){zd(Vb);An(Vb)}Vb=c[Xd>>2]|0;c[Xd>>2]=0;if(Vb|0){Bd(Vb);An(Vb)}An(Xd)}break}case 140:{Vb=c[qb+-32>>2]|0;c[M>>2]=Vb;Tb=c[c[qb>>2]>>2]|0;Ub=Tb+8|0;do if(!(a[Ub>>0]|0)){fb=tc(Vb,Ub)|0;jb=Tb+48|0;if((fb|0)==-1){zc(lb,Vb,jb)|0;break}ib=c[(c[Vb+96>>2]|0)+(fb<<2)>>2]|0;fb=ib+8|0;if((jb|0)!=(fb|0)){Ac(jb,c[fb>>2]|0,c[ib+12>>2]|0);Ac(Tb+60|0,c[ib+20>>2]|0,c[ib+24>>2]|0)}}while(0);Tb=yc(c[M>>2]|0)|0;c[Tb>>2]=c[lb>>2];c[Tb+4>>2]=c[lb+4>>2];c[Tb+8>>2]=c[lb+8>>2];c[Tb+12>>2]=c[lb+12>>2];c[Tb+16>>2]=0;Vb=c[qb>>2]|0;Ub=c[Vb>>2]|0;c[Vb>>2]=0;Vb=Tb+24|0;c[Vb>>2]=Ub;Tb=c[M>>2]|0;ib=Tb+52|0;fb=c[ib>>2]|0;if((fb|0)==(c[Tb+56>>2]|0))pe(Tb+48|0,Vb);else{c[fb>>2]=Ub;c[ib>>2]=(c[ib>>2]|0)+4}ib=c[Vb>>2]|0;Vb=c[ib>>2]|0;if(Vb|0){Ub=c[M>>2]|0;hn(na,Vb,c[ib+4>>2]|0);ib=c[M>>2]|0;Vb=c[ib+52>>2]|0;fb=c[ib+48>>2]|0;c[oa>>2]=c[lb>>2];c[oa+4>>2]=c[lb+4>>2];c[oa+8>>2]=c[lb+8>>2];c[oa+12>>2]=c[lb+12>>2];ib=Tn(40)|0;Tb=ib+8|0;c[Tb>>2]=c[na>>2];c[Tb+4>>2]=c[na+4>>2];c[Tb+8>>2]=c[na+8>>2];c[na>>2]=0;c[na+4>>2]=0;c[na+8>>2]=0;Tb=ib+20|0;c[Tb>>2]=c[oa>>2];c[Tb+4>>2]=c[oa+4>>2];c[Tb+8>>2]=c[oa+8>>2];c[Tb+12>>2]=c[oa+12>>2];c[ib+36>>2]=(Vb-fb>>2)+-1;ge(Ub+160|0,ib)|0;jn(na)}ib=c[qb>>2]|0;if(!(a[ib+8>>0]|0))Yd=ib;else{ib=yc(c[M>>2]|0)|0;c[ib>>2]=c[lb>>2];c[ib+4>>2]=c[lb+4>>2];c[ib+8>>2]=c[lb+8>>2];c[ib+12>>2]=c[lb+12>>2];c[ib+16>>2]=3;Ub=(c[qb>>2]|0)+4|0;fb=c[Ub>>2]|0;c[Ub>>2]=0;Ub=ib+24|0;c[Ub>>2]=fb;c[fb+8>>2]=0;Vb=fb+16|0;c[Vb>>2]=c[lb>>2];c[Vb+4>>2]=c[lb+4>>2];c[Vb+8>>2]=c[lb+8>>2];c[Vb+12>>2]=c[lb+12>>2];Vb=c[M>>2]|0;fb=c[Ub>>2]|0;Tb=fb+40|0;c[Tb>>2]=((c[Vb+52>>2]|0)-(c[Vb+48>>2]|0)>>2)+-1;c[Tb+4>>2]=0;Tb=Vb+88|0;jb=c[Tb>>2]|0;if((jb|0)==(c[Vb+92>>2]|0))ke(Vb+84|0,Ub);else{c[jb>>2]=fb;c[Tb>>2]=(c[Tb>>2]|0)+4}Tb=c[Ub>>2]|0;Ub=c[Tb>>2]|0;if(Ub|0){fb=c[M>>2]|0;hn(pa,Ub,c[Tb+4>>2]|0);Tb=c[M>>2]|0;Ub=c[Tb+88>>2]|0;jb=c[Tb+84>>2]|0;c[qa>>2]=c[ib>>2];c[qa+4>>2]=c[ib+4>>2];c[qa+8>>2]=c[ib+8>>2];c[qa+12>>2]=c[ib+12>>2];ib=Tn(40)|0;Tb=ib+8|0;c[Tb>>2]=c[pa>>2];c[Tb+4>>2]=c[pa+4>>2];c[Tb+8>>2]=c[pa+8>>2];c[pa>>2]=0;c[pa+4>>2]=0;c[pa+8>>2]=0;Tb=ib+20|0;c[Tb>>2]=c[qa>>2];c[Tb+4>>2]=c[qa+4>>2];c[Tb+8>>2]=c[qa+8>>2];c[Tb+12>>2]=c[qa+12>>2];c[ib+36>>2]=(Ub-jb>>2)+-1;ge(fb+200|0,ib)|0;jn(pa)}Yd=c[qb>>2]|0}if(Yd|0){ib=Yd+4|0;fb=c[ib>>2]|0;c[ib>>2]=0;if(fb|0){Fd(fb);An(fb)}fb=c[Yd>>2]|0;c[Yd>>2]=0;if(fb|0){rd(fb);An(fb)}An(Yd)}break}case 141:{fb=c[qb+-32>>2]|0;c[M>>2]=fb;ib=yc(fb)|0;c[ib>>2]=c[lb>>2];c[ib+4>>2]=c[lb+4>>2];c[ib+8>>2]=c[lb+8>>2];c[ib+12>>2]=c[lb+12>>2];c[ib+16>>2]=6;fb=c[qb>>2]|0;jb=ib+24|0;c[jb>>2]=fb;ib=c[M>>2]|0;Ub=ib+124|0;Tb=c[Ub>>2]|0;if((Tb|0)==(c[ib+128>>2]|0)){me(ib+120|0,jb);break a}else{c[Tb>>2]=fb;c[Ub>>2]=(c[Ub>>2]|0)+4;break a}break}case 142:{Ub=c[qb+-32>>2]|0;c[M>>2]=Ub;fb=yc(Ub)|0;c[fb>>2]=c[lb>>2];c[fb+4>>2]=c[lb+4>>2];c[fb+8>>2]=c[lb+8>>2];c[fb+12>>2]=c[lb+12>>2];c[fb+16>>2]=8;Ub=c[qb>>2]|0;Tb=fb+24|0;c[Tb>>2]=Ub;fb=c[M>>2]|0;jb=fb+148|0;ib=c[jb>>2]|0;if((ib|0)==(c[fb+152>>2]|0)){oe(fb+144|0,Tb);break a}else{c[ib>>2]=Ub;c[jb>>2]=(c[jb>>2]|0)+4;break a}break}case 143:{jb=c[qb+-32>>2]|0;c[M>>2]=jb;Ub=yc(jb)|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];c[Ub+16>>2]=9;jb=Ub+24|0;c[jb>>2]=c[qb>>2];c[jb+4>>2]=c[qb+4>>2];c[jb+8>>2]=c[qb+8>>2];c[jb+12>>2]=c[qb+12>>2];c[jb+16>>2]=c[qb+16>>2];c[jb+20>>2]=c[qb+20>>2];c[jb+24>>2]=c[qb+24>>2];c[jb+28>>2]=c[qb+28>>2];c[(c[M>>2]|0)+156>>2]=jb;break}case 144:{jb=c[qb+-32>>2]|0;c[M>>2]=jb;Ub=yc(jb)|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];c[Ub+16>>2]=2;jb=Ub+24|0;c[jb>>2]=c[qb>>2];Ub=c[M>>2]|0;if(((c[Ub+52>>2]|0)-(c[Ub+48>>2]|0)>>2|0)==(c[Ub+32>>2]|0))Zd=Ub;else{wi(lb,e,f,12677,s);Zd=c[M>>2]|0}if(((c[Zd+112>>2]|0)-(c[Zd+108>>2]|0)>>2|0)==(c[Zd+36>>2]|0))_d=Zd;else{wi(lb,e,f,12677,r);_d=c[M>>2]|0}if(((c[_d+136>>2]|0)-(c[_d+132>>2]|0)>>2|0)==(c[_d+40>>2]|0))$d=_d;else{wi(lb,e,f,12677,q);$d=c[M>>2]|0}if(((c[$d+64>>2]|0)-(c[$d+60>>2]|0)>>2|0)!=(c[$d+44>>2]|0))wi(lb,e,f,12677,p);switch(c[(c[qb>>2]|0)+16>>2]|0){case 0:{Ub=c[M>>2]|0;ib=c[(c[jb>>2]|0)+20>>2]|0;Tb=ib+8|0;do if(!(a[Tb>>0]|0)){fb=tc(Ub,Tb)|0;Vb=ib+48|0;if((fb|0)==-1){zc(lb,Ub,Vb)|0;break}Wb=c[(c[Ub+96>>2]|0)+(fb<<2)>>2]|0;fb=Wb+8|0;if((Vb|0)!=(fb|0)){Ac(Vb,c[fb>>2]|0,c[Wb+12>>2]|0);Ac(ib+60|0,c[Wb+20>>2]|0,c[Wb+24>>2]|0)}}while(0);ib=c[M>>2]|0;Ub=(c[jb>>2]|0)+20|0;Tb=ib+52|0;Wb=c[Tb>>2]|0;if((Wb|0)==(c[ib+56>>2]|0))pe(ib+48|0,Ub);else{c[Wb>>2]=c[Ub>>2];c[Tb>>2]=(c[Tb>>2]|0)+4}Tb=c[(c[jb>>2]|0)+20>>2]|0;Ub=c[Tb>>2]|0;if(Ub|0){Wb=c[M>>2]|0;hn(ra,Ub,c[Tb+4>>2]|0);Tb=c[M>>2]|0;Ub=c[Tb+52>>2]|0;ib=c[Tb+48>>2]|0;c[sa>>2]=c[lb>>2];c[sa+4>>2]=c[lb+4>>2];c[sa+8>>2]=c[lb+8>>2];c[sa+12>>2]=c[lb+12>>2];Tb=Tn(40)|0;fb=Tb+8|0;c[fb>>2]=c[ra>>2];c[fb+4>>2]=c[ra+4>>2];c[fb+8>>2]=c[ra+8>>2];c[ra>>2]=0;c[ra+4>>2]=0;c[ra+8>>2]=0;fb=Tb+20|0;c[fb>>2]=c[sa>>2];c[fb+4>>2]=c[sa+4>>2];c[fb+8>>2]=c[sa+8>>2];c[fb+12>>2]=c[sa+12>>2];c[Tb+36>>2]=(Ub-ib>>2)+-1;ge(Wb+160|0,Tb)|0;jn(ra)}Tb=c[M>>2]|0;Wb=Tb+32|0;c[Wb>>2]=(c[Wb>>2]|0)+1;ae=Tb;break}case 1:{Tb=c[M>>2]|0;Wb=(c[jb>>2]|0)+20|0;ib=Tb+112|0;Ub=c[ib>>2]|0;if((Ub|0)==(c[Tb+116>>2]|0))le(Tb+108|0,Wb);else{c[Ub>>2]=c[Wb>>2];c[ib>>2]=(c[ib>>2]|0)+4}ib=c[(c[jb>>2]|0)+20>>2]|0;Wb=c[ib>>2]|0;if(Wb|0){Ub=c[M>>2]|0;hn(ta,Wb,c[ib+4>>2]|0);ib=c[M>>2]|0;Wb=c[ib+112>>2]|0;Tb=c[ib+108>>2]|0;c[ua>>2]=c[lb>>2];c[ua+4>>2]=c[lb+4>>2];c[ua+8>>2]=c[lb+8>>2];c[ua+12>>2]=c[lb+12>>2];ib=Tn(40)|0;fb=ib+8|0;c[fb>>2]=c[ta>>2];c[fb+4>>2]=c[ta+4>>2];c[fb+8>>2]=c[ta+8>>2];c[ta>>2]=0;c[ta+4>>2]=0;c[ta+8>>2]=0;fb=ib+20|0;c[fb>>2]=c[ua>>2];c[fb+4>>2]=c[ua+4>>2];c[fb+8>>2]=c[ua+8>>2];c[fb+12>>2]=c[ua+12>>2];c[ib+36>>2]=(Wb-Tb>>2)+-1;ge(Ub+240|0,ib)|0;jn(ta)}ib=c[M>>2]|0;Ub=ib+36|0;c[Ub>>2]=(c[Ub>>2]|0)+1;ae=ib;break}case 2:{ib=c[M>>2]|0;Ub=(c[jb>>2]|0)+20|0;Tb=ib+136|0;Wb=c[Tb>>2]|0;if((Wb|0)==(c[ib+140>>2]|0))ne(ib+132|0,Ub);else{c[Wb>>2]=c[Ub>>2];c[Tb>>2]=(c[Tb>>2]|0)+4}Tb=c[(c[jb>>2]|0)+20>>2]|0;Ub=c[Tb>>2]|0;if(Ub|0){Wb=c[M>>2]|0;hn(va,Ub,c[Tb+4>>2]|0);Tb=c[M>>2]|0;Ub=c[Tb+136>>2]|0;ib=c[Tb+132>>2]|0;c[wa>>2]=c[lb>>2];c[wa+4>>2]=c[lb+4>>2];c[wa+8>>2]=c[lb+8>>2];c[wa+12>>2]=c[lb+12>>2];Tb=Tn(40)|0;fb=Tb+8|0;c[fb>>2]=c[va>>2];c[fb+4>>2]=c[va+4>>2];c[fb+8>>2]=c[va+8>>2];c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=0;fb=Tb+20|0;c[fb>>2]=c[wa>>2];c[fb+4>>2]=c[wa+4>>2];c[fb+8>>2]=c[wa+8>>2];c[fb+12>>2]=c[wa+12>>2];c[Tb+36>>2]=(Ub-ib>>2)+-1;ge(Wb+260|0,Tb)|0;jn(va)}Tb=c[M>>2]|0;Wb=Tb+40|0;c[Wb>>2]=(c[Wb>>2]|0)+1;ae=Tb;break}case 3:{Tb=c[M>>2]|0;Wb=(c[jb>>2]|0)+20|0;ib=Tb+64|0;Ub=c[ib>>2]|0;if((Ub|0)==(c[Tb+68>>2]|0))je(Tb+60|0,Wb);else{c[Ub>>2]=c[Wb>>2];c[ib>>2]=(c[ib>>2]|0)+4}ib=c[(c[jb>>2]|0)+20>>2]|0;Wb=c[ib>>2]|0;if(Wb|0){Ub=c[M>>2]|0;hn(xa,Wb,c[ib+4>>2]|0);ib=c[M>>2]|0;Wb=c[ib+64>>2]|0;Tb=c[ib+60>>2]|0;c[ya>>2]=c[lb>>2];c[ya+4>>2]=c[lb+4>>2];c[ya+8>>2]=c[lb+8>>2];c[ya+12>>2]=c[lb+12>>2];ib=Tn(40)|0;fb=ib+8|0;c[fb>>2]=c[xa>>2];c[fb+4>>2]=c[xa+4>>2];c[fb+8>>2]=c[xa+8>>2];c[xa>>2]=0;c[xa+4>>2]=0;c[xa+8>>2]=0;fb=ib+20|0;c[fb>>2]=c[ya>>2];c[fb+4>>2]=c[ya+4>>2];c[fb+8>>2]=c[ya+8>>2];c[fb+12>>2]=c[ya+12>>2];c[ib+36>>2]=(Wb-Tb>>2)+-1;ge(Ub+180|0,ib)|0;jn(xa)}ib=c[M>>2]|0;Ub=ib+44|0;c[Ub>>2]=(c[Ub>>2]|0)+1;ae=ib;break}default:ae=c[M>>2]|0}ib=ae+76|0;Ub=c[ib>>2]|0;if((Ub|0)==(c[ae+80>>2]|0)){qe(ae+72|0,jb);break a}else{c[Ub>>2]=c[jb>>2];c[ib>>2]=(c[ib>>2]|0)+4;break a}break}case 145:{ib=c[qb+-32>>2]|0;c[M>>2]=ib;Ub=yc(ib)|0;c[Ub>>2]=c[lb>>2];c[Ub+4>>2]=c[lb+4>>2];c[Ub+8>>2]=c[lb+8>>2];c[Ub+12>>2]=c[lb+12>>2];c[Ub+16>>2]=3;ib=c[qb>>2]|0;Tb=Ub+24|0;c[Tb>>2]=ib;Ub=c[M>>2]|0;Wb=Ub+88|0;fb=c[Wb>>2]|0;if((fb|0)==(c[Ub+92>>2]|0))ke(Ub+84|0,Tb);else{c[fb>>2]=ib;c[Wb>>2]=(c[Wb>>2]|0)+4}Wb=c[Tb>>2]|0;Tb=c[Wb>>2]|0;if(Tb|0){ib=c[M>>2]|0;hn(za,Tb,c[Wb+4>>2]|0);Wb=c[M>>2]|0;Tb=c[Wb+88>>2]|0;fb=c[Wb+84>>2]|0;c[Aa>>2]=c[lb>>2];c[Aa+4>>2]=c[lb+4>>2];c[Aa+8>>2]=c[lb+8>>2];c[Aa+12>>2]=c[lb+12>>2];Wb=Tn(40)|0;Ub=Wb+8|0;c[Ub>>2]=c[za>>2];c[Ub+4>>2]=c[za+4>>2];c[Ub+8>>2]=c[za+8>>2];c[za>>2]=0;c[za+4>>2]=0;c[za+8>>2]=0;Ub=Wb+20|0;c[Ub>>2]=c[Aa>>2];c[Ub+4>>2]=c[Aa+4>>2];c[Ub+8>>2]=c[Aa+8>>2];c[Ub+12>>2]=c[Aa+12>>2];c[Wb+36>>2]=(Tb-fb>>2)+-1;ge(ib+200|0,Wb)|0;jn(za)}break}case 146:{Wb=Tn(36)|0;Jd(Wb);c[M>>2]=Wb;c[Wb>>2]=0;ib=qb+-32|0;fb=c[ib>>2]|0;c[Wb+4>>2]=fb;Wb=qb+-64|0;Tb=c[Wb+4>>2]|0;Ub=fb+16|0;c[Ub>>2]=c[Wb>>2];c[Ub+4>>2]=Tb;Tb=c[(c[M>>2]|0)+4>>2]|0;Ub=lb+-48|0;c[Tb>>2]=c[Ub>>2];c[Tb+4>>2]=c[Ub+4>>2];c[Tb+8>>2]=c[Ub+8>>2];c[Tb+12>>2]=c[Ub+12>>2];Ub=c[ib>>2]|0;Tb=c[Ub+48>>2]|0;Wb=c[Ub+52>>2]|0;if((Tb|0)!=(Wb|0)){Ub=Tb;do{Tb=c[Ub>>2]|0;if((((a[Tb+8>>0]|0?(fb=Tb+48|0,(c[Tb+60>>2]|0)==(c[Tb+64>>2]|0)):0)?(c[fb>>2]|0)==(c[Tb+52>>2]|0):0)?(Vb=sc(c[ib>>2]|0,Tb+16|0)|0,Vb|0):0)?(eb=Vb+8|0,(fb|0)!=(eb|0)):0){Ac(fb,c[eb>>2]|0,c[Vb+12>>2]|0);Ac(Tb+60|0,c[Vb+20>>2]|0,c[Vb+24>>2]|0)}Ub=Ub+4|0}while((Ub|0)!=(Wb|0))}break}case 147:{Wb=Tn(36)|0;Jd(Wb);c[M>>2]=Wb;c[Wb>>2]=1;Ub=qb+-64|0;ib=c[Ub+4>>2]|0;jb=Wb+20|0;c[jb>>2]=c[Ub>>2];c[jb+4>>2]=ib;ib=Wb+4|0;jb=lb+-48|0;c[ib>>2]=c[jb>>2];c[ib+4>>2]=c[jb+4>>2];c[ib+8>>2]=c[jb+8>>2];c[ib+12>>2]=c[jb+12>>2];jb=qb+-32|0;ce(jb,Wb+28|0,Wb+32|0);yi(jb);break}case 148:{jb=c[qb>>2]|0;if(!(c[jb>>2]|0)){c[M>>2]=c[jb+4>>2];c[(c[qb>>2]|0)+4>>2]=0}else{jb=Tn(280)|0;Hd(jb);c[M>>2]=jb;Wb=h;c[Wb>>2]=0;c[Wb+4>>2]=0;Wb=(c[qb>>2]|0)+4|0;c[j>>2]=296;c[Pa>>2]=Wb;c[Qa>>2]=e;c[Ra>>2]=f;Wb=c[qb>>2]|0;Re(c[Wb+28>>2]|0,c[Wb+32>>2]|0,h,j,jb)|0;jb=(c[qb>>2]|0)+20|0;Wb=c[jb+4>>2]|0;ib=(c[M>>2]|0)+16|0;c[ib>>2]=c[jb>>2];c[ib+4>>2]=Wb;Wb=c[M>>2]|0;ib=(c[qb>>2]|0)+4|0;c[Wb>>2]=c[ib>>2];c[Wb+4>>2]=c[ib+4>>2];c[Wb+8>>2]=c[ib+8>>2];c[Wb+12>>2]=c[ib+12>>2];ib=(c[qb>>2]|0)+20|0;Wb=ib;a[Wb>>0]=0;a[Wb+1>>0]=0;a[Wb+2>>0]=0;a[Wb+3>>0]=0;Wb=ib+4|0;a[Wb>>0]=0;a[Wb+1>>0]=0;a[Wb+2>>0]=0;a[Wb+3>>0]=0}Wb=c[qb>>2]|0;if(Wb|0){Kd(Wb);An(Wb)}break}case 149:{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;Wb=Ja;c[Wb>>2]=-1;c[Wb+4>>2]=-1;break}case 150:{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[Ga>>2]=1;Wb=c[qb>>2]|0;ib=qb+4|0;jb=c[ib>>2]|0;j:do if(!jb)be=0;else{Ub=Wb;Vb=0;while(1){if(!(a[Ub>>0]|0)){be=Vb;break j}Tb=Vb+1|0;if(Tb>>>0<jb>>>0){Ub=Ub+1|0;Vb=Tb}else{be=Tb;break}}}while(0);jb=Vn(be+1|0)|0;ho(jb|0,Wb|0,be|0)|0;a[jb+be>>0]=0;c[Ka>>2]=jb;c[La>>2]=c[ib>>2];break}case 151:{jb=Tn(72)|0;Md(jb);c[M>>2]=jb;Vb=lb+-64|0;c[jb>>2]=c[Vb>>2];c[jb+4>>2]=c[Vb+4>>2];c[jb+8>>2]=c[Vb+8>>2];c[jb+12>>2]=c[Vb+12>>2];Vb=jb+24|0;Ub=qb+-96|0;c[Vb>>2]=c[Ub>>2];c[Vb+4>>2]=c[Ub+4>>2];c[Vb+8>>2]=c[Ub+8>>2];c[Vb+12>>2]=c[Ub+12>>2];c[Vb+16>>2]=c[Ub+16>>2];c[Vb+20>>2]=c[Ub+20>>2];c[Vb+24>>2]=c[Ub+24>>2];c[Vb+28>>2]=c[Ub+28>>2];c[jb+16>>2]=0;Ub=qb+-64|0;Vb=c[Ub+4>>2]|0;Tb=jb+56|0;c[Tb>>2]=c[Ub>>2];c[Tb+4>>2]=Vb;Vb=Tn(12)|0;Ld(Vb);c[(c[M>>2]|0)+64>>2]=Vb;Vb=c[(c[M>>2]|0)+64>>2]|0;Tb=qb+-32|0;Ub=c[Tb>>2]|0;jb=c[Vb>>2]|0;eb=jb;fb=Vb+4|0;if(!jb)he=Vb+8|0;else{db=c[fb>>2]|0;if((db|0)!=(jb|0))c[fb>>2]=db+(~((db+-32-eb|0)>>>5)<<5);An(jb);jb=Vb+8|0;c[jb>>2]=0;c[fb>>2]=0;c[Vb>>2]=0;he=jb}c[Vb>>2]=c[Ub>>2];Vb=Ub+4|0;c[fb>>2]=c[Vb>>2];fb=Ub+8|0;c[he>>2]=c[fb>>2];c[fb>>2]=0;c[Vb>>2]=0;c[Ub>>2]=0;Ub=c[Tb>>2]|0;if(Ub|0){Tb=c[Ub>>2]|0;Vb=Tb;if(Tb|0){fb=Ub+4|0;jb=c[fb>>2]|0;if((jb|0)!=(Tb|0))c[fb>>2]=jb+(~((jb+-32-Vb|0)>>>5)<<5);An(Tb)}An(Ub)}break}case 152:{Ub=Tn(72)|0;Md(Ub);c[M>>2]=Ub;Tb=lb+-48|0;c[Ub>>2]=c[Tb>>2];c[Ub+4>>2]=c[Tb+4>>2];c[Ub+8>>2]=c[Tb+8>>2];c[Ub+12>>2]=c[Tb+12>>2];Tb=Ub+24|0;Vb=qb+-64|0;c[Tb>>2]=c[Vb>>2];c[Tb+4>>2]=c[Vb+4>>2];c[Tb+8>>2]=c[Vb+8>>2];c[Tb+12>>2]=c[Vb+12>>2];c[Tb+16>>2]=c[Vb+16>>2];c[Tb+20>>2]=c[Vb+20>>2];c[Tb+24>>2]=c[Vb+24>>2];c[Tb+28>>2]=c[Vb+28>>2];c[Ub+16>>2]=1;Vb=qb+-32|0;Tb=c[Vb+4>>2]|0;jb=Ub+56|0;c[jb>>2]=c[Vb>>2];c[jb+4>>2]=Tb;break}case 153:{Tb=Tn(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=3;c[Tb+8>>2]=c[qb+-64>>2];jb=qb+-32|0;Vb=c[jb+4>>2]|0;Ub=Tb+12|0;c[Ub>>2]=c[jb>>2];c[Ub+4>>2]=Vb;break}case 154:{Vb=Tn(48)|0;Od(Vb);c[M>>2]=Vb;c[Vb>>2]=4;c[Vb+8>>2]=c[qb+-64>>2];Ub=qb+-32|0;jb=c[Ub+4>>2]|0;Tb=Vb+12|0;c[Tb>>2]=c[Ub>>2];c[Tb+4>>2]=jb;break}case 155:{jb=Tn(48)|0;Od(jb);c[M>>2]=jb;c[jb>>2]=6;c[jb+8>>2]=c[qb+-64>>2];Tb=qb+-32|0;Ub=c[Tb+4>>2]|0;Vb=jb+12|0;c[Vb>>2]=c[Tb>>2];c[Vb+4>>2]=Ub;break}case 156:{Ub=Tn(48)|0;Od(Ub);c[M>>2]=Ub;c[Ub>>2]=7;c[Ub+8>>2]=c[qb+-64>>2];Vb=qb+-32|0;Tb=c[Vb+4>>2]|0;jb=Ub+12|0;c[jb>>2]=c[Vb>>2];c[jb+4>>2]=Tb;break}case 157:{Tb=Tn(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=8;c[Tb+8>>2]=c[qb+-64>>2];c[Tb+12>>2]=c[qb+-32>>2];break}case 158:{Tb=Tn(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=9;c[Tb+8>>2]=c[qb+-32>>2];break}case 159:{Tb=Tn(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=10;c[Tb+8>>2]=c[qb+-32>>2];break}case 160:{Tb=Tn(48)|0;Od(Tb);c[M>>2]=Tb;c[Tb>>2]=11;c[Tb+8>>2]=c[qb+-64>>2];jb=qb+-32|0;Vb=c[jb+4>>2]|0;Ub=Tb+12|0;c[Ub>>2]=c[jb>>2];c[Ub+4>>2]=Vb;break}case 161:{Vb=Tn(48)|0;Od(Vb);c[M>>2]=Vb;c[Vb>>2]=12;c[Vb+8>>2]=c[qb+-64>>2];Ub=qb+-32|0;jb=c[Ub+4>>2]|0;Tb=Vb+12|0;c[Tb>>2]=c[Ub>>2];c[Tb+4>>2]=jb;break}case 162:{jb=Tn(48)|0;Od(jb);c[M>>2]=jb;c[jb>>2]=1;c[jb+8>>2]=c[qb>>2];break}case 164:{jb=Tn(48)|0;Od(jb);c[M>>2]=jb;c[jb>>2]=0;c[jb+8>>2]=c[qb>>2];break}case 165:{jb=Tn(48)|0;Od(jb);c[M>>2]=jb;c[jb>>2]=2;Tb=qb+-64|0;Ub=c[Tb+4>>2]|0;Vb=jb+8|0;c[Vb>>2]=c[Tb>>2];c[Vb+4>>2]=Ub;Ub=jb+16|0;Vb=qb+-32|0;c[Ub>>2]=c[Vb>>2];c[Ub+4>>2]=c[Vb+4>>2];c[Ub+8>>2]=c[Vb+8>>2];c[Ub+12>>2]=c[Vb+12>>2];c[Ub+16>>2]=c[Vb+16>>2];c[Ub+20>>2]=c[Vb+20>>2];c[Ub+24>>2]=c[Vb+24>>2];c[Ub+28>>2]=c[Vb+28>>2];Vb=jb+16|0;jb=lb+-16|0;c[Vb>>2]=c[jb>>2];c[Vb+4>>2]=c[jb+4>>2];c[Vb+8>>2]=c[jb+8>>2];c[Vb+12>>2]=c[jb+12>>2];break}case 166:{jb=Tn(12)|0;c[jb>>2]=0;c[jb+4>>2]=0;c[jb+8>>2]=0;c[M>>2]=jb;break}case 167:{jb=c[qb+-32>>2]|0;c[M>>2]=jb;Vb=jb+4|0;Ub=c[Vb>>2]|0;if(Ub>>>0<(c[jb+8>>2]|0)>>>0){c[Ub>>2]=c[qb>>2];c[Vb>>2]=Ub+4;break a}else{re(jb,qb);break a}break}case 168:{jb=lb+-32|0;c[M>>2]=c[jb>>2];c[M+4>>2]=c[jb+4>>2];c[M+8>>2]=c[jb+8>>2];c[M+12>>2]=c[jb+12>>2];jb=c[qb+-64>>2]|0;Ub=c[qb+-32>>2]|0;Vb=qb+-28|0;Tb=c[Vb>>2]|0;fb=Vb+4|0;eb=c[fb>>2]|0;db=Tb+eb|0;c[Ga>>2]=jb;switch(jb|0){case -1:{ie=di(Tb,db,Ka,1)|0;Cb=650;break}case -2:{ie=ci(Tb,db,Ja,1)|0;Cb=650;break}case -3:{ie=ei(Ub,Tb,db,Ka)|0;Cb=650;break}case -4:{ie=fi(Ub,Tb,db,Ja)|0;Cb=650;break}default:{ve=eb;we=Tb;Cb=652}}if((Cb|0)==650?(Cb=0,(ie|0)==1):0){ve=c[fb>>2]|0;we=c[Vb>>2]|0;Cb=652}if((Cb|0)==652){Cb=0;c[o>>2]=ve;c[o+4>>2]=we;wi(lb+-16|0,e,f,12595,o)}fb=c[Vb>>2]|0;if(fb|0)Wn(fb);break}case 169:{fb=Tn(12)|0;c[fb>>2]=0;c[fb+4>>2]=0;c[fb+8>>2]=0;c[M>>2]=fb;break}case 170:{fb=c[qb+-32>>2]|0;c[M>>2]=fb;Vb=fb+4|0;Tb=c[Vb>>2]|0;if((Tb|0)==(c[fb+8>>2]|0)){se(fb,qb);break a}else{c[Tb>>2]=c[qb>>2];c[Tb+4>>2]=c[qb+4>>2];c[Tb+8>>2]=c[qb+8>>2];c[Tb+12>>2]=c[qb+12>>2];c[Tb+16>>2]=c[qb+16>>2];c[Tb+20>>2]=c[qb+20>>2];c[Tb+24>>2]=c[qb+24>>2];c[Tb+28>>2]=c[qb+28>>2];c[Vb>>2]=(c[Vb>>2]|0)+32;break a}break}default:{}}while(0);Vb=nb+(hb<<1)|0;Tb=lb+(hb<<4)|0;fb=qb+(hb<<5)+32|0;c[fb>>2]=c[M>>2];c[fb+4>>2]=c[M+4>>2];c[fb+8>>2]=c[M+8>>2];c[fb+12>>2]=c[M+12>>2];c[fb+16>>2]=c[M+16>>2];c[fb+20>>2]=c[M+20>>2];c[fb+24>>2]=c[M+24>>2];c[fb+28>>2]=c[M+28>>2];eb=Tb+16|0;c[Tb+16>>2]=Ob;c[Tb+20>>2]=gb;c[Tb+24>>2]=Pb;c[Tb+28>>2]=Qb;Tb=(d[12730+Bb>>0]|0)+-75|0;db=b[Vb>>1]|0;Ub=(db<<16>>16)+(b[10790+(Tb<<1)>>1]|0)|0;if(Ub>>>0<798?(b[7598+(Ub<<1)>>1]|0)==db<<16>>16:0){Db=Ab;Eb=eb;Fb=Vb;Gb=b[9194+(Ub<<1)>>1]|0;Hb=fb;break}Db=Ab;Eb=eb;Fb=Vb;Gb=b[10916+(Tb<<1)>>1]|0;Hb=fb}while(0);Wa=Db;Xa=kb;Ya=Eb;Za=mb;_a=Fb+2|0;$a=ob;ab=Gb;bb=pb;cb=Hb}do if((Cb|0)==695){Hb=Kb;if((Jb|0)!=-2)if(Jb>>>0<330)xe=d[11622+Jb>>0]|0;else xe=2;else xe=-2;cb=te(O,N,Lb,xe)|0;switch(cb|0){case 0:{wi(I,e,f,N,n);ye=N;break}case 1:{pb=Vn(c[O>>2]|0)|0;ze=pb;Ae=pb;Be=te(O,pb,Lb,xe)|0;Cb=701;break}default:{ze=N;Ae=12903;Be=cb;Cb=701}}if((Cb|0)==701){wi(I,e,f,Ae,m);if((Be|0)==2){wi(I,e,f,14740,l);rb=Jb;sb=ze;tb=2;ub=Kb;vb=Lb;wb=Nb;break}else ye=ze}if((Lb|0)==(Kb|0)){rb=Jb;sb=ye;tb=1;ub=Lb;vb=Lb;wb=Nb}else{cb=~((Lb+-2-Hb|0)>>>1);Hb=Lb+(cb<<1)|0;pb=Lb;bb=Mb;Gb=Nb;while(1){ue(14725,d[14320+bb>>0]|0,Gb);ab=pb+-2|0;if((ab|0)==(Kb|0))break;else{pb=ab;bb=b[ab>>1]|0;Gb=Gb+-32|0}}rb=Jb;sb=ye;tb=1;ub=Kb;vb=Hb;wb=Nb+(cb<<5)|0}}while(0);if((rb|0)!=-2){if(rb>>>0<330)Ce=d[11622+rb>>0]|0;else Ce=2;ue(14757,Ce,H)}if((vb|0)!=(ub|0)){H=vb;vb=wb;while(1){ue(14787,d[14320+(b[H>>1]|0)>>0]|0,vb);H=H+-2|0;if((H|0)==(ub|0))break;else vb=vb+-32|0}}if((sb|0)==(N|0)){i=g;return tb|0}Wn(sb);i=g;return tb|0}function ce(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,x=0,y=0,z=0,A=0,B=0,C=0;f=i;i=i+16|0;g=f+4|0;h=f;j=c[b>>2]|0;b=(j|0)==0;if(b){k=Vn(0)|0;l=k;m=k;c[d>>2]=l;n=m;o=l;p=n-o|0;c[e>>2]=p;i=f;return}else{q=j;r=0}while(1){k=c[q>>2]|0;s=k+1|0;t=k+(c[q+4>>2]|0)+-1|0;k=(t>>>0>s>>>0?t-s|0:0)+r|0;q=c[q+8>>2]|0;if(!q){u=k;break}else r=k}r=Vn(u)|0;if(b){l=r;m=r;c[d>>2]=l;n=m;o=l;p=n-o|0;c[e>>2]=p;i=f;return}b=r;u=j;while(1){j=c[u>>2]|0;q=j+1|0;k=j+(c[u+4>>2]|0)+-1|0;if(q>>>0<k>>>0){j=b;s=q;while(1){q=a[s>>0]|0;t=s+1|0;if(q<<24>>24==92){v=a[t>>0]|0;switch(v<<24>>24|0){case 110:{a[j>>0]=10;w=j+1|0;x=t;break}case 116:{a[j>>0]=9;w=j+1|0;x=t;break}case 92:{a[j>>0]=92;w=j+1|0;x=t;break}case 39:{a[j>>0]=39;w=j+1|0;x=t;break}case 34:{a[j>>0]=34;w=j+1|0;x=t;break}default:{y=s+2|0;if((ai(v,g)|0)==0?(ai(a[y>>0]|0,h)|0)==0:0){a[j>>0]=c[g>>2]<<4|c[h>>2];z=j+1|0}else z=j;w=z;x=y}}A=w;B=x+1|0}else{a[j>>0]=q;A=j+1|0;B=t}if(B>>>0<k>>>0){j=A;s=B}else{C=A;break}}}else C=b;u=c[u+8>>2]|0;if(!u){l=r;m=C;break}else b=C}c[d>>2]=l;n=m;o=l;p=n-o|0;c[e>>2]=p;i=f;return}function de(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function ee(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>5)+1|0;if(f>>>0>134217727)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>5>>>0<67108863){i=h>>4;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>5;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=134217727;o=f;p=f-e>>5;q=6}if((q|0)==6){j=n;k=Tn(n<<5)|0;l=p;m=o}o=k+(l<<5)|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];c[o+16>>2]=c[b+16>>2];c[o+20>>2]=c[b+20>>2];c[o+24>>2]=c[b+24>>2];c[o+28>>2]=c[b+28>>2];b=m-e|0;m=o+(0-(b>>5)<<5)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+32;c[g>>2]=k+(j<<5);if(!e)return;An(e);return}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,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;f=c[a>>2]|0;g=f;h=f+((c[b>>2]|0)-g>>2<<2)|0;b=c[d>>2]|0;i=c[e>>2]|0;e=i-b|0;j=e>>2;k=b;l=i;if((e|0)<=0){m=h;return m|0}e=a+8|0;n=c[e>>2]|0;o=a+4|0;p=c[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=h;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=(l+-4-t|0)>>>2;x=u;u=p;while(1){c[u>>2]=c[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+(w+1<<2)|0;c[o>>2]=u;v=u}if((s|0)>0){y=v;z=t}else{m=h;return m|0}}else{y=p;z=i}i=y-(h+(j<<2))|0;t=i>>2;v=h+(t<<2)|0;s=0-t|0;if(v>>>0<p>>>0){t=(p+(s<<2)+~r|0)>>>2;r=y;u=v;while(1){c[r>>2]=c[u>>2];u=u+4|0;if(u>>>0>=p>>>0)break;else r=r+4|0}c[o>>2]=y+(t+1<<2)}io(y+(s<<2)|0,h|0,i|0)|0;i=c[d>>2]|0;io(h|0,i|0,z-i|0)|0;m=h;return m|0}i=(q-g>>2)+j|0;if(i>>>0>1073741823)rn(a);j=n-g|0;if(j>>2>>>0<536870911){n=j>>1;j=n>>>0<i>>>0?i:n;n=h;i=n-g>>2;if(!j){A=0;B=0;C=i;D=n}else{E=j;F=i;G=n;H=19}}else{n=h;E=1073741823;F=n-g>>2;G=n;H=19}if((H|0)==19){A=E;B=Tn(E<<2)|0;C=F;D=G}G=B+(C<<2)|0;C=B+(A<<2)|0;if((k|0)==(l|0))I=G;else{A=(l+-4-b|0)>>>2;b=k;k=G;while(1){c[k>>2]=c[b>>2];b=b+4|0;if((b|0)==(l|0))break;else k=k+4|0}I=G+(A+1<<2)|0}A=D-f|0;k=G+(0-(A>>2)<<2)|0;ho(k|0,f|0,A|0)|0;A=(c[o>>2]|0)-D|0;ho(I|0,h|0,A|0)|0;c[a>>2]=k;c[o>>2]=I+(A>>2<<2);c[e>>2]=C;if(!f){m=G;return m|0}An(f);m=G;return m|0}function ge(e,f){e=e|0;f=f|0;var 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.0,B=0.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;h=f+8|0;i=a[h>>0]|0;j=(i&1)==0;k=f+16|0;l=h+1|0;m=j?l:c[k>>2]|0;n=f+12|0;o=j?(i&255)>>>1:c[n>>2]|0;if(o>>>0>3){i=o;j=m;p=o;while(1){q=_(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,1540483477)|0;r=(_(q>>>24^q,1540483477)|0)^(_(p,1540483477)|0);i=i+-4|0;if(i>>>0<=3){s=r;break}else{j=j+4|0;p=r}}p=o+-4|0;j=p&-4;t=p-j|0;u=m+(j+4)|0;v=s}else{t=o;u=m;v=o}switch(t|0){case 3:{w=d[u+2>>0]<<16^v;x=6;break}case 2:{w=v;x=6;break}case 1:{y=v;x=7;break}default:z=v}if((x|0)==6){y=d[u+1>>0]<<8^w;x=7}if((x|0)==7)z=_(d[u>>0]^y,1540483477)|0;y=_(z>>>13^z,1540483477)|0;z=y>>>15^y;y=f+4|0;c[y>>2]=z;u=e+4|0;w=c[u>>2]|0;v=e+12|0;A=+(((c[v>>2]|0)+1|0)>>>0);B=+g[e+16>>2];if((w|0)==0|A>+(w>>>0)*B){if(w>>>0>2)C=(w+-1&w|0)==0;else C=0;t=(C&1|w<<1)^1;C=~~+Z(+(A/B))>>>0;he(e,t>>>0<C>>>0?C:t);D=c[y>>2]|0;E=c[u>>2]|0}else{D=z;E=w}w=E+-1|0;z=(w&E|0)==0;if(z)F=w&D;else F=(D>>>0)%(E>>>0)|0;u=c[(c[e>>2]|0)+(F<<2)>>2]|0;if(!u){y=e+8|0;c[f>>2]=c[y>>2];c[y>>2]=f;c[(c[e>>2]|0)+(F<<2)>>2]=y;y=c[f>>2]|0;if(!y){G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}t=c[y+4>>2]|0;if(z)I=t&w;else I=(t>>>0)%(E>>>0)|0;c[(c[e>>2]|0)+(I<<2)>>2]=f;G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}I=c[u>>2]|0;a:do if(I)if(z){t=u;y=I;C=0;o=u;while(1){m=c[y+4>>2]|0;if((m&w|0)!=(F|0)){J=t;K=o;break a}b:do if((m|0)==(D|0)?(s=y+8|0,j=b[s>>1]|0,p=(j&1)==0,i=(j&254)>>>1,r=p?i:c[y+12>>2]|0,q=a[h>>0]|0,L=(q&1)==0,M=(j&65535)>>>8&255,(r|0)==((L?(q&255)>>>1:c[n>>2]|0)|0)):0){q=L?l:c[k>>2]|0;if(!p){N=(um(c[y+16>>2]|0,q,r)|0)==0;x=28;break}if(r)if(M<<24>>24==(a[q>>0]|0)){M=i;i=s+1|0;s=q;while(1){M=M+-1|0;i=i+1|0;if(!M){O=1;break b}s=s+1|0;if((a[i>>0]|0)!=(a[s>>0]|0)){N=0;x=28;break}}}else{N=0;x=28}else O=1}else{N=0;x=28}while(0);if((x|0)==28){x=0;if(N|C^1)O=N;else{J=t;K=o;break a}}m=c[y>>2]|0;if(!m){J=y;K=y;break}else{s=y;i=y;y=m;C=C|O;o=s;t=i}}}else{t=I;o=u;C=0;y=u;while(1){i=c[t+4>>2]|0;if(((i>>>0)%(E>>>0)|0|0)!=(F|0)){J=o;K=y;break a}c:do if((i|0)==(D|0)?(s=t+8|0,m=b[s>>1]|0,M=(m&1)==0,q=(m&254)>>>1,r=M?q:c[t+12>>2]|0,p=a[h>>0]|0,L=(p&1)==0,j=(m&65535)>>>8&255,(r|0)==((L?(p&255)>>>1:c[n>>2]|0)|0)):0){p=L?l:c[k>>2]|0;if(!M){P=(um(c[t+16>>2]|0,p,r)|0)==0;x=45;break}if(r)if(j<<24>>24==(a[p>>0]|0)){j=q;q=s+1|0;s=p;while(1){j=j+-1|0;q=q+1|0;if(!j){Q=1;break c}s=s+1|0;if((a[q>>0]|0)!=(a[s>>0]|0)){P=0;x=45;break}}}else{P=0;x=45}else Q=1}else{P=0;x=45}while(0);if((x|0)==45){x=0;if(P|C^1)Q=P;else{J=o;K=y;break a}}i=c[t>>2]|0;if(!i){J=t;K=t;break}else{s=t;q=t;t=i;C=C|Q;y=s;o=q}}}else{J=u;K=u}while(0);c[f>>2]=c[K>>2];c[J>>2]=f;J=c[f>>2]|0;if(!J){G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}K=c[J+4>>2]|0;if(z)R=K&w;else R=(K>>>0)%(E>>>0)|0;if((R|0)==(F|0)){G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}c[(c[e>>2]|0)+(R<<2)>>2]=f;G=c[v>>2]|0;H=G+1|0;c[v>>2]=H;return f|0}function he(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;if((b|0)!=1)if(!(b+-1&b))d=b;else d=fn(b)|0;else d=2;b=c[a+4>>2]|0;if(d>>>0>b>>>0){ie(a,d);return}if(d>>>0>=b>>>0)return;if(b>>>0>2)e=(b+-1&b|0)==0;else e=0;f=~~+Z(+(+((c[a+12>>2]|0)>>>0)/+g[a+16>>2]))>>>0;if(e)h=1<<32-(aa(f+-1|0)|0);else h=fn(f)|0;f=d>>>0<h>>>0?h:d;if(f>>>0>=b>>>0)return;ie(a,f);return}function ie(d,e){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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;f=d+4|0;if(!e){g=c[d>>2]|0;c[d>>2]=0;if(g|0)An(g);c[f>>2]=0;return}g=Tn(e<<2)|0;h=c[d>>2]|0;c[d>>2]=g;if(h|0)An(h);c[f>>2]=e;f=0;do{c[(c[d>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0));f=d+8|0;h=c[f>>2]|0;if(!h)return;g=c[h+4>>2]|0;i=e+-1|0;j=(i&e|0)==0;if(j)k=g&i;else k=(g>>>0)%(e>>>0)|0;c[(c[d>>2]|0)+(k<<2)>>2]=f;f=c[h>>2]|0;if(!f)return;else{l=h;m=f;n=k;o=h}a:while(1){h=l;k=m;f=o;b:while(1){g=k;while(1){p=c[g+4>>2]|0;if(j)q=p&i;else q=(p>>>0)%(e>>>0)|0;if((q|0)==(n|0)){r=g;break}p=(c[d>>2]|0)+(q<<2)|0;if(!(c[p>>2]|0)){s=p;t=q;u=g;v=f;break b}p=c[g>>2]|0;c:do if(p){w=g+8|0;x=b[w>>1]|0;y=(x&1)==0;z=(x&254)>>>1;A=y?z:c[g+12>>2]|0;B=(x&65535)>>>8&255;x=(A|0)==0;C=w+1|0;w=g+16|0;if(y){y=p;D=g;while(1){E=y+8|0;F=a[E>>0]|0;G=(F&1)==0;if((A|0)!=((G?(F&255)>>>1:c[y+12>>2]|0)|0)){H=D;break c}F=G?E+1|0:c[y+16>>2]|0;d:do if(!x){if(B<<24>>24==(a[F>>0]|0)){I=z;J=C;K=F}else{H=D;break c}while(1){I=I+-1|0;J=J+1|0;if(!I)break d;K=K+1|0;if((a[J>>0]|0)!=(a[K>>0]|0)){H=D;break c}}}while(0);F=c[y>>2]|0;if(!F){H=y;break}else{E=y;y=F;D=E}}}else{if(x){D=p;y=g;while(1){C=a[D+8>>0]|0;if(((C&1)==0?(C&255)>>>1:c[D+12>>2]|0)|0){H=y;break c}C=c[D>>2]|0;if(!C){H=D;break c}else{z=D;D=C;y=z}}}else{L=p;M=g}while(1){y=L+8|0;D=a[y>>0]|0;x=(D&1)==0;if((A|0)!=((x?(D&255)>>>1:c[L+12>>2]|0)|0)){H=M;break c}if(um(c[w>>2]|0,x?y+1|0:c[L+16>>2]|0,A)|0){H=M;break c}y=c[L>>2]|0;if(!y){H=L;break}else{x=L;L=y;M=x}}}}else H=g;while(0);c[f>>2]=c[H>>2];c[H>>2]=c[c[(c[d>>2]|0)+(q<<2)>>2]>>2];c[c[(c[d>>2]|0)+(q<<2)>>2]>>2]=g;g=c[h>>2]|0;if(!g){N=38;break a}}g=c[r>>2]|0;if(!g){N=38;break a}else{h=r;k=g;f=r}}c[s>>2]=v;f=c[u>>2]|0;if(!f){N=38;break}else{l=u;m=f;n=t;o=u}}if((N|0)==38)return}function je(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function ke(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function le(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function me(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function oe(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function pe(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function qe(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function re(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,u=0,v=0,w=0;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=e;h=a+8|0;i=(c[h>>2]|0)-e|0;if(i>>2>>>0<536870911){j=i>>1;i=j>>>0<f>>>0?f:j;j=c[d>>2]|0;f=j-e>>2;k=j;if(!i){l=0;m=0;n=f;o=k}else{p=i;q=k;r=f;s=6}}else{f=c[d>>2]|0;p=1073741823;q=f;r=f-e>>2;s=6}if((s|0)==6){l=p;m=Tn(p<<2)|0;n=r;o=q}q=m+(n<<2)|0;n=q;r=m+(l<<2)|0;c[q>>2]=c[b>>2];b=q+4|0;if((o|0)==(g|0)){t=n;u=e;v=o}else{e=o;o=q;q=n;while(1){e=e+-4|0;n=c[e>>2]|0;c[e>>2]=0;c[o+-4>>2]=n;o=q+-4|0;n=o;if((e|0)==(g|0)){w=n;break}else q=n}t=w;u=c[a>>2]|0;v=c[d>>2]|0}c[a>>2]=t;c[d>>2]=b;c[h>>2]=r;r=u;if((v|0)!=(r|0)){h=v;do{h=h+-4|0;v=c[h>>2]|0;c[h>>2]=0;if(v|0){Pd(v);An(v)}}while((h|0)!=(r|0))}if(!u)return;An(u);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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>5)+1|0;if(f>>>0>134217727)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>5>>>0<67108863){i=h>>4;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>5;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=134217727;o=f;p=f-e>>5;q=6}if((q|0)==6){j=n;k=Tn(n<<5)|0;l=p;m=o}o=k+(l<<5)|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];c[o+16>>2]=c[b+16>>2];c[o+20>>2]=c[b+20>>2];c[o+24>>2]=c[b+24>>2];c[o+28>>2]=c[b+28>>2];b=m-e|0;m=o+(0-(b>>5)<<5)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+32;c[g>>2]=k+(j<<5);if(!e)return;An(e);return}function te(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,x=0,y=0,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;h=i;i=i+32|0;j=h;k=c[308+(g<<2)>>2]|0;l=a[k>>0]|0;m=k;a:do switch(l<<24>>24){case 34:{n=0;o=k;b:while(1){p=o+1|0;switch(a[p>>0]|0){case 34:{q=n;break a;break}case 44:case 39:{break b;break}case 92:{r=o+2|0;if((a[r>>0]|0)==92)s=r;else break b;break}default:s=p}n=n+1|0;o=s}if(!(l<<24>>24))q=0;else{t=1;u=6}break}case 0:{q=0;break}default:{t=1;u=6}}while(0);if((u|0)==6)while(1){u=0;if(!(a[k+t>>0]|0)){q=t;break}else{t=t+1|0;u=6}}c:do if((g|0)==-2){v=q;u=21}else{t=b[6788+(b[f>>1]<<1)>>1]|0;k=t<<16>>16;c[j>>2]=m;d:do if(t<<16>>16!=-274?(l=t<<16>>16<0?0-k|0:0,s=797-k+1|0,o=(s|0)<75?s:75,(l|0)<(o|0)):0){s=1;n=q;p=l;while(1){if((p|0)!=1?(b[7598+(p+k<<1)>>1]|0)==(p|0):0){if((s|0)==5){w=q;break d}l=c[308+(p<<2)>>2]|0;r=s+1|0;c[j+(s<<2)>>2]=l;x=l;l=a[x>>0]|0;e:do switch(l<<24>>24){case 34:{y=0;z=x;f:while(1){A=z+1|0;switch(a[A>>0]|0){case 34:{B=y;break e;break}case 44:case 39:{break f;break}case 92:{C=z+2|0;if((a[C>>0]|0)==92)D=C;else break f;break}default:D=A}y=y+1|0;z=D}if(!(l<<24>>24))B=0;else{E=1;u=17}break}case 0:{B=0;break}default:{E=1;u=17}}while(0);if((u|0)==17)while(1){u=0;if(!(a[x+E>>0]|0)){B=E;break}else{E=E+1|0;u=17}}x=B+n|0;if(n>>>0>x>>>0){F=2;u=56;break}else{G=r;H=x}}else{G=s;H=n}p=p+1|0;if((p|0)>=(o|0)){I=G;J=H;break}else{s=G;n=H}}if((u|0)==56){i=h;return F|0}switch(I|0){case 0:{v=J;u=21;break c;break}case 1:{w=J;break d;break}case 2:{K=I;L=14116;M=J;break c;break}case 3:{K=I;L=14158;M=J;break c;break}case 4:{K=I;L=14206;M=J;break c;break}case 5:{K=I;L=14260;M=J;break c;break}default:{K=I;L=0;M=J;break c}}}else w=q;while(0);K=1;L=14088;M=w}while(0);if((u|0)==21){K=0;L=12903;M=v}v=0;while(1)if(!(a[L+v>>0]|0)){N=v;break}else v=v+1|0;v=N+M|0;N=M>>>0>v>>>0;w=N?M:v;if(N){F=2;i=h;return F|0}if((c[d>>2]|0)>>>0<w>>>0){N=w<<1;c[d>>2]=w>>>0>N>>>0?-1:N;F=1;i=h;return F|0}g:do if((K|0)>0){N=L;w=0;d=e;h:while(1){v=N;M=d;i:while(1){q=a[v>>0]|0;a[M>>0]=q;switch(q<<24>>24){case 0:{F=0;break h;break}case 37:{q=v+1|0;if((a[q>>0]|0)==115){O=v;P=M;break i}else Q=q;break}default:Q=v+1|0}v=Q;M=M+1|0}M=c[j+(w<<2)>>2]|0;w=w+1|0;v=a[M>>0]|0;j:do if(v<<24>>24==34){q=(P|0)==0;k:do if(q){J=0;I=M;while(1){H=I+1|0;switch(a[H>>0]|0){case 44:case 39:{u=42;break j;break}case 34:{R=J;S=0;break k;break}case 92:{G=I+2|0;if((a[G>>0]|0)==92)T=G;else{u=42;break j}break}default:T=H}J=J+1|0;I=T}}else{I=0;J=M;while(1){H=J+1|0;G=a[H>>0]|0;switch(G<<24>>24|0){case 44:case 39:{U=P;V=M;u=45;break j;break}case 34:{R=I;S=P;break k;break}case 92:{B=J+2|0;if((a[B>>0]|0)==92){W=92;X=B}else{U=P;V=M;u=45;break j}break}default:{W=G;X=H}}a[P+I>>0]=W;I=I+1|0;J=X}}while(0);if(q){Y=R;Z=S}else{a[S+R>>0]=0;Y=R;Z=S}}else u=42;while(0);if((u|0)==42){u=0;if(!P)if(!(v<<24>>24)){Y=0;Z=0}else{r=1;while(1)if(!(a[M+r>>0]|0)){Y=r;Z=0;break}else r=r+1|0}else{U=P;V=M;u=45}}if((u|0)==45){while(1){u=0;r=a[V>>0]|0;a[U>>0]=r;if(!(r<<24>>24)){_=U;break}else{U=U+1|0;V=V+1|0;u=45}}Y=_-P|0;Z=P}M=Z+Y|0;r=O+2|0;if((w|0)>=(K|0)){$=r;aa=M;break g}else{N=r;d=M}}i=h;return F|0}else{$=L;aa=e}while(0);e=a[$>>0]|0;a[aa>>0]=e;if(!(e<<24>>24)){F=0;i=h;return F|0}else{ba=$;ca=aa}do{ca=ca+1|0;ba=ba+1|0;aa=a[ba>>0]|0;a[ca>>0]=aa}while(aa<<24>>24!=0);F=0;i=h;return F|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;do switch(b|0){case 136:{a=c[d>>2]|0;if(!a)return;Mb(a);An(a);return}case 135:{a=c[d>>2]|0;if(!a)return;e=c[a>>2]|0;f=e;if(e|0){g=a+4|0;h=c[g>>2]|0;if((h|0)!=(e|0))c[g>>2]=h+(~((h+-32-f|0)>>>5)<<5);An(e)}An(a);return}case 133:{a=c[d>>2]|0;if(!a)return;e=c[a>>2]|0;if(e|0){f=a+4|0;h=c[f>>2]|0;if((h|0)==(e|0))i=e;else{g=h;do{h=g+-4|0;c[f>>2]=h;j=c[h>>2]|0;c[h>>2]=0;if(j|0){Pd(j);An(j)}g=c[f>>2]|0}while((g|0)!=(e|0));i=c[a>>2]|0}An(i)}An(a);return}case 132:{e=c[d>>2]|0;if(!e)return;Pd(e);An(e);return}case 131:{e=c[d>>2]|0;if(!e)return;Pd(e);An(e);return}case 130:{e=c[d>>2]|0;if(!e)return;Nd(e);An(e);return}case 129:{Cc(d);return}case 76:{yi(d);return}case 77:{yi(d);return}case 78:{$h(d);return}case 79:{e=c[d>>2]|0;if(!e)return;g=c[e>>2]|0;f=g;if(g|0){j=e+4|0;h=c[j>>2]|0;if((h|0)!=(g|0))c[j>>2]=h+(~((h+-4-f|0)>>>2)<<2);An(g)}An(e);return}case 81:{e=c[d>>2]|0;if(!e)return;td(e);An(e);return}case 82:{e=c[d>>2]|0;if(!e)return;g=c[e+12>>2]|0;f=g;if(g|0){h=e+16|0;j=c[h>>2]|0;if((j|0)!=(g|0))c[h>>2]=j+(~((j+-4-f|0)>>>2)<<2);An(g)}g=c[e>>2]|0;f=g;if(g|0){j=e+4|0;h=c[j>>2]|0;if((h|0)!=(g|0))c[j>>2]=h+(~((h+-4-f|0)>>>2)<<2);An(g)}An(e);return}case 83:{e=c[d>>2]|0;if(!e)return;g=c[e+12>>2]|0;f=g;if(g|0){h=e+16|0;j=c[h>>2]|0;if((j|0)!=(g|0))c[h>>2]=j+(~((j+-4-f|0)>>>2)<<2);An(g)}g=c[e>>2]|0;f=g;if(g|0){j=e+4|0;h=c[j>>2]|0;if((h|0)!=(g|0))c[j>>2]=h+(~((h+-4-f|0)>>>2)<<2);An(g)}An(e);return}case 85:{e=c[d>>2]|0;if(!e)return;Bd(e);An(e);return}case 87:{Cc(d);return}case 89:{$h(d+4|0);return}case 90:{Cc(d);return}case 91:{e=c[d>>2]|0;if(!e)return;g=c[e>>2]|0;f=g;if(g|0){h=e+4|0;j=c[h>>2]|0;if((j|0)!=(g|0))c[h>>2]=j+(~((j+-32-f|0)>>>5)<<5);An(g)}An(e);return}case 92:{$h(d);return}case 93:{$h(d);return}case 94:{$h(d);return}case 97:{Dc(c[d>>2]|0);return}case 98:{e=c[d>>2]|0;if(!e)return;Ec(e);An(e);return}case 99:{e=c[d>>2]|0;if(!e)return;Ec(e);An(e);return}case 100:{e=c[d>>2]|0;if(!e)return;Fc(e);An(e);return}case 101:{Dc(c[d>>2]|0);return}case 102:{Dc(c[d>>2]|0);return}case 103:{Dc(c[d>>2]|0);return}case 104:{Dc(c[d>>2]|0);return}case 105:{Dc(c[d>>2]|0);return}case 106:{Dc(c[d>>2]|0);return}case 107:{Bi(c[d>>2]|0);return}case 108:{Bi(c[d>>2]|0);return}case 109:{e=c[d>>2]|0;if(!e)return;rd(e);An(e);return}case 110:{e=c[d>>2]|0;if(!e)return;g=e+4|0;f=c[g>>2]|0;c[g>>2]=0;if(f|0){Fd(f);An(f)}f=c[e>>2]|0;c[e>>2]=0;if(f|0){rd(f);An(f)}An(e);return}case 111:{Dc(c[d>>2]|0);return}case 112:{e=c[d>>2]|0;if(!e)return;xd(e);An(e);return}case 113:{e=c[d>>2]|0;if(!e)return;f=e+8|0;g=c[f>>2]|0;c[f>>2]=0;if(g|0){Fd(g);An(g)}g=e+4|0;f=c[g>>2]|0;c[g>>2]=0;if(f|0){xd(f);An(f)}f=c[e>>2]|0;c[e>>2]=0;if(f|0){vd(f);An(f)}An(e);return}case 114:{e=c[d>>2]|0;if(!e)return;zd(e);An(e);return}case 115:{e=c[d>>2]|0;if(!e)return;f=e+8|0;g=c[f>>2]|0;c[f>>2]=0;if(g|0){Fd(g);An(g)}g=e+4|0;f=c[g>>2]|0;c[g>>2]=0;if(f|0){zd(f);An(f)}f=c[e>>2]|0;c[e>>2]=0;if(f|0){Bd(f);An(f)}An(e);return}case 117:{e=c[d>>2]|0;if(!e)return;Dd(e);An(e);return}case 118:{e=c[d>>2]|0;if(!e)return;Dd(e);An(e);return}case 119:{e=c[d>>2]|0;if(!e)return;Dd(e);An(e);return}case 120:{e=c[d>>2]|0;if(!e)return;Fd(e);An(e);return}case 121:{e=c[d>>2]|0;if(!e)return;Fd(e);An(e);return}case 122:{e=c[d>>2]|0;if(!e)return;f=c[e>>2]|0;c[e>>2]=0;if(f|0){Fd(f);An(f)}An(e);return}case 123:{e=c[d>>2]|0;if(!e)return;f=c[e>>2]|0;c[e>>2]=0;if(f|0){Fd(f);An(f)}An(e);return}case 124:{e=c[d>>2]|0;if(!e)return;od(e);An(e);return}case 125:{Cc(d);return}case 126:{e=c[d>>2]|0;if(!e)return;Id(e);An(e);return}case 127:{e=c[d>>2]|0;if(!e)return;Kd(e);An(e);return}case 128:{e=c[d>>2]|0;if(!e)return;Id(e);An(e);return}default:return}while(0)}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=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+4>>2]=d;d=be(a,f)|0;a=c[f+12>>2]|0;if(a|0)Wn(a);a=c[f+16>>2]|0;if(a|0)Wn(a);a=c[f+20>>2]|0;if(a|0)Wn(a);c[b>>2]=c[f>>2];i=e;return (c[f+8>>2]|d|0)!=0|0}function we(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,x=0,y=0,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;f=i;i=i+608|0;g=f+472|0;h=f+464|0;j=f+456|0;k=f+448|0;l=f+416|0;m=f+392|0;n=f+368|0;o=f+360|0;p=f+328|0;q=f+304|0;r=f+280|0;s=f+272|0;t=f+264|0;u=f+256|0;v=f+248|0;w=f+240|0;x=f+232|0;y=f+224|0;z=f+192|0;A=f+168|0;B=f+144|0;C=f+136|0;D=f+104|0;E=f+80|0;F=f+56|0;G=f+48|0;H=f+40|0;I=f+32|0;J=f+24|0;K=f+16|0;L=f+8|0;M=f;N=f+592|0;O=f+576|0;P=f+568|0;Q=f+488|0;R=f+480|0;c[Q>>2]=e;c[Q+4>>2]=b;c[Q+8>>2]=d;b=Q+12|0;e=Q+68|0;c[e>>2]=0;S=Q+72|0;c[S>>2]=0;T=b;U=T+52|0;do{c[T>>2]=0;T=T+4|0}while((T|0)<(U|0));c[R>>2]=24;c[R+4>>2]=Q;c[Q+36>>2]=R;R=c[d>>2]|0;T=c[d+4>>2]|0;if((R|0)!=(T|0)){d=Q+20|0;U=Q+24|0;V=Q+28|0;W=Q+32|0;X=Q+16|0;Y=Q+36|0;Z=P+4|0;_=P+4|0;$=O+4|0;aa=O+8|0;ba=R;do{R=c[ba>>2]|0;switch(c[R>>2]|0){case 0:{ca=c[R+8>>2]|0;c[b>>2]=ca;da=ca+24|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;ea=c[da>>2]|0;if(ea|0){fa=ea;ea=0;while(1){a:do switch(c[fa+16>>2]|0){case 0:{ga=c[fa+24>>2]|0;c[X>>2]=ga;ha=ga+60|0;if((c[ga+64>>2]|0)-(c[ha>>2]|0)>>2>>>0>1){ye(Q,fa,15180,J);ia=ea;break a}do if(a[ga+8>>0]|0){ja=c[b>>2]|0;ka=c[ja+96>>2]|0;la=(c[ja+100>>2]|0)-ka>>2;ja=ga+40|0;ma=c[ja>>2]|0;na=c[ja+4>>2]|0;ja=((la|0)<0)<<31>>31;if(((na|0)>-1|(na|0)==-1&ma>>>0>4294967295)&((na|0)<(ja|0)|(na|0)==(ja|0)&ma>>>0<la>>>0)){ja=c[ka+(ma<<2)>>2]|0;Ae(Q,fa,ha,ja+20|0,15228);Ae(Q,fa,ga+48|0,ja+8|0,15312);break}else{c[I>>2]=17672;c[I+4>>2]=la;ye(Q,ga+16|0,14804,I);break}}while(0);c[e>>2]=fa;Ei(Y,ha)|0;la=c[ga+124>>2]|0;if(la|0){ja=la;do{Be(Q,ja);ja=c[ja+20>>2]|0}while((ja|0)!=0)}pj(Y)|0;c[X>>2]=0;ia=ea;break}case 1:{ja=c[fa+24>>2]|0;ze(Q,fa,c[ja+16>>2]|0,c[ja+8>>2]|0,15580);c[V>>2]=(c[V>>2]|0)+1;ia=ea;break}case 2:{ja=c[fa+24>>2]|0;switch(c[ja+16>>2]|0){case 0:{ga=c[ja+20>>2]|0;if(!(a[ga+8>>0]|0)){ia=ea;break a}ha=c[b>>2]|0;la=(c[ha+100>>2]|0)-(c[ha+96>>2]|0)>>2;ha=ga+40|0;ma=c[ha>>2]|0;ka=c[ha+4>>2]|0;ha=((la|0)<0)<<31>>31;if(((ka|0)>-1|(ka|0)==-1&ma>>>0>4294967295)&((ka|0)<(ha|0)|(ka|0)==(ha|0)&ma>>>0<la>>>0)){ia=ea;break a}c[H>>2]=17672;c[H+4>>2]=la;ye(Q,ga+16|0,14804,H);ia=ea;break a;break}case 1:{ga=c[ja+20>>2]|0;if((c[d>>2]|0)==1)ye(Q,fa,15610,G);la=ga+8|0;ma=la;ha=c[ma>>2]|0;ka=c[ma+4>>2]|0;if(ka>>>0>0|(ka|0)==0&ha>>>0>4294967295){c[F>>2]=15633;ma=F+8|0;c[ma>>2]=ha;c[ma+4>>2]=ka;ka=F+16|0;c[ka>>2]=-1;c[ka+4>>2]=0;ye(Q,fa,15639,F)}if(a[ga+24>>0]|0){ka=ga+16|0;ga=ka;ma=c[ga>>2]|0;ha=c[ga+4>>2]|0;if(ha>>>0>0|(ha|0)==0&ma>>>0>4294967295){c[E>>2]=15633;ga=E+8|0;c[ga>>2]=ma;c[ga+4>>2]=ha;ga=E+16|0;c[ga>>2]=-1;c[ga+4>>2]=0;ye(Q,fa,15675,E);ga=ka;oa=c[ga+4>>2]|0;pa=c[ga>>2]|0}else{oa=ha;pa=ma}ma=la;la=c[ma>>2]|0;ha=c[ma+4>>2]|0;if(oa>>>0<ha>>>0|(oa|0)==(ha|0)&pa>>>0<la>>>0){c[D>>2]=15633;ma=D+8|0;c[ma>>2]=pa;c[ma+4>>2]=oa;c[D+16>>2]=15633;ma=D+24|0;c[ma>>2]=la;c[ma+4>>2]=ha;ye(Q,fa,15707,D)}}c[d>>2]=(c[d>>2]|0)+1;ia=ea;break a;break}case 2:{ha=c[ja+20>>2]|0;if((c[U>>2]|0)==1)ye(Q,fa,15750,C);ma=ha+8|0;la=ma;ga=c[la>>2]|0;ka=c[la+4>>2]|0;if(ka>>>0>0|(ka|0)==0&ga>>>0>65536){c[B>>2]=15780;la=B+8|0;c[la>>2]=ga;c[la+4>>2]=ka;ka=B+16|0;c[ka>>2]=65536;c[ka+4>>2]=0;ye(Q,fa,15639,B)}if(a[ha+24>>0]|0){ka=ha+16|0;ha=ka;la=c[ha>>2]|0;ga=c[ha+4>>2]|0;if(ga>>>0>0|(ga|0)==0&la>>>0>65536){c[A>>2]=15780;ha=A+8|0;c[ha>>2]=la;c[ha+4>>2]=ga;ha=A+16|0;c[ha>>2]=65536;c[ha+4>>2]=0;ye(Q,fa,15675,A);ha=ka;qa=c[ha+4>>2]|0;ra=c[ha>>2]|0}else{qa=ga;ra=la}la=ma;ma=c[la>>2]|0;ga=c[la+4>>2]|0;if(qa>>>0<ga>>>0|(qa|0)==(ga|0)&ra>>>0<ma>>>0){c[z>>2]=15780;la=z+8|0;c[la>>2]=ra;c[la+4>>2]=qa;c[z+16>>2]=15780;la=z+24|0;c[la>>2]=ma;c[la+4>>2]=ga;ye(Q,fa,15707,z)}}c[U>>2]=(c[U>>2]|0)+1;ia=ea;break a;break}case 3:{if(a[(c[ja+20>>2]|0)+12>>0]|0)ye(Q,fa,15786,y);c[W>>2]=(c[W>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+1;ia=ea;break a;break}default:{ia=ea;break a}}break}case 3:{ja=c[fa+24>>2]|0;switch(c[ja+8>>2]|0){case 0:{ga=c[b>>2]|0;la=(c[ga+52>>2]|0)-(c[ga+48>>2]|0)>>2;ga=ja+40|0;ma=c[ga>>2]|0;ha=c[ga+4>>2]|0;ga=((la|0)<0)<<31>>31;if(((ha|0)>-1|(ha|0)==-1&ma>>>0>4294967295)&((ha|0)<(ga|0)|(ha|0)==(ga|0)&ma>>>0<la>>>0)){ia=ea;break a}c[x>>2]=20395;c[x+4>>2]=la;ye(Q,ja+16|0,14804,x);ia=ea;break a;break}case 1:{la=c[b>>2]|0;ma=(c[la+112>>2]|0)-(c[la+108>>2]|0)>>2;la=ja+40|0;ga=c[la>>2]|0;ha=c[la+4>>2]|0;la=((ma|0)<0)<<31>>31;if(((ha|0)>-1|(ha|0)==-1&ga>>>0>4294967295)&((ha|0)<(la|0)|(ha|0)==(la|0)&ga>>>0<ma>>>0)){ia=ea;break a}c[w>>2]=17865;c[w+4>>2]=ma;ye(Q,ja+16|0,14804,w);ia=ea;break a;break}case 2:{ma=c[b>>2]|0;ga=(c[ma+136>>2]|0)-(c[ma+132>>2]|0)>>2;ma=ja+40|0;la=c[ma>>2]|0;ha=c[ma+4>>2]|0;ma=((ga|0)<0)<<31>>31;if(((ha|0)>-1|(ha|0)==-1&la>>>0>4294967295)&((ha|0)<(ma|0)|(ha|0)==(ma|0)&la>>>0<ga>>>0)){ia=ea;break a}c[v>>2]=17871;c[v+4>>2]=ga;ye(Q,ja+16|0,14804,v);ia=ea;break a;break}case 3:{ga=ja+16|0;la=c[b>>2]|0;ma=c[la+60>>2]|0;ha=(c[la+64>>2]|0)-ma>>2;la=ja+40|0;ja=c[la>>2]|0;ka=c[la+4>>2]|0;la=((ha|0)<0)<<31>>31;if(!(((ka|0)>-1|(ka|0)==-1&ja>>>0>4294967295)&((ka|0)<(la|0)|(ka|0)==(la|0)&ja>>>0<ha>>>0))){c[u>>2]=17878;c[u+4>>2]=ha;ye(Q,ga,14804,u);ia=ea;break a}if(!(a[(c[ma+(ja<<2)>>2]|0)+12>>0]|0)){ia=ea;break a}ye(Q,ga,15821,t);ia=ea;break a;break}default:{ia=ea;break a}}break}case 5:{ga=c[fa+24>>2]|0;if((c[d>>2]|0)==1)ye(Q,fa,15610,s);ja=ga+8|0;ma=ja;ha=c[ma>>2]|0;la=c[ma+4>>2]|0;if(la>>>0>0|(la|0)==0&ha>>>0>4294967295){c[r>>2]=15633;ma=r+8|0;c[ma>>2]=ha;c[ma+4>>2]=la;la=r+16|0;c[la>>2]=-1;c[la+4>>2]=0;ye(Q,fa,15639,r)}if(a[ga+24>>0]|0){la=ga+16|0;ga=la;ma=c[ga>>2]|0;ha=c[ga+4>>2]|0;if(ha>>>0>0|(ha|0)==0&ma>>>0>4294967295){c[q>>2]=15633;ga=q+8|0;c[ga>>2]=ma;c[ga+4>>2]=ha;ga=q+16|0;c[ga>>2]=-1;c[ga+4>>2]=0;ye(Q,fa,15675,q);ga=la;sa=c[ga+4>>2]|0;ta=c[ga>>2]|0}else{sa=ha;ta=ma}ma=ja;ja=c[ma>>2]|0;ha=c[ma+4>>2]|0;if(sa>>>0<ha>>>0|(sa|0)==(ha|0)&ta>>>0<ja>>>0){c[p>>2]=15633;ma=p+8|0;c[ma>>2]=ta;c[ma+4>>2]=sa;c[p+16>>2]=15633;ma=p+24|0;c[ma>>2]=ja;c[ma+4>>2]=ha;ye(Q,fa,15707,p)}}c[d>>2]=(c[d>>2]|0)+1;ia=ea;break}case 9:{if(ea)ye(Q,fa,15856,k);ha=c[b>>2]|0;ma=c[ha+48>>2]|0;ja=(c[ha+52>>2]|0)-ma>>2;ha=fa+48|0;ga=c[ha>>2]|0;la=c[ha+4>>2]|0;ha=((ja|0)<0)<<31>>31;if(!(((la|0)>-1|(la|0)==-1&ga>>>0>4294967295)&((la|0)<(ha|0)|(la|0)==(ha|0)&ga>>>0<ja>>>0))){c[j>>2]=20395;c[j+4>>2]=ja;ye(Q,fa+24|0,14804,j);ia=1;break a}ja=c[ma+(ga<<2)>>2]|0;ga=ja;if(ja){if((c[ga+52>>2]|0)!=(c[ga+48>>2]|0))ye(Q,fa,15888,h);if((c[ga+64>>2]|0)!=(c[ga+60>>2]|0)){ye(Q,fa,15919,g);ia=1}else ia=1}else ia=1;break}case 7:{ga=c[fa+24>>2]|0;if((c[U>>2]|0)==1)ye(Q,fa,15750,o);ja=ga+8|0;ma=ja;ha=c[ma>>2]|0;la=c[ma+4>>2]|0;if(la>>>0>0|(la|0)==0&ha>>>0>65536){c[n>>2]=15780;ma=n+8|0;c[ma>>2]=ha;c[ma+4>>2]=la;la=n+16|0;c[la>>2]=65536;c[la+4>>2]=0;ye(Q,fa,15639,n)}if(a[ga+24>>0]|0){la=ga+16|0;ga=la;ma=c[ga>>2]|0;ha=c[ga+4>>2]|0;if(ha>>>0>0|(ha|0)==0&ma>>>0>65536){c[m>>2]=15780;ga=m+8|0;c[ga>>2]=ma;c[ga+4>>2]=ha;ga=m+16|0;c[ga>>2]=65536;c[ga+4>>2]=0;ye(Q,fa,15675,m);ga=la;ua=c[ga+4>>2]|0;va=c[ga>>2]|0}else{ua=ha;va=ma}ma=ja;ja=c[ma>>2]|0;ha=c[ma+4>>2]|0;if(ua>>>0<ha>>>0|(ua|0)==(ha|0)&va>>>0<ja>>>0){c[l>>2]=15780;ma=l+8|0;c[ma>>2]=va;c[ma+4>>2]=ua;c[l+16>>2]=15780;ma=l+24|0;c[ma>>2]=ja;c[ma+4>>2]=ha;ye(Q,fa,15707,l)}}c[U>>2]=(c[U>>2]|0)+1;ia=ea;break}default:ia=ea}while(0);fa=c[fa+20>>2]|0;if(!fa)break;else ea=ia}ea=c[da>>2]|0;if(ea|0){fa=ea;do{do if((c[fa+16>>2]|0)==6){ea=c[fa+24>>2]|0;ha=c[b>>2]|0;ma=(c[ha+112>>2]|0)-(c[ha+108>>2]|0)>>2;ja=ea+24|0;ga=c[ja>>2]|0;la=c[ja+4>>2]|0;ja=((ma|0)<0)<<31>>31;if(!(((la|0)>-1|(la|0)==-1&ga>>>0>4294967295)&((la|0)<(ja|0)|(la|0)==(ja|0)&ga>>>0<ma>>>0))){c[M>>2]=17865;c[M+4>>2]=ma;ye(Q,ea,14804,M);break}ma=c[ea+36>>2]|0;ga=c[ea+40>>2]|0;b:do if((ma|0)!=(ga|0)){ja=ha;la=ma;while(1){ka=(c[ja+52>>2]|0)-(c[ja+48>>2]|0)>>2;na=la+24|0;wa=c[na>>2]|0;xa=c[na+4>>2]|0;na=((ka|0)<0)<<31>>31;if(!(((xa|0)>-1|(xa|0)==-1&wa>>>0>4294967295)&((xa|0)<(na|0)|(xa|0)==(na|0)&wa>>>0<ka>>>0))){c[L>>2]=20395;c[L+4>>2]=ka;ye(Q,la,14804,L)}ka=la+32|0;if((ka|0)==(ga|0))break b;ja=c[b>>2]|0;la=ka}}while(0);ze(Q,fa,c[ea+32>>2]|0,-1,14838)}while(0);fa=c[fa+20>>2]|0}while((fa|0)!=0);fa=c[da>>2]|0;if(fa|0){ga=fa;do{do if((c[ga+16>>2]|0)==8){fa=c[ga+24>>2]|0;ma=c[b>>2]|0;ha=(c[ma+136>>2]|0)-(c[ma+132>>2]|0)>>2;ma=fa+24|0;la=c[ma>>2]|0;ja=c[ma+4>>2]|0;ma=((ha|0)<0)<<31>>31;if(((ja|0)>-1|(ja|0)==-1&la>>>0>4294967295)&((ja|0)<(ma|0)|(ja|0)==(ma|0)&la>>>0<ha>>>0)){ze(Q,ga,c[fa+32>>2]|0,-1,15160);break}else{c[K>>2]=17871;c[K+4>>2]=ha;ye(Q,fa,14804,K);break}}while(0);ga=c[ga+20>>2]|0}while((ga|0)!=0)}}}rh(ca+200|0,22,Q);break}case 1:{Ee(N,Q,c[R+8>>2]|0);break}case 11:case 12:{Ee(N,Q,c[R+8>>2]|0);break}case 10:{Ge(Q,c[R+8>>2]|0);break}case 9:{Ge(Q,c[R+8>>2]|0);break}case 8:{ga=c[R+8>>2]|0;Ee(P,Q,ga);switch(c[P>>2]|0){case 1:{Fe(Q,ga,c[Z>>2]|0,c[R+12>>2]|0);break}case 2:{da=c[_>>2]|0;fa=c[R+12>>2]|0;c[N>>2]=da;c[O>>2]=0;c[$>>2]=0;c[aa>>2]=0;if((da|0)!=-64)de(O,N);Fe(Q,ga,O,fa);fa=c[O>>2]|0;ga=fa;if(fa|0){da=c[$>>2]|0;if((da|0)!=(fa|0))c[$>>2]=da+(~((da+-4-ga|0)>>>2)<<2);An(fa)}break}default:{}}break}default:{}}ba=ba+4|0}while((ba|0)!=(T|0));T=c[S>>2]|0;S=Q+52|0;ba=c[S>>2]|0;if(!ba)ya=T;else{$=Q+56|0;O=c[$>>2]|0;if((O|0)==(ba|0))za=ba;else{N=O;while(1){O=N+-24|0;c[$>>2]=O;aa=c[N+-20>>2]|0;_=aa;if(!aa)Aa=O;else{O=N+-16|0;Z=c[O>>2]|0;if((Z|0)!=(aa|0))c[O>>2]=Z+(~((Z+-4-_|0)>>>2)<<2);An(aa);Aa=c[$>>2]|0}if((Aa|0)==(ba|0))break;else N=Aa}za=c[S>>2]|0}An(za);ya=T}}else ya=0;T=c[Q+40>>2]|0;if(!T){i=f;return ya|0}za=Q+44|0;Q=c[za>>2]|0;if((Q|0)!=(T|0))c[za>>2]=Q+(~((Q+-4-T|0)>>>2)<<2);An(T);i=f;return ya|0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=c[b+68>>2]|0;c[e>>2]=a;ye(b,f,28484,e);i=d;return}function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[a+72>>2]=1;c[g>>2]=e;xi(c[a>>2]|0,b,c[a+4>>2]|0,d,g);i=f;return}function ze(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,y=0;h=i;i=i+64|0;j=h+48|0;k=h+40|0;l=h+32|0;m=h+24|0;n=h+16|0;o=h+8|0;p=h;q=(e|0)!=0;a:do if(q){if(c[e+20>>2]|0){c[p>>2]=g;ye(b,d,14858,p);i=h;return}switch(c[e+16>>2]|0){case 8:{r=c[e+40>>2]|0;break a;break}case 12:{s=c[b+12>>2]|0;t=c[s+60>>2]|0;u=(c[s+64>>2]|0)-t>>2;s=e+48|0;v=c[s>>2]|0;w=c[s+4>>2]|0;s=((u|0)<0)<<31>>31;if(!(((w|0)>-1|(w|0)==-1&v>>>0>4294967295)&((w|0)<(s|0)|(w|0)==(s|0)&v>>>0<u>>>0))){c[l>>2]=17878;c[l+4>>2]=u;ye(b,e+24|0,14804,l);i=h;return}u=c[t+(v<<2)>>2]|0;t=c[u+8>>2]|0;if((v|0)<(c[b+28>>2]|0)){if((v|0)>=(c[b+32>>2]|0))ye(b,d,15001,n)}else ye(b,d,14931,o);if(!(a[u+12>>0]|0)){r=t;break a}ye(b,d,15062,m);r=t;break a;break}default:{c[k>>2]=g;ye(b,d,14858,k);i=h;return}}}else r=-64;while(0);k=q?e:d;if((r|0)==(f|0)){i=h;return}switch(r|0){case -1:{x=28480;break}case -2:{x=28476;break}case -3:{x=28472;break}case -4:{x=28468;break}case -16:{x=28460;break}case -32:{x=28455;break}case -64:{x=28450;break}case 0:{x=28446;break}default:x=0}switch(f|0){case -1:{y=28480;break}case -2:{y=28476;break}case -3:{y=28472;break}case -4:{y=28468;break}case -16:{y=28460;break}case -32:{y=28455;break}case -64:{y=28450;break}case 0:{y=28446;break}default:y=0}c[j>>2]=g;c[j+4>>2]=x;c[j+8>>2]=y;ye(b,k,15119,j);i=h;return}function Ae(a,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;g=i;i=i+48|0;h=g+24|0;j=g;k=d+4|0;l=c[k>>2]|0;m=c[d>>2]|0;n=l-m>>2;o=c[e>>2]|0;p=(c[e+4>>2]|0)-o>>2;if((n|0)!=(p|0)){c[h>>2]=p;c[h+4>>2]=f;c[h+8>>2]=n;ye(a,b,15286,h);i=g;return}if((l|0)==(m|0)){i=g;return}h=m;m=o;o=l;l=0;while(1){n=c[h+(l<<2)>>2]|0;p=c[m+(l<<2)>>2]|0;if((n|0)!=0&((p|0)!=(n|0)&(p|0)!=0)){switch(n|0){case -1:{q=28480;break}case -2:{q=28476;break}case -3:{q=28472;break}case -4:{q=28468;break}case -16:{q=28460;break}case -32:{q=28455;break}case -64:{q=28450;break}case 0:{q=28446;break}default:q=0}switch(p|0){case -1:{r=28480;break}case -2:{r=28476;break}case -3:{r=28472;break}case -4:{r=28468;break}case -16:{r=28460;break}case -32:{r=28455;break}case -64:{r=28450;break}case 0:{r=28446;break}default:r=0}c[j>>2]=f;c[j+4>>2]=l;c[j+8>>2]=20395;c[j+12>>2]=q;c[j+16>>2]=r;ye(a,b,15235,j);s=c[d>>2]|0;t=c[k>>2]|0}else{s=h;t=o}p=l+1|0;if(p>>>0>=t-s>>2>>>0)break;h=s;m=c[e>>2]|0;o=t;l=p}i=g;return}function Be(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,z=0,A=0,B=0,C=0,D=0;d=i;i=i+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;j=d+80|0;k=d+72|0;l=d+64|0;m=d+56|0;n=d+48|0;o=d+40|0;p=d+32|0;q=d+24|0;r=d+16|0;s=d+8|0;t=d;c[a+68>>2]=b;do switch(c[b+16>>2]|0){case 0:{Gi(a+36|0,c[b+24>>2]|0)|0;i=d;return}case 1:{u=a+36|0;v=b+24|0;Ii(u,(c[v>>2]|0)+8|0)|0;w=c[(c[v>>2]|0)+20>>2]|0;if(w|0){v=w;do{Be(a,v);v=c[v+20>>2]|0}while((v|0)!=0)}$i(u)|0;i=d;return}case 2:{Ji(a+36|0,c[b+48>>2]|0)|0;i=d;return}case 3:{Mi(a+36|0,c[b+48>>2]|0)|0;i=d;return}case 4:{v=a+36|0;Oi(v)|0;w=c[b+24>>2]|0;x=c[w>>2]|0;y=c[w+4>>2]|0;if((x|0)!=(y|0)){w=x;do{Pi(v,c[w+24>>2]|0)|0;w=w+32|0}while((w|0)!=(y|0))}Pi(v,c[b+56>>2]|0)|0;Qi(v)|0;i=d;return}case 5:{y=c[a+12>>2]|0;w=c[y+48>>2]|0;u=(c[y+52>>2]|0)-w>>2;y=b+48|0;x=c[y>>2]|0;z=c[y+4>>2]|0;y=((u|0)<0)<<31>>31;if(((z|0)>-1|(z|0)==-1&x>>>0>4294967295)&((z|0)<(y|0)|(z|0)==(y|0)&x>>>0<u>>>0)){y=c[w+(x<<2)>>2]|0;Ri(a+36|0,y+48|0,y+60|0)|0;i=d;return}else{c[t>>2]=20395;c[t+4>>2]=u;ye(a,b+24|0,14804,t);i=d;return}break}case 6:{u=a+12|0;y=c[u>>2]|0;if((c[y+112>>2]|0)==(c[y+108>>2]|0)){ye(a,b,15321,s);A=c[u>>2]|0}else A=y;y=c[A+96>>2]|0;u=(c[A+100>>2]|0)-y>>2;x=b+48|0;w=c[x>>2]|0;z=c[x+4>>2]|0;x=((u|0)<0)<<31>>31;if(((z|0)>-1|(z|0)==-1&w>>>0>4294967295)&((z|0)<(x|0)|(z|0)==(x|0)&w>>>0<u>>>0)){x=c[y+(w<<2)>>2]|0;Ui(a+36|0,x+8|0,x+20|0)|0;i=d;return}else{c[r>>2]=17672;c[r+4>>2]=u;ye(a,b+24|0,14804,r);i=d;return}break}case 7:{Vi(a+36|0,c[b+24>>2]|0)|0;i=d;return}case 8:{Wi(a+36|0,c[b+40>>2]|0)|0;i=d;return}case 9:{Xi(a+36|0,c[b+24>>2]|0)|0;i=d;return}case 11:{Zi(a+36|0)|0;i=d;return}case 12:{u=c[a+12>>2]|0;x=c[u+60>>2]|0;w=(c[u+64>>2]|0)-x>>2;u=b+48|0;y=c[u>>2]|0;z=c[u+4>>2]|0;u=((w|0)<0)<<31>>31;if(((z|0)>-1|(z|0)==-1&y>>>0>4294967295)&((z|0)<(u|0)|(z|0)==(u|0)&y>>>0<w>>>0))B=c[(c[x+(y<<2)>>2]|0)+8>>2]|0;else{c[q>>2]=17878;c[q+4>>2]=w;ye(a,b+24|0,14804,q);B=0}dj(a+36|0,B)|0;i=d;return}case 13:{ej(a+36|0,Ce(a,b+24|0)|0)|0;i=d;return}case 14:{w=c[a+12>>2]|0;if((c[w+136>>2]|0)==(c[w+132>>2]|0)){c[p>>2]=18751;ye(a,b,15401,p)}bj(a+36|0)|0;i=d;return}case 15:{w=a+36|0;y=b+24|0;cj(w,(c[y>>2]|0)+8|0)|0;x=c[(c[y>>2]|0)+20>>2]|0;if(x|0){u=x;do{Be(a,u);u=c[u+20>>2]|0}while((u|0)!=0)}u=y+4|0;if(c[u>>2]|0?(_i(w)|0,v=c[u>>2]|0,v|0):0){u=v;do{Be(a,u);u=c[u+20>>2]|0}while((u|0)!=0)}$i(w)|0;i=d;return}case 16:{u=b+24|0;y=c[a+12>>2]|0;if((c[y+136>>2]|0)==(c[y+132>>2]|0)){c[o>>2]=c[1536+((c[u>>2]|0)*20|0)>>2];ye(a,b,15401,o)}y=c[u+4>>2]|0;v=c[1536+((c[u>>2]|0)*20|0)+16>>2]|0;switch(y|0){case -1:break;case 0:{C=41;break}default:if(!(y+-1&y))C=42;else C=41}if((C|0)==41){ye(a,b,15444,n);C=42}if((C|0)==42?y>>>0>v>>>0:0){c[m>>2]=v;ye(a,b,15475,m)}v=b+32|0;y=c[v+4>>2]|0;if(y>>>0>0|(y|0)==0&(c[v>>2]|0)>>>0>4294967295)ye(a,b,15532,l);fj(a+36|0,c[u>>2]|0)|0;i=d;return}case 17:{u=a+36|0;v=b+24|0;gj(u,(c[v>>2]|0)+8|0)|0;y=c[(c[v>>2]|0)+20>>2]|0;if(y|0){v=y;do{Be(a,v);v=c[v+20>>2]|0}while((v|0)!=0)}$i(u)|0;i=d;return}case 10:{v=c[a+12>>2]|0;if((c[v+136>>2]|0)==(c[v+132>>2]|0)){c[k>>2]=18736;ye(a,b,15401,k)}Yi(a+36|0)|0;i=d;return}case 26:{oj(a+36|0)|0;i=d;return}case 19:{hj(a+36|0)|0;i=d;return}case 20:{ij(a+36|0)|0;i=d;return}case 21:{v=c[a+12>>2]|0;w=c[v+60>>2]|0;y=(c[v+64>>2]|0)-w>>2;v=b+48|0;x=c[v>>2]|0;z=c[v+4>>2]|0;v=((y|0)<0)<<31>>31;if(((z|0)>-1|(z|0)==-1&x>>>0>4294967295)&((z|0)<(v|0)|(z|0)==(v|0)&x>>>0<y>>>0))D=c[(c[w+(x<<2)>>2]|0)+8>>2]|0;else{c[j>>2]=17878;c[j+4>>2]=y;ye(a,b+24|0,14804,j);D=0}jj(a+36|0,D)|0;i=d;return}case 22:{kj(a+36|0,Ce(a,b+24|0)|0)|0;i=d;return}case 23:{y=b+24|0;x=c[a+12>>2]|0;if((c[x+136>>2]|0)==(c[x+132>>2]|0)){c[h>>2]=c[1536+((c[y>>2]|0)*20|0)>>2];ye(a,b,15401,h)}x=c[y+4>>2]|0;w=c[1536+((c[y>>2]|0)*20|0)+16>>2]|0;switch(x|0){case -1:break;case 0:{C=64;break}default:if(!(x+-1&x))C=65;else C=64}if((C|0)==64){ye(a,b,15444,g);C=65}if((C|0)==65?x>>>0>w>>>0:0){c[f>>2]=w;ye(a,b,15475,f)}w=b+32|0;x=c[w+4>>2]|0;if(x>>>0>0|(x|0)==0&(c[w>>2]|0)>>>0>4294967295)ye(a,b,15532,e);lj(a+36|0,c[y>>2]|0)|0;i=d;return}case 24:{mj(a+36|0,Ce(a,b+24|0)|0)|0;i=d;return}case 25:{nj(a+36|0,c[b+24>>2]|0)|0;i=d;return}default:{i=d;return}}while(0)}function Ce(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;d=i;i=i+16|0;e=d+8|0;f=d;g=a+16|0;h=c[g>>2]|0;j=h+48|0;k=h+52|0;l=((c[h+76>>2]|0)-(c[h+72>>2]|0)>>2)+((c[k>>2]|0)-(c[j>>2]|0)>>2)|0;m=pc(h,b)|0;if(!((m|0)>-1&(m|0)<(l|0)))if((c[b+16>>2]|0)==1){h=b+24|0;n=c[h>>2]|0;c[f>>2]=c[h+4>>2];c[f+4>>2]=n;ye(a,b,17686,f);o=0;i=d;return o|0}else{c[e>>2]=l;ye(a,b,15364,e);o=0;i=d;return o|0}else{e=c[j>>2]|0;j=(c[k>>2]|0)-e>>2;if((m|0)<(j|0))p=e+(m<<2)|0;else p=(c[(c[g>>2]|0)+72>>2]|0)+(m-j<<2)|0;o=c[p>>2]|0;i=d;return o|0}return 0}function De(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=(c[b+16>>2]|0)>(c[d+16>>2]|0)?b+12|0:d+12|0;c[g>>2]=(a[b>>0]&1)==0?b+1|0:c[b+8>>2]|0;ye(e,h,15959,g);i=f;return}function Ee(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,x=0,y=0,z=0,A=0;e=i;i=i+80|0;f=e+64|0;g=e+56|0;h=e+32|0;j=e+16|0;k=e+8|0;l=a;c[l>>2]=0;c[l+4>>2]=0;switch(c[d+16>>2]|0){case 0:{l=c[d+64>>2]|0;m=vc(c[b+8>>2]|0,d+24|0)|0;do if(m){n=d+56|0;o=jc(m,n)|0;if(!o){p=c[n>>2]|0;c[k>>2]=c[d+60>>2];c[k+4>>2]=p;ye(b,d,16002,k);q=0;break}p=qc(m,o+16|0)|0;if(!p)q=0;else{o=c[l>>2]|0;n=(c[l+4>>2]|0)-o>>5;r=c[p+48>>2]|0;s=(c[p+52>>2]|0)-r>>2;if((s|0)!=(n|0)){c[j>>2]=n>>>0>s>>>0?16033:16038;c[j+4>>2]=n;c[j+8>>2]=s;ye(b,d,16042,j);q=0;break}a:do if(n|0){s=p+48|0;t=o;u=r;v=0;while(1){w=t+(v<<5)|0;x=c[t+(v<<5)+16>>2]|0;y=c[u+(v<<2)>>2]|0;if((x|0)!=0&((y|0)!=(x|0)&(y|0)!=0)){switch(x|0){case -1:{z=28480;break}case -2:{z=28476;break}case -3:{z=28472;break}case -4:{z=28468;break}case -16:{z=28460;break}case -32:{z=28455;break}case -64:{z=28450;break}case 0:{z=28446;break}default:z=0}switch(y|0){case -1:{A=28480;break}case -2:{A=28476;break}case -3:{A=28472;break}case -4:{A=28468;break}case -16:{A=28460;break}case -32:{A=28455;break}case -64:{A=28450;break}case 0:{A=28446;break}default:A=0}c[h>>2]=15312;c[h+4>>2]=v;c[h+8>>2]=16095;c[h+12>>2]=z;c[h+16>>2]=A;ye(b,w,15235,h)}w=v+1|0;if((w|0)==(n|0))break a;t=c[l>>2]|0;u=c[s>>2]|0;v=w}}while(0);q=p+60|0}}else{ye(b,d,15987,e);q=0}while(0);c[a+4>>2]=q;c[a>>2]=(q|0)!=0&1;i=e;return}case 1:{q=a+4|0;l=vc(c[b+8>>2]|0,d+24|0)|0;do if(l){h=d+56|0;A=jc(l,h)|0;if(!A){z=c[h>>2]|0;c[f>>2]=c[d+60>>2];c[f+4>>2]=z;ye(b,d,16102,f);break}z=rc(l,A+16|0)|0;if(z|0){c[q>>2]=c[z+8>>2];c[a>>2]=2;i=e;return}}else ye(b,d,15987,g);while(0);c[a>>2]=0;i=e;return}default:{i=e;return}}}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+32|0;g=f+24|0;h=f;j=d+4|0;k=c[j>>2]|0;l=c[d>>2]|0;m=k-l>>2;n=c[e>>2]|0;o=(c[e+4>>2]|0)-n>>5;if((m|0)!=(o|0)){c[g>>2]=o;c[g+4>>2]=m;ye(a,b,16138,g);i=f;return}if((k|0)==(l|0)){i=f;return}g=l;l=n;n=k;k=0;while(1){m=c[g+(k<<2)>>2]|0;o=c[l+(k<<5)+16>>2]|0;if((m|0)!=0&((o|0)!=(m|0)&(o|0)!=0)){switch(m|0){case -1:{p=28480;break}case -2:{p=28476;break}case -3:{p=28472;break}case -4:{p=28468;break}case -16:{p=28460;break}case -32:{p=28455;break}case -64:{p=28450;break}case 0:{p=28446;break}default:p=0}switch(o|0){case -1:{q=28480;break}case -2:{q=28476;break}case -3:{q=28472;break}case -4:{q=28468;break}case -16:{q=28460;break}case -32:{q=28455;break}case -64:{q=28450;break}case 0:{q=28446;break}default:q=0}c[h>>2]=15228;c[h+4>>2]=k;c[h+8>>2]=16131;c[h+12>>2]=p;c[h+16>>2]=q;ye(a,b,15235,h);r=c[d>>2]|0;s=c[j>>2]|0}else{r=g;s=n}o=k+1|0;if(o>>>0>=s-r>>2>>>0)break;g=r;l=c[e>>2]|0;n=s;k=o}i=f;return}function Ge(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;d=i;i=i+32|0;e=d+8|0;f=d;g=d+16|0;Ee(g,a,b);switch(c[g>>2]|0){case 1:{h=2;break}case 2:break;default:{i=d;return}}do if((h|0)==2){j=g+4|0;k=c[j>>2]|0;l=c[k>>2]|0;m=(c[k+4>>2]|0)-l>>2;if((m|0)==1){c[g>>2]=2;c[j>>2]=c[l>>2];break}c[f>>2]=m;ye(a,b,16168,f);c[j>>2]=0;i=d;return}while(0);f=c[g+4>>2]|0;if(!f){i=d;return}if((f&-2|0)==-4){i=d;return}switch(f|0){case -1:{n=28480;break}case -2:{n=28476;break}case -3:{n=28472;break}case -4:{n=28468;break}case -16:{n=28460;break}case -32:{n=28455;break}case -64:{n=28450;break}default:n=0}c[e>>2]=16131;c[e+4>>2]=n;ye(a,b,16195,e);i=d;return}function He(b,c){b=b|0;c=c|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;d=i;i=i+16|0;e=d;switch(c|0){case -1:{f=28480;g=9;break}case -2:{f=28476;g=9;break}case -3:{f=28472;g=9;break}case -4:{f=28468;g=9;break}case -16:{f=28460;g=9;break}case -32:{f=28455;g=9;break}case -64:{f=28450;g=9;break}case 0:{h=28446;j=e;k=0;g=11;break}default:{l=c>>7;if((c|0)<0){m=0;n=e;o=l}else{h=0;j=e;k=l;g=11}}}if((g|0)==9){m=f;n=e;o=c>>7}else if((g|0)==11){if(!(k|c&64)){p=c;q=0}else{g=c;f=k;k=0;while(1){a[e+k>>0]=g|128;l=k+1|0;r=f>>7;if(!(r|f&64)){p=f;q=l;break}else{s=f;f=r;k=l;g=s}}}a[e+q>>0]=p&127;t=h;u=j;v=q;w=v+1|0;li(b,u,w,t,0);i=d;return}if((c&64|0)==0|(o|0)!=-1){q=c;j=o;o=0;while(1){a[e+o>>0]=q|128;h=o+1|0;p=j>>7;if((p|0)!=-1|(j&64|0)==0){g=j;j=p;o=h;q=g}else{x=j;y=h;break}}}else{x=c;y=0}a[e+y>>0]=x&127;t=m;u=n;v=y;w=v+1|0;li(b,u,w,t,0);i=d;return}function Ie(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;e=i;i=i+16|0;f=e;g=d+16|0;a[f>>0]=a[g>>0]|0;li(b,f,1,16244,0);h=c[d>>2]|0;j=h>>>7;if(!j){k=h;l=0}else{m=h;h=j;j=0;while(1){a[f+j>>0]=m|128;n=j+1|0;o=h>>>7;if(!o){k=h;l=n;break}else{p=h;h=o;j=n;m=p}}}a[f+l>>0]=k&127;li(b,f,l+1|0,16258,0);if(!(a[g>>0]|0)){i=e;return}g=c[d+8>>2]|0;d=g>>>7;if(!d){q=g;r=0}else{l=g;g=d;d=0;while(1){a[f+d>>0]=l|128;k=d+1|0;m=g>>>7;if(!m){q=g;r=k;break}else{j=g;g=m;d=k;l=j}}}a[f+r>>0]=q&127;li(b,f,r+1|0,16274,0);i=e;return} +function Jl(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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);f=c[g>>2]|0;c[e>>2]=b;ki(f,31314,e);e=c[a+12>>2]|0;a=ub[c[(c[e>>2]|0)+468>>2]&255](e,b)|0;i=d;return a|0}function Kl(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;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;ki(g,31344,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+472>>2]&127](f,b,d)|0;i=e;return a|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,m=0,n=0,o=0;f=i;i=i+32|0;g=f+8|0;h=f;j=a+16|0;k=c[j>>2]|0;if(k>>>0>142){l=a+8|0;m=k;while(1){li(c[l>>2]|0,28142,142,0,0);n=m+-142|0;if(n>>>0>142)m=n;else{o=n;break}}}else o=k;k=a+8|0;if(o|0)li(c[k>>2]|0,28142,c[j>>2]|0,0,0);j=c[k>>2]|0;k=c[e+4>>2]|0;o=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=k;c[g+12>>2]=o;ki(j,31389,g);j=c[a+12>>2]|0;a=c[(c[j>>2]|0)+476>>2]|0;o=e;e=c[o+4>>2]|0;k=h;c[k>>2]=c[o>>2];c[k+4>>2]=e;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];h=sb[a&63](j,b,d,g)|0;i=f;return h|0}function Ml(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,31449,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+480>>2]&127](d)|0;i=b;return a|0}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;d=i;i=i+16|0;e=d;f=a+16|0;g=c[f>>2]|0;if(g>>>0>142){h=a+8|0;j=g;while(1){li(c[h>>2]|0,28142,142,0,0);k=j+-142|0;if(k>>>0>142)j=k;else{l=k;break}}}else l=g;g=a+8|0;if(l|0)li(c[g>>2]|0,28142,c[f>>2]|0,0,0);l=c[g>>2]|0;c[e>>2]=b;ki(l,31466,e);c[f>>2]=(c[f>>2]|0)+2;f=c[a+12>>2]|0;a=ub[c[(c[f>>2]|0)+484>>2]&255](f,b)|0;i=d;return a|0}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;f=i;i=i+32|0;g=f+8|0;h=f;j=a+16|0;k=c[j>>2]|0;if(k>>>0>142){l=a+8|0;m=k;while(1){li(c[l>>2]|0,28142,142,0,0);n=m+-142|0;if(n>>>0>142)m=n;else{o=n;break}}}else o=k;k=a+8|0;if(o|0)li(c[k>>2]|0,28142,c[j>>2]|0,0,0);j=c[k>>2]|0;k=c[1416+(d<<2)>>2]|0;o=c[e+4>>2]|0;m=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=k;c[g+8>>2]=o;c[g+12>>2]=m;ki(j,31489,g);j=c[a+12>>2]|0;a=c[(c[j>>2]|0)+488>>2]|0;m=e;e=c[m+4>>2]|0;o=h;c[o>>2]=c[m>>2];c[o+4>>2]=e;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];h=sb[a&63](j,b,d,g)|0;i=f;return h|0}function Pl(a,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+16|0;h=g;j=a+16|0;k=c[j>>2]|0;if(k>>>0>142){l=a+8|0;m=k;while(1){li(c[l>>2]|0,28142,142,0,0);n=m+-142|0;if(n>>>0>142)m=n;else{o=n;break}}}else o=k;k=a+8|0;if(o|0)li(c[k>>2]|0,28142,c[j>>2]|0,0,0);j=c[k>>2]|0;c[h>>2]=c[1480+(b<<2)>>2];c[h+4>>2]=d;c[h+8>>2]=e;c[h+12>>2]=f;ki(j,31547,h);h=c[a+12>>2]|0;a=vb[c[(c[h>>2]|0)+492>>2]&31](h,b,d,e,f)|0;i=g;return a|0}function Ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;if(f>>>0>142){g=a+8|0;h=f;while(1){li(c[g>>2]|0,28142,142,0,0);j=h+-142|0;if(j>>>0>142)h=j;else{k=j;break}}}else k=f;f=a+8|0;if(k|0)li(c[f>>2]|0,28142,c[e>>2]|0,0,0);ki(c[f>>2]|0,31601,d);d=c[a+12>>2]|0;a=pb[c[(c[d>>2]|0)+496>>2]&127](d)|0;i=b;return a|0}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e;j=(c[k>>2]=d,+g[k>>2]);l=a+16|0;m=c[l>>2]|0;if(m>>>0>142){n=a+8|0;o=m;while(1){li(c[n>>2]|0,28142,142,0,0);p=o+-142|0;if(p>>>0>142)o=p;else{q=p;break}}}else q=m;m=a+8|0;if(q|0)li(c[m>>2]|0,28142,c[l>>2]|0,0,0);l=c[m>>2]|0;c[f>>2]=b;h[f+8>>3]=j;c[f+16>>2]=d;ki(l,31618,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+500>>2]&127](f,b,d)|0;i=e;return a|0}function Sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+32|0;g=f;c[k>>2]=d;c[k+4>>2]=e;j=+h[k>>3];l=a+16|0;m=c[l>>2]|0;if(m>>>0>142){n=a+8|0;o=m;while(1){li(c[n>>2]|0,28142,142,0,0);p=o+-142|0;if(p>>>0>142)o=p;else{q=p;break}}}else q=m;m=a+8|0;if(q|0)li(c[m>>2]|0,28142,c[l>>2]|0,0,0);l=c[m>>2]|0;c[g>>2]=b;h[g+8>>3]=j;m=g+16|0;c[m>>2]=d;c[m+4>>2]=e;ki(l,31673,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+504>>2]&63](g,b,d,e)|0;i=f;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,j=0,k=0,l=0,m=0;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;ki(g,31729,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+508>>2]&127](f,b,d)|0;i=e;return a|0}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,l=0,m=0;e=i;i=i+16|0;f=e;g=a+16|0;h=c[g>>2]|0;if(h>>>0>142){j=a+8|0;k=h;while(1){li(c[j>>2]|0,28142,142,0,0);l=k+-142|0;if(l>>>0>142)k=l;else{m=l;break}}}else m=h;h=a+8|0;if(m|0)li(c[h>>2]|0,28142,c[g>>2]|0,0,0);g=c[h>>2]|0;c[f>>2]=b;c[f+4>>2]=d;ki(g,31783,f);f=c[a+12>>2]|0;a=kb[c[(c[f>>2]|0)+512>>2]&127](f,b,d)|0;i=e;return a|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,j=0,k=0,l=0,m=0,n=0;f=i;i=i+16|0;g=f;h=a+16|0;j=c[h>>2]|0;if(j>>>0>142){k=a+8|0;l=j;while(1){li(c[k>>2]|0,28142,142,0,0);m=l+-142|0;if(m>>>0>142)l=m;else{n=m;break}}}else n=j;j=a+8|0;if(n|0)li(c[j>>2]|0,28142,c[h>>2]|0,0,0);h=c[j>>2]|0;c[g>>2]=b;j=g+8|0;c[j>>2]=d;c[j+4>>2]=e;ki(h,31829,g);g=c[a+12>>2]|0;a=sb[c[(c[g>>2]|0)+516>>2]&63](g,b,d,e)|0;i=f;return a|0}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;c[a+4>>2]=0;c[a>>2]=5404;c[a+8>>2]=b;c[a+12>>2]=d;c[a+16>>2]=0;return}function Xl(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=Yl(cb(6,d|0)|0)|0;i=b;return a|0}function Yl(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(Zl()|0)>>2]=0-a;b=-1}else b=a;return b|0}function Zl(){var a=0;if(!(c[8780]|0))a=35164;else a=c[(Wa()|0)+64>>2]|0;return a|0}function _l(a){a=a|0;return}function $l(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+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((Yl(fb(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;i=e;return h|0}function am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+80|0;g=f;c[b+36>>2]=69;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21505,c[g+8>>2]=f+12,Ga(54,g|0)|0):0)a[b+75>>0]=-1;g=bm(b,d,e)|0;i=f;return g|0}function bm(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,x=0,y=0,z=0;e=i;i=i+48|0;f=e+16|0;g=e;h=e+32|0;j=a+28|0;k=c[j>>2]|0;c[h>>2]=k;l=a+20|0;m=(c[l>>2]|0)-k|0;c[h+4>>2]=m;c[h+8>>2]=b;c[h+12>>2]=d;b=a+60|0;k=a+44|0;n=h;h=2;o=m+d|0;while(1){if(!(c[8780]|0)){c[f>>2]=c[b>>2];c[f+4>>2]=n;c[f+8>>2]=h;p=Yl(hb(146,f|0)|0)|0}else{db(43,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=n;c[g+8>>2]=h;m=Yl(hb(146,g|0)|0)|0;Fa(0);p=m}if((o|0)==(p|0)){q=6;break}if((p|0)<0){r=n;s=h;q=8;break}m=o-p|0;t=c[n+4>>2]|0;if(p>>>0<=t>>>0)if((h|0)==2){c[j>>2]=(c[j>>2]|0)+p;u=t;v=p;w=n;x=2}else{u=t;v=p;w=n;x=h}else{y=c[k>>2]|0;c[j>>2]=y;c[l>>2]=y;u=c[n+12>>2]|0;v=p-t|0;w=n+8|0;x=h+-1|0}c[w>>2]=(c[w>>2]|0)+v;c[w+4>>2]=u-v;n=w;h=x;o=m}if((q|0)==6){o=c[k>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);k=o;c[j>>2]=k;c[l>>2]=k;z=d}else if((q|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[l>>2]=0;c[a>>2]=c[a>>2]|32;if((s|0)==2)z=0;else z=d-(c[r+4>>2]|0)|0}i=e;return z|0}function cm(a){a=a|0;if(!(c[a+68>>2]|0))_l(a);return}function dm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=em(a,b,d,g)|0;i=f;return e|0}function em(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;g=i;i=i+128|0;h=g+112|0;j=g;k=j;l=6156;m=k+112|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((d+-1|0)>>>0>2147483646)if(!d){n=h;o=1;p=4}else{c[(Zl()|0)>>2]=75;q=-1}else{n=b;o=d;p=4}if((p|0)==4){p=-2-n|0;d=o>>>0>p>>>0?p:o;c[j+48>>2]=d;o=j+20|0;c[o>>2]=n;c[j+44>>2]=n;p=n+d|0;n=j+16|0;c[n>>2]=p;c[j+28>>2]=p;p=gm(j,e,f)|0;if(!d)q=p;else{d=c[o>>2]|0;a[d+(((d|0)==(c[n>>2]|0))<<31>>31)>>0]=0;q=p}}i=g;return q|0}function fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;ho(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gm(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;f=i;i=i+224|0;g=f+120|0;h=f+80|0;j=f;k=f+136|0;l=h;m=l+40|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[g>>2]=c[e>>2];if((hm(0,d,g,j,h)|0)<0)n=-1;else{if((c[b+76>>2]|0)>-1)o=tm(b)|0;else o=0;e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){m=b+44|0;p=c[m>>2]|0;c[m>>2]=k;q=b+28|0;c[q>>2]=k;r=b+20|0;c[r>>2]=k;c[e>>2]=80;s=b+16|0;c[s>>2]=k+80;k=hm(b,d,g,j,h)|0;if(!p)t=k;else{kb[c[b+36>>2]&127](b,0,0)|0;u=(c[r>>2]|0)==0?-1:k;c[m>>2]=p;c[e>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;t=u}}else t=hm(b,d,g,j,h)|0;h=c[b>>2]|0;c[b>>2]=h|l;if(o|0)_l(b);n=(h&32|0)==0?t:-1}i=f;return n|0}function hm(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|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,Z=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.0,db=0.0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0.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.0,Yb=0.0,Zb=0.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;m=i;i=i+624|0;n=m+24|0;o=m+16|0;p=m+588|0;q=m+576|0;r=m;s=m+536|0;t=m+8|0;u=m+528|0;v=(e|0)!=0;w=s+40|0;x=w;y=s+39|0;s=t+4|0;z=p;A=0-z|0;B=q+12|0;D=q+11|0;q=B;E=q-z|0;F=-2-z|0;G=q+2|0;H=n+288|0;I=p+9|0;J=I;K=p+8|0;L=0;M=0;N=0;O=f;a:while(1){do if((L|0)>-1)if((M|0)>(2147483647-L|0)){c[(Zl()|0)>>2]=75;P=-1;break}else{P=M+L|0;break}else P=L;while(0);f=a[O>>0]|0;if(!(f<<24>>24)){Q=P;R=N;S=244;break}else{T=f;U=O}b:while(1){switch(T<<24>>24){case 37:{V=U;W=U;S=9;break b;break}case 0:{X=U;Y=U;break b;break}default:{}}f=U+1|0;T=a[f>>0]|0;U=f}c:do if((S|0)==9)while(1){S=0;if((a[V+1>>0]|0)!=37){X=V;Y=W;break c}f=W+1|0;Z=V+2|0;if((a[Z>>0]|0)==37){V=Z;W=f;S=9}else{X=Z;Y=f;break}}while(0);f=Y-O|0;if(v?(c[e>>2]&32|0)==0:0)im(O,f,e)|0;if((Y|0)!=(O|0)){L=P;M=f;O=X;continue}Z=X+1|0;$=a[Z>>0]|0;aa=($<<24>>24)+-48|0;if(aa>>>0<10){ba=(a[X+2>>0]|0)==36;ca=ba?X+3|0:Z;da=a[ca>>0]|0;ea=ba?aa:-1;fa=ba?1:N;ga=ca}else{da=$;ea=-1;fa=N;ga=Z}Z=da<<24>>24;d:do if((Z&-32|0)==32){$=Z;ca=da;ba=0;aa=ga;while(1){if(!(1<<$+-32&75913)){ha=ca;ia=ba;ja=aa;break d}ka=1<<(ca<<24>>24)+-32|ba;la=aa+1|0;ma=a[la>>0]|0;$=ma<<24>>24;if(($&-32|0)!=32){ha=ma;ia=ka;ja=la;break}else{ca=ma;ba=ka;aa=la}}}else{ha=da;ia=0;ja=ga}while(0);do if(ha<<24>>24==42){Z=ja+1|0;aa=(a[Z>>0]|0)+-48|0;if(aa>>>0<10?(a[ja+2>>0]|0)==36:0){c[l+(aa<<2)>>2]=10;na=1;oa=ja+3|0;pa=c[j+((a[Z>>0]|0)+-48<<3)>>2]|0}else{if(fa|0){qa=-1;break a}if(!v){ra=ia;sa=0;ta=Z;ua=0;break}aa=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[aa>>2]|0;c[g>>2]=aa+4;na=0;oa=Z;pa=ba}if((pa|0)<0){ra=ia|8192;sa=na;ta=oa;ua=0-pa|0}else{ra=ia;sa=na;ta=oa;ua=pa}}else{ba=(ha<<24>>24)+-48|0;if(ba>>>0<10){Z=ja;aa=0;ca=ba;while(1){ba=(aa*10|0)+ca|0;$=Z+1|0;ca=(a[$>>0]|0)+-48|0;if(ca>>>0>=10){va=ba;wa=$;break}else{Z=$;aa=ba}}if((va|0)<0){qa=-1;break a}else{ra=ia;sa=fa;ta=wa;ua=va}}else{ra=ia;sa=fa;ta=ja;ua=0}}while(0);e:do if((a[ta>>0]|0)==46){aa=ta+1|0;Z=a[aa>>0]|0;if(Z<<24>>24!=42){ca=(Z<<24>>24)+-48|0;if(ca>>>0<10){xa=aa;ya=0;za=ca}else{Aa=0;Ba=aa;break}while(1){aa=(ya*10|0)+za|0;ca=xa+1|0;za=(a[ca>>0]|0)+-48|0;if(za>>>0>=10){Aa=aa;Ba=ca;break e}else{xa=ca;ya=aa}}}aa=ta+2|0;ca=(a[aa>>0]|0)+-48|0;if(ca>>>0<10?(a[ta+3>>0]|0)==36:0){c[l+(ca<<2)>>2]=10;Aa=c[j+((a[aa>>0]|0)+-48<<3)>>2]|0;Ba=ta+4|0;break}if(sa|0){qa=-1;break a}if(v){ca=(c[g>>2]|0)+(4-1)&~(4-1);Z=c[ca>>2]|0;c[g>>2]=ca+4;Aa=Z;Ba=aa}else{Aa=0;Ba=aa}}else{Aa=-1;Ba=ta}while(0);aa=Ba;Z=0;while(1){ca=(a[aa>>0]|0)+-65|0;if(ca>>>0>57){qa=-1;break a}ba=aa+1|0;$=a[31877+(Z*58|0)+ca>>0]|0;ca=$&255;if((ca+-1|0)>>>0<8){aa=ba;Z=ca}else{Ca=ba;Da=$;Ea=ca;Fa=aa;Ga=Z;break}}if(!(Da<<24>>24)){qa=-1;break}Z=(ea|0)>-1;do if(Da<<24>>24==19)if(Z){qa=-1;break a}else S=52;else{if(Z){c[l+(ea<<2)>>2]=Ea;aa=j+(ea<<3)|0;ca=c[aa+4>>2]|0;$=r;c[$>>2]=c[aa>>2];c[$+4>>2]=ca;S=52;break}if(!v){qa=0;break a}km(r,Ea,g)}while(0);if((S|0)==52?(S=0,!v):0){L=P;M=f;N=sa;O=Ca;continue}Z=a[Fa>>0]|0;ca=(Ga|0)!=0&(Z&15|0)==3?Z&-33:Z;Z=ra&-65537;$=(ra&8192|0)==0?ra:Z;f:do switch(ca|0){case 110:{switch(Ga|0){case 0:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 1:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 2:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}case 3:{b[c[r>>2]>>1]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 4:{a[c[r>>2]>>0]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 6:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 7:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}default:{L=P;M=f;N=sa;O=Ca;continue a}}break}case 112:{Ha=$|8;Ia=Aa>>>0>8?Aa:8;Ja=120;S=64;break}case 88:case 120:{Ha=$;Ia=Aa;Ja=ca;S=64;break}case 111:{aa=r;ba=c[aa>>2]|0;la=c[aa+4>>2]|0;if((ba|0)==0&(la|0)==0)Ka=w;else{aa=w;ka=ba;ba=la;while(1){la=aa+-1|0;a[la>>0]=ka&7|48;ka=eo(ka|0,ba|0,3)|0;ba=C;if((ka|0)==0&(ba|0)==0){Ka=la;break}else aa=la}}if(!($&8)){La=Ka;Ma=$;Na=Aa;Oa=0;Pa=32357;S=77}else{aa=x-Ka|0;La=Ka;Ma=$;Na=(Aa|0)>(aa|0)?Aa:aa+1|0;Oa=0;Pa=32357;S=77}break}case 105:case 100:{aa=r;ba=c[aa>>2]|0;ka=c[aa+4>>2]|0;if((ka|0)<0){aa=_n(0,0,ba|0,ka|0)|0;la=C;ma=r;c[ma>>2]=aa;c[ma+4>>2]=la;Qa=aa;Ra=la;Sa=1;Ta=32357;S=76;break f}if(!($&2048)){la=$&1;Qa=ba;Ra=ka;Sa=la;Ta=(la|0)==0?32357:32359;S=76}else{Qa=ba;Ra=ka;Sa=1;Ta=32358;S=76}break}case 117:{ka=r;Qa=c[ka>>2]|0;Ra=c[ka+4>>2]|0;Sa=0;Ta=32357;S=76;break}case 99:{a[y>>0]=c[r>>2];Ua=y;Va=Z;Wa=1;Xa=0;Ya=32357;Za=w;break}case 109:{_a=mm(c[(Zl()|0)>>2]|0)|0;S=82;break}case 115:{ka=c[r>>2]|0;_a=ka|0?ka:34259;S=82;break}case 67:{c[t>>2]=c[r>>2];c[s>>2]=0;c[r>>2]=t;$a=t;ab=-1;S=86;break}case 83:{ka=c[r>>2]|0;if(!Aa){om(e,32,ua,0,$);bb=0;S=97}else{$a=ka;ab=Aa;S=86}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{cb=+h[r>>3];c[o>>2]=0;h[k>>3]=cb;if((c[k+4>>2]|0)>=0)if(!($&2048)){ka=$&1;db=cb;eb=ka;fb=(ka|0)==0?34267:34272}else{db=cb;eb=1;fb=34269}else{db=-cb;eb=1;fb=34266}h[k>>3]=db;ka=c[k+4>>2]&2146435072;do if(ka>>>0<2146435072|(ka|0)==2146435072&0<0){cb=+rm(db,o)*2.0;ba=cb!=0.0;if(ba)c[o>>2]=(c[o>>2]|0)+-1;la=ca|32;if((la|0)==97){aa=ca&32;ma=(aa|0)==0?fb:fb+9|0;gb=eb|2;hb=12-Aa|0;do if(!(Aa>>>0>11|(hb|0)==0)){ib=hb;jb=8.0;while(1){ib=ib+-1|0;kb=jb*16.0;if(!ib){lb=kb;break}else jb=kb}if((a[ma>>0]|0)==45){mb=-(lb+(-cb-lb));break}else{mb=cb+lb-lb;break}}else mb=cb;while(0);hb=c[o>>2]|0;ib=(hb|0)<0?0-hb|0:hb;nb=lm(ib,((ib|0)<0)<<31>>31,B)|0;if((nb|0)==(B|0)){a[D>>0]=48;ob=D}else ob=nb;a[ob+-1>>0]=(hb>>31&2)+43;hb=ob+-2|0;a[hb>>0]=ca+15;nb=(Aa|0)<1;ib=($&8|0)==0;jb=mb;pb=p;while(1){qb=~~jb;rb=pb+1|0;a[pb>>0]=d[32341+qb>>0]|aa;jb=(jb-+(qb|0))*16.0;do if((rb-z|0)==1){if(ib&(nb&jb==0.0)){sb=rb;break}a[rb>>0]=46;sb=pb+2|0}else sb=rb;while(0);if(!(jb!=0.0)){tb=sb;break}else pb=sb}pb=tb;nb=hb;ib=(Aa|0)!=0&(F+pb|0)<(Aa|0)?G+Aa-nb|0:E-nb+pb|0;aa=ib+gb|0;om(e,32,ua,aa,$);if(!(c[e>>2]&32))im(ma,gb,e)|0;om(e,48,ua,aa,$^65536);rb=pb-z|0;if(!(c[e>>2]&32))im(p,rb,e)|0;pb=q-nb|0;om(e,48,ib-(rb+pb)|0,0,0);if(!(c[e>>2]&32))im(hb,pb,e)|0;om(e,32,ua,aa,$^8192);ub=(aa|0)<(ua|0)?ua:aa;break}aa=(Aa|0)<0?6:Aa;if(ba){pb=(c[o>>2]|0)+-28|0;c[o>>2]=pb;vb=cb*268435456.0;wb=pb}else{vb=cb;wb=c[o>>2]|0}pb=(wb|0)<0?n:H;rb=pb;jb=vb;ib=pb;while(1){nb=~~jb>>>0;c[ib>>2]=nb;qb=ib+4|0;jb=(jb-+(nb>>>0))*1.0e9;if(!(jb!=0.0)){xb=qb;break}else ib=qb}ib=c[o>>2]|0;if((ib|0)>0){ba=ib;hb=pb;gb=xb;while(1){ma=(ba|0)>29?29:ba;qb=gb+-4|0;do if(qb>>>0<hb>>>0)yb=hb;else{nb=0;zb=qb;while(1){Ab=ao(c[zb>>2]|0,0,ma|0)|0;Bb=go(Ab|0,C|0,nb|0,0)|0;Ab=C;Cb=qo(Bb|0,Ab|0,1e9,0)|0;c[zb>>2]=Cb;Cb=po(Bb|0,Ab|0,1e9,0)|0;zb=zb+-4|0;if(zb>>>0<hb>>>0){Db=Cb;break}else nb=Cb}if(!Db){yb=hb;break}nb=hb+-4|0;c[nb>>2]=Db;yb=nb}while(0);qb=gb;while(1){if(qb>>>0<=yb>>>0){Eb=qb;break}nb=qb+-4|0;if(!(c[nb>>2]|0))qb=nb;else{Eb=qb;break}}qb=(c[o>>2]|0)-ma|0;c[o>>2]=qb;if((qb|0)>0){ba=qb;hb=yb;gb=Eb}else{Fb=qb;Gb=yb;Hb=Eb;break}}}else{Fb=ib;Gb=pb;Hb=xb}if((Fb|0)<0){gb=((aa+25|0)/9|0)+1|0;hb=(la|0)==102;ba=Fb;qb=Gb;nb=Hb;while(1){zb=0-ba|0;Cb=(zb|0)>9?9:zb;do if(qb>>>0<nb>>>0){zb=(1<<Cb)+-1|0;Ab=1e9>>>Cb;Bb=0;Ib=qb;while(1){Jb=c[Ib>>2]|0;c[Ib>>2]=(Jb>>>Cb)+Bb;Kb=_(Jb&zb,Ab)|0;Ib=Ib+4|0;if(Ib>>>0>=nb>>>0){Lb=Kb;break}else Bb=Kb}Bb=(c[qb>>2]|0)==0?qb+4|0:qb;if(!Lb){Mb=Bb;Nb=nb;break}c[nb>>2]=Lb;Mb=Bb;Nb=nb+4|0}else{Mb=(c[qb>>2]|0)==0?qb+4|0:qb;Nb=nb}while(0);ma=hb?pb:Mb;Bb=(Nb-ma>>2|0)>(gb|0)?ma+(gb<<2)|0:Nb;ba=(c[o>>2]|0)+Cb|0;c[o>>2]=ba;if((ba|0)>=0){Ob=Mb;Pb=Bb;break}else{qb=Mb;nb=Bb}}}else{Ob=Gb;Pb=Hb}do if(Ob>>>0<Pb>>>0){nb=(rb-Ob>>2)*9|0;qb=c[Ob>>2]|0;if(qb>>>0<10){Qb=nb;break}else{Rb=nb;Sb=10}while(1){Sb=Sb*10|0;nb=Rb+1|0;if(qb>>>0<Sb>>>0){Qb=nb;break}else Rb=nb}}else Qb=0;while(0);qb=(la|0)==103;Cb=(aa|0)!=0;nb=aa-((la|0)!=102?Qb:0)+((Cb&qb)<<31>>31)|0;if((nb|0)<(((Pb-rb>>2)*9|0)+-9|0)){ba=nb+9216|0;nb=pb+4+(((ba|0)/9|0)+-1024<<2)|0;gb=((ba|0)%9|0)+1|0;if((gb|0)<9){ba=10;hb=gb;while(1){gb=ba*10|0;hb=hb+1|0;if((hb|0)==9){Tb=gb;break}else ba=gb}}else Tb=10;ba=c[nb>>2]|0;hb=(ba>>>0)%(Tb>>>0)|0;la=(nb+4|0)==(Pb|0);do if(la&(hb|0)==0){Ub=Ob;Vb=nb;Wb=Qb}else{jb=(((ba>>>0)/(Tb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;gb=(Tb|0)/2|0;if(hb>>>0<gb>>>0)Xb=.5;else Xb=la&(hb|0)==(gb|0)?1.0:1.5;do if(!eb){Yb=jb;Zb=Xb}else{if((a[fb>>0]|0)!=45){Yb=jb;Zb=Xb;break}Yb=-jb;Zb=-Xb}while(0);gb=ba-hb|0;c[nb>>2]=gb;if(!(Yb+Zb!=Yb)){Ub=Ob;Vb=nb;Wb=Qb;break}ib=gb+Tb|0;c[nb>>2]=ib;if(ib>>>0>999999999){ib=Ob;gb=nb;while(1){Bb=gb+-4|0;c[gb>>2]=0;if(Bb>>>0<ib>>>0){ma=ib+-4|0;c[ma>>2]=0;_b=ma}else _b=ib;ma=(c[Bb>>2]|0)+1|0;c[Bb>>2]=ma;if(ma>>>0>999999999){ib=_b;gb=Bb}else{$b=_b;ac=Bb;break}}}else{$b=Ob;ac=nb}gb=(rb-$b>>2)*9|0;ib=c[$b>>2]|0;if(ib>>>0<10){Ub=$b;Vb=ac;Wb=gb;break}else{bc=gb;cc=10}while(1){cc=cc*10|0;gb=bc+1|0;if(ib>>>0<cc>>>0){Ub=$b;Vb=ac;Wb=gb;break}else bc=gb}}while(0);nb=Vb+4|0;dc=Ub;ec=Wb;fc=Pb>>>0>nb>>>0?nb:Pb}else{dc=Ob;ec=Qb;fc=Pb}nb=0-ec|0;hb=fc;while(1){if(hb>>>0<=dc>>>0){gc=0;hc=hb;break}ba=hb+-4|0;if(!(c[ba>>2]|0))hb=ba;else{gc=1;hc=hb;break}}do if(qb){hb=(Cb&1^1)+aa|0;if((hb|0)>(ec|0)&(ec|0)>-5){ic=ca+-1|0;jc=hb+-1-ec|0}else{ic=ca+-2|0;jc=hb+-1|0}hb=$&8;if(hb|0){kc=ic;lc=jc;mc=hb;break}do if(gc){hb=c[hc+-4>>2]|0;if(!hb){nc=9;break}if(!((hb>>>0)%10|0)){oc=10;pc=0}else{nc=0;break}while(1){oc=oc*10|0;ba=pc+1|0;if((hb>>>0)%(oc>>>0)|0|0){nc=ba;break}else pc=ba}}else nc=9;while(0);hb=((hc-rb>>2)*9|0)+-9|0;if((ic|32|0)==102){ba=hb-nc|0;la=(ba|0)<0?0:ba;kc=ic;lc=(jc|0)<(la|0)?jc:la;mc=0;break}else{la=hb+ec-nc|0;hb=(la|0)<0?0:la;kc=ic;lc=(jc|0)<(hb|0)?jc:hb;mc=0;break}}else{kc=ca;lc=aa;mc=$&8}while(0);aa=lc|mc;rb=(aa|0)!=0&1;Cb=(kc|32|0)==102;if(Cb){qc=(ec|0)>0?ec:0;rc=0}else{qb=(ec|0)<0?nb:ec;hb=lm(qb,((qb|0)<0)<<31>>31,B)|0;if((q-hb|0)<2){qb=hb;while(1){la=qb+-1|0;a[la>>0]=48;if((q-la|0)<2)qb=la;else{sc=la;break}}}else sc=hb;a[sc+-1>>0]=(ec>>31&2)+43;qb=sc+-2|0;a[qb>>0]=kc;qc=q-qb|0;rc=qb}qb=eb+1+lc+rb+qc|0;om(e,32,ua,qb,$);if(!(c[e>>2]&32))im(fb,eb,e)|0;om(e,48,ua,qb,$^65536);do if(Cb){nb=dc>>>0>pb>>>0?pb:dc;la=nb;while(1){ba=lm(c[la>>2]|0,0,I)|0;do if((la|0)==(nb|0)){if((ba|0)!=(I|0)){tc=ba;break}a[K>>0]=48;tc=K}else{if(ba>>>0<=p>>>0){tc=ba;break}$n(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{tc=gb;break}}}while(0);if(!(c[e>>2]&32))im(tc,J-tc|0,e)|0;ba=la+4|0;if(ba>>>0>pb>>>0){uc=ba;break}else la=ba}do if(aa|0){if(c[e>>2]&32|0)break;im(34297,1,e)|0}while(0);if((lc|0)>0&uc>>>0<hc>>>0){la=lc;nb=uc;while(1){ba=lm(c[nb>>2]|0,0,I)|0;if(ba>>>0>p>>>0){$n(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{vc=gb;break}}}else vc=ba;if(!(c[e>>2]&32))im(vc,(la|0)>9?9:la,e)|0;nb=nb+4|0;ib=la+-9|0;if(!((la|0)>9&nb>>>0<hc>>>0)){wc=ib;break}else la=ib}}else wc=lc;om(e,48,wc+9|0,9,0)}else{la=gc?hc:dc+4|0;if((lc|0)>-1){nb=(mc|0)==0;ib=lc;gb=dc;while(1){Bb=lm(c[gb>>2]|0,0,I)|0;if((Bb|0)==(I|0)){a[K>>0]=48;xc=K}else xc=Bb;do if((gb|0)==(dc|0)){Bb=xc+1|0;if(!(c[e>>2]&32))im(xc,1,e)|0;if(nb&(ib|0)<1){yc=Bb;break}if(c[e>>2]&32|0){yc=Bb;break}im(34297,1,e)|0;yc=Bb}else{if(xc>>>0<=p>>>0){yc=xc;break}$n(p|0,48,xc+A|0)|0;Bb=xc;while(1){ma=Bb+-1|0;if(ma>>>0>p>>>0)Bb=ma;else{yc=ma;break}}}while(0);ba=J-yc|0;if(!(c[e>>2]&32))im(yc,(ib|0)>(ba|0)?ba:ib,e)|0;Bb=ib-ba|0;gb=gb+4|0;if(!(gb>>>0<la>>>0&(Bb|0)>-1)){zc=Bb;break}else ib=Bb}}else zc=lc;om(e,48,zc+18|0,18,0);if(c[e>>2]&32|0)break;im(rc,q-rc|0,e)|0}while(0);om(e,32,ua,qb,$^8192);ub=(qb|0)<(ua|0)?ua:qb}else{aa=(ca&32|0)!=0;pb=db!=db|0.0!=0.0;Cb=pb?0:eb;rb=Cb+3|0;om(e,32,ua,rb,Z);hb=c[e>>2]|0;if(!(hb&32)){im(fb,Cb,e)|0;Ac=c[e>>2]|0}else Ac=hb;if(!(Ac&32))im(pb?(aa?34308:34293):aa?34285:34289,3,e)|0;om(e,32,ua,rb,$^8192);ub=(rb|0)<(ua|0)?ua:rb}while(0);L=P;M=ub;N=sa;O=Ca;continue a;break}default:{Ua=O;Va=$;Wa=Aa;Xa=0;Ya=32357;Za=w}}while(0);g:do if((S|0)==64){S=0;ca=r;f=c[ca>>2]|0;ka=c[ca+4>>2]|0;ca=Ja&32;if(!((f|0)==0&(ka|0)==0)){rb=w;aa=f;f=ka;while(1){ka=rb+-1|0;a[ka>>0]=d[32341+(aa&15)>>0]|ca;aa=eo(aa|0,f|0,4)|0;f=C;if((aa|0)==0&(f|0)==0){Bc=ka;break}else rb=ka}rb=r;if((Ha&8|0)==0|(c[rb>>2]|0)==0&(c[rb+4>>2]|0)==0){La=Bc;Ma=Ha;Na=Ia;Oa=0;Pa=32357;S=77}else{La=Bc;Ma=Ha;Na=Ia;Oa=2;Pa=32357+(Ja>>4)|0;S=77}}else{La=w;Ma=Ha;Na=Ia;Oa=0;Pa=32357;S=77}}else if((S|0)==76){S=0;La=lm(Qa,Ra,w)|0;Ma=$;Na=Aa;Oa=Sa;Pa=Ta;S=77}else if((S|0)==82){S=0;rb=nm(_a,0,Aa)|0;f=(rb|0)==0;Ua=_a;Va=Z;Wa=f?Aa:rb-_a|0;Xa=0;Ya=32357;Za=f?_a+Aa|0:rb}else if((S|0)==86){S=0;rb=0;f=0;aa=$a;while(1){ca=c[aa>>2]|0;if(!ca){Cc=rb;Dc=f;break}ka=pm(u,ca)|0;if((ka|0)<0|ka>>>0>(ab-rb|0)>>>0){Cc=rb;Dc=ka;break}ca=ka+rb|0;if(ab>>>0>ca>>>0){rb=ca;f=ka;aa=aa+4|0}else{Cc=ca;Dc=ka;break}}if((Dc|0)<0){qa=-1;break a}om(e,32,ua,Cc,$);if(!Cc){bb=0;S=97}else{aa=0;f=$a;while(1){rb=c[f>>2]|0;if(!rb){bb=Cc;S=97;break g}ka=pm(u,rb)|0;aa=ka+aa|0;if((aa|0)>(Cc|0)){bb=Cc;S=97;break g}if(!(c[e>>2]&32))im(u,ka,e)|0;if(aa>>>0>=Cc>>>0){bb=Cc;S=97;break}else f=f+4|0}}}while(0);if((S|0)==97){S=0;om(e,32,ua,bb,$^8192);L=P;M=(ua|0)>(bb|0)?ua:bb;N=sa;O=Ca;continue}if((S|0)==77){S=0;Z=(Na|0)>-1?Ma&-65537:Ma;f=r;aa=(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0;if((Na|0)!=0|aa){f=(aa&1^1)+(x-La)|0;Ua=La;Va=Z;Wa=(Na|0)>(f|0)?Na:f;Xa=Oa;Ya=Pa;Za=w}else{Ua=w;Va=Z;Wa=0;Xa=Oa;Ya=Pa;Za=w}}Z=Za-Ua|0;f=(Wa|0)<(Z|0)?Z:Wa;aa=Xa+f|0;ka=(ua|0)<(aa|0)?aa:ua;om(e,32,ka,aa,Va);if(!(c[e>>2]&32))im(Ya,Xa,e)|0;om(e,48,ka,aa,Va^65536);om(e,48,f,Z,0);if(!(c[e>>2]&32))im(Ua,Z,e)|0;om(e,32,ka,aa,Va^8192);L=P;M=ka;N=sa;O=Ca}h:do if((S|0)==244)if(!e)if(R){Ca=1;while(1){O=c[l+(Ca<<2)>>2]|0;if(!O){Ec=Ca;break}km(j+(Ca<<3)|0,O,g);Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break h}}if((Ec|0)<10){Ca=Ec;while(1){if(c[l+(Ca<<2)>>2]|0){qa=-1;break h}Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break}}}else qa=1}else qa=0;else qa=Q;while(0);i=m;return qa|0}function im(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,p=0,q=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(jm(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=kb[c[e+36>>2]&127](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=d;m=b;n=k;o=0;break b}p=f+-1|0;if((a[b+p>>0]|0)==10){q=f;break}else f=p}if((kb[c[e+36>>2]&127](e,b,q)|0)>>>0<q>>>0){j=q;break a}l=d-q|0;m=b+q|0;n=c[g>>2]|0;o=q}else{l=d;m=b;n=k;o=0}while(0);ho(n|0,m|0,l|0)|0;c[g>>2]=(c[g>>2]|0)+l;j=o+l|0}while(0);return j|0}function jm(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function lm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;while(1){c=qo(f|0,g|0,10,0)|0;h=e+-1|0;a[h>>0]=c|48;c=po(f|0,g|0,10,0)|0;if(g>>>0>9|(g|0)==9&f>>>0>4294967295){e=h;f=c;g=C}else{i=h;j=c;break}}k=i;l=j}else{k=d;l=b}if(!l)m=k;else{b=k;k=l;while(1){l=b+-1|0;a[l>>0]=(k>>>0)%10|0|48;if(k>>>0<10){m=l;break}else{b=l;k=(k>>>0)/10|0}}}return m|0}function mm(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0;c=0;while(1){if((d[32367+c>>0]|0)==(b|0)){e=c;f=2;break}c=c+1|0;if((c|0)==87){g=87;h=32455;f=5;break}}if((f|0)==2)if(!e)i=32455;else{g=e;h=32455;f=5}if((f|0)==5)while(1){f=0;e=h;while(1){c=e+1|0;if(!(a[e>>0]|0)){j=c;break}else e=c}g=g+-1|0;if(!g){i=j;break}else{h=j;f=5}}return i|0}function nm(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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=p;s=n;m=5;break}}}else{q=e;r=g;s=b;m=5}while(0);if((m|0)==5)if(r){k=q;l=s;m=6}else{t=0;u=s}b:do if((m|0)==6){s=d&255;if((a[l>>0]|0)==s<<24>>24){t=k;u=l}else{q=_(f,16843009)|0;c:do if(k>>>0>3){r=k;b=l;while(1){g=c[b>>2]^q;if((g&-2139062144^-2139062144)&g+-16843009|0){v=r;w=b;break}g=b+4|0;e=r+-4|0;if(e>>>0>3){r=e;b=g}else{x=e;y=g;m=11;break c}}z=v;A=w}else{x=k;y=l;m=11}while(0);if((m|0)==11)if(!x){t=0;u=y;break}else{z=x;A=y}while(1){if((a[A>>0]|0)==s<<24>>24){t=z;u=A;break b}q=A+1|0;z=z+-1|0;if(!z){t=0;u=q;break}else A=q}}}while(0);return (t|0?u:0)|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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+256|0;h=g;do if((d|0)>(e|0)&(f&73728|0)==0){j=d-e|0;$n(h|0,b|0,(j>>>0>256?256:j)|0)|0;k=c[a>>2]|0;l=(k&32|0)==0;if(j>>>0>255){m=d-e|0;n=j;o=k;k=l;while(1){if(k){im(h,256,a)|0;p=c[a>>2]|0}else p=o;n=n+-256|0;k=(p&32|0)==0;if(n>>>0<=255)break;else o=p}if(k)q=m&255;else break}else if(l)q=j;else break;im(h,q,a)|0}while(0);i=g;return}function pm(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=qm(a,b,0)|0;return c|0}function qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(Zl()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function rm(a,b){a=+a;b=b|0;return +(+sm(a,b))}function sm(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,l=0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=eo(d|0,e|0,52)|0;g=f&2047;switch(g|0){case 0:{if(a!=0.0){i=+sm(a*18446744073709551616.0,b);j=i;l=(c[b>>2]|0)+-64|0}else{j=a;l=0}c[b>>2]=l;m=j;break}case 2047:{m=a;break}default:{c[b>>2]=g+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;m=+h[k>>3]}}return +m}function tm(a){a=a|0;return 0}function um(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:do if(!d)e=0;else{f=d;g=b;h=c;while(1){i=a[g>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24){k=i;l=j;break}f=f+-1|0;if(!f){e=0;break a}else{g=g+1|0;h=h+1|0}}e=(k&255)-(l&255)|0}while(0);return e|0}function vm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b;a:do if(!(d&3)){e=b;f=4}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=4;break}else g=j}}while(0);if((f|0)==4){f=e;while(1){e=c[f>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))f=f+4|0;else{k=e;l=f;break}}if(!((k&255)<<24>>24))m=l;else{k=l;while(1){l=k+1|0;if(!(a[l>>0]|0)){m=l;break}else k=l}}i=m}return i-d|0}function wm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b;if((c[a+8>>2]|0)==0?(xm(a)|0)!=0:0)f=-1;else if((kb[c[a+32>>2]&127](a,e,1)|0)==1)f=d[e>>0]|0;else f=-1;i=b;return f|0}function xm(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+44|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)kb[c[b+36>>2]&127](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(e&20)if(!(e&4))f=-1;else{c[b>>2]=e|32;f=-1}else{e=c[d>>2]|0;c[b+8>>2]=e;c[b+4>>2]=e;f=0}return f|0}function ym(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Am(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=wm(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((d[e>>0]|0|0)==(f|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|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.0,n=0,o=0,p=0,q=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,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.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0.0,ua=0,va=0.0,wa=0.0,xa=0,ya=0.0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0.0,La=0,Ma=0,Na=0,Oa=0,Pa=0.0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.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.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.0,fd=0.0,gd=0.0,hd=0.0,id=0.0,jd=0.0,kd=0.0,ld=0,md=0,nd=0.0,od=0,pd=0.0;g=i;i=i+512|0;h=g;switch(e|0){case 0:{j=24;k=-149;l=4;break}case 1:{j=53;k=-1074;l=4;break}case 2:{j=53;k=-1074;l=4;break}default:m=0.0}a:do if((l|0)==4){e=b+4|0;n=b+100|0;do{o=c[e>>2]|0;if(o>>>0<(c[n>>2]|0)>>>0){c[e>>2]=o+1;p=d[o>>0]|0}else p=Am(b)|0}while((ym(p)|0)!=0);q=p;b:do switch(q|0){case 43:case 45:{o=1-(((q|0)==45&1)<<1)|0;t=c[e>>2]|0;if(t>>>0<(c[n>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0;v=o;break b}else{u=Am(b)|0;v=o;break b}break}default:{u=q;v=1}}while(0);o=u;t=0;while(1){if((o|32|0)!=(a[34299+t>>0]|0)){w=o;x=t;break}do if(t>>>0<7){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=Am(b)|0;break}}else z=o;while(0);y=t+1|0;if(y>>>0<8){o=z;t=y}else{w=z;x=y;break}}c:do switch(x|0){case 8:break;case 3:{l=23;break}default:{t=(f|0)!=0;if(t&x>>>0>3)if((x|0)==8)break c;else{l=23;break c}d:do if(!x){o=w;y=0;while(1){if((o|32|0)!=(a[34308+y>>0]|0)){A=o;B=y;break d}do if(y>>>0<2){D=c[e>>2]|0;if(D>>>0<(c[n>>2]|0)>>>0){c[e>>2]=D+1;E=d[D>>0]|0;break}else{E=Am(b)|0;break}}else E=o;while(0);D=y+1|0;if(D>>>0<3){o=E;y=D}else{A=E;B=D;break}}}else{A=w;B=x}while(0);switch(B|0){case 3:{y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;F=d[y>>0]|0}else F=Am(b)|0;if((F|0)==40)G=1;else{if(!(c[n>>2]|0)){m=r;break a}c[e>>2]=(c[e>>2]|0)+-1;m=r;break a}while(1){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;H=d[y>>0]|0}else H=Am(b)|0;if(!((H+-48|0)>>>0<10|(H+-65|0)>>>0<26)?!((H|0)==95|(H+-97|0)>>>0<26):0){I=H;J=G;break}G=G+1|0}if((I|0)==41){m=r;break a}y=(c[n>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if(!t){c[(Zl()|0)>>2]=22;zm(b,0);m=0.0;break a}if(!J){m=r;break a}else K=J;while(1){K=K+-1|0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if(!K){m=r;break a}}break}case 0:{do if((A|0)==48){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;L=d[y>>0]|0}else L=Am(b)|0;if((L|32|0)!=120){if(!(c[n>>2]|0)){M=48;break}c[e>>2]=(c[e>>2]|0)+-1;M=48;break}y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;O=d[y>>0]|0;P=0}else{O=Am(b)|0;P=0}e:while(1){switch(O|0){case 46:{Q=P;l=74;break e;break}case 48:break;default:{R=0;S=0;T=0;U=0;V=O;W=P;X=0;Y=0;Z=1.0;$=0;aa=0.0;break e}}y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;O=d[y>>0]|0;P=1;continue}else{O=Am(b)|0;P=1;continue}}if((l|0)==74){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;ba=d[y>>0]|0}else ba=Am(b)|0;if((ba|0)==48){y=0;t=0;while(1){o=c[e>>2]|0;if(o>>>0<(c[n>>2]|0)>>>0){c[e>>2]=o+1;ca=d[o>>0]|0}else ca=Am(b)|0;o=go(y|0,t|0,-1,-1)|0;D=C;if((ca|0)==48){y=o;t=D}else{R=0;S=0;T=o;U=D;V=ca;W=1;X=1;Y=0;Z=1.0;$=0;aa=0.0;break}}}else{R=0;S=0;T=0;U=0;V=ba;W=Q;X=1;Y=0;Z=1.0;$=0;aa=0.0}}while(1){t=V+-48|0;y=V|32;if(t>>>0>=10){D=(V|0)==46;if(!(D|(y+-97|0)>>>0<6)){da=T;ea=S;fa=U;ga=R;ha=V;ia=W;ja=X;ka=$;la=aa;break}if(D)if(!X){ma=S;na=R;oa=S;pa=R;qa=W;ra=1;sa=Y;ta=Z;ua=$;va=aa}else{da=T;ea=S;fa=U;ga=R;ha=46;ia=W;ja=X;ka=$;la=aa;break}else l=86}else l=86;if((l|0)==86){l=0;D=(V|0)>57?y+-87|0:t;do if(!((R|0)<0|(R|0)==0&S>>>0<8)){if((R|0)<0|(R|0)==0&S>>>0<14){wa=Z*.0625;xa=Y;ya=wa;za=$;Aa=aa+wa*+(D|0);break}if((Y|0)!=0|(D|0)==0){xa=Y;ya=Z;za=$;Aa=aa}else{xa=1;ya=Z;za=$;Aa=aa+Z*.5}}else{xa=Y;ya=Z;za=D+($<<4)|0;Aa=aa}while(0);D=go(S|0,R|0,1,0)|0;ma=T;na=U;oa=D;pa=C;qa=1;ra=X;sa=xa;ta=ya;ua=za;va=Aa}D=c[e>>2]|0;if(D>>>0<(c[n>>2]|0)>>>0){c[e>>2]=D+1;R=pa;S=oa;T=ma;U=na;V=d[D>>0]|0;W=qa;X=ra;Y=sa;Z=ta;$=ua;aa=va;continue}else{R=pa;S=oa;T=ma;U=na;V=Am(b)|0;W=qa;X=ra;Y=sa;Z=ta;$=ua;aa=va;continue}}if(!ia){D=(c[n>>2]|0)==0;if(!D)c[e>>2]=(c[e>>2]|0)+-1;if(f){if(!D?(D=c[e>>2]|0,c[e>>2]=D+-1,ja|0):0)c[e>>2]=D+-2}else zm(b,0);m=+(v|0)*0.0;break a}D=(ja|0)==0;t=D?ea:da;y=D?ga:fa;if((ga|0)<0|(ga|0)==0&ea>>>0<8){D=ea;o=ga;Ba=ka;while(1){Ca=Ba<<4;D=go(D|0,o|0,1,0)|0;o=C;if(!((o|0)<0|(o|0)==0&D>>>0<8)){Da=Ca;break}else Ba=Ca}}else Da=ka;if((ha|32|0)==112){Ba=Cm(b,f)|0;D=C;if((Ba|0)==0&(D|0)==-2147483648){if(!f){zm(b,0);m=0.0;break a}if(!(c[n>>2]|0)){Ea=0;Fa=0}else{c[e>>2]=(c[e>>2]|0)+-1;Ea=0;Fa=0}}else{Ea=Ba;Fa=D}}else if(!(c[n>>2]|0)){Ea=0;Fa=0}else{c[e>>2]=(c[e>>2]|0)+-1;Ea=0;Fa=0}D=ao(t|0,y|0,2)|0;Ba=go(D|0,C|0,-32,-1)|0;D=go(Ba|0,C|0,Ea|0,Fa|0)|0;Ba=C;if(!Da){m=+(v|0)*0.0;break a}if((Ba|0)>0|(Ba|0)==0&D>>>0>(0-k|0)>>>0){c[(Zl()|0)>>2]=34;m=+(v|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}o=k+-106|0;Ca=((o|0)<0)<<31>>31;if((Ba|0)<(Ca|0)|(Ba|0)==(Ca|0)&D>>>0<o>>>0){c[(Zl()|0)>>2]=34;m=+(v|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((Da|0)>-1){o=D;Ca=Ba;Ga=Da;wa=la;while(1){Ha=!(wa>=.5);Ia=Ha&1|Ga<<1;Ja=Ia^1;Ka=wa+(Ha?wa:wa+-1.0);Ha=go(o|0,Ca|0,-1,-1)|0;La=C;if((Ia|0)>-1){o=Ha;Ca=La;Ga=Ja;wa=Ka}else{Ma=Ha;Na=La;Oa=Ja;Pa=Ka;break}}}else{Ma=D;Na=Ba;Oa=Da;Pa=la}Ga=_n(32,0,k|0,((k|0)<0)<<31>>31|0)|0;Ca=go(Ma|0,Na|0,Ga|0,C|0)|0;Ga=C;if(0>(Ga|0)|0==(Ga|0)&j>>>0>Ca>>>0)if((Ca|0)<0){Qa=0;l=127}else{Ra=Ca;l=125}else{Ra=j;l=125}if((l|0)==125)if((Ra|0)<53){Qa=Ra;l=127}else{Sa=Ra;Ta=+(v|0);Ua=0.0}if((l|0)==127){wa=+(v|0);Sa=Qa;Ta=wa;Ua=+Em(+Dm(1.0,84-Qa|0),wa)}Ca=(Oa&1|0)==0&(Pa!=0.0&(Sa|0)<32);wa=Ta*(Ca?0.0:Pa)+(Ua+Ta*+(((Ca&1)+Oa|0)>>>0))-Ua;if(!(wa!=0.0))c[(Zl()|0)>>2]=34;m=+Gm(wa,Ma);break a}else M=A;while(0);Ca=k+j|0;Ga=0-Ca|0;o=M;y=0;f:while(1){switch(o|0){case 46:{Va=y;l=138;break f;break}case 48:break;default:{Wa=o;Xa=0;Ya=0;Za=y;_a=0;break f}}t=c[e>>2]|0;if(t>>>0<(c[n>>2]|0)>>>0){c[e>>2]=t+1;o=d[t>>0]|0;y=1;continue}else{o=Am(b)|0;y=1;continue}}if((l|0)==138){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;$a=d[y>>0]|0}else $a=Am(b)|0;if(($a|0)==48){y=0;o=0;while(1){t=go(y|0,o|0,-1,-1)|0;Ja=C;La=c[e>>2]|0;if(La>>>0<(c[n>>2]|0)>>>0){c[e>>2]=La+1;ab=d[La>>0]|0}else ab=Am(b)|0;if((ab|0)==48){y=t;o=Ja}else{Wa=ab;Xa=t;Ya=Ja;Za=1;_a=1;break}}}else{Wa=$a;Xa=0;Ya=0;Za=Va;_a=1}}c[h>>2]=0;o=Wa+-48|0;y=(Wa|0)==46;g:do if(y|o>>>0<10){Ja=h+496|0;t=Wa;La=0;Ha=0;Ia=y;bb=o;cb=Xa;db=Ya;eb=Za;fb=_a;gb=0;hb=0;ib=0;h:while(1){do if(Ia)if(!fb){jb=La;kb=Ha;lb=La;mb=Ha;nb=eb;ob=1;pb=gb;qb=hb;rb=ib}else{sb=cb;tb=db;ub=La;vb=Ha;wb=eb;xb=gb;yb=hb;zb=ib;break h}else{Ab=go(La|0,Ha|0,1,0)|0;Bb=C;Cb=(t|0)!=48;if((hb|0)>=125){if(!Cb){jb=cb;kb=db;lb=Ab;mb=Bb;nb=eb;ob=fb;pb=gb;qb=hb;rb=ib;break}c[Ja>>2]=c[Ja>>2]|1;jb=cb;kb=db;lb=Ab;mb=Bb;nb=eb;ob=fb;pb=gb;qb=hb;rb=ib;break}Db=h+(hb<<2)|0;if(!gb)Eb=bb;else Eb=t+-48+((c[Db>>2]|0)*10|0)|0;c[Db>>2]=Eb;Db=gb+1|0;Fb=(Db|0)==9;jb=cb;kb=db;lb=Ab;mb=Bb;nb=1;ob=fb;pb=Fb?0:Db;qb=(Fb&1)+hb|0;rb=Cb?Ab:ib}while(0);Ab=c[e>>2]|0;if(Ab>>>0<(c[n>>2]|0)>>>0){c[e>>2]=Ab+1;Gb=d[Ab>>0]|0}else Gb=Am(b)|0;bb=Gb+-48|0;Ia=(Gb|0)==46;if(!(Ia|bb>>>0<10)){Hb=Gb;Ib=jb;Jb=lb;Kb=kb;Lb=mb;Mb=nb;Nb=ob;Ob=pb;Pb=qb;Qb=rb;l=161;break g}else{t=Gb;La=lb;Ha=mb;cb=jb;db=kb;eb=nb;fb=ob;gb=pb;hb=qb;ib=rb}}Rb=ub;Sb=vb;Tb=sb;Ub=tb;Vb=(wb|0)!=0;Wb=xb;Xb=yb;Yb=zb;l=169}else{Hb=Wa;Ib=Xa;Jb=0;Kb=Ya;Lb=0;Mb=Za;Nb=_a;Ob=0;Pb=0;Qb=0;l=161}while(0);do if((l|0)==161){o=(Nb|0)==0;y=o?Jb:Ib;ib=o?Lb:Kb;o=(Mb|0)!=0;if(!((Hb|32|0)==101&o))if((Hb|0)>-1){Rb=Jb;Sb=Lb;Tb=y;Ub=ib;Vb=o;Wb=Ob;Xb=Pb;Yb=Qb;l=169;break}else{Zb=Jb;_b=Lb;$b=o;ac=y;bc=ib;cc=Ob;dc=Pb;ec=Qb;l=171;break}o=Cm(b,f)|0;hb=C;if((o|0)==0&(hb|0)==-2147483648){if(!f){zm(b,0);fc=0.0;break}if(!(c[n>>2]|0)){gc=0;hc=0}else{c[e>>2]=(c[e>>2]|0)+-1;gc=0;hc=0}}else{gc=o;hc=hb}hb=go(gc|0,hc|0,y|0,ib|0)|0;ic=hb;jc=Jb;kc=C;lc=Lb;mc=Ob;nc=Pb;oc=Qb;l=173}while(0);if((l|0)==169)if(c[n>>2]|0){c[e>>2]=(c[e>>2]|0)+-1;if(Vb){ic=Tb;jc=Rb;kc=Ub;lc=Sb;mc=Wb;nc=Xb;oc=Yb;l=173}else l=172}else{Zb=Rb;_b=Sb;$b=Vb;ac=Tb;bc=Ub;cc=Wb;dc=Xb;ec=Yb;l=171}if((l|0)==171)if($b){ic=ac;jc=Zb;kc=bc;lc=_b;mc=cc;nc=dc;oc=ec;l=173}else l=172;do if((l|0)==172){c[(Zl()|0)>>2]=22;zm(b,0);fc=0.0}else if((l|0)==173){hb=c[h>>2]|0;if(!hb){fc=+(v|0)*0.0;break}if(((lc|0)<0|(lc|0)==0&jc>>>0<10)&((ic|0)==(jc|0)&(kc|0)==(lc|0))?j>>>0>30|(hb>>>j|0)==0:0){fc=+(v|0)*+(hb>>>0);break}hb=(k|0)/-2|0;ib=((hb|0)<0)<<31>>31;if((kc|0)>(ib|0)|(kc|0)==(ib|0)&ic>>>0>hb>>>0){c[(Zl()|0)>>2]=34;fc=+(v|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}hb=k+-106|0;ib=((hb|0)<0)<<31>>31;if((kc|0)<(ib|0)|(kc|0)==(ib|0)&ic>>>0<hb>>>0){c[(Zl()|0)>>2]=34;fc=+(v|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!mc)pc=nc;else{if((mc|0)<9){hb=h+(nc<<2)|0;ib=c[hb>>2]|0;y=mc;while(1){o=ib*10|0;y=y+1|0;if((y|0)==9){qc=o;break}else ib=o}c[hb>>2]=qc}pc=nc+1|0}if((oc|0)<9?(oc|0)<=(ic|0)&(ic|0)<18:0){if((ic|0)==9){fc=+(v|0)*+((c[h>>2]|0)>>>0);break}if((ic|0)<9){fc=+(v|0)*+((c[h>>2]|0)>>>0)/+(c[6268+(8-ic<<2)>>2]|0);break}ib=j+27+(_(ic,-3)|0)|0;y=c[h>>2]|0;if((ib|0)>30|(y>>>ib|0)==0){fc=+(v|0)*+(y>>>0)*+(c[6268+(ic+-10<<2)>>2]|0);break}}y=(ic|0)%9|0;if(!y){rc=0;sc=0;tc=ic;uc=pc}else{ib=(ic|0)>-1?y:y+9|0;y=c[6268+(8-ib<<2)>>2]|0;if(pc){o=1e9/(y|0)|0;gb=0;fb=0;eb=0;db=ic;while(1){cb=h+(eb<<2)|0;Ha=c[cb>>2]|0;La=((Ha>>>0)/(y>>>0)|0)+fb|0;c[cb>>2]=La;cb=_((Ha>>>0)%(y>>>0)|0,o)|0;Ha=(eb|0)==(gb|0)&(La|0)==0;eb=eb+1|0;La=Ha?db+-9|0:db;t=Ha?eb&127:gb;if((eb|0)==(pc|0)){vc=cb;wc=t;xc=La;break}else{gb=t;fb=cb;db=La}}if(!vc){yc=wc;zc=xc;Ac=pc}else{c[h+(pc<<2)>>2]=vc;yc=wc;zc=xc;Ac=pc+1|0}}else{yc=0;zc=ic;Ac=0}rc=yc;sc=0;tc=9-ib+zc|0;uc=Ac}i:while(1){db=(tc|0)<18;fb=(tc|0)==18;gb=h+(rc<<2)|0;eb=sc;o=uc;while(1){if(!db){if(!fb){Bc=rc;Cc=eb;Dc=tc;Ec=o;break i}if((c[gb>>2]|0)>>>0>=9007199){Bc=rc;Cc=eb;Dc=18;Ec=o;break i}}y=0;hb=o+127|0;La=o;while(1){cb=hb&127;t=h+(cb<<2)|0;Ha=ao(c[t>>2]|0,0,29)|0;bb=go(Ha|0,C|0,y|0,0)|0;Ha=C;if(Ha>>>0>0|(Ha|0)==0&bb>>>0>1e9){Ia=po(bb|0,Ha|0,1e9,0)|0;Ja=qo(bb|0,Ha|0,1e9,0)|0;Fc=Ja;Gc=Ia}else{Fc=bb;Gc=0}c[t>>2]=Fc;t=(cb|0)==(rc|0);bb=(cb|0)!=(La+127&127|0)|t?La:(Fc|0)==0?cb:La;if(t){Hc=Gc;Ic=bb;break}else{y=Gc;hb=cb+-1|0;La=bb}}La=eb+-29|0;if(!Hc){eb=La;o=Ic}else{Jc=La;Kc=Hc;Lc=Ic;break}}o=rc+127&127;if((o|0)==(Lc|0)){eb=Lc+127&127;gb=h+((Lc+126&127)<<2)|0;c[gb>>2]=c[gb>>2]|c[h+(eb<<2)>>2];Mc=eb}else Mc=Lc;c[h+(o<<2)>>2]=Kc;rc=o;sc=Jc;tc=tc+9|0;uc=Mc}j:while(1){Nc=Ec+1&127;ib=h+((Ec+127&127)<<2)|0;o=Bc;eb=Cc;gb=Dc;while(1){fb=(gb|0)==18;db=(gb|0)>27?9:1;La=fb^1;Oc=o;Pc=eb;while(1){Qc=Oc&127;Rc=(Qc|0)==(Ec|0);do if(!Rc){hb=c[h+(Qc<<2)>>2]|0;if(hb>>>0<9007199){l=219;break}if(hb>>>0>9007199)break;hb=Oc+1&127;if((hb|0)==(Ec|0)){l=219;break}y=c[h+(hb<<2)>>2]|0;if(y>>>0<254740991){l=219;break}if(!(y>>>0>254740991|La)){Sc=Qc;Tc=Oc;Uc=Pc;Vc=Ec;break j}}else l=219;while(0);if((l|0)==219?(l=0,fb):0){l=220;break j}y=Pc+db|0;if((Oc|0)==(Ec|0)){Oc=Ec;Pc=y}else{Wc=y;Xc=Oc;break}}fb=(1<<db)+-1|0;La=1e9>>>db;y=Xc;hb=0;bb=Xc;cb=gb;while(1){t=h+(bb<<2)|0;Ia=c[t>>2]|0;Ja=(Ia>>>db)+hb|0;c[t>>2]=Ja;t=_(Ia&fb,La)|0;Ia=(bb|0)==(y|0)&(Ja|0)==0;bb=bb+1&127;Ja=Ia?cb+-9|0:cb;Ha=Ia?bb:y;if((bb|0)==(Ec|0)){Yc=t;Zc=Ha;_c=Ja;break}else{y=Ha;hb=t;cb=Ja}}if(!Yc){o=Zc;eb=Wc;gb=_c;continue}if((Nc|0)!=(Zc|0)){$c=Wc;ad=Yc;bd=Zc;cd=_c;break}c[ib>>2]=c[ib>>2]|1;o=Zc;eb=Wc;gb=_c}c[h+(Ec<<2)>>2]=ad;Bc=bd;Cc=$c;Dc=cd;Ec=Nc}if((l|0)==220)if(Rc){c[h+(Nc+-1<<2)>>2]=0;Sc=Ec;Tc=Oc;Uc=Pc;Vc=Nc}else{Sc=Qc;Tc=Oc;Uc=Pc;Vc=Ec}wa=+((c[h+(Sc<<2)>>2]|0)>>>0);gb=Tc+1&127;if((gb|0)==(Vc|0)){eb=Tc+2&127;c[h+(eb+-1<<2)>>2]=0;dd=eb}else dd=Vc;Ka=+(v|0);ed=Ka*(wa*1.0e9+ +((c[h+(gb<<2)>>2]|0)>>>0));gb=Uc+53|0;eb=gb-k|0;o=(eb|0)<(j|0);ib=o&1;cb=o?((eb|0)<0?0:eb):j;if((cb|0)<53){wa=+Em(+Dm(1.0,105-cb|0),ed);fd=+Hm(ed,+Dm(1.0,53-cb|0));gd=wa;hd=fd;id=wa+(ed-fd)}else{gd=0.0;hd=0.0;id=ed}hb=Tc+2&127;do if((hb|0)==(dd|0))jd=hd;else{y=c[h+(hb<<2)>>2]|0;do if(y>>>0>=5e8){if(y>>>0>5e8){kd=Ka*.75+hd;break}if((Tc+3&127|0)==(dd|0)){kd=Ka*.5+hd;break}else{kd=Ka*.75+hd;break}}else{if((y|0)==0?(Tc+3&127|0)==(dd|0):0){kd=hd;break}kd=Ka*.25+hd}while(0);if((53-cb|0)<=1){jd=kd;break}if(+Hm(kd,1.0)!=0.0){jd=kd;break}jd=kd+1.0}while(0);Ka=id+jd-gd;do if((gb&2147483647|0)>(-2-Ca|0)){if(!(+N(+Ka)>=9007199254740992.0)){ld=ib;md=Uc;nd=Ka}else{ld=o&(cb|0)==(eb|0)?0:ib;md=Uc+1|0;nd=Ka*.5}if((md+50|0)<=(Ga|0)?!(jd!=0.0&(ld|0)!=0):0){od=md;pd=nd;break}c[(Zl()|0)>>2]=34;od=md;pd=nd}else{od=Uc;pd=Ka}while(0);fc=+Gm(pd,od)}while(0);m=fc;break a;break}default:{if(c[n>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(Zl()|0)>>2]=22;zm(b,0);m=0.0;break a}}}}while(0);if((l|0)==23){Ga=(c[n>>2]|0)==0;if(!Ga)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&x>>>0>3){Ca=x;do{if(!Ga)c[e>>2]=(c[e>>2]|0)+-1;Ca=Ca+-1|0}while(Ca>>>0>3)}}m=+(v|0)*s}while(0);i=g;return +m}function Cm(a,b){a=a|0;b=b|0;var 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;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Am(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Am(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(c[g>>2]|0)!=0:0){c[e>>2]=(c[e>>2]|0)+-1;k=j;l=f}else{k=j;l=f}break}default:{k=h;l=0}}if((k+-48|0)>>>0>9)if(!(c[g>>2]|0)){m=-2147483648;n=0}else{c[e>>2]=(c[e>>2]|0)+-1;m=-2147483648;n=0}else{h=k;k=0;while(1){f=h+-48+(k*10|0)|0;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;o=d[j>>0]|0}else o=Am(a)|0;if((o+-48|0)>>>0<10&(f|0)<214748364){h=o;k=f}else{p=f;q=o;break}}o=((p|0)<0)<<31>>31;if((q+-48|0)>>>0<10){k=p;h=o;f=q;while(1){j=oo(k|0,h|0,10,0)|0;b=C;i=go(f|0,((f|0)<0)<<31>>31|0,-48,-1)|0;r=go(i|0,C|0,j|0,b|0)|0;b=C;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j>>0]|0}else s=Am(a)|0;if((s+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&r>>>0<2061584302)){k=r;h=b;f=s}else{t=r;u=b;v=s;break}}}else{t=p;u=o;v=q}if((v+-48|0)>>>0<10)do{v=c[e>>2]|0;if(v>>>0<(c[g>>2]|0)>>>0){c[e>>2]=v+1;w=d[v>>0]|0}else w=Am(a)|0}while((w+-48|0)>>>0<10);if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;e=(l|0)!=0;l=_n(0,0,t|0,u|0)|0;m=e?C:u;n=e?l:t}C=m;return n|0}function Dm(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,g=0,i=0.0;if((b|0)>1023){d=a*8988465674311579538646525.0e283;e=b+-1023|0;if((e|0)>1023){f=b+-2046|0;g=(f|0)>1023?1023:f;i=d*8988465674311579538646525.0e283}else{g=e;i=d}}else if((b|0)<-1022){d=a*2.2250738585072014e-308;e=b+1022|0;if((e|0)<-1022){f=b+2044|0;g=(f|0)<-1022?-1022:f;i=d*2.2250738585072014e-308}else{g=e;i=d}}else{g=b;i=a}b=ao(g+1023|0,0,52)|0;g=C;c[k>>2]=b;c[k+4>>2]=g;return +(i*+h[k>>3])}function Em(a,b){a=+a;b=+b;return +(+Fm(a,b))}function Fm(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=b;d=c[k+4>>2]|0;b=+N(+a);h[k>>3]=b;e=d&-2147483648|c[k+4>>2];c[k>>2]=c[k>>2];c[k+4>>2]=e;return +(+h[k>>3])}function Gm(a,b){a=+a;b=b|0;return +(+Dm(a,b))}function Hm(a,b){a=+a;b=+b;return +(+Im(a,b))}function Im(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0.0,p=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;h[k>>3]=b;f=c[k>>2]|0;g=c[k+4>>2]|0;i=eo(d|0,e|0,52)|0;j=i&2047;i=eo(f|0,g|0,52)|0;l=i&2047;i=e&-2147483648;m=ao(f|0,g|0,1)|0;n=C;a:do if(!((m|0)==0&(n|0)==0)?(o=+N(+b),h[k>>3]=o,p=c[k+4>>2]|0,!(p>>>0>2146435072|(p|0)==2146435072&(c[k>>2]|0)>>>0>0|(j|0)==2047)):0){p=ao(d|0,e|0,1)|0;q=C;if(!(q>>>0>n>>>0|(q|0)==(n|0)&p>>>0>m>>>0))return +((p|0)==(m|0)&(q|0)==(n|0)?a*0.0:a);if(!j){q=ao(d|0,e|0,12)|0;p=C;if((p|0)>-1|(p|0)==-1&q>>>0>4294967295){r=q;q=p;p=0;while(1){s=p+-1|0;r=ao(r|0,q|0,1)|0;q=C;if(!((q|0)>-1|(q|0)==-1&r>>>0>4294967295)){t=s;break}else p=s}}else t=0;p=ao(d|0,e|0,1-t|0)|0;u=p;v=C;w=t}else{u=d;v=e&1048575|1048576;w=j}if(!l){p=ao(f|0,g|0,12)|0;r=C;if((r|0)>-1|(r|0)==-1&p>>>0>4294967295){q=p;p=r;r=0;while(1){s=r+-1|0;q=ao(q|0,p|0,1)|0;p=C;if(!((p|0)>-1|(p|0)==-1&q>>>0>4294967295)){x=s;break}else r=s}}else x=0;r=ao(f|0,g|0,1-x|0)|0;y=r;z=C;A=x}else{y=f;z=g&1048575|1048576;A=l}r=_n(u|0,v|0,y|0,z|0)|0;q=C;p=(q|0)>-1|(q|0)==-1&r>>>0>4294967295;b:do if((w|0)>(A|0)){s=p;B=r;D=q;E=u;F=v;G=w;while(1){if(s)if((E|0)==(y|0)&(F|0)==(z|0))break;else{H=B;I=D}else{H=E;I=F}J=ao(H|0,I|0,1)|0;K=C;L=G+-1|0;M=_n(J|0,K|0,y|0,z|0)|0;O=C;P=(O|0)>-1|(O|0)==-1&M>>>0>4294967295;if((L|0)>(A|0)){s=P;B=M;D=O;E=J;F=K;G=L}else{Q=P;R=J;S=K;T=M;U=O;V=L;break b}}W=a*0.0;break a}else{Q=p;R=u;S=v;T=r;U=q;V=w}while(0);if(Q)if((R|0)==(y|0)&(S|0)==(z|0)){W=a*0.0;break}else{X=U;Y=T}else{X=S;Y=R}if(X>>>0<1048576|(X|0)==1048576&Y>>>0<0){q=Y;r=X;p=V;while(1){G=ao(q|0,r|0,1)|0;F=C;E=p+-1|0;if(F>>>0<1048576|(F|0)==1048576&G>>>0<0){q=G;r=F;p=E}else{Z=G;_=F;$=E;break}}}else{Z=Y;_=X;$=V}if(($|0)>0){p=go(Z|0,_|0,0,-1048576)|0;r=C;q=ao($|0,0,52)|0;aa=r|C;ba=p|q}else{q=eo(Z|0,_|0,1-$|0)|0;aa=C;ba=q}c[k>>2]=ba;c[k+4>>2]=aa|i;W=+h[k>>3]}else ca=3;while(0);if((ca|0)==3){o=a*b;W=o/o}return +W}function Jm(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a>>2]&1|0)!=0;if(!b){bb(35148);d=c[a+52>>2]|0;e=a+56|0;if(d|0)c[d+56>>2]=c[e>>2];f=c[e>>2]|0;if(f|0)c[f+52>>2]=d;if((c[8786]|0)==(a|0))c[8786]=f;Za(35148)}f=Km(a)|0;d=pb[c[a+12>>2]&127](a)|0|f;f=c[a+92>>2]|0;if(f|0)bn(f);if(!b)bn(a);return d|0}function Km(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Lm(a)|0;break}d=(tm(a)|0)==0;e=Lm(a)|0;if(d)b=e;else{_l(a);b=e}}else{if(!(c[1509]|0))f=0;else f=Km(c[1509]|0)|0;bb(35148);e=c[8786]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=tm(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=Lm(d)|0|e;else i=e;if(h|0)_l(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}Za(35148);b=g}while(0);return b|0}function Lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(kb[c[a+36>>2]&127](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)kb[c[a+40>>2]&127](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Mm(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]=d;d=gm(a,b,f)|0;i=e;return d|0}function Nm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=0;i=c}else{j=e;k=g;l=b;m=c;while(1){j=j+-1|0;n=a[m>>0]|0;if(!(k<<24>>24==n<<24>>24&((j|0)!=0&n<<24>>24!=0))){h=k;i=m;break a}l=l+1|0;n=m+1|0;k=a[l>>0]|0;if(!(k<<24>>24)){h=0;i=n;break}else m=n}}while(0);f=(h&255)-(d[i>>0]|0)|0}return f|0}function Om(a){a=a|0;return (a+-32|0)>>>0<95|0}function Pm(a,b,d,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=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(tm(e)|0)==0;h=im(a,f,e)|0;if(g)i=h;else{_l(e);i=h}}else i=im(a,f,e)|0;if((i|0)==(f|0))j=d;else j=(i>>>0)/(b>>>0)|0;return j|0}function Qm(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;f=i;i=i+16|0;g=f;h=e&255;a[g>>0]=h;j=b+16|0;k=c[j>>2]|0;if(!k)if(!(jm(b)|0)){l=c[j>>2]|0;m=4}else n=-1;else{l=k;m=4}do if((m|0)==4){k=b+20|0;j=c[k>>2]|0;if(j>>>0<l>>>0?(o=e&255,(o|0)!=(a[b+75>>0]|0)):0){c[k>>2]=j+1;a[j>>0]=h;n=o;break}if((kb[c[b+36>>2]&127](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);i=f;return n|0}function Rm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(tm(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(e=d+20|0,f=c[e>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=f+1;a[f>>0]=b;g=b&255}else g=Qm(d,b)|0;_l(d);h=g}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(g=d+20|0,f=c[g>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=f+1;a[f>>0]=b;h=b&255;break}h=Qm(d,b)|0}while(0);return h|0}function Sm(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,l=0,m=0,n=0,o=0,p=0,q=0;g=_(e,d)|0;if((c[f+76>>2]|0)>-1)h=tm(f)|0;else h=0;i=f+74|0;j=a[i>>0]|0;a[i>>0]=j+255|j;j=f+4|0;i=c[j>>2]|0;k=(c[f+8>>2]|0)-i|0;l=i;if((k|0)>0){i=k>>>0<g>>>0?k:g;ho(b|0,l|0,i|0)|0;c[j>>2]=l+i;m=b+i|0;n=g-i|0}else{m=b;n=g}a:do if(!n)o=13;else{b=f+32|0;i=m;l=n;while(1){if(xm(f)|0){p=l;break}j=kb[c[b>>2]&127](f,i,l)|0;if((j+1|0)>>>0<2){p=l;break}if((l|0)==(j|0)){o=13;break a}else{i=i+j|0;l=l-j|0}}if(h|0)_l(f);q=((g-p|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!h)q=e;else{_l(f);q=e}return q|0}function Tm(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=kb[c[a+40>>2]&127](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function Um(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(tm(a)|0)==0;d=Tm(a)|0;if(b)e=d;else{_l(a);e=d}}else e=Tm(a)|0;return e|0}function Vm(a){a=a|0;return Um(a)|0}function Wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(kb[c[a+36>>2]&127](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((kb[c[a+40>>2]&127](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function Xm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(tm(a)|0)==0;f=Wm(a,b,d)|0;if(e)g=f;else{_l(a);g=f}}else g=Wm(a,b,d)|0;return g|0}function Ym(a,b,c){a=a|0;b=b|0;c=c|0;return Xm(a,b,c)|0}function Zm(a,b){a=a|0;b=b|0;return +(+_m(a,b,0))}function _m(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0.0;e=i;i=i+112|0;f=e;g=f;h=g+112|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;zm(f,0);j=+Bm(f,d,1);d=(c[g>>2]|0)-(c[h>>2]|0)+(c[f+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;i=e;return +j}function $m(a,b){a=a|0;b=b|0;return +(+_m(a,b,1))}function an(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,N=0,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,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[8792]|0;f=e>>>d;if(f&3|0){g=(f&1^1)+d|0;h=35208+(g<<1<<2)|0;i=h+8|0;j=c[i>>2]|0;k=j+8|0;l=c[k>>2]|0;do if((h|0)!=(l|0)){if(l>>>0<(c[8796]|0)>>>0)Ha();m=l+12|0;if((c[m>>2]|0)==(j|0)){c[m>>2]=h;c[i>>2]=l;break}else Ha()}else c[8792]=e&~(1<<g);while(0);l=g<<3;c[j+4>>2]=l|3;i=j+l+4|0;c[i>>2]=c[i>>2]|1;n=k;return n|0}i=c[8794]|0;if(b>>>0>i>>>0){if(f|0){l=2<<d;h=f<<d&(l|0-l);l=(h&0-h)+-1|0;h=l>>>12&16;m=l>>>h;l=m>>>5&8;o=m>>>l;m=o>>>2&4;p=o>>>m;o=p>>>1&2;q=p>>>o;p=q>>>1&1;r=(l|h|m|o|p)+(q>>>p)|0;p=35208+(r<<1<<2)|0;q=p+8|0;o=c[q>>2]|0;m=o+8|0;h=c[m>>2]|0;do if((p|0)!=(h|0)){if(h>>>0<(c[8796]|0)>>>0)Ha();l=h+12|0;if((c[l>>2]|0)==(o|0)){c[l>>2]=p;c[q>>2]=h;s=c[8794]|0;break}else Ha()}else{c[8792]=e&~(1<<r);s=i}while(0);i=(r<<3)-b|0;c[o+4>>2]=b|3;e=o+b|0;c[e+4>>2]=i|1;c[e+i>>2]=i;if(s|0){h=c[8797]|0;q=s>>>3;p=35208+(q<<1<<2)|0;d=c[8792]|0;f=1<<q;if(d&f){q=p+8|0;k=c[q>>2]|0;if(k>>>0<(c[8796]|0)>>>0)Ha();else{t=q;u=k}}else{c[8792]=d|f;t=p+8|0;u=p}c[t>>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=p}c[8794]=i;c[8797]=e;n=m;return n|0}e=c[8793]|0;if(e){i=(e&0-e)+-1|0;e=i>>>12&16;p=i>>>e;i=p>>>5&8;h=p>>>i;p=h>>>2&4;f=h>>>p;h=f>>>1&2;d=f>>>h;f=d>>>1&1;k=c[35472+((i|e|p|h|f)+(d>>>f)<<2)>>2]|0;f=(c[k+4>>2]&-8)-b|0;d=k;h=k;while(1){k=c[d+16>>2]|0;if(!k){p=c[d+20>>2]|0;if(!p){v=f;w=h;break}else x=p}else x=k;k=(c[x+4>>2]&-8)-b|0;p=k>>>0<f>>>0;f=p?k:f;d=x;h=p?x:h}h=c[8796]|0;if(w>>>0<h>>>0)Ha();d=w+b|0;if(w>>>0>=d>>>0)Ha();f=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){o=w+20|0;r=c[o>>2]|0;if(!r){p=w+16|0;k=c[p>>2]|0;if(!k){y=0;break}else{z=k;A=p}}else{z=r;A=o}while(1){o=z+20|0;r=c[o>>2]|0;if(r|0){z=r;A=o;continue}o=z+16|0;r=c[o>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=o}}if(C>>>0<h>>>0)Ha();else{c[C>>2]=0;y=B;break}}else{o=c[w+8>>2]|0;if(o>>>0<h>>>0)Ha();r=o+12|0;if((c[r>>2]|0)!=(w|0))Ha();p=m+8|0;if((c[p>>2]|0)==(w|0)){c[r>>2]=m;c[p>>2]=o;y=m;break}else Ha()}while(0);do if(f|0){m=c[w+28>>2]|0;h=35472+(m<<2)|0;if((w|0)==(c[h>>2]|0)){c[h>>2]=y;if(!y){c[8793]=c[8793]&~(1<<m);break}}else{if(f>>>0<(c[8796]|0)>>>0)Ha();m=f+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[f+20>>2]=y;if(!y)break}m=c[8796]|0;if(y>>>0<m>>>0)Ha();c[y+24>>2]=f;h=c[w+16>>2]|0;do if(h|0)if(h>>>0<m>>>0)Ha();else{c[y+16>>2]=h;c[h+24>>2]=y;break}while(0);h=c[w+20>>2]|0;if(h|0)if(h>>>0<(c[8796]|0)>>>0)Ha();else{c[y+20>>2]=h;c[h+24>>2]=y;break}}while(0);if(v>>>0<16){f=v+b|0;c[w+4>>2]=f|3;h=w+f+4|0;c[h>>2]=c[h>>2]|1}else{c[w+4>>2]=b|3;c[d+4>>2]=v|1;c[d+v>>2]=v;h=c[8794]|0;if(h|0){f=c[8797]|0;m=h>>>3;h=35208+(m<<1<<2)|0;o=c[8792]|0;p=1<<m;if(o&p){m=h+8|0;r=c[m>>2]|0;if(r>>>0<(c[8796]|0)>>>0)Ha();else{D=m;E=r}}else{c[8792]=o|p;D=h+8|0;E=h}c[D>>2]=f;c[E+12>>2]=f;c[f+8>>2]=E;c[f+12>>2]=h}c[8794]=v;c[8797]=d}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){h=a+11|0;f=h&-8;p=c[8793]|0;if(p){o=0-f|0;r=h>>>8;if(r)if(f>>>0>16777215)G=31;else{h=(r+1048320|0)>>>16&8;m=r<<h;r=(m+520192|0)>>>16&4;k=m<<r;m=(k+245760|0)>>>16&2;e=14-(r|h|m)+(k<<m>>>15)|0;G=f>>>(e+7|0)&1|e<<1}else G=0;e=c[35472+(G<<2)>>2]|0;a:do if(!e){H=o;I=0;J=0;K=86}else{m=o;k=0;h=f<<((G|0)==31?0:25-(G>>>1)|0);r=e;i=0;while(1){q=c[r+4>>2]&-8;j=q-f|0;if(j>>>0<m>>>0)if((q|0)==(f|0)){L=j;M=r;N=r;K=90;break a}else{O=j;P=r}else{O=m;P=i}j=c[r+20>>2]|0;r=c[r+16+(h>>>31<<2)>>2]|0;q=(j|0)==0|(j|0)==(r|0)?k:j;j=(r|0)==0;if(j){H=O;I=q;J=P;K=86;break}else{m=O;k=q;h=h<<(j&1^1);i=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){e=2<<G;o=p&(e|0-e);if(!o){F=f;break}e=(o&0-o)+-1|0;o=e>>>12&16;b=e>>>o;e=b>>>5&8;d=b>>>e;b=d>>>2&4;i=d>>>b;d=i>>>1&2;h=i>>>d;i=h>>>1&1;Q=c[35472+((e|o|b|d|i)+(h>>>i)<<2)>>2]|0}else Q=I;if(!Q){R=H;S=J}else{L=H;M=Q;N=J;K=90}}if((K|0)==90)while(1){K=0;i=(c[M+4>>2]&-8)-f|0;h=i>>>0<L>>>0;d=h?i:L;i=h?M:N;h=c[M+16>>2]|0;if(h|0){L=d;M=h;N=i;K=90;continue}M=c[M+20>>2]|0;if(!M){R=d;S=i;break}else{L=d;N=i;K=90}}if((S|0)!=0?R>>>0<((c[8794]|0)-f|0)>>>0:0){p=c[8796]|0;if(S>>>0<p>>>0)Ha();i=S+f|0;if(S>>>0>=i>>>0)Ha();d=c[S+24>>2]|0;h=c[S+12>>2]|0;do if((h|0)==(S|0)){b=S+20|0;o=c[b>>2]|0;if(!o){e=S+16|0;k=c[e>>2]|0;if(!k){T=0;break}else{U=k;V=e}}else{U=o;V=b}while(1){b=U+20|0;o=c[b>>2]|0;if(o|0){U=o;V=b;continue}b=U+16|0;o=c[b>>2]|0;if(!o){W=U;X=V;break}else{U=o;V=b}}if(X>>>0<p>>>0)Ha();else{c[X>>2]=0;T=W;break}}else{b=c[S+8>>2]|0;if(b>>>0<p>>>0)Ha();o=b+12|0;if((c[o>>2]|0)!=(S|0))Ha();e=h+8|0;if((c[e>>2]|0)==(S|0)){c[o>>2]=h;c[e>>2]=b;T=h;break}else Ha()}while(0);do if(d|0){h=c[S+28>>2]|0;p=35472+(h<<2)|0;if((S|0)==(c[p>>2]|0)){c[p>>2]=T;if(!T){c[8793]=c[8793]&~(1<<h);break}}else{if(d>>>0<(c[8796]|0)>>>0)Ha();h=d+16|0;if((c[h>>2]|0)==(S|0))c[h>>2]=T;else c[d+20>>2]=T;if(!T)break}h=c[8796]|0;if(T>>>0<h>>>0)Ha();c[T+24>>2]=d;p=c[S+16>>2]|0;do if(p|0)if(p>>>0<h>>>0)Ha();else{c[T+16>>2]=p;c[p+24>>2]=T;break}while(0);p=c[S+20>>2]|0;if(p|0)if(p>>>0<(c[8796]|0)>>>0)Ha();else{c[T+20>>2]=p;c[p+24>>2]=T;break}}while(0);do if(R>>>0>=16){c[S+4>>2]=f|3;c[i+4>>2]=R|1;c[i+R>>2]=R;d=R>>>3;if(R>>>0<256){p=35208+(d<<1<<2)|0;h=c[8792]|0;b=1<<d;if(h&b){d=p+8|0;e=c[d>>2]|0;if(e>>>0<(c[8796]|0)>>>0)Ha();else{Y=d;Z=e}}else{c[8792]=h|b;Y=p+8|0;Z=p}c[Y>>2]=i;c[Z+12>>2]=i;c[i+8>>2]=Z;c[i+12>>2]=p;break}p=R>>>8;if(p)if(R>>>0>16777215)_=31;else{b=(p+1048320|0)>>>16&8;h=p<<b;p=(h+520192|0)>>>16&4;e=h<<p;h=(e+245760|0)>>>16&2;d=14-(p|b|h)+(e<<h>>>15)|0;_=R>>>(d+7|0)&1|d<<1}else _=0;d=35472+(_<<2)|0;c[i+28>>2]=_;h=i+16|0;c[h+4>>2]=0;c[h>>2]=0;h=c[8793]|0;e=1<<_;if(!(h&e)){c[8793]=h|e;c[d>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}e=R<<((_|0)==31?0:25-(_>>>1)|0);h=c[d>>2]|0;while(1){if((c[h+4>>2]&-8|0)==(R|0)){$=h;K=148;break}d=h+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b){aa=d;ba=h;K=145;break}else{e=e<<1;h=b}}if((K|0)==145)if(aa>>>0<(c[8796]|0)>>>0)Ha();else{c[aa>>2]=i;c[i+24>>2]=ba;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((K|0)==148){h=$+8|0;e=c[h>>2]|0;b=c[8796]|0;if(e>>>0>=b>>>0&$>>>0>=b>>>0){c[e+12>>2]=i;c[h>>2]=i;c[i+8>>2]=e;c[i+12>>2]=$;c[i+24>>2]=0;break}else Ha()}}else{e=R+f|0;c[S+4>>2]=e|3;h=S+e+4|0;c[h>>2]=c[h>>2]|1}while(0);n=S+8|0;return n|0}else F=f}else F=f}else F=-1;while(0);S=c[8794]|0;if(S>>>0>=F>>>0){R=S-F|0;$=c[8797]|0;if(R>>>0>15){ba=$+F|0;c[8797]=ba;c[8794]=R;c[ba+4>>2]=R|1;c[ba+R>>2]=R;c[$+4>>2]=F|3}else{c[8794]=0;c[8797]=0;c[$+4>>2]=S|3;R=$+S+4|0;c[R>>2]=c[R>>2]|1}n=$+8|0;return n|0}$=c[8795]|0;if($>>>0>F>>>0){R=$-F|0;c[8795]=R;$=c[8798]|0;S=$+F|0;c[8798]=S;c[S+4>>2]=R|1;c[$+4>>2]=F|3;n=$+8|0;return n|0}do if(!(c[8910]|0)){$=ab(30)|0;if(!($+-1&$)){c[8912]=$;c[8911]=$;c[8913]=-1;c[8914]=-1;c[8915]=0;c[8903]=0;c[8910]=(eb(0)|0)&-16^1431655768;break}else Ha()}while(0);$=F+48|0;R=c[8912]|0;S=F+47|0;ba=R+S|0;aa=0-R|0;R=ba&aa;if(R>>>0<=F>>>0){n=0;return n|0}_=c[8902]|0;if(_|0?(Z=c[8900]|0,Y=Z+R|0,Y>>>0<=Z>>>0|Y>>>0>_>>>0):0){n=0;return n|0}b:do if(!(c[8903]&4)){_=c[8798]|0;c:do if(_){Y=35616;while(1){Z=c[Y>>2]|0;if(Z>>>0<=_>>>0?(T=Y+4|0,(Z+(c[T>>2]|0)|0)>>>0>_>>>0):0){ca=Y;da=T;break}Y=c[Y+8>>2]|0;if(!Y){K=173;break c}}Y=ba-(c[8795]|0)&aa;if(Y>>>0<2147483647){T=Pa(Y|0)|0;if((T|0)==((c[ca>>2]|0)+(c[da>>2]|0)|0)){if((T|0)!=(-1|0)){ea=T;fa=Y;K=193;break b}}else{ga=T;ha=Y;K=183}}}else K=173;while(0);do if((K|0)==173?(_=Pa(0)|0,(_|0)!=(-1|0)):0){f=_;Y=c[8911]|0;T=Y+-1|0;if(!(T&f))ia=R;else ia=R-f+(T+f&0-Y)|0;Y=c[8900]|0;f=Y+ia|0;if(ia>>>0>F>>>0&ia>>>0<2147483647){T=c[8902]|0;if(T|0?f>>>0<=Y>>>0|f>>>0>T>>>0:0)break;T=Pa(ia|0)|0;if((T|0)==(_|0)){ea=_;fa=ia;K=193;break b}else{ga=T;ha=ia;K=183}}}while(0);d:do if((K|0)==183){T=0-ha|0;do if($>>>0>ha>>>0&(ha>>>0<2147483647&(ga|0)!=(-1|0))?(_=c[8912]|0,f=S-ha+_&0-_,f>>>0<2147483647):0)if((Pa(f|0)|0)==(-1|0)){Pa(T|0)|0;break d}else{ja=f+ha|0;break}else ja=ha;while(0);if((ga|0)!=(-1|0)){ea=ga;fa=ja;K=193;break b}}while(0);c[8903]=c[8903]|4;K=190}else K=190;while(0);if((((K|0)==190?R>>>0<2147483647:0)?(ja=Pa(R|0)|0,R=Pa(0)|0,ja>>>0<R>>>0&((ja|0)!=(-1|0)&(R|0)!=(-1|0))):0)?(ga=R-ja|0,ga>>>0>(F+40|0)>>>0):0){ea=ja;fa=ga;K=193}if((K|0)==193){ga=(c[8900]|0)+fa|0;c[8900]=ga;if(ga>>>0>(c[8901]|0)>>>0)c[8901]=ga;ga=c[8798]|0;do if(ga){ja=35616;do{R=c[ja>>2]|0;ha=ja+4|0;S=c[ha>>2]|0;if((ea|0)==(R+S|0)){ka=R;la=ha;ma=S;na=ja;K=203;break}ja=c[ja+8>>2]|0}while((ja|0)!=0);if(((K|0)==203?(c[na+12>>2]&8|0)==0:0)?ga>>>0<ea>>>0&ga>>>0>=ka>>>0:0){c[la>>2]=ma+fa;ja=ga+8|0;S=(ja&7|0)==0?0:0-ja&7;ja=ga+S|0;ha=fa-S+(c[8795]|0)|0;c[8798]=ja;c[8795]=ha;c[ja+4>>2]=ha|1;c[ja+ha+4>>2]=40;c[8799]=c[8914];break}ha=c[8796]|0;if(ea>>>0<ha>>>0){c[8796]=ea;oa=ea}else oa=ha;ha=ea+fa|0;ja=35616;while(1){if((c[ja>>2]|0)==(ha|0)){pa=ja;qa=ja;K=211;break}ja=c[ja+8>>2]|0;if(!ja){ra=35616;break}}if((K|0)==211)if(!(c[qa+12>>2]&8)){c[pa>>2]=ea;ja=qa+4|0;c[ja>>2]=(c[ja>>2]|0)+fa;ja=ea+8|0;S=ea+((ja&7|0)==0?0:0-ja&7)|0;ja=ha+8|0;R=ha+((ja&7|0)==0?0:0-ja&7)|0;ja=S+F|0;$=R-S-F|0;c[S+4>>2]=F|3;do if((R|0)!=(ga|0)){if((R|0)==(c[8797]|0)){ia=(c[8794]|0)+$|0;c[8794]=ia;c[8797]=ja;c[ja+4>>2]=ia|1;c[ja+ia>>2]=ia;break}ia=c[R+4>>2]|0;if((ia&3|0)==1){da=ia&-8;ca=ia>>>3;e:do if(ia>>>0>=256){aa=c[R+24>>2]|0;ba=c[R+12>>2]|0;do if((ba|0)==(R|0)){T=R+16|0;f=T+4|0;_=c[f>>2]|0;if(!_){Y=c[T>>2]|0;if(!Y){sa=0;break}else{ta=Y;ua=T}}else{ta=_;ua=f}while(1){f=ta+20|0;_=c[f>>2]|0;if(_|0){ta=_;ua=f;continue}f=ta+16|0;_=c[f>>2]|0;if(!_){va=ta;wa=ua;break}else{ta=_;ua=f}}if(wa>>>0<oa>>>0)Ha();else{c[wa>>2]=0;sa=va;break}}else{f=c[R+8>>2]|0;if(f>>>0<oa>>>0)Ha();_=f+12|0;if((c[_>>2]|0)!=(R|0))Ha();T=ba+8|0;if((c[T>>2]|0)==(R|0)){c[_>>2]=ba;c[T>>2]=f;sa=ba;break}else Ha()}while(0);if(!aa)break;ba=c[R+28>>2]|0;f=35472+(ba<<2)|0;do if((R|0)!=(c[f>>2]|0)){if(aa>>>0<(c[8796]|0)>>>0)Ha();T=aa+16|0;if((c[T>>2]|0)==(R|0))c[T>>2]=sa;else c[aa+20>>2]=sa;if(!sa)break e}else{c[f>>2]=sa;if(sa|0)break;c[8793]=c[8793]&~(1<<ba);break e}while(0);ba=c[8796]|0;if(sa>>>0<ba>>>0)Ha();c[sa+24>>2]=aa;f=R+16|0;T=c[f>>2]|0;do if(T|0)if(T>>>0<ba>>>0)Ha();else{c[sa+16>>2]=T;c[T+24>>2]=sa;break}while(0);T=c[f+4>>2]|0;if(!T)break;if(T>>>0<(c[8796]|0)>>>0)Ha();else{c[sa+20>>2]=T;c[T+24>>2]=sa;break}}else{T=c[R+8>>2]|0;ba=c[R+12>>2]|0;aa=35208+(ca<<1<<2)|0;do if((T|0)!=(aa|0)){if(T>>>0<oa>>>0)Ha();if((c[T+12>>2]|0)==(R|0))break;Ha()}while(0);if((ba|0)==(T|0)){c[8792]=c[8792]&~(1<<ca);break}do if((ba|0)==(aa|0))xa=ba+8|0;else{if(ba>>>0<oa>>>0)Ha();f=ba+8|0;if((c[f>>2]|0)==(R|0)){xa=f;break}Ha()}while(0);c[T+12>>2]=ba;c[xa>>2]=T}while(0);ya=R+da|0;za=da+$|0}else{ya=R;za=$}ca=ya+4|0;c[ca>>2]=c[ca>>2]&-2;c[ja+4>>2]=za|1;c[ja+za>>2]=za;ca=za>>>3;if(za>>>0<256){ia=35208+(ca<<1<<2)|0;aa=c[8792]|0;f=1<<ca;do if(!(aa&f)){c[8792]=aa|f;Aa=ia+8|0;Ba=ia}else{ca=ia+8|0;_=c[ca>>2]|0;if(_>>>0>=(c[8796]|0)>>>0){Aa=ca;Ba=_;break}Ha()}while(0);c[Aa>>2]=ja;c[Ba+12>>2]=ja;c[ja+8>>2]=Ba;c[ja+12>>2]=ia;break}f=za>>>8;do if(!f)Ca=0;else{if(za>>>0>16777215){Ca=31;break}aa=(f+1048320|0)>>>16&8;da=f<<aa;_=(da+520192|0)>>>16&4;ca=da<<_;da=(ca+245760|0)>>>16&2;Y=14-(_|aa|da)+(ca<<da>>>15)|0;Ca=za>>>(Y+7|0)&1|Y<<1}while(0);f=35472+(Ca<<2)|0;c[ja+28>>2]=Ca;ia=ja+16|0;c[ia+4>>2]=0;c[ia>>2]=0;ia=c[8793]|0;Y=1<<Ca;if(!(ia&Y)){c[8793]=ia|Y;c[f>>2]=ja;c[ja+24>>2]=f;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}Y=za<<((Ca|0)==31?0:25-(Ca>>>1)|0);ia=c[f>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(za|0)){Da=ia;K=281;break}f=ia+16+(Y>>>31<<2)|0;da=c[f>>2]|0;if(!da){Ea=f;Fa=ia;K=278;break}else{Y=Y<<1;ia=da}}if((K|0)==278)if(Ea>>>0<(c[8796]|0)>>>0)Ha();else{c[Ea>>2]=ja;c[ja+24>>2]=Fa;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}else if((K|0)==281){ia=Da+8|0;Y=c[ia>>2]|0;da=c[8796]|0;if(Y>>>0>=da>>>0&Da>>>0>=da>>>0){c[Y+12>>2]=ja;c[ia>>2]=ja;c[ja+8>>2]=Y;c[ja+12>>2]=Da;c[ja+24>>2]=0;break}else Ha()}}else{Y=(c[8795]|0)+$|0;c[8795]=Y;c[8798]=ja;c[ja+4>>2]=Y|1}while(0);n=S+8|0;return n|0}else ra=35616;while(1){ja=c[ra>>2]|0;if(ja>>>0<=ga>>>0?($=ja+(c[ra+4>>2]|0)|0,$>>>0>ga>>>0):0){Ga=$;break}ra=c[ra+8>>2]|0}S=Ga+-47|0;$=S+8|0;ja=S+(($&7|0)==0?0:0-$&7)|0;$=ga+16|0;S=ja>>>0<$>>>0?ga:ja;ja=S+8|0;R=ea+8|0;ha=(R&7|0)==0?0:0-R&7;R=ea+ha|0;Y=fa+-40-ha|0;c[8798]=R;c[8795]=Y;c[R+4>>2]=Y|1;c[R+Y+4>>2]=40;c[8799]=c[8914];Y=S+4|0;c[Y>>2]=27;c[ja>>2]=c[8904];c[ja+4>>2]=c[8905];c[ja+8>>2]=c[8906];c[ja+12>>2]=c[8907];c[8904]=ea;c[8905]=fa;c[8907]=0;c[8906]=ja;ja=S+24|0;do{ja=ja+4|0;c[ja>>2]=7}while((ja+4|0)>>>0<Ga>>>0);if((S|0)!=(ga|0)){ja=S-ga|0;c[Y>>2]=c[Y>>2]&-2;c[ga+4>>2]=ja|1;c[S>>2]=ja;R=ja>>>3;if(ja>>>0<256){ha=35208+(R<<1<<2)|0;ia=c[8792]|0;da=1<<R;if(ia&da){R=ha+8|0;f=c[R>>2]|0;if(f>>>0<(c[8796]|0)>>>0)Ha();else{Ia=R;Ja=f}}else{c[8792]=ia|da;Ia=ha+8|0;Ja=ha}c[Ia>>2]=ga;c[Ja+12>>2]=ga;c[ga+8>>2]=Ja;c[ga+12>>2]=ha;break}ha=ja>>>8;if(ha)if(ja>>>0>16777215)Ka=31;else{da=(ha+1048320|0)>>>16&8;ia=ha<<da;ha=(ia+520192|0)>>>16&4;f=ia<<ha;ia=(f+245760|0)>>>16&2;R=14-(ha|da|ia)+(f<<ia>>>15)|0;Ka=ja>>>(R+7|0)&1|R<<1}else Ka=0;R=35472+(Ka<<2)|0;c[ga+28>>2]=Ka;c[ga+20>>2]=0;c[$>>2]=0;ia=c[8793]|0;f=1<<Ka;if(!(ia&f)){c[8793]=ia|f;c[R>>2]=ga;c[ga+24>>2]=R;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}f=ja<<((Ka|0)==31?0:25-(Ka>>>1)|0);ia=c[R>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(ja|0)){La=ia;K=307;break}R=ia+16+(f>>>31<<2)|0;da=c[R>>2]|0;if(!da){Ma=R;Na=ia;K=304;break}else{f=f<<1;ia=da}}if((K|0)==304)if(Ma>>>0<(c[8796]|0)>>>0)Ha();else{c[Ma>>2]=ga;c[ga+24>>2]=Na;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}else if((K|0)==307){ia=La+8|0;f=c[ia>>2]|0;ja=c[8796]|0;if(f>>>0>=ja>>>0&La>>>0>=ja>>>0){c[f+12>>2]=ga;c[ia>>2]=ga;c[ga+8>>2]=f;c[ga+12>>2]=La;c[ga+24>>2]=0;break}else Ha()}}}else{f=c[8796]|0;if((f|0)==0|ea>>>0<f>>>0)c[8796]=ea;c[8904]=ea;c[8905]=fa;c[8907]=0;c[8801]=c[8910];c[8800]=-1;f=0;do{ia=35208+(f<<1<<2)|0;c[ia+12>>2]=ia;c[ia+8>>2]=ia;f=f+1|0}while((f|0)!=32);f=ea+8|0;ia=(f&7|0)==0?0:0-f&7;f=ea+ia|0;ja=fa+-40-ia|0;c[8798]=f;c[8795]=ja;c[f+4>>2]=ja|1;c[f+ja+4>>2]=40;c[8799]=c[8914]}while(0);fa=c[8795]|0;if(fa>>>0>F>>>0){ea=fa-F|0;c[8795]=ea;fa=c[8798]|0;ga=fa+F|0;c[8798]=ga;c[ga+4>>2]=ea|1;c[fa+4>>2]=F|3;n=fa+8|0;return n|0}}c[(Zl()|0)>>2]=12;n=0;return n|0}function bn(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;if(!a)return;b=a+-8|0;d=c[8796]|0;if(b>>>0<d>>>0)Ha();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)Ha();f=e&-8;g=b+f|0;do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)Ha();if((i|0)==(c[8797]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=j;break}c[8794]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;o=35208+(l<<1<<2)|0;if((h|0)!=(o|0)){if(h>>>0<d>>>0)Ha();if((c[h+12>>2]|0)!=(i|0))Ha()}if((k|0)==(h|0)){c[8792]=c[8792]&~(1<<l);m=i;n=j;break}if((k|0)!=(o|0)){if(k>>>0<d>>>0)Ha();o=k+8|0;if((c[o>>2]|0)==(i|0))p=o;else Ha()}else p=k+8|0;c[h+12>>2]=k;c[p>>2]=h;m=i;n=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){o=i+16|0;l=o+4|0;q=c[l>>2]|0;if(!q){r=c[o>>2]|0;if(!r){s=0;break}else{t=r;u=o}}else{t=q;u=l}while(1){l=t+20|0;q=c[l>>2]|0;if(q|0){t=q;u=l;continue}l=t+16|0;q=c[l>>2]|0;if(!q){v=t;w=u;break}else{t=q;u=l}}if(w>>>0<d>>>0)Ha();else{c[w>>2]=0;s=v;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)Ha();q=l+12|0;if((c[q>>2]|0)!=(i|0))Ha();o=k+8|0;if((c[o>>2]|0)==(i|0)){c[q>>2]=k;c[o>>2]=l;s=k;break}else Ha()}while(0);if(h){k=c[i+28>>2]|0;l=35472+(k<<2)|0;if((i|0)==(c[l>>2]|0)){c[l>>2]=s;if(!s){c[8793]=c[8793]&~(1<<k);m=i;n=j;break}}else{if(h>>>0<(c[8796]|0)>>>0)Ha();k=h+16|0;if((c[k>>2]|0)==(i|0))c[k>>2]=s;else c[h+20>>2]=s;if(!s){m=i;n=j;break}}k=c[8796]|0;if(s>>>0<k>>>0)Ha();c[s+24>>2]=h;l=i+16|0;o=c[l>>2]|0;do if(o|0)if(o>>>0<k>>>0)Ha();else{c[s+16>>2]=o;c[o+24>>2]=s;break}while(0);o=c[l+4>>2]|0;if(o)if(o>>>0<(c[8796]|0)>>>0)Ha();else{c[s+20>>2]=o;c[o+24>>2]=s;m=i;n=j;break}else{m=i;n=j}}else{m=i;n=j}}else{m=b;n=f}while(0);if(m>>>0>=g>>>0)Ha();f=g+4|0;b=c[f>>2]|0;if(!(b&1))Ha();if(!(b&2)){if((g|0)==(c[8798]|0)){s=(c[8795]|0)+n|0;c[8795]=s;c[8798]=m;c[m+4>>2]=s|1;if((m|0)!=(c[8797]|0))return;c[8797]=0;c[8794]=0;return}if((g|0)==(c[8797]|0)){s=(c[8794]|0)+n|0;c[8794]=s;c[8797]=m;c[m+4>>2]=s|1;c[m+s>>2]=s;return}s=(b&-8)+n|0;d=b>>>3;do if(b>>>0>=256){v=c[g+24>>2]|0;w=c[g+12>>2]|0;do if((w|0)==(g|0)){u=g+16|0;t=u+4|0;p=c[t>>2]|0;if(!p){a=c[u>>2]|0;if(!a){x=0;break}else{y=a;z=u}}else{y=p;z=t}while(1){t=y+20|0;p=c[t>>2]|0;if(p|0){y=p;z=t;continue}t=y+16|0;p=c[t>>2]|0;if(!p){A=y;B=z;break}else{y=p;z=t}}if(B>>>0<(c[8796]|0)>>>0)Ha();else{c[B>>2]=0;x=A;break}}else{t=c[g+8>>2]|0;if(t>>>0<(c[8796]|0)>>>0)Ha();p=t+12|0;if((c[p>>2]|0)!=(g|0))Ha();u=w+8|0;if((c[u>>2]|0)==(g|0)){c[p>>2]=w;c[u>>2]=t;x=w;break}else Ha()}while(0);if(v|0){w=c[g+28>>2]|0;j=35472+(w<<2)|0;if((g|0)==(c[j>>2]|0)){c[j>>2]=x;if(!x){c[8793]=c[8793]&~(1<<w);break}}else{if(v>>>0<(c[8796]|0)>>>0)Ha();w=v+16|0;if((c[w>>2]|0)==(g|0))c[w>>2]=x;else c[v+20>>2]=x;if(!x)break}w=c[8796]|0;if(x>>>0<w>>>0)Ha();c[x+24>>2]=v;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0<w>>>0)Ha();else{c[x+16>>2]=i;c[i+24>>2]=x;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[8796]|0)>>>0)Ha();else{c[x+20>>2]=i;c[i+24>>2]=x;break}}}else{i=c[g+8>>2]|0;w=c[g+12>>2]|0;v=35208+(d<<1<<2)|0;if((i|0)!=(v|0)){if(i>>>0<(c[8796]|0)>>>0)Ha();if((c[i+12>>2]|0)!=(g|0))Ha()}if((w|0)==(i|0)){c[8792]=c[8792]&~(1<<d);break}if((w|0)!=(v|0)){if(w>>>0<(c[8796]|0)>>>0)Ha();v=w+8|0;if((c[v>>2]|0)==(g|0))C=v;else Ha()}else C=w+8|0;c[i+12>>2]=w;c[C>>2]=i}while(0);c[m+4>>2]=s|1;c[m+s>>2]=s;if((m|0)==(c[8797]|0)){c[8794]=s;return}else D=s}else{c[f>>2]=b&-2;c[m+4>>2]=n|1;c[m+n>>2]=n;D=n}n=D>>>3;if(D>>>0<256){b=35208+(n<<1<<2)|0;f=c[8792]|0;s=1<<n;if(f&s){n=b+8|0;C=c[n>>2]|0;if(C>>>0<(c[8796]|0)>>>0)Ha();else{E=n;F=C}}else{c[8792]=f|s;E=b+8|0;F=b}c[E>>2]=m;c[F+12>>2]=m;c[m+8>>2]=F;c[m+12>>2]=b;return}b=D>>>8;if(b)if(D>>>0>16777215)G=31;else{F=(b+1048320|0)>>>16&8;E=b<<F;b=(E+520192|0)>>>16&4;s=E<<b;E=(s+245760|0)>>>16&2;f=14-(b|F|E)+(s<<E>>>15)|0;G=D>>>(f+7|0)&1|f<<1}else G=0;f=35472+(G<<2)|0;c[m+28>>2]=G;c[m+20>>2]=0;c[m+16>>2]=0;E=c[8793]|0;s=1<<G;do if(E&s){F=D<<((G|0)==31?0:25-(G>>>1)|0);b=c[f>>2]|0;while(1){if((c[b+4>>2]&-8|0)==(D|0)){H=b;I=130;break}C=b+16+(F>>>31<<2)|0;n=c[C>>2]|0;if(!n){J=C;K=b;I=127;break}else{F=F<<1;b=n}}if((I|0)==127)if(J>>>0<(c[8796]|0)>>>0)Ha();else{c[J>>2]=m;c[m+24>>2]=K;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((I|0)==130){b=H+8|0;F=c[b>>2]|0;j=c[8796]|0;if(F>>>0>=j>>>0&H>>>0>=j>>>0){c[F+12>>2]=m;c[b>>2]=m;c[m+8>>2]=F;c[m+12>>2]=H;c[m+24>>2]=0;break}else Ha()}}else{c[8793]=E|s;c[f>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m}while(0);m=(c[8800]|0)+-1|0;c[8800]=m;if(!m)L=35624;else return;while(1){m=c[L>>2]|0;if(!m)break;else L=m+8|0}c[8800]=-1;return}function cn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=an(b)|0;return d|0}if(b>>>0>4294967231){c[(Zl()|0)>>2]=12;d=0;return d|0}e=dn(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=an(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;ho(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;bn(a);d=e;return d|0}function dn(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,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[8796]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))Ha();j=c[g+4>>2]|0;if(!(j&1))Ha();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[8912]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;en(l,i);k=a;return k|0}if((g|0)==(c[8798]|0)){i=(c[8795]|0)+f|0;if(i>>>0<=b>>>0){k=0;return k|0}l=i-b|0;i=a+b|0;c[d>>2]=e&1|b|2;c[i+4>>2]=l|1;c[8798]=i;c[8795]=l;k=a;return k|0}if((g|0)==(c[8797]|0)){l=(c[8794]|0)+f|0;if(l>>>0<b>>>0){k=0;return k|0}i=l-b|0;if(i>>>0>15){m=a+b|0;n=m+i|0;c[d>>2]=e&1|b|2;c[m+4>>2]=i|1;c[n>>2]=i;o=n+4|0;c[o>>2]=c[o>>2]&-2;p=m;q=i}else{c[d>>2]=e&1|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;p=0;q=0}c[8794]=q;c[8797]=p;k=a;return k|0}if(j&2|0){k=0;return k|0}p=(j&-8)+f|0;if(p>>>0<b>>>0){k=0;return k|0}f=p-b|0;q=j>>>3;do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;o=m+4|0;n=c[o>>2]|0;if(!n){r=c[m>>2]|0;if(!r){s=0;break}else{t=r;u=m}}else{t=n;u=o}while(1){o=t+20|0;n=c[o>>2]|0;if(n|0){t=n;u=o;continue}o=t+16|0;n=c[o>>2]|0;if(!n){v=t;w=u;break}else{t=n;u=o}}if(w>>>0<h>>>0)Ha();else{c[w>>2]=0;s=v;break}}else{o=c[g+8>>2]|0;if(o>>>0<h>>>0)Ha();n=o+12|0;if((c[n>>2]|0)!=(g|0))Ha();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[n>>2]=l;c[m>>2]=o;s=l;break}else Ha()}while(0);if(i|0){l=c[g+28>>2]|0;o=35472+(l<<2)|0;if((g|0)==(c[o>>2]|0)){c[o>>2]=s;if(!s){c[8793]=c[8793]&~(1<<l);break}}else{if(i>>>0<(c[8796]|0)>>>0)Ha();l=i+16|0;if((c[l>>2]|0)==(g|0))c[l>>2]=s;else c[i+20>>2]=s;if(!s)break}l=c[8796]|0;if(s>>>0<l>>>0)Ha();c[s+24>>2]=i;o=g+16|0;m=c[o>>2]|0;do if(m|0)if(m>>>0<l>>>0)Ha();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[o+4>>2]|0;if(m|0)if(m>>>0<(c[8796]|0)>>>0)Ha();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=35208+(q<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0<h>>>0)Ha();if((c[m+12>>2]|0)!=(g|0))Ha()}if((l|0)==(m|0)){c[8792]=c[8792]&~(1<<q);break}if((l|0)!=(i|0)){if(l>>>0<h>>>0)Ha();i=l+8|0;if((c[i>>2]|0)==(g|0))x=i;else Ha()}else x=l+8|0;c[m+12>>2]=l;c[x>>2]=m}while(0);if(f>>>0<16){c[d>>2]=p|e&1|2;x=a+p+4|0;c[x>>2]=c[x>>2]|1;k=a;return k|0}else{x=a+b|0;c[d>>2]=e&1|b|2;c[x+4>>2]=f|3;b=x+f+4|0;c[b>>2]=c[b>>2]|1;en(x,f);k=a;return k|0}return 0}function en(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[8796]|0;if(g>>>0<i>>>0)Ha();if((g|0)==(c[8797]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[8794]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=35208+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)Ha();if((c[f+12>>2]|0)!=(g|0))Ha()}if((j|0)==(f|0)){c[8792]=c[8792]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)Ha();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else Ha()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p){u=s;v=t;break}else{s=p;t=k}}if(v>>>0<i>>>0)Ha();else{c[v>>2]=0;r=u;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)Ha();p=k+12|0;if((c[p>>2]|0)!=(g|0))Ha();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else Ha()}while(0);if(f){j=c[g+28>>2]|0;i=35472+(j<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[8793]=c[8793]&~(1<<j);l=g;m=h;break}}else{if(f>>>0<(c[8796]|0)>>>0)Ha();j=f+16|0;if((c[j>>2]|0)==(g|0))c[j>>2]=r;else c[f+20>>2]=r;if(!r){l=g;m=h;break}}j=c[8796]|0;if(r>>>0<j>>>0)Ha();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0<j>>>0)Ha();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[8796]|0)>>>0)Ha();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[8796]|0;if(d>>>0<b>>>0)Ha();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){if((d|0)==(c[8798]|0)){u=(c[8795]|0)+m|0;c[8795]=u;c[8798]=l;c[l+4>>2]=u|1;if((l|0)!=(c[8797]|0))return;c[8797]=0;c[8794]=0;return}if((d|0)==(c[8797]|0)){u=(c[8794]|0)+m|0;c[8794]=u;c[8797]=l;c[l+4>>2]=u|1;c[l+u>>2]=u;return}u=(r&-8)+m|0;v=r>>>3;do if(r>>>0>=256){t=c[d+24>>2]|0;s=c[d+12>>2]|0;do if((s|0)==(d|0)){o=d+16|0;e=o+4|0;k=c[e>>2]|0;if(!k){j=c[o>>2]|0;if(!j){w=0;break}else{x=j;y=o}}else{x=k;y=e}while(1){e=x+20|0;k=c[e>>2]|0;if(k|0){x=k;y=e;continue}e=x+16|0;k=c[e>>2]|0;if(!k){z=x;A=y;break}else{x=k;y=e}}if(A>>>0<b>>>0)Ha();else{c[A>>2]=0;w=z;break}}else{e=c[d+8>>2]|0;if(e>>>0<b>>>0)Ha();k=e+12|0;if((c[k>>2]|0)!=(d|0))Ha();o=s+8|0;if((c[o>>2]|0)==(d|0)){c[k>>2]=s;c[o>>2]=e;w=s;break}else Ha()}while(0);if(t|0){s=c[d+28>>2]|0;h=35472+(s<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=w;if(!w){c[8793]=c[8793]&~(1<<s);break}}else{if(t>>>0<(c[8796]|0)>>>0)Ha();s=t+16|0;if((c[s>>2]|0)==(d|0))c[s>>2]=w;else c[t+20>>2]=w;if(!w)break}s=c[8796]|0;if(w>>>0<s>>>0)Ha();c[w+24>>2]=t;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0<s>>>0)Ha();else{c[w+16>>2]=g;c[g+24>>2]=w;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[8796]|0)>>>0)Ha();else{c[w+20>>2]=g;c[g+24>>2]=w;break}}}else{g=c[d+8>>2]|0;s=c[d+12>>2]|0;t=35208+(v<<1<<2)|0;if((g|0)!=(t|0)){if(g>>>0<b>>>0)Ha();if((c[g+12>>2]|0)!=(d|0))Ha()}if((s|0)==(g|0)){c[8792]=c[8792]&~(1<<v);break}if((s|0)!=(t|0)){if(s>>>0<b>>>0)Ha();t=s+8|0;if((c[t>>2]|0)==(d|0))B=t;else Ha()}else B=s+8|0;c[g+12>>2]=s;c[B>>2]=g}while(0);c[l+4>>2]=u|1;c[l+u>>2]=u;if((l|0)==(c[8797]|0)){c[8794]=u;return}else C=u}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;C=m}m=C>>>3;if(C>>>0<256){r=35208+(m<<1<<2)|0;a=c[8792]|0;u=1<<m;if(a&u){m=r+8|0;B=c[m>>2]|0;if(B>>>0<(c[8796]|0)>>>0)Ha();else{D=m;E=B}}else{c[8792]=a|u;D=r+8|0;E=r}c[D>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=r;return}r=C>>>8;if(r)if(C>>>0>16777215)F=31;else{E=(r+1048320|0)>>>16&8;D=r<<E;r=(D+520192|0)>>>16&4;u=D<<r;D=(u+245760|0)>>>16&2;a=14-(r|E|D)+(u<<D>>>15)|0;F=C>>>(a+7|0)&1|a<<1}else F=0;a=35472+(F<<2)|0;c[l+28>>2]=F;c[l+20>>2]=0;c[l+16>>2]=0;D=c[8793]|0;u=1<<F;if(!(D&u)){c[8793]=D|u;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}u=C<<((F|0)==31?0:25-(F>>>1)|0);F=c[a>>2]|0;while(1){if((c[F+4>>2]&-8|0)==(C|0)){G=F;H=127;break}a=F+16+(u>>>31<<2)|0;D=c[a>>2]|0;if(!D){I=a;J=F;H=124;break}else{u=u<<1;F=D}}if((H|0)==124){if(I>>>0<(c[8796]|0)>>>0)Ha();c[I>>2]=l;c[l+24>>2]=J;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((H|0)==127){H=G+8|0;J=c[H>>2]|0;I=c[8796]|0;if(!(J>>>0>=I>>>0&G>>>0>=I>>>0))Ha();c[J+12>>2]=l;c[H>>2]=l;c[l+8>>2]=J;c[l+12>>2]=G;c[l+24>>2]=0;return}}function fn(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;a:do if(a>>>0<212){b=6300;d=48;b:while(1){e=d;while(1){if(!e){f=b;break b}g=(e|0)/2|0;h=b+(g<<2)|0;if((c[h>>2]|0)>>>0<a>>>0){i=g;j=h;k=e;break}else e=g}b=j+4|0;d=k+-1-i|0}l=c[f>>2]|0}else{d=(a>>>0)/210|0;b=d*210|0;e=a-b|0;g=6492;h=48;c:while(1){m=h;while(1){if(!m){n=g;break c}o=(m|0)/2|0;p=g+(o<<2)|0;if((c[p>>2]|0)>>>0<e>>>0){q=o;r=p;s=m;break}else m=o}g=r+4|0;h=s+-1-q|0}h=n-6492>>2;g=h;e=d;m=(c[6492+(h<<2)>>2]|0)+b|0;while(1){h=5;while(1){if(h>>>0>=47){t=211;u=17;break}o=c[6300+(h<<2)>>2]|0;p=(m>>>0)/(o>>>0)|0;if(p>>>0<o>>>0){l=m;break a}if((m|0)==(_(p,o)|0))break;else h=h+1|0}d:do if((u|0)==17)while(1){u=0;h=(m>>>0)/(t>>>0)|0;if(h>>>0<t>>>0){l=m;break a}if((m|0)==(_(h,t)|0))break d;h=t+10|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+12|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+16|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+18|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+22|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+28|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+30|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+36|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+40|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+42|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+46|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+52|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+58|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+60|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+66|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+70|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+72|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+78|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+82|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+88|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+96|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+100|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+102|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+106|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+108|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+112|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+120|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+126|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+130|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+136|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+138|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+142|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+148|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+150|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+156|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+162|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+166|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+168|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+172|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+178|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+180|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+186|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+190|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+192|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+196|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+198|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break d;h=t+208|0;o=(m>>>0)/(h>>>0)|0;if(o>>>0<h>>>0){l=m;break a}if((m|0)==(_(o,h)|0))break;else{t=t+210|0;u=17}}while(0);h=g+1|0;o=(h|0)==48;p=(o&1)+e|0;v=o?0:h;g=v;e=p;m=(c[6492+(v<<2)>>2]|0)+(p*210|0)|0}}while(0);return l|0}function gn(a){a=a|0;Ka(34312,34341,1164,34532)}function hn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(e>>>0>4294967279)gn(b);if(e>>>0<11){a[b>>0]=e<<1;f=b+1|0}else{g=e+16&-16;h=Tn(g)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=e;f=h}ho(f|0,d|0,e|0)|0;a[f+e>>0]=0;return}function jn(b){b=b|0;if(a[b>>0]&1)An(c[b+8>>2]|0);return}function kn(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;ln(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function ln(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}f=(h&1)==0;do if(g>>>0>=e>>>0){if(f)i=b+1|0;else i=c[b+8>>2]|0;io(i|0,d|0,e|0)|0;a[i+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(f)j=(h&255)>>>1;else j=c[b+4>>2]|0;mn(b,g,e-g|0,j,0,j,e,d)}while(0);return b|0}function mn(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,l=0,m=0,n=0;if((-18-d|0)>>>0<e>>>0)gn(b);if(!(a[b>>0]&1))k=b+1|0;else k=c[b+8>>2]|0;if(d>>>0<2147483623){l=e+d|0;e=d<<1;m=l>>>0<e>>>0?e:l;n=m>>>0<11?11:m+16&-16}else n=-17;m=Tn(n)|0;if(g|0)ho(m|0,k|0,g|0)|0;if(i|0)ho(m+g|0,j|0,i|0)|0;j=f-h|0;if((j|0)!=(g|0))ho(m+g+i|0,k+g+h|0,j-g|0)|0;if((d|0)!=10)An(k);c[b+8>>2]=m;c[b>>2]=n|1;n=j+i|0;c[b+4>>2]=n;a[m+n>>0]=0;return}function nn(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;if(d|0){f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}if(!(h&1))i=(h&255)>>>1;else i=c[b+4>>2]|0;if((g-i|0)>>>0<d>>>0){on(b,g,d-g+i|0,i,i,0,0);j=a[b>>0]|0}else j=h;if(!(j&1))k=b+1|0;else k=c[b+8>>2]|0;$n(k+i|0,e|0,d|0)|0;e=i+d|0;if(!(a[b>>0]&1))a[b>>0]=e<<1;else c[b+4>>2]=e;a[k+e>>0]=0}return b|0}function on(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,l=0,m=0;if((-17-d|0)>>>0<e>>>0)gn(b);if(!(a[b>>0]&1))j=b+1|0;else j=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;e=d<<1;l=k>>>0<e>>>0?e:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=Tn(m)|0;if(g|0)ho(l|0,j|0,g|0)|0;k=f-h|0;if((k|0)!=(g|0))ho(l+g+i|0,j+g+h|0,k-g|0)|0;if((d|0)!=10)An(j);c[b+8>>2]=l;c[b>>2]=m|1;return}function pn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}if(!(h&1))i=(h&255)>>>1;else i=c[b+4>>2]|0;if((g-i|0)>>>0>=e>>>0){if(e|0){if(!(h&1))j=b+1|0;else j=c[b+8>>2]|0;ho(j+i|0,d|0,e|0)|0;h=i+e|0;if(!(a[b>>0]&1))a[b>>0]=h<<1;else c[b+4>>2]=h;a[j+h>>0]=0}}else mn(b,g,e-g+i|0,i,i,0,e,d);return b|0}function qn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){on(b,g,1,g,g,0,0);if(!(a[b>>0]&1))i=7;else i=8}else if(f)i=8;else i=7;if((i|0)==7){a[b>>0]=(h<<1)+2;j=b+1|0}else if((i|0)==8){i=c[b+8>>2]|0;c[b+4>>2]=h+1;j=i}i=j+h|0;a[i>>0]=d;a[i+1>>0]=0;return}function rn(a){a=a|0;Ka(34425,34448,303,34532)}function sn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+48|0;b=a+32|0;d=a+24|0;e=a+16|0;f=a;g=a+36|0;a=tn()|0;if(a|0?(h=c[a>>2]|0,h|0):0){a=h+48|0;j=c[a>>2]|0;k=c[a+4>>2]|0;if(!((j&-256|0)==1126902528&(k|0)==1129074247)){c[d>>2]=34835;wn(34930,d)}if((j|0)==1126902529&(k|0)==1129074247)l=c[h+44>>2]|0;else l=h+80|0;c[g>>2]=l;l=c[h>>2]|0;h=c[l+4>>2]|0;if(kb[c[(c[38]|0)+16>>2]&127](152,l,g)|0){l=c[g>>2]|0;g=pb[c[(c[l>>2]|0)+8>>2]&127](l)|0;c[f>>2]=34835;c[f+4>>2]=h;c[f+8>>2]=g;wn(34844,f)}else{c[e>>2]=34835;c[e+4>>2]=h;wn(34889,e)}}wn(34968,b)}function tn(){var a=0,b=0;a=i;i=i+16|0;if(!(Xa(35664,23)|0)){b=Va(c[8917]|0)|0;i=a;return b|0}else wn(34656,a);return 0}function un(){var a=0;a=i;i=i+16|0;if(!(Ya(35668,44)|0)){i=a;return}else wn(34606,a)}function vn(a){a=a|0;var b=0;b=i;i=i+16|0;bn(a);if(!(_a(c[8917]|0,0)|0)){i=b;return}else wn(34553,b)}function wn(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=c[1510]|0;gm(b,a,e)|0;Rm(10,b)|0;Ha()}function xn(a){a=a|0;return}function yn(a){a=a|0;return}function zn(a){a=a|0;An(a);return}function An(a){a=a|0;bn(a);return}function Bn(a){a=a|0;return}function Cn(a){a=a|0;return}function Dn(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+64|0;f=e;if((a|0)!=(b|0))if((b|0)!=0?(g=En(b,192,160,0)|0,(g|0)!=0):0){b=f;h=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;wb[c[(c[g>>2]|0)+28>>2]&31](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];j=1}else j=0;k=j}else k=0;else k=1;i=e;return k|0}function En(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;h=i;i=i+64|0;j=h;k=c[d>>2]|0;l=d+(c[k+-8>>2]|0)|0;m=c[k+-4>>2]|0;c[j>>2]=f;c[j+4>>2]=d;c[j+8>>2]=e;c[j+12>>2]=g;g=j+16|0;e=j+20|0;d=j+24|0;k=j+28|0;n=j+32|0;o=j+40|0;p=(m|0)==(f|0);q=g;r=q+36|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(p){c[j+48>>2]=1;tb[c[(c[f>>2]|0)+20>>2]&31](f,j,l,l,1,0);s=(c[d>>2]|0)==1?l:0}else{lb[c[(c[m>>2]|0)+24>>2]&31](m,j,l,1,0);switch(c[j+36>>2]|0){case 0:{s=(c[o>>2]|0)==1&(c[k>>2]|0)==1&(c[n>>2]|0)==1?c[e>>2]|0:0;break a;break}case 1:break;default:{s=0;break a}}if((c[d>>2]|0)!=1?!((c[o>>2]|0)==0&(c[k>>2]|0)==1&(c[n>>2]|0)==1):0){s=0;break}s=c[g>>2]|0}while(0);i=h;return s|0}function Fn(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;if((a|0)==(c[b+8>>2]|0))Gn(0,b,d,e,f);else{h=c[a+8>>2]|0;tb[c[(c[h>>2]|0)+20>>2]&31](h,b,d,e,f,g)}return}function Gn(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;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;h=c[b>>2]|0;if(!h){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;a[d+54>>0]=1;break}h=d+24|0;b=c[h>>2]|0;if((b|0)==2){c[h>>2]=g;i=g}else i=b;if((i|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Hn(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,l=0,m=0,n=0,o=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){h=c[b+8>>2]|0;lb[c[(c[h>>2]|0)+24>>2]&31](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;j=d+52|0;a[j>>0]=0;k=d+53|0;a[k>>0]=0;l=c[b+8>>2]|0;tb[c[(c[l>>2]|0)+20>>2]&31](l,d,e,e,1,g);if(a[k>>0]|0)if(!(a[j>>0]|0)){m=1;n=13}else n=17;else{m=0;n=13}do if((n|0)==13){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(m){n=17;break}else{o=4;break}}if(m)n=17;else o=4}while(0);if((n|0)==17)o=3;c[i>>2]=o;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((a|0)==(c[b+8>>2]|0))Jn(0,b,d,e);else{f=c[a+8>>2]|0;wb[c[(c[f>>2]|0)+28>>2]&31](f,b,d,e)}return}function Jn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}h=d+24|0;if((c[h>>2]|0)==2)c[h>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Kn(a){a=a|0;An(a);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;if((a|0)==(c[b+8>>2]|0))Gn(0,b,d,e,f);return}function Mn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(g=d+28|0,(c[g>>2]|0)!=1):0)c[g>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(g=d+20|0,(c[g>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[g>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Nn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Jn(0,b,d,e);return}function On(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+8|0;d=a;a=tn()|0;if((a|0?(e=c[a>>2]|0,e|0):0)?(a=e+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0){rb[c[e+12>>2]&31]();wn(34980,d)}d=c[1671]|0;c[1671]=d+0;rb[d&31]();wn(34980,b)}function Pn(a){a=a|0;return}function Qn(a){a=a|0;return}function Rn(a){a=a|0;An(a);return}function Sn(a){a=a|0;return 35033}function Tn(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==0?1:a;while(1){a=an(b)|0;if(a|0){d=a;e=6;break}a=Un()|0;if(!a){e=5;break}rb[a&31]()}if((e|0)==5){b=La(4)|0;c[b>>2]=6776;$a(b|0,216,39)}else if((e|0)==6)return d|0;return 0}function Un(){var a=0;a=c[8918]|0;c[8918]=a+0;return a|0}function Vn(a){a=a|0;return Tn(a)|0}function Wn(a){a=a|0;An(a);return}function Xn(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;c[f>>2]=c[d>>2];g=kb[c[(c[a>>2]|0)+16>>2]&127](a,b,f)|0;if(g)c[d>>2]=c[f>>2];i=e;return g&1|0}function Yn(a){a=a|0;var b=0;if(!a)b=0;else b=(En(a,192,248,0)|0)!=0;return b&1|0}function Zn(){}function _n(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (C=e,a-c>>>0|0)|0}function $n(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;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function ao(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;p=p+1|0;c[a>>2]=p;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=p;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;C=e;return d|0}f=f+1|0}e=e*2|0;d=cn(d|0,8*(e+1|0)|0)|0;d=bo(a|0,b|0,d|0,e|0)|0;C=e;return d|0}function co(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)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function eo(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)-1)<<32-c}C=0;return b>>>c-32|0}function fo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function go(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function ho(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ra(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 io(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 ho(b,c,d)|0;return b|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;c=aa(b)|0;if((c|0)==32)c=c+(aa(a)|0)|0;C=0;return c|0}function ko(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 lo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=_(d,c)|0;f=a>>>16;a=(e>>>16)+(_(d,f)|0)|0;d=b>>>16;b=_(d,c)|0;return (C=(a>>>16)+(_(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}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;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=_n(e^a|0,f^b|0,e|0,f|0)|0;b=C;a=g^e;e=h^f;return _n((ro(i,b,_n(g^c|0,h^d|0,g|0,h|0)|0,C,0)|0)^a|0,C^e|0,a|0,e|0)|0}function no(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;f=i;i=i+16|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=_n(h^a|0,j^b|0,h|0,j|0)|0;b=C;ro(m,b,_n(k^d|0,l^e|0,k|0,l|0)|0,C,g)|0;l=_n(c[g>>2]^h|0,c[g+4>>2]^j|0,h|0,j|0)|0;j=C;i=f;return (C=j,l)|0}function oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=lo(e,a)|0;f=C;return (C=(_(b,a)|0)+(_(d,e)|0)+f|f&0,c|0|0)|0}function po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ro(a,b,c,d,0)|0}function qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f|0;ro(a,b,d,e,g)|0;i=f;return (C=c[g+4>>2]|0,c[g>>2]|0)|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,l=0,m=0,n=0,o=0,p=0,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;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (C=n,o)|0}else{if(!m){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(aa(l|0)|0)-(aa(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}r=j-1|0;if(r&j|0){s=(aa(j|0)|0)+33-(aa(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (C=n,o)|0}else{r=ko(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (C=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (C=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((ko(l|0)|0)>>>0);return (C=n,o)|0}r=(aa(l|0)|0)-(aa(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}while(0);if(!t){B=x;D=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=go(b|0,d|0,-1,-1)|0;k=C;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;_n(e|0,k|0,g|0,a|0)|0;i=C;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=_n(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=C;u=u-1|0}while((u|0)!=0);B=h;D=x;E=w;F=v;G=0;H=t}t=D;D=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|D)<<1|(D<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (C=n,o)|0}function so(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;return jb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function to(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 ea(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function uo(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 ea(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function vo(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 ea(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|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;return ea(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|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;return ea(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function yo(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 ea(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function zo(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 ea(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ao(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 ea(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bo(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 ea(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Co(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 ea(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Do(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kb[a&127](b|0,c|0,d|0)|0}function Eo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(0,a|0,b|0,c|0)|0}function Fo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(1,a|0,b|0,c|0)|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;return ga(2,a|0,b|0,c|0)|0}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;return ga(3,a|0,b|0,c|0)|0}function Io(a,b,c){a=a|0;b=b|0;c=c|0;return ga(4,a|0,b|0,c|0)|0}function Jo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(5,a|0,b|0,c|0)|0}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;return ga(6,a|0,b|0,c|0)|0}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(7,a|0,b|0,c|0)|0}function Mo(a,b,c){a=a|0;b=b|0;c=c|0;return ga(8,a|0,b|0,c|0)|0}function No(a,b,c){a=a|0;b=b|0;c=c|0;return ga(9,a|0,b|0,c|0)|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;lb[a&31](b|0,c|0,d|0,e|0,f|0)}function Po(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(0,a|0,b|0,c|0,d|0,e|0)}function Qo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(1,a|0,b|0,c|0,d|0,e|0)}function Ro(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(2,a|0,b|0,c|0,d|0,e|0)}function So(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(3,a|0,b|0,c|0,d|0,e|0)}function To(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(4,a|0,b|0,c|0,d|0,e|0)}function Uo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(5,a|0,b|0,c|0,d|0,e|0)}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(6,a|0,b|0,c|0,d|0,e|0)}function Wo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(7,a|0,b|0,c|0,d|0,e|0)}function Xo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(8,a|0,b|0,c|0,d|0,e|0)}function Yo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia(9,a|0,b|0,c|0,d|0,e|0)}function Zo(a,b){a=a|0;b=b|0;mb[a&63](b|0)}function _o(a){a=a|0;ka(0,a|0)}function $o(a){a=a|0;ka(1,a|0)}function ap(a){a=a|0;ka(2,a|0)}function bp(a){a=a|0;ka(3,a|0)}function cp(a){a=a|0;ka(4,a|0)}function dp(a){a=a|0;ka(5,a|0)}function ep(a){a=a|0;ka(6,a|0)}function fp(a){a=a|0;ka(7,a|0)}function gp(a){a=a|0;ka(8,a|0)}function hp(a){a=a|0;ka(9,a|0)}function ip(a,b,c){a=a|0;b=b|0;c=c|0;nb[a&31](b|0,c|0)}function jp(a,b){a=a|0;b=b|0;ma(0,a|0,b|0)}function kp(a,b){a=a|0;b=b|0;ma(1,a|0,b|0)}function lp(a,b){a=a|0;b=b|0;ma(2,a|0,b|0)}function mp(a,b){a=a|0;b=b|0;ma(3,a|0,b|0)}function np(a,b){a=a|0;b=b|0;ma(4,a|0,b|0)}function op(a,b){a=a|0;b=b|0;ma(5,a|0,b|0)}function pp(a,b){a=a|0;b=b|0;ma(6,a|0,b|0)}function qp(a,b){a=a|0;b=b|0;ma(7,a|0,b|0)}function rp(a,b){a=a|0;b=b|0;ma(8,a|0,b|0)}function sp(a,b){a=a|0;b=b|0;ma(9,a|0,b|0)}function tp(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 ob[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function up(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}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;return oa(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}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;return oa(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(5,a|0,b|0,c|0,d|0,e|0,f|0)|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;return oa(6,a|0,b|0,c|0,d|0,e|0,f|0)|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;return oa(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Cp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Dp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return oa(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Ep(a,b){a=a|0;b=b|0;return pb[a&127](b|0)|0}function Fp(a){a=a|0;return qa(0,a|0)|0}function Gp(a){a=a|0;return qa(1,a|0)|0}function Hp(a){a=a|0;return qa(2,a|0)|0}function Ip(a){a=a|0;return qa(3,a|0)|0}function Jp(a){a=a|0;return qa(4,a|0)|0}function Kp(a){a=a|0;return qa(5,a|0)|0}function Lp(a){a=a|0;return qa(6,a|0)|0}function Mp(a){a=a|0;return qa(7,a|0)|0}function Np(a){a=a|0;return qa(8,a|0)|0}function Op(a){a=a|0;return qa(9,a|0)|0}function Pp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qb[a&31](b|0,c|0,d|0)}function Qp(a,b,c){a=a|0;b=b|0;c=c|0;sa(0,a|0,b|0,c|0)}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;sa(1,a|0,b|0,c|0)}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;sa(2,a|0,b|0,c|0)}function Tp(a,b,c){a=a|0;b=b|0;c=c|0;sa(3,a|0,b|0,c|0)}function Up(a,b,c){a=a|0;b=b|0;c=c|0;sa(4,a|0,b|0,c|0)}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;sa(5,a|0,b|0,c|0)}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;sa(6,a|0,b|0,c|0)}function Xp(a,b,c){a=a|0;b=b|0;c=c|0;sa(7,a|0,b|0,c|0)}function Yp(a,b,c){a=a|0;b=b|0;c=c|0;sa(8,a|0,b|0,c|0)}function Zp(a,b,c){a=a|0;b=b|0;c=c|0;sa(9,a|0,b|0,c|0)}function _p(a){a=a|0;rb[a&31]()}function $p(){ua(0)}function aq(){ua(1)}function bq(){ua(2)}function cq(){ua(3)}function dq(){ua(4)}function eq(){ua(5)}function fq(){ua(6)}function gq(){ua(7)}function hq(){ua(8)}function iq(){ua(9)}function jq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sb[a&63](b|0,c|0,d|0,e|0)|0}function kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(0,a|0,b|0,c|0,d|0)|0}function lq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(1,a|0,b|0,c|0,d|0)|0}function mq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(2,a|0,b|0,c|0,d|0)|0}function nq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(3,a|0,b|0,c|0,d|0)|0}function oq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(4,a|0,b|0,c|0,d|0)|0}function pq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(5,a|0,b|0,c|0,d|0)|0}function qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(6,a|0,b|0,c|0,d|0)|0}function rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(7,a|0,b|0,c|0,d|0)|0}function sq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(8,a|0,b|0,c|0,d|0)|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wa(9,a|0,b|0,c|0,d|0)|0}function uq(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;tb[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function vq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(0,a|0,b|0,c|0,d|0,e|0,f|0)}function wq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(1,a|0,b|0,c|0,d|0,e|0,f|0)}function xq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(2,a|0,b|0,c|0,d|0,e|0,f|0)}function yq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(3,a|0,b|0,c|0,d|0,e|0,f|0)}function zq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(4,a|0,b|0,c|0,d|0,e|0,f|0)}function Aq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(5,a|0,b|0,c|0,d|0,e|0,f|0)}function Bq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(6,a|0,b|0,c|0,d|0,e|0,f|0)}function Cq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(7,a|0,b|0,c|0,d|0,e|0,f|0)}function Dq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(8,a|0,b|0,c|0,d|0,e|0,f|0)}function Eq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ya(9,a|0,b|0,c|0,d|0,e|0,f|0)}function Fq(a,b,c){a=a|0;b=b|0;c=c|0;return ub[a&255](b|0,c|0)|0}function Gq(a,b){a=a|0;b=b|0;return Aa(0,a|0,b|0)|0}function Hq(a,b){a=a|0;b=b|0;return Aa(1,a|0,b|0)|0}function Iq(a,b){a=a|0;b=b|0;return Aa(2,a|0,b|0)|0}function Jq(a,b){a=a|0;b=b|0;return Aa(3,a|0,b|0)|0}function Kq(a,b){a=a|0;b=b|0;return Aa(4,a|0,b|0)|0}function Lq(a,b){a=a|0;b=b|0;return Aa(5,a|0,b|0)|0}function Mq(a,b){a=a|0;b=b|0;return Aa(6,a|0,b|0)|0}function Nq(a,b){a=a|0;b=b|0;return Aa(7,a|0,b|0)|0}function Oq(a,b){a=a|0;b=b|0;return Aa(8,a|0,b|0)|0}function Pq(a,b){a=a|0;b=b|0;return Aa(9,a|0,b|0)|0}function Qq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return vb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Rq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(0,a|0,b|0,c|0,d|0,e|0)|0}function Sq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(1,a|0,b|0,c|0,d|0,e|0)|0}function Tq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(2,a|0,b|0,c|0,d|0,e|0)|0}function Uq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(3,a|0,b|0,c|0,d|0,e|0)|0}function Vq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(4,a|0,b|0,c|0,d|0,e|0)|0}function Wq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(5,a|0,b|0,c|0,d|0,e|0)|0}function Xq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(6,a|0,b|0,c|0,d|0,e|0)|0}function Yq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(7,a|0,b|0,c|0,d|0,e|0)|0}function Zq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(8,a|0,b|0,c|0,d|0,e|0)|0}function _q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ca(9,a|0,b|0,c|0,d|0,e|0)|0}function $q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;wb[a&31](b|0,c|0,d|0,e|0)}function ar(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(0,a|0,b|0,c|0,d|0)}function br(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(1,a|0,b|0,c|0,d|0)}function cr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(2,a|0,b|0,c|0,d|0)}function dr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(3,a|0,b|0,c|0,d|0)}function er(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(4,a|0,b|0,c|0,d|0)}function fr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(5,a|0,b|0,c|0,d|0)}function gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(6,a|0,b|0,c|0,d|0)}function hr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(7,a|0,b|0,c|0,d|0)}function ir(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(8,a|0,b|0,c|0,d|0)}function jr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ea(9,a|0,b|0,c|0,d|0)}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;ba(0);return 0}function lr(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function mr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(2)}function nr(a){a=a|0;ba(3)}function or(a,b){a=a|0;b=b|0;ba(4)}function pr(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(5);return 0}function qr(a){a=a|0;ba(6);return 0}function rr(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}function sr(){ba(8)}function tr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 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;ba(10)}function vr(a,b){a=a|0;b=b|0;ba(11);return 0}function wr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(12);return 0}function xr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(13)} +function xb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function yb(){return i|0}function zb(a){a=a|0;i=a}function Ab(a,b){a=a|0;b=b|0;i=a;j=b}function Bb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Cb(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 Db(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 Eb(a){a=a|0;C=a}function Fb(){return C|0}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;return Xd(a,b,c)|0}function Hb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=Tn(8)|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[e>>2]=0;c[f>>2]=ve(a,e,b)|0;c[f+4>>2]=c[e>>2];i=d;return f|0}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;return we(a,b,c)|0}function Kb(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+48|0;j=h+16|0;k=h+8|0;l=h;ni(j);m=(d|0)!=0;c[k>>2]=m?j:0;a[k+4>>0]=(e|0)!=0&1;a[k+5>>0]=(f|0)!=0&1;a[k+6>>0]=(g|0)!=0&1;ti(l);g=uc(b)|0;b=Tn(12)|0;f=b+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;e=Je(l,g,k)|0;c[b>>2]=e;if(!e){c[b+4>>2]=ui(l)|0;if(m)n=ui(j+16|0)|0;else n=0;c[f>>2]=n}c[l>>2]=1520;n=l+4|0;l=c[n>>2]|0;c[n>>2]=0;if(l|0){n=c[l>>2]|0;if(n|0){f=l+4|0;if((c[f>>2]|0)!=(n|0))c[f>>2]=n;An(n)}An(l)}c[j+16>>2]=1520;l=j+20|0;j=c[l>>2]|0;c[l>>2]=0;if(!j){i=h;return b|0}l=c[j>>2]|0;if(l|0){n=j+4|0;if((c[n>>2]|0)!=(l|0))c[n>>2]=l;An(l)}An(j);i=h;return b|0}function Lb(a){a=a|0;if(!a)return;Mb(a);An(a);return}function Mb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[a+20>>2]|0;if(b|0){d=b;do{b=d;d=c[d>>2]|0;jn(b+8|0);An(b)}while((d|0)!=0)}d=a+12|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0)An(b);b=c[a>>2]|0;if(!b)return;d=a+4|0;e=c[d>>2]|0;if((e|0)==(b|0))f=b;else{g=e;do{e=g+-4|0;c[d>>2]=e;h=c[e>>2]|0;c[e>>2]=0;if(h|0){Pd(h);An(h)}g=c[d>>2]|0}while((g|0)!=(b|0));f=c[a>>2]|0}An(f);return}function Nb(a){a=a|0;Wd(a);return}function Ob(){var a=0;a=Tn(20)|0;gc(a,80);return a|0}function Pb(b){b=b|0;var d=0,e=0;d=b+8|0;if(!(a[d>>0]&1)){e=d+1|0;return e|0}else{e=c[b+16>>2]|0;return e|0}return 0}function Qb(b){b=b|0;var d=0,e=0;d=a[b+8>>0]|0;if(!(d&1)){e=(d&255)>>>1;return e|0}else{e=c[b+12>>2]|0;return e|0}return 0}function Rb(a){a=a|0;if(!a)return;mb[c[(c[a>>2]|0)+4>>2]&63](a);return}function Sb(a){a=a|0;return c[a>>2]|0}function Tb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function Ub(a){a=a|0;var b=0,d=0;if(!a)return;b=a+4|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0){Mb(d);An(d)}An(a);return}function Vb(a){a=a|0;return c[a>>2]|0}function Wb(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function Xb(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;return a|0}function Yb(a){a=a|0;var b=0,d=0,e=0;if(!a)return;b=a+8|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0){b=c[d>>2]|0;if(b|0){e=d+4|0;if((c[e>>2]|0)!=(b|0))c[e>>2]=b;An(b)}An(d)}d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0){e=b+4|0;if((c[e>>2]|0)!=(d|0))c[e>>2]=d;An(d)}An(b)}An(a);return}function Zb(a){a=a|0;return c[a>>2]|0}function _b(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)|0}function $b(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;if(b|0){d=a+4|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;An(b)}An(a);return}function ac(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;d=i;i=i+16|0;j=d;k=c[e+4>>2]|0;l=e+8|0;m=c[l>>2]|0;n=(a[f>>0]&1)==0?f+1|0:c[f+8>>2]|0;c[j>>2]=c[e>>2];c[j+4>>2]=k;c[j+8>>2]=m;c[j+12>>2]=n;bc(b,11070,j);j=a[g>>0]|0;n=(j&1)==0;m=g+4|0;k=n?(j&255)>>>1:c[m>>2]|0;if(!k){i=d;return}pn(b,n?g+1|0:c[g+8>>2]|0,k)|0;qn(b,10);k=c[l>>2]|0;l=k+~h|0;h=(c[e+12>>2]|0)-k|0;k=a[g>>0]|0;g=((k&1)==0?(k&255)>>>1:c[m>>2]|0)-l|0;m=g>>>0<h>>>0?g:h;nn(b,l,32)|0;nn(b,(m|0)==0?1:m,94)|0;qn(b,10);i=d;return}function bc(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;f=i;i=i+48|0;g=f+32|0;h=f+16|0;j=f;c[g>>2]=e;c[h>>2]=c[g>>2];e=em(0,0,d,g)|0;g=e+1|0;c[j>>2]=0;k=j+4|0;c[k>>2]=0;c[j+8>>2]=0;if(g|0){if((e|0)<-1)rn(j);l=Tn(g)|0;c[k>>2]=l;c[j>>2]=l;c[j+8>>2]=l+g;m=g;n=l;do{a[n>>0]=0;n=(c[k>>2]|0)+1|0;c[k>>2]=n;m=m+-1|0}while((m|0)!=0)}em(c[j>>2]|0,g,d,h)|0;hn(b,c[j>>2]|0,e);e=c[j>>2]|0;if(!e){i=f;return}if((c[k>>2]|0)!=(e|0))c[k>>2]=e;An(e);i=f;return}function cc(a){a=a|0;c[a>>2]=272;jn(a+8|0);return}function dc(a){a=a|0;c[a>>2]=272;jn(a+8|0);An(a);return}function ec(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;h=i;i=i+16|0;j=h;ac(j,0,d,e,f,g);g=a[j>>0]|0;f=(g&1)==0;pn(b+8|0,f?j+1|0:c[j+8>>2]|0,f?(g&255)>>>1:c[j+4>>2]|0)|0;jn(j);i=h;return 1}function fc(a){a=a|0;return c[a+4>>2]|0}function gc(a,b){a=a|0;b=b|0;c[a>>2]=272;c[a+4>>2]=b;b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function hc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;hn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a,e)|0;jn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function ic(e,f){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,q=0,r=0,s=0,t=0,u=0,v=0;g=a[f>>0]|0;h=(g&1)==0;i=h?f+1|0:c[f+8>>2]|0;j=h?(g&255)>>>1:c[f+4>>2]|0;if(j>>>0>3){f=j;g=i;h=j;while(1){k=_(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24,1540483477)|0;l=(_(k>>>24^k,1540483477)|0)^(_(h,1540483477)|0);f=f+-4|0;if(f>>>0<=3){m=l;break}else{g=g+4|0;h=l}}h=j+-4|0;g=h&-4;n=h-g|0;o=i+(g+4)|0;p=m}else{n=j;o=i;p=j}switch(n|0){case 3:{q=d[o+2>>0]<<16^p;r=6;break}case 2:{q=p;r=6;break}case 1:{s=p;r=7;break}default:t=p}if((r|0)==6){s=d[o+1>>0]<<8^q;r=7}if((r|0)==7)t=_(d[o>>0]^s,1540483477)|0;s=_(t>>>13^t,1540483477)|0;t=s>>>15^s;s=c[e+4>>2]|0;if(!s){u=0;return u|0}o=s+-1|0;q=(o&s|0)==0;if(q)v=t&o;else v=(t>>>0)%(s>>>0)|0;t=c[(c[e>>2]|0)+(v<<2)>>2]|0;if(!t){u=0;return u|0}e=c[t>>2]|0;if(!e){u=0;return u|0}t=(j|0)==0;if(q){q=e;a:while(1){if((c[q+4>>2]&o|0)!=(v|0)){u=0;r=35;break}p=q+8|0;n=b[p>>1]|0;m=(n&1)==0;g=(n&254)>>>1;h=(n&65535)>>>8&255;do if(((m?g:c[q+12>>2]|0)|0)==(j|0)){if(!m)if(!(um(c[q+16>>2]|0,i,j)|0)){u=q;r=35;break a}else break;if(t){u=q;r=35;break a}if(h<<24>>24==(a[i>>0]|0)){n=g;f=p+1|0;l=i;do{n=n+-1|0;f=f+1|0;if(!n){u=q;r=35;break a}l=l+1|0}while((a[f>>0]|0)==(a[l>>0]|0))}}while(0);q=c[q>>2]|0;if(!q){u=0;r=35;break}}if((r|0)==35)return u|0}else{q=e;b:while(1){if((((c[q+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(v|0)){u=0;r=35;break}e=q+8|0;o=b[e>>1]|0;p=(o&1)==0;g=(o&254)>>>1;h=(o&65535)>>>8&255;do if(((p?g:c[q+12>>2]|0)|0)==(j|0)){if(!p)if(!(um(c[q+16>>2]|0,i,j)|0)){u=q;r=35;break b}else break;if(t){u=q;r=35;break b}if(h<<24>>24==(a[i>>0]|0)){o=g;m=e+1|0;l=i;do{o=o+-1|0;m=m+1|0;if(!o){u=q;r=35;break b}l=l+1|0}while((a[m>>0]|0)==(a[l>>0]|0))}}while(0);q=c[q>>2]|0;if(!q){u=0;r=35;break}}if((r|0)==35)return u|0}return 0}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;hn(e,c[b>>2]|0,c[b+4>>2]|0);b=ic(a+200|0,e)|0;jn(e);if(!b){f=0;i=d;return f|0}e=c[b+36>>2]|0;if((e|0)==-1){f=0;i=d;return f|0}f=c[(c[a+84>>2]|0)+(e<<2)>>2]|0;i=d;return f|0}function kc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;hn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+160|0,e)|0;jn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function lc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;hn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+180|0,e)|0;jn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function mc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;hn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+240|0,e)|0;jn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function nc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;hn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+260|0,e)|0;jn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function oc(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;e=d;if((c[b+16>>2]|0)!=1){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;hn(e,c[g>>2]|0,c[g+4>>2]|0);g=ic(a+220|0,e)|0;jn(e);if(!g)h=-1;else h=c[g+36>>2]|0;f=h;i=d;return f|0}function pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if(!(c[b+16>>2]|0)){f=c[b+24>>2]|0;i=d;return f|0}g=b+24|0;b=g+4|0;hn(e,c[g>>2]|0,c[b>>2]|0);h=ic(a+84|0,e)|0;jn(e);if(h){j=c[h+36>>2]|0;if((j|0)!=-1){f=j;i=d;return f|0}}hn(e,c[g>>2]|0,c[b>>2]|0);b=ic(a+104|0,e)|0;jn(e);if(!b){f=-1;i=d;return f|0}e=c[b+36>>2]|0;if((e|0)==-1){f=-1;i=d;return f|0}f=((c[a+52>>2]|0)-(c[a+48>>2]|0)>>2)+e|0;i=d;return f|0}function qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((c[b+16>>2]|0)==1){f=b+24|0;hn(e,c[f>>2]|0,c[f+4>>2]|0);f=ic(a+160|0,e)|0;jn(e);if(!f)g=-1;else g=c[f+36>>2]|0;h=g}else h=c[b+24>>2]|0;if((h|0)<0){j=0;i=d;return j|0}b=c[a+48>>2]|0;if(h>>>0>=(c[a+52>>2]|0)-b>>2>>>0){j=0;i=d;return j|0}j=c[b+(h<<2)>>2]|0;i=d;return j|0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((c[b+16>>2]|0)==1){f=b+24|0;hn(e,c[f>>2]|0,c[f+4>>2]|0);f=ic(a+180|0,e)|0;jn(e);if(!f)g=-1;else g=c[f+36>>2]|0;h=g}else h=c[b+24>>2]|0;if((h|0)<0){j=0;i=d;return j|0}b=c[a+60>>2]|0;if(h>>>0>=(c[a+64>>2]|0)-b>>2>>>0){j=0;i=d;return j|0}j=c[b+(h<<2)>>2]|0;i=d;return j|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((c[b+16>>2]|0)==1){f=b+24|0;hn(e,c[f>>2]|0,c[f+4>>2]|0);f=ic(a+220|0,e)|0;jn(e);if(!f)g=-1;else g=c[f+36>>2]|0;h=g}else h=c[b+24>>2]|0;if((h|0)<0){j=0;i=d;return j|0}b=c[a+96>>2]|0;if(h>>>0>=(c[a+100>>2]|0)-b>>2>>>0){j=0;i=d;return j|0}j=c[b+(h<<2)>>2]|0;i=d;return j|0}function tc(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;e=i;i=i+16|0;f=e;if(a[d>>0]|0){if((c[d+24>>2]|0)!=1){g=c[d+32>>2]|0;i=e;return g|0}h=d+32|0;hn(f,c[h>>2]|0,c[h+4>>2]|0);h=ic(b+220|0,f)|0;jn(f);if(!h)j=-1;else j=c[h+36>>2]|0;g=j;i=e;return g|0}j=c[b+100>>2]|0;h=c[b+96>>2]|0;b=h;if((j|0)==(h|0)){g=-1;i=e;return g|0}f=c[d+40>>2]|0;k=(c[d+44>>2]|0)-f|0;l=d+52|0;m=d+56|0;d=f;f=j-h>>2;h=0;a:while(1){j=c[b+(h<<2)>>2]|0;n=c[j+12>>2]|0;o=c[j+8>>2]|0;p=o;q=n;b:do if((n-o|0)==(k|0)){if((p|0)!=(q|0)){r=p;s=d;while(1){if((c[r>>2]|0)!=(c[s>>2]|0))break b;r=r+4|0;if((r|0)==(q|0))break;else s=s+4|0}}s=c[j+24>>2]|0;r=c[j+20>>2]|0;t=c[l>>2]|0;u=r;v=s;if((s-r|0)==((c[m>>2]|0)-t|0)){if((u|0)==(v|0)){g=h;w=19;break a}r=u;u=t;while(1){if((c[r>>2]|0)!=(c[u>>2]|0))break b;r=r+4|0;if((r|0)==(v|0)){g=h;w=19;break a}else u=u+4|0}}}while(0);h=h+1|0;if(h>>>0>=f>>>0){g=-1;w=19;break}}if((w|0)==19){i=e;return g|0}return 0}function uc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[a>>2]|0;d=c[a+4>>2]|0;if((b|0)==(d|0)){e=0;return e|0}else f=b;while(1){b=c[f>>2]|0;f=f+4|0;if(!(c[b>>2]|0)){g=b;break}if((f|0)==(d|0)){e=0;h=5;break}}if((h|0)==5)return e|0;e=c[g+8>>2]|0;return e|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((c[b+16>>2]|0)==1){f=b+24|0;hn(e,c[f>>2]|0,c[f+4>>2]|0);f=ic(a+12|0,e)|0;jn(e);if(!f)g=-1;else g=c[f+36>>2]|0;h=g}else h=c[b+24>>2]|0;if((h|0)<0){j=0;i=d;return j|0}b=c[a>>2]|0;if(h>>>0>=(c[a+4>>2]|0)-b>>2>>>0){j=0;i=d;return j|0}j=c[(c[b+(h<<2)>>2]|0)+8>>2]|0;i=d;return j|0}function wc(a,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,l=0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if((g|0)==(e|0)){h=g;i=e}else{j=g;while(1){g=j+-12|0;c[f>>2]=g;jn(g);g=c[f>>2]|0;if((g|0)==(e|0)){k=g;break}else j=g}h=k;i=c[d>>2]|0}k=(c[a+4>>2]|0)-(c[a>>2]|0)>>2;a=(h-i|0)/12|0;j=i;if(k>>>0<=a>>>0){if(k>>>0<a>>>0?(i=j+(k*12|0)|0,(h|0)!=(i|0)):0){j=h;do{h=j+-12|0;c[f>>2]=h;jn(h);j=c[f>>2]|0}while((j|0)!=(i|0))}}else xc(d,k-a|0);a=c[b+8>>2]|0;if(!a)return;else l=a;do{a=l;kn((c[d>>2]|0)+((c[a+36>>2]|0)*12|0)|0,a+8|0)|0;l=c[l>>2]|0}while((l|0)!=0);return}function xc(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;d=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(((e-g|0)/12|0)>>>0>=b>>>0){h=b;i=g;do{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;i=(c[f>>2]|0)+12|0;c[f>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=c[a>>2]|0;i=((g-h|0)/12|0)+b|0;if(i>>>0>357913941)rn(a);g=(e-h|0)/12|0;if(g>>>0<178956970){e=g<<1;g=e>>>0<i>>>0?i:e;e=((c[f>>2]|0)-h|0)/12|0;if(!g){j=0;k=0;l=e}else{m=g;n=e;o=9}}else{m=357913941;n=((c[f>>2]|0)-h|0)/12|0;o=9}if((o|0)==9){j=m;k=Tn(m*12|0)|0;l=n}n=k+(l*12|0)|0;l=n;m=k+(j*12|0)|0;j=b;b=n;k=l;while(1){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=k+12|0;o=b;j=j+-1|0;if(!j){p=o;break}else k=o}k=m;m=c[a>>2]|0;j=c[f>>2]|0;if((j|0)==(m|0)){q=l;r=m;s=m}else{b=j;j=n;n=l;while(1){l=j+-12|0;b=b+-12|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;j=n+-12|0;l=j;if((b|0)==(m|0)){t=l;break}else n=l}q=t;r=c[a>>2]|0;s=c[f>>2]|0}c[a>>2]=q;c[f>>2]=p;c[d>>2]=k;k=r;if((s|0)!=(k|0)){d=s;do{d=d+-12|0;jn(d)}while((d|0)!=(k|0))}if(!r)return;An(r);return}function yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Tn(56)|0;c[d+16>>2]=9;e=d+20|0;f=d;g=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));f=e;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=b+24|0;if(!(c[f>>2]|0)){c[f>>2]=d;h=b+28|0;c[h>>2]=d;return d|0}f=b+28|0;b=c[f>>2]|0;if(!b){h=f;c[h>>2]=d;return d|0}c[b+20>>2]=d;h=f;c[h>>2]=d;return d|0}function zc(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;f=Tn(56)|0;g=f+16|0;c[g>>2]=9;h=f+20|0;i=f;j=i+16|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0));i=h;j=i+36|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));h=d+24|0;if(c[h>>2]|0){k=d+28|0;l=c[k>>2]|0;if(!l)m=k;else{c[l+20>>2]=f;m=k}}else{c[h>>2]=f;m=d+28|0}c[m>>2]=f;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=4;g=Tn(32)|0;i=g;j=i+32|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0));i=f+24|0;c[i>>2]=g;f=g+8|0;if((f|0)!=(e|0)){Ac(f,c[e>>2]|0,c[e+4>>2]|0);Ac(g+20|0,c[e+12>>2]|0,c[e+16>>2]|0)}e=d+100|0;g=c[e>>2]|0;if((g|0)==(c[d+104>>2]|0)){Bc(d+96|0,i);n=c[i>>2]|0;return n|0}else{c[g>>2]=c[i>>2];c[e>>2]=(c[e>>2]|0)+4;n=c[i>>2]|0;return n|0}return 0}function Ac(a,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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=b;f=d-e>>2;g=a+8|0;h=c[g>>2]|0;i=c[a>>2]|0;j=i;if(f>>>0<=h-i>>2>>>0){k=a+4|0;l=(c[k>>2]|0)-i>>2;m=f>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:d;o=l;p=o-e|0;io(i|0,b|0,p|0)|0;q=j+(p>>2<<2)|0;if(!m){m=c[k>>2]|0;if((m|0)==(q|0))return;c[k>>2]=m+(~((m+-4-q|0)>>>2)<<2);return}if((l|0)==(d|0))return;l=c[k>>2]|0;q=(d+-4-o|0)>>>2;o=n;n=l;while(1){c[n>>2]=c[o>>2];o=o+4|0;if((o|0)==(d|0))break;else n=n+4|0}c[k>>2]=l+(q+1<<2);return}q=i;if(!i)r=h;else{h=a+4|0;l=c[h>>2]|0;if((l|0)!=(j|0))c[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);An(q);c[g>>2]=0;c[h>>2]=0;c[a>>2]=0;r=0}if(f>>>0>1073741823)rn(a);h=r-0|0;if(h>>2>>>0<536870911){r=h>>1;h=r>>>0<f>>>0?f:r;if(h>>>0>1073741823)rn(a);else s=h}else s=1073741823;h=Tn(s<<2)|0;r=a+4|0;c[r>>2]=h;c[a>>2]=h;c[g>>2]=h+(s<<2);if((b|0)==(d|0))return;s=(d+-4-e|0)>>>2;e=b;b=h;while(1){c[b>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else b=b+4|0}c[r>>2]=h+(s+1<<2);return}function Bc(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;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>2)+1|0;if(f>>>0>1073741823)rn(a);g=a+8|0;h=(c[g>>2]|0)-e|0;if(h>>2>>>0<536870911){i=h>>1;h=i>>>0<f>>>0?f:i;i=c[d>>2]|0;f=i-e>>2;if(!h){j=0;k=0;l=f;m=i}else{n=h;o=i;p=f;q=6}}else{f=c[d>>2]|0;n=1073741823;o=f;p=f-e>>2;q=6}if((q|0)==6){j=n;k=Tn(n<<2)|0;l=p;m=o}o=k+(l<<2)|0;c[o>>2]=c[b>>2];b=m-e|0;m=o+(0-(b>>2)<<2)|0;ho(m|0,e|0,b|0)|0;c[a>>2]=m;c[d>>2]=o+4;c[g>>2]=k+(j<<2);if(!e)return;An(e);return}function Cc(a){a=a|0;if((c[a+16>>2]|0)!=1)return;$h(a+24|0);return}function Dc(a){a=a|0;var b=0;if(!a)return;else b=a;do{a=b;b=c[b+20>>2]|0;Ec(a);An(a)}while((b|0)!=0);return}function Ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do switch(c[a+16>>2]|0){case 1:{b=c[a+24>>2]|0;if(!b)return;Fc(b);An(b);return}case 2:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}case 3:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}case 4:{b=a+24|0;d=c[b>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;if((e|0)==(f|0))g=d;else{d=e;do{if((c[d+16>>2]|0)==1)$h(d+24|0);d=d+32|0}while((d|0)!=(f|0));g=c[b>>2]|0}if(g|0){f=c[g>>2]|0;d=f;if(f|0){e=g+4|0;h=c[e>>2]|0;if((h|0)!=(f|0))c[e>>2]=h+(~((h+-32-d|0)>>>5)<<5);An(f)}An(g)}if((c[a+48>>2]|0)!=1)return;$h(a+56|0);return}case 5:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}case 6:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}case 12:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}case 13:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}case 15:{f=a+24|0;d=c[f>>2]|0;if(d|0){Fc(d);An(d)}d=c[f+4>>2]|0;if(!d)return;else i=d;do{d=i;i=c[i+20>>2]|0;Ec(d);An(d)}while((i|0)!=0);return}case 17:{b=c[a+24>>2]|0;if(!b)return;Fc(b);An(b);return}case 21:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}case 22:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}case 24:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}default:return}while(0)}function Fc(a){a=a|0;var b=0,d=0;$h(a);b=c[a+20>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);An(b)}while((d|0)!=0)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;a=c[b>>2]|0;if((a|0)!=(d|0))c[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);An(d);return}function Gc(a){a=a|0;Qa(a|0)|0;On()}function Hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[b+16>>2]=0;f=b+24|0;c[f>>2]=d;c[f+4>>2]=e;e=b;b=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));return}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;c[b+16>>2]=-1;c[b+24>>2]=e;e=b;b=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));return}function Jc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+16>>2]=-2;d=b+24|0;c[d>>2]=e;c[d+4>>2]=f;f=b;b=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));return}function Kc(b,d,e){b=b|0;d=d|0;e=e|0;c[b+16>>2]=-3;c[b+24>>2]=e;e=b;b=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));return}function Lc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+16>>2]=-4;d=b+24|0;c[d>>2]=e;c[d+4>>2]=f;f=b;b=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));return}function Mc(b){b=b|0;var c=0;c=b;b=c+24|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function Nc(b,d){b=b|0;d=d|0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=d;d=b;b=d;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=d+4|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;return}function Oc(b){b=b|0;var d=0,e=0,f=0,g=0;d=Tn(64)|0;e=d+24|0;f=d;g=f+24|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[e>>2]=b;return d|0}function Pc(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=1;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function Qc(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=2;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Rc(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=3;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Tn(64)|0;c[e+16>>2]=4;c[e+20>>2]=0;f=e;g=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[e+24>>2]=b;b=e+32|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];return e|0}function Tc(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=5;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Uc(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=6;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Vc(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=7;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function Wc(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=8;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function Xc(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=9;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function Yc(){var b=0,d=0,e=0;b=Tn(64)|0;c[b+16>>2]=10;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function Zc(){var b=0,d=0,e=0;b=Tn(64)|0;c[b+16>>2]=11;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function _c(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=12;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function $c(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=13;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function ad(){var b=0,d=0,e=0;b=Tn(64)|0;c[b+16>>2]=14;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Tn(64)|0;c[e+16>>2]=15;c[e+20>>2]=0;f=e;g=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[e+24>>2]=b;c[e+28>>2]=d;return e|0}function cd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=Tn(64)|0;c[g+16>>2]=16;c[g+20>>2]=0;h=g;i=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g+24>>2]=b;c[g+28>>2]=d;d=g+32|0;c[d>>2]=e;c[d+4>>2]=f;return g|0}function dd(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=17;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function ed(){var b=0,d=0,e=0;b=Tn(64)|0;c[b+16>>2]=18;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function fd(){var b=0,d=0,e=0;b=Tn(64)|0;c[b+16>>2]=19;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function gd(){var b=0,d=0,e=0;b=Tn(64)|0;c[b+16>>2]=20;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function hd(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=21;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function id(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=22;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function jd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=Tn(64)|0;c[g+16>>2]=23;c[g+20>>2]=0;h=g;i=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g+24>>2]=b;c[g+28>>2]=d;d=g+32|0;c[d>>2]=e;c[d+4>>2]=f;return g|0}function kd(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=24;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=d+24|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];return d|0}function ld(b){b=b|0;var d=0,e=0,f=0;d=Tn(64)|0;c[d+16>>2]=25;c[d+20>>2]=0;e=d;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));c[d+24>>2]=b;return d|0}function md(){var b=0,d=0,e=0;b=Tn(64)|0;c[b+16>>2]=26;c[b+20>>2]=0;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return b|0}function nd(b){b=b|0;var c=0;c=b;b=c+32|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function od(a){a=a|0;var b=0,d=0,e=0,f=0;$h(a);b=c[a+20>>2]|0;d=b;if(b|0){e=a+24|0;f=c[e>>2]|0;if((f|0)!=(b|0))c[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);An(b)}b=c[a+8>>2]|0;if(!b)return;d=a+12|0;a=c[d>>2]|0;if((a|0)!=(b|0))c[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);An(b);return}function pd(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[a+24>>2]|0)==1)$h(a+32|0);b=c[a+52>>2]|0;d=b;if(b|0){e=a+56|0;f=c[e>>2]|0;if((f|0)!=(b|0))c[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);An(b)}b=c[a+40>>2]|0;if(!b)return;d=a+44|0;a=c[d>>2]|0;if((a|0)!=(b|0))c[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);An(b);return}function qd(b){b=b|0;var d=0,e=0,f=0;a[b+8>>0]=0;d=b+100|0;e=b+16|0;f=e+84|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));g[d>>2]=1.0;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+120>>2]=1.0;c[b+124>>2]=0;d=b;b=d;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=d+4|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;return}function rd(a){a=a|0;var b=0,d=0,e=0,f=0;$h(a);b=c[a+124>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);An(b)}while((d|0)!=0)}d=c[a+112>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;jn(d+8|0);An(d)}while((b|0)!=0)}b=a+104|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)An(d);d=c[a+92>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;jn(d+8|0);An(d)}while((b|0)!=0)}b=a+84|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)An(d);d=c[a+72>>2]|0;if(!d){e=a+8|0;pd(e);return}b=a+76|0;f=c[b>>2]|0;if((f|0)!=(d|0))c[b>>2]=f+(~((f+-4-d|0)>>>2)<<2);An(d);e=a+8|0;pd(e);return}function sd(b){b=b|0;var d=0;c[b+8>>2]=-64;a[b+12>>0]=0;c[b+16>>2]=0;d=b;b=d;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=d+4|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;return}function td(a){a=a|0;var b=0,d=0;$h(a);b=c[a+16>>2]|0;if(!b)return;else d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);An(b)}while((d|0)!=0);return}function ud(b){b=b|0;var c=0;c=b;b=c+32|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function vd(a){a=a|0;$h(a);return}function wd(b){b=b|0;var c=0;c=b;b=c+48|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+16>>2]|0)==1)$h(a+24|0);b=c[a+32>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);An(b)}while((d|0)!=0)}d=a+36|0;b=c[d>>2]|0;e=a+40|0;a=c[e>>2]|0;if((b|0)==(a|0))f=b;else{g=b;do{if((c[g+16>>2]|0)==1)$h(g+24|0);g=g+32|0}while((g|0)!=(a|0));f=c[d>>2]|0}if(!f)return;d=c[e>>2]|0;if((d|0)!=(f|0))c[e>>2]=d+(~((d+-32-f|0)>>>5)<<5);An(f);return}function yd(b){b=b|0;var c=0;c=b;b=c+44|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function zd(a){a=a|0;var b=0,d=0;if((c[a+16>>2]|0)==1)$h(a+24|0);b=c[a+32>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Ec(b);An(b)}while((d|0)!=0)}d=c[a+36>>2]|0;if(!d)return;Wn(d);return}function Ad(b){b=b|0;var c=0;c=b;b=c+32|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function Bd(a){a=a|0;$h(a);return}function Cd(b){b=b|0;var c=0;c=b;b=c+24|0;do{a[c>>0]=0;c=c+1|0}while((c|0)<(b|0));return}function Dd(a){a=a|0;var b=0,d=0;$h(a);$h(a+8|0);switch(c[a+16>>2]|0){case 0:{b=c[a+20>>2]|0;if(!b)return;rd(b);An(b);return}case 1:{b=c[a+20>>2]|0;if(!b)return;$h(b);An(b);return}case 2:{b=c[a+20>>2]|0;if(!b)return;$h(b);An(b);return}case 3:{b=c[a+20>>2]|0;if(!b)return;$h(b);a=c[b+16>>2]|0;if(a|0){d=a;do{a=d;d=c[d+20>>2]|0;Ec(a);An(a)}while((d|0)!=0)}An(b);return}default:return}}function Ed(b){b=b|0;var c=0,d=0;c=b;d=c;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;d=c+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;d=b+16|0;b=d+32|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(b|0));return}function Fd(a){a=a|0;$h(a);if((c[a+32>>2]|0)!=1)return;$h(a+40|0);return}function Gd(a){a=a|0;var b=0,d=0,e=0,f=0;do switch(c[a+16>>2]|0){case 0:{b=c[a+24>>2]|0;if(!b)return;rd(b);An(b);return}case 1:{b=c[a+24>>2]|0;if(!b)return;$h(b);d=c[b+16>>2]|0;if(d|0){e=d;do{d=e;e=c[e+20>>2]|0;Ec(d);An(d)}while((e|0)!=0)}An(b);return}case 2:{e=c[a+24>>2]|0;if(!e)return;Dd(e);An(e);return}case 3:{e=c[a+24>>2]|0;if(!e)return;$h(e);if((c[e+32>>2]|0)==1)$h(e+40|0);An(e);return}case 4:{e=c[a+24>>2]|0;if(!e)return;od(e);An(e);return}case 5:{e=c[a+24>>2]|0;if(!e)return;$h(e);An(e);return}case 6:{e=c[a+24>>2]|0;if(!e)return;xd(e);An(e);return}case 7:{e=c[a+24>>2]|0;if(!e)return;$h(e);An(e);return}case 8:{e=c[a+24>>2]|0;if(!e)return;if((c[e+16>>2]|0)==1)$h(e+24|0);d=c[e+32>>2]|0;if(d|0){f=d;do{d=f;f=c[f+20>>2]|0;Ec(d);An(d)}while((f|0)!=0)}f=c[e+36>>2]|0;if(f|0)Wn(f);An(e);return}case 9:{if((c[a+40>>2]|0)!=1)return;$h(a+48|0);return}default:return}while(0)}function Hd(b){b=b|0;var d=0;$n(b+24|0,0,152)|0;g[b+176>>2]=1.0;d=b+180|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+196>>2]=1.0;d=b+200|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+216>>2]=1.0;d=b+220|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+236>>2]=1.0;d=b+240|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+256>>2]=1.0;d=b+260|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;g[b+276>>2]=1.0;d=b;b=d+24|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(b|0));return}function Id(a){a=a|0;var b=0,d=0,e=0,f=0;$h(a+16|0);b=c[a+24>>2]|0;if(b|0){d=b;do{b=d;d=c[d+20>>2]|0;Gd(b);An(b)}while((d|0)!=0)}d=c[a+268>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;jn(d+8|0);An(d)}while((b|0)!=0)}b=a+260|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)An(d);d=c[a+248>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;jn(d+8|0);An(d)}while((b|0)!=0)}b=a+240|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)An(d);d=c[a+228>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;jn(d+8|0);An(d)}while((b|0)!=0)}b=a+220|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)An(d);d=c[a+208>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;jn(d+8|0);An(d)}while((b|0)!=0)}b=a+200|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)An(d);d=c[a+188>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;jn(d+8|0);An(d)}while((b|0)!=0)}b=a+180|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)An(d);d=c[a+168>>2]|0;if(d|0){b=d;do{d=b;b=c[b>>2]|0;jn(d+8|0);An(d)}while((b|0)!=0)}b=a+160|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0)An(d);d=c[a+144>>2]|0;b=d;if(d|0){e=a+148|0;f=c[e>>2]|0;if((f|0)!=(d|0))c[e>>2]=f+(~((f+-4-b|0)>>>2)<<2);An(d)}d=c[a+132>>2]|0;b=d;if(d|0){f=a+136|0;e=c[f>>2]|0;if((e|0)!=(d|0))c[f>>2]=e+(~((e+-4-b|0)>>>2)<<2);An(d)}d=c[a+120>>2]|0;b=d;if(d|0){e=a+124|0;f=c[e>>2]|0;if((f|0)!=(d|0))c[e>>2]=f+(~((f+-4-b|0)>>>2)<<2);An(d)}d=c[a+108>>2]|0;b=d;if(d|0){f=a+112|0;e=c[f>>2]|0;if((e|0)!=(d|0))c[f>>2]=e+(~((e+-4-b|0)>>>2)<<2);An(d)}d=c[a+96>>2]|0;b=d;if(d|0){e=a+100|0;f=c[e>>2]|0;if((f|0)!=(d|0))c[e>>2]=f+(~((f+-4-b|0)>>>2)<<2);An(d)}d=c[a+84>>2]|0;b=d;if(d|0){f=a+88|0;e=c[f>>2]|0;if((e|0)!=(d|0))c[f>>2]=e+(~((e+-4-b|0)>>>2)<<2);An(d)}d=c[a+72>>2]|0;b=d;if(d|0){e=a+76|0;f=c[e>>2]|0;if((f|0)!=(d|0))c[e>>2]=f+(~((f+-4-b|0)>>>2)<<2);An(d)}d=c[a+60>>2]|0;b=d;if(d|0){f=a+64|0;e=c[f>>2]|0;if((e|0)!=(d|0))c[f>>2]=e+(~((e+-4-b|0)>>>2)<<2);An(d)}d=c[a+48>>2]|0;if(!d)return;b=a+52|0;a=c[b>>2]|0;if((a|0)!=(d|0))c[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);An(d);return}function Jd(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Kd(a){a=a|0;var b=0;if(!(c[a>>2]|0)){b=c[a+4>>2]|0;if(!b)return;Id(b);An(b);return}else{$h(a+20|0);b=c[a+28>>2]|0;if(!b)return;Wn(b);return}}function Ld(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Md(b){b=b|0;var d=0,e=0;c[b+16>>2]=1;d=b;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));d=b+24|0;e=d+40|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));return}function Nd(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[a+40>>2]|0)==1)$h(a+48|0);$h(a+56|0);if(c[a+16>>2]|0)return;b=c[a+64>>2]|0;if(!b)return;a=c[b>>2]|0;d=a;if(a|0){e=b+4|0;f=c[e>>2]|0;if((f|0)!=(a|0))c[e>>2]=f+(~((f+-32-d|0)>>>5)<<5);An(a)}An(b);return}function Od(a){a=a|0;c[a>>2]=0;c[a+8>>2]=0;return}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;do switch(c[a>>2]|0){case 0:{b=c[a+8>>2]|0;if(!b)return;Id(b);An(b);return}case 1:{b=c[a+8>>2]|0;if(!b)return;Nd(b);An(b);return}case 2:{$h(a+8|0);if((c[a+32>>2]|0)!=1)return;$h(a+40|0);return}case 3:{b=c[a+8>>2]|0;if(b|0){if(!(c[b>>2]|0)){d=c[b+4>>2]|0;if(d|0){Id(d);An(d)}}else{$h(b+20|0);d=c[b+28>>2]|0;if(d|0)Wn(d)}An(b)}$h(a+12|0);return}case 5:case 4:{b=c[a+8>>2]|0;if(b|0){if(!(c[b>>2]|0)){d=c[b+4>>2]|0;if(d|0){Id(d);An(d)}}else{$h(b+20|0);d=c[b+28>>2]|0;if(d|0)Wn(d)}An(b)}$h(a+12|0);return}case 6:{b=c[a+8>>2]|0;if(b|0){if(!(c[b>>2]|0)){d=c[b+4>>2]|0;if(d|0){Id(d);An(d)}}else{$h(b+20|0);d=c[b+28>>2]|0;if(d|0)Wn(d)}An(b)}$h(a+12|0);return}case 7:{b=c[a+8>>2]|0;if(b|0){if(!(c[b>>2]|0)){d=c[b+4>>2]|0;if(d|0){Id(d);An(d)}}else{$h(b+20|0);d=c[b+28>>2]|0;if(d|0)Wn(d)}An(b)}$h(a+12|0);return}case 8:{b=c[a+8>>2]|0;if(b|0){Nd(b);An(b)}b=c[a+12>>2]|0;if(!b)return;d=c[b>>2]|0;e=d;if(d|0){f=b+4|0;g=c[f>>2]|0;if((g|0)!=(d|0))c[f>>2]=g+(~((g+-32-e|0)>>>5)<<5);An(d)}An(b);return}case 9:{b=c[a+8>>2]|0;if(!b)return;Nd(b);An(b);return}case 10:{b=c[a+8>>2]|0;if(!b)return;Nd(b);An(b);return}case 12:case 11:{b=c[a+8>>2]|0;if(b|0){Nd(b);An(b)}$h(a+12|0);return}default:return}while(0)}function Qd(a){a=a|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;g[a+28>>2]=1.0;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!a){d=0;return d|0}else e=a;while(1){if((Sd(e,b)|0)==1){d=1;f=4;break}e=c[e+20>>2]|0;if(!e){d=0;f=4;break}}if((f|0)==4)return d|0;return 0}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;do switch(c[a+16>>2]|0){case 0:{d=c[b+4>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 1:{d=c[b+8>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}d=c[(c[a+24>>2]|0)+20>>2]|0;a:do if(d|0){f=d;while(1){if((Sd(f,b)|0)==1){e=1;break}f=c[f+20>>2]|0;if(!f)break a}return e|0}while(0);d=c[b+12>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 2:{d=c[b+16>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 3:{d=c[b+20>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 4:{d=c[b+24>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 5:{d=c[b+28>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 6:{d=c[b+32>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 7:{d=c[b+36>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 8:{d=c[b+40>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 9:{d=c[b+44>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 10:{d=c[b+48>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 11:{d=c[b+52>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 12:{d=c[b+56>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 13:{d=c[b+60>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 14:{d=c[b+64>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 15:{d=c[b+68>>2]|0;if(d|0?(ub[d&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}d=a+24|0;f=c[(c[d>>2]|0)+20>>2]|0;b:do if(f|0){g=f;while(1){if((Sd(g,b)|0)==1){e=1;break}g=c[g+20>>2]|0;if(!g)break b}return e|0}while(0);f=c[b+72>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}f=c[d+4>>2]|0;c:do if(f|0){g=f;while(1){if((Sd(g,b)|0)==1){e=1;break}g=c[g+20>>2]|0;if(!g)break c}return e|0}while(0);f=c[b+76>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 16:{f=c[b+80>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 17:{f=c[b+84>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}f=c[(c[a+24>>2]|0)+20>>2]|0;d:do if(f|0){d=f;while(1){if((Sd(d,b)|0)==1){e=1;break}d=c[d+20>>2]|0;if(!d)break d}return e|0}while(0);f=c[b+88>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 18:{f=c[b+92>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 19:{f=c[b+96>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 20:{f=c[b+100>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 21:{f=c[b+104>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 22:{f=c[b+108>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 23:{f=c[b+112>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 24:{f=c[b+116>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 25:{f=c[b+120>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}case 26:{f=c[b+124>>2]|0;if(f|0?(ub[f&255](a,c[b>>2]|0)|0)==1:0){e=1;return e|0}break}default:{}}while(0);e=0;return e|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+124>>2]|0;if(!d){e=0;return e|0}else f=d;while(1){if((Sd(f,b)|0)==1){e=1;g=4;break}f=c[f+20>>2]|0;if(!f){e=0;g=4;break}}if((g|0)==4)return e|0;return 0} // EMSCRIPTEN_END_FUNCS -var jb=[lr,lr,uo,lr,vo,lr,wo,lr,xo,lr,yo,lr,zo,lr,Ao,lr,Bo,lr,Co,lr,Do,lr,hf,kf,Sj,Uj,lr,lr,lr,lr,lr,lr];var kb=[mr,mr,Fo,mr,Go,mr,Ho,mr,Io,mr,Jo,mr,Ko,mr,Lo,mr,Mo,mr,No,mr,Oo,mr,ae,Ye,Ze,of,wf,Vf,Wf,Yf,Zf,ag,pg,ug,vg,xg,Lg,Og,Pg,Vg,ch,fh,mh,oh,ph,Hj,Ij,Yj,ek,Ck,Dk,Fk,Gk,Ik,Wk,$k,al,cl,ql,tl,ul,zl,Il,Ll,Sl,Ul,Vl,bm,am,cm,gm,En,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr,mr];var lb=[nr,nr,Qo,nr,Ro,nr,So,nr,To,nr,Uo,nr,Vo,nr,Wo,nr,Xo,nr,Yo,nr,Zo,nr,Nn,In,nr,nr,nr,nr,nr,nr,nr,nr];var mb=[or,or,$o,or,ap,or,bp,or,cp,or,dp,or,ep,or,fp,or,gp,or,hp,or,ip,or,cc,dc,_d,$d,Se,Te,Uh,Vh,qi,ri,Bj,Cj,yn,Ln,Cn,Dn,An,Qn,Sn,vj,Bn,dm,wn,or,or,or,or,or,or,or,or,or,or,or,or,or,or,or,or,or,or,or];var nb=[pr,pr,kp,pr,lp,pr,mp,pr,np,pr,op,pr,pp,pr,qp,pr,rp,pr,sp,pr,tp,pr,Ve,Ej,xe,pr,pr,pr,pr,pr,pr,pr];var ob=[qr,qr,vp,qr,wp,qr,xp,qr,yp,qr,zp,qr,Ap,qr,Bp,qr,Cp,qr,Dp,qr,Ep,qr,bf,gf,jf,Mj,Rj,Tj,qr,qr,qr,qr];var pb=[rr,rr,Gp,rr,Hp,rr,Ip,rr,Jp,rr,Kp,rr,Lp,rr,Mp,rr,Np,rr,Op,rr,Pp,rr,fc,Xe,_e,cf,lf,pf,tf,xf,Ef,If,Lf,Tf,jg,kg,lg,mg,ng,sg,yg,zg,Ag,Gg,Ig,Sg,_g,hh,lh,Xh,Gj,Jj,Nj,Vj,Zj,bk,fk,mk,qk,tk,Ak,Qk,Rk,Sk,Tk,Uk,Zk,dl,el,fl,ll,nl,wl,El,Nl,Rl,Yl,Tn,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr,rr];var qb=[sr,sr,Rp,sr,Sp,sr,Tp,sr,Up,sr,Vp,sr,Wp,sr,Xp,sr,Yp,sr,Zp,sr,_p,sr,De,Sh,Xl,uj,sr,sr,sr,sr,sr,sr];var rb=[tr,tr,aq,tr,bq,tr,cq,tr,dq,tr,eq,tr,fq,tr,gq,tr,hq,tr,iq,tr,jq,tr,tn,vn,tr,tr,tr,tr,tr,tr,tr,tr];var sb=[ur,ur,lq,ur,mq,ur,nq,ur,oq,ur,pq,ur,qq,ur,rq,ur,sq,ur,tq,ur,uq,ur,ff,sf,Af,Rf,dg,wg,Dg,Yg,ah,dh,gh,jh,nh,qh,si,ui,Qj,ak,ik,yk,Lk,bl,il,Cl,Gl,Jl,Ml,Pl,Tl,Wl,ur,ur,ur,ur,ur,ur,ur,ur,ur,ur,ur,ur];var tb=[vr,vr,wq,vr,xq,vr,yq,vr,zq,vr,Aq,vr,Bq,vr,Cq,vr,Dq,vr,Eq,vr,Fq,vr,Mn,Gn,vr,vr,vr,vr,vr,vr,vr,vr];var ub=[wr,wr,Hq,wr,Iq,wr,Jq,wr,Kq,wr,Lq,wr,Mq,wr,Nq,wr,Oq,wr,Pq,wr,Qq,wr,Ue,We,$e,af,df,ef,mf,nf,qf,rf,uf,vf,yf,zf,Bf,Cf,Df,Ff,Gf,Jf,Kf,Mf,Nf,Of,Qf,Sf,Uf,Xf,_f,bg,cg,fg,gg,hg,ig,og,qg,rg,tg,Bg,Cg,Eg,Fg,Hg,Jg,Kg,Mg,Ng,Rg,Tg,Ug,Wg,Xg,Zg,$g,bh,eh,ih,Dj,Fj,Kj,Lj,Oj,Pj,Wj,Xj,_j,$j,ck,dk,gk,hk,jk,kk,lk,nk,ok,rk,sk,uk,vk,wk,xk,zk,Bk,Ek,Hk,Jk,Kk,Mk,Nk,Ok,Pk,Vk,Xk,Yk,_k,gl,hl,jl,kl,ml,ol,pl,rl,sl,vl,xl,yl,Al,Bl,Dl,Fl,Hl,Kl,Ol,zh,Bh,Ch,Dh,Eh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr,wr];var vb=[xr,xr,Sq,xr,Tq,xr,Uq,xr,Vq,xr,Wq,xr,Xq,xr,Yq,xr,Zq,xr,_q,xr,$q,xr,ec,Hf,kh,Wh,pk,Ql,xr,xr,xr,xr];var wb=[yr,yr,br,yr,cr,yr,dr,yr,er,yr,fr,yr,gr,yr,hr,yr,ir,yr,jr,yr,kr,yr,On,Jn,yr,yr,yr,yr,yr,yr,yr,yr];return{_wabt_destroy_parse_ast_result:Ub,_wabt_destroy_script:Lb,_memset:ao,_bitshift64Lshr:fo,_wabt_output_buffer_get_size:_b,_wabt_source_error_handler_buffer_get_data:Pb,_wabt_parse_ast_result_release_script:Tb,_wabt_write_binary_module_result_release_binary_output_buffer:Wb,_bitshift64Shl:bo,_wabt_new_source_error_handler_buffer:Ob,_wabt_write_binary_module_result_get_result:Vb,_wabt_write_binary_module:Kb,___cxa_is_pointer_type:Zn,_llvm_ctlz_i64:ko,_wabt_new_ast_buffer_lexer:Gb,_bitshift64Ashr:eo,_wabt_validate_script:Jb,_wabt_parse_ast_result_get_result:Sb,_wabt_destroy_source_error_handler_buffer:Rb,_wabt_destroy_ast_lexer:Nb,_wabt_resolve_names_script:Ib,_i64Subtract:$n,_realloc:dn,_i64Add:ho,_saveSetjmp:co,_wabt_write_binary_module_result_release_log_output_buffer:Xb,_wabt_parse_ast:Hb,___errno_location:_l,_testSetjmp:go,___cxa_can_catch:Yn,_wabt_destroy_write_binary_module_result:Yb,_free:cn,_wabt_output_buffer_get_data:Zb,_memmove:jo,_malloc:bn,_memcpy:io,_wabt_destroy_output_buffer:$b,_wabt_source_error_handler_buffer_get_size:Qb,runPostSets:_n,stackAlloc:xb,stackSave:yb,stackRestore:zb,establishStackSpace:Ab,setThrew:Bb,setTempRet0:Eb,getTempRet0:Fb,dynCall_iiiiiiii:to,dynCall_iiii:Eo,dynCall_viiiii:Po,dynCall_vi:_o,dynCall_vii:jp,dynCall_iiiiiii:up,dynCall_ii:Fp,dynCall_viii:Qp,dynCall_v:$p,dynCall_iiiii:kq,dynCall_viiiiii:vq,dynCall_iii:Gq,dynCall_iiiiii:Rq,dynCall_viiii:ar}}) +var jb=[kr,kr,to,kr,uo,kr,vo,kr,wo,kr,xo,kr,yo,kr,zo,kr,Ao,kr,Bo,kr,Co,kr,hf,kf,Rj,Tj,kr,kr,kr,kr,kr,kr];var kb=[lr,lr,Eo,lr,Fo,lr,Go,lr,Ho,lr,Io,lr,Jo,lr,Ko,lr,Lo,lr,Mo,lr,No,lr,ae,Ye,Ze,of,wf,Vf,Wf,Yf,Zf,ag,pg,ug,vg,xg,Lg,Og,Pg,Vg,ch,fh,mh,oh,ph,Gj,Hj,Xj,dk,Bk,Ck,Ek,Fk,Hk,Vk,_k,$k,bl,pl,sl,tl,yl,Hl,Kl,Rl,Tl,Ul,am,$l,bm,fm,Dn,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr,lr];var lb=[mr,mr,Po,mr,Qo,mr,Ro,mr,So,mr,To,mr,Uo,mr,Vo,mr,Wo,mr,Xo,mr,Yo,mr,Mn,Hn,mr,mr,mr,mr,mr,mr,mr,mr];var mb=[nr,nr,_o,nr,$o,nr,ap,nr,bp,nr,cp,nr,dp,nr,ep,nr,fp,nr,gp,nr,hp,nr,cc,dc,_d,$d,Se,Te,Uh,Vh,oi,pi,Aj,Bj,xn,Kn,Bn,Cn,zn,Pn,Rn,uj,An,cm,vn,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr,nr];var nb=[or,or,jp,or,kp,or,lp,or,mp,or,np,or,op,or,pp,or,qp,or,rp,or,sp,or,Ve,Dj,xe,or,or,or,or,or,or,or];var ob=[pr,pr,up,pr,vp,pr,wp,pr,xp,pr,yp,pr,zp,pr,Ap,pr,Bp,pr,Cp,pr,Dp,pr,bf,gf,jf,Lj,Qj,Sj,pr,pr,pr,pr];var pb=[qr,qr,Fp,qr,Gp,qr,Hp,qr,Ip,qr,Jp,qr,Kp,qr,Lp,qr,Mp,qr,Np,qr,Op,qr,fc,Xe,_e,cf,lf,pf,tf,xf,Ef,If,Lf,Tf,jg,kg,lg,mg,ng,sg,yg,zg,Ag,Gg,Ig,Sg,_g,hh,lh,Xh,Fj,Ij,Mj,Uj,Yj,ak,ek,lk,pk,sk,zk,Pk,Qk,Rk,Sk,Tk,Yk,cl,dl,el,kl,ml,vl,Dl,Ml,Ql,Xl,Sn,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr,qr];var qb=[rr,rr,Qp,rr,Rp,rr,Sp,rr,Tp,rr,Up,rr,Vp,rr,Wp,rr,Xp,rr,Yp,rr,Zp,rr,De,Sh,Wl,tj,rr,rr,rr,rr,rr,rr];var rb=[sr,sr,$p,sr,aq,sr,bq,sr,cq,sr,dq,sr,eq,sr,fq,sr,gq,sr,hq,sr,iq,sr,sn,un,sr,sr,sr,sr,sr,sr,sr,sr];var sb=[tr,tr,kq,tr,lq,tr,mq,tr,nq,tr,oq,tr,pq,tr,qq,tr,rq,tr,sq,tr,tq,tr,ff,sf,Af,Rf,dg,wg,Dg,Yg,ah,dh,gh,jh,nh,qh,qi,si,Pj,$j,hk,xk,Kk,al,hl,Bl,Fl,Il,Ll,Ol,Sl,Vl,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr,tr];var tb=[ur,ur,vq,ur,wq,ur,xq,ur,yq,ur,zq,ur,Aq,ur,Bq,ur,Cq,ur,Dq,ur,Eq,ur,Ln,Fn,ur,ur,ur,ur,ur,ur,ur,ur];var ub=[vr,vr,Gq,vr,Hq,vr,Iq,vr,Jq,vr,Kq,vr,Lq,vr,Mq,vr,Nq,vr,Oq,vr,Pq,vr,Ue,We,$e,af,df,ef,mf,nf,qf,rf,uf,vf,yf,zf,Bf,Cf,Df,Ff,Gf,Jf,Kf,Mf,Nf,Of,Qf,Sf,Uf,Xf,_f,bg,cg,fg,gg,hg,ig,og,qg,rg,tg,Bg,Cg,Eg,Fg,Hg,Jg,Kg,Mg,Ng,Rg,Tg,Ug,Wg,Xg,Zg,$g,bh,eh,ih,Cj,Ej,Jj,Kj,Nj,Oj,Vj,Wj,Zj,_j,bk,ck,fk,gk,ik,jk,kk,mk,nk,qk,rk,tk,uk,vk,wk,yk,Ak,Dk,Gk,Ik,Jk,Lk,Mk,Nk,Ok,Uk,Wk,Xk,Zk,fl,gl,il,jl,ll,nl,ol,ql,rl,ul,wl,xl,zl,Al,Cl,El,Gl,Jl,Nl,zh,Bh,Ch,Dh,Eh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr,vr];var vb=[wr,wr,Rq,wr,Sq,wr,Tq,wr,Uq,wr,Vq,wr,Wq,wr,Xq,wr,Yq,wr,Zq,wr,_q,wr,ec,Hf,kh,Wh,ok,Pl,wr,wr,wr,wr];var wb=[xr,xr,ar,xr,br,xr,cr,xr,dr,xr,er,xr,fr,xr,gr,xr,hr,xr,ir,xr,jr,xr,Nn,In,xr,xr,xr,xr,xr,xr,xr,xr];return{_wabt_parse_wast_result_get_result:Sb,_wabt_destroy_script:Lb,_memset:$n,_bitshift64Lshr:eo,_wabt_output_buffer_get_size:_b,_wabt_source_error_handler_buffer_get_data:Pb,_wabt_write_binary_module_result_release_binary_output_buffer:Wb,_bitshift64Shl:ao,_wabt_new_source_error_handler_buffer:Ob,_wabt_write_binary_module_result_get_result:Vb,_wabt_write_binary_module:Kb,___cxa_is_pointer_type:Yn,_llvm_ctlz_i64:jo,_bitshift64Ashr:co,_wabt_validate_script:Jb,_wabt_destroy_source_error_handler_buffer:Rb,_memcpy:ho,_wabt_resolve_names_script:Ib,_wabt_new_wast_buffer_lexer:Gb,_i64Subtract:_n,_realloc:cn,_i64Add:go,_wabt_destroy_parse_wast_result:Ub,_saveSetjmp:bo,_wabt_destroy_wast_lexer:Nb,_wabt_write_binary_module_result_release_log_output_buffer:Xb,___errno_location:Zl,_testSetjmp:fo,___cxa_can_catch:Xn,_wabt_destroy_write_binary_module_result:Yb,_free:bn,_wabt_output_buffer_get_data:Zb,_memmove:io,_wabt_parse_wast_result_release_script:Tb,_malloc:an,_wabt_destroy_output_buffer:$b,_wabt_source_error_handler_buffer_get_size:Qb,_wabt_parse_wast:Hb,runPostSets:Zn,stackAlloc:xb,stackSave:yb,stackRestore:zb,establishStackSpace:Ab,setThrew:Bb,setTempRet0:Eb,getTempRet0:Fb,dynCall_iiiiiiii:so,dynCall_iiii:Do,dynCall_viiiii:Oo,dynCall_vi:Zo,dynCall_vii:ip,dynCall_iiiiiii:tp,dynCall_ii:Ep,dynCall_viii:Pp,dynCall_v:_p,dynCall_iiiii:jq,dynCall_viiiiii:uq,dynCall_iii:Fq,dynCall_iiiiii:Qq,dynCall_viiii:$q}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _wabt_destroy_parse_ast_result=Module["_wabt_destroy_parse_ast_result"]=asm["_wabt_destroy_parse_ast_result"];var _wabt_destroy_script=Module["_wabt_destroy_script"]=asm["_wabt_destroy_script"];var _wabt_validate_script=Module["_wabt_validate_script"]=asm["_wabt_validate_script"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _wabt_output_buffer_get_size=Module["_wabt_output_buffer_get_size"]=asm["_wabt_output_buffer_get_size"];var _wabt_source_error_handler_buffer_get_data=Module["_wabt_source_error_handler_buffer_get_data"]=asm["_wabt_source_error_handler_buffer_get_data"];var _wabt_parse_ast_result_release_script=Module["_wabt_parse_ast_result_release_script"]=asm["_wabt_parse_ast_result_release_script"];var _wabt_write_binary_module_result_release_binary_output_buffer=Module["_wabt_write_binary_module_result_release_binary_output_buffer"]=asm["_wabt_write_binary_module_result_release_binary_output_buffer"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _wabt_new_source_error_handler_buffer=Module["_wabt_new_source_error_handler_buffer"]=asm["_wabt_new_source_error_handler_buffer"];var _wabt_write_binary_module_result_get_result=Module["_wabt_write_binary_module_result_get_result"]=asm["_wabt_write_binary_module_result_get_result"];var _wabt_write_binary_module=Module["_wabt_write_binary_module"]=asm["_wabt_write_binary_module"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _llvm_ctlz_i64=Module["_llvm_ctlz_i64"]=asm["_llvm_ctlz_i64"];var _wabt_new_ast_buffer_lexer=Module["_wabt_new_ast_buffer_lexer"]=asm["_wabt_new_ast_buffer_lexer"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var _wabt_parse_ast_result_get_result=Module["_wabt_parse_ast_result_get_result"]=asm["_wabt_parse_ast_result_get_result"];var _wabt_destroy_source_error_handler_buffer=Module["_wabt_destroy_source_error_handler_buffer"]=asm["_wabt_destroy_source_error_handler_buffer"];var _wabt_destroy_ast_lexer=Module["_wabt_destroy_ast_lexer"]=asm["_wabt_destroy_ast_lexer"];var _wabt_resolve_names_script=Module["_wabt_resolve_names_script"]=asm["_wabt_resolve_names_script"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _wabt_write_binary_module_result_release_log_output_buffer=Module["_wabt_write_binary_module_result_release_log_output_buffer"]=asm["_wabt_write_binary_module_result_release_log_output_buffer"];var _wabt_parse_ast=Module["_wabt_parse_ast"]=asm["_wabt_parse_ast"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _wabt_destroy_write_binary_module_result=Module["_wabt_destroy_write_binary_module_result"]=asm["_wabt_destroy_write_binary_module_result"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _wabt_output_buffer_get_data=Module["_wabt_output_buffer_get_data"]=asm["_wabt_output_buffer_get_data"];var _memmove=Module["_memmove"]=asm["_memmove"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _wabt_destroy_output_buffer=Module["_wabt_destroy_output_buffer"]=asm["_wabt_destroy_output_buffer"];var _wabt_source_error_handler_buffer_get_size=Module["_wabt_source_error_handler_buffer_get_size"]=asm["_wabt_source_error_handler_buffer_get_size"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];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.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run() +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _wabt_parse_wast_result_get_result=Module["_wabt_parse_wast_result_get_result"]=asm["_wabt_parse_wast_result_get_result"];var _wabt_destroy_script=Module["_wabt_destroy_script"]=asm["_wabt_destroy_script"];var _wabt_validate_script=Module["_wabt_validate_script"]=asm["_wabt_validate_script"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _wabt_output_buffer_get_size=Module["_wabt_output_buffer_get_size"]=asm["_wabt_output_buffer_get_size"];var _wabt_source_error_handler_buffer_get_data=Module["_wabt_source_error_handler_buffer_get_data"]=asm["_wabt_source_error_handler_buffer_get_data"];var _wabt_write_binary_module_result_release_binary_output_buffer=Module["_wabt_write_binary_module_result_release_binary_output_buffer"]=asm["_wabt_write_binary_module_result_release_binary_output_buffer"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _wabt_new_source_error_handler_buffer=Module["_wabt_new_source_error_handler_buffer"]=asm["_wabt_new_source_error_handler_buffer"];var _wabt_write_binary_module_result_get_result=Module["_wabt_write_binary_module_result_get_result"]=asm["_wabt_write_binary_module_result_get_result"];var _wabt_write_binary_module=Module["_wabt_write_binary_module"]=asm["_wabt_write_binary_module"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _llvm_ctlz_i64=Module["_llvm_ctlz_i64"]=asm["_llvm_ctlz_i64"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var _wabt_destroy_source_error_handler_buffer=Module["_wabt_destroy_source_error_handler_buffer"]=asm["_wabt_destroy_source_error_handler_buffer"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _wabt_resolve_names_script=Module["_wabt_resolve_names_script"]=asm["_wabt_resolve_names_script"];var _wabt_new_wast_buffer_lexer=Module["_wabt_new_wast_buffer_lexer"]=asm["_wabt_new_wast_buffer_lexer"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _wabt_destroy_parse_wast_result=Module["_wabt_destroy_parse_wast_result"]=asm["_wabt_destroy_parse_wast_result"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _wabt_destroy_wast_lexer=Module["_wabt_destroy_wast_lexer"]=asm["_wabt_destroy_wast_lexer"];var _wabt_write_binary_module_result_release_log_output_buffer=Module["_wabt_write_binary_module_result_release_log_output_buffer"]=asm["_wabt_write_binary_module_result_release_log_output_buffer"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _wabt_destroy_write_binary_module_result=Module["_wabt_destroy_write_binary_module_result"]=asm["_wabt_destroy_write_binary_module_result"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _wabt_output_buffer_get_data=Module["_wabt_output_buffer_get_data"]=asm["_wabt_output_buffer_get_data"];var _memmove=Module["_memmove"]=asm["_memmove"];var _wabt_parse_wast_result_release_script=Module["_wabt_parse_wast_result_release_script"]=asm["_wabt_parse_wast_result_release_script"];var _malloc=Module["_malloc"]=asm["_malloc"];var _wabt_destroy_output_buffer=Module["_wabt_destroy_output_buffer"]=asm["_wabt_destroy_output_buffer"];var _wabt_source_error_handler_buffer_get_size=Module["_wabt_source_error_handler_buffer_get_size"]=asm["_wabt_source_error_handler_buffer_get_size"];var _wabt_parse_wast=Module["_wabt_parse_wast"]=asm["_wabt_parse_wast"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];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.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run() diff --git a/fuzz-in/wasm/stuff.wasm b/fuzz-in/wasm/stuff.wasm Binary files differindex 334bb491..3f1e99e7 100644 --- a/fuzz-in/wasm/stuff.wasm +++ b/fuzz-in/wasm/stuff.wasm diff --git a/src/apply-names.cc b/src/apply-names.cc index e3bfc964..894ad273 100644 --- a/src/apply-names.cc +++ b/src/apply-names.cc @@ -21,7 +21,7 @@ #include <vector> -#include "ast.h" +#include "ir.h" #define CHECK_RESULT(expr) \ do { \ diff --git a/src/binary-reader-ast.cc b/src/binary-reader-ir.cc index 2aafc341..b39dd89b 100644 --- a/src/binary-reader-ast.cc +++ b/src/binary-reader-ir.cc @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "binary-reader-ast.h" +#include "binary-reader-ir.h" #include <assert.h> #include <inttypes.h> @@ -24,10 +24,10 @@ #include <vector> -#include "ast.h" #include "binary-error-handler.h" #include "binary-reader-nop.h" #include "common.h" +#include "ir.h" #define CHECK_RESULT(expr) \ do { \ @@ -50,9 +50,9 @@ struct LabelNode { LabelNode::LabelNode(LabelType label_type, Expr** first) : label_type(label_type), first(first), last(nullptr) {} -class BinaryReaderAST : public BinaryReaderNop { +class BinaryReaderIR : public BinaryReaderNop { public: - BinaryReaderAST(Module* out_module, BinaryErrorHandler* error_handler); + BinaryReaderIR(Module* out_module, BinaryErrorHandler* error_handler); virtual bool OnError(const char* message); @@ -208,22 +208,22 @@ class BinaryReaderAST : public BinaryReaderNop { Expr** current_init_expr = nullptr; }; -BinaryReaderAST::BinaryReaderAST(Module* out_module, +BinaryReaderIR::BinaryReaderIR(Module* out_module, BinaryErrorHandler* error_handler) : error_handler(error_handler), module(out_module) {} -void WABT_PRINTF_FORMAT(2, 3) BinaryReaderAST::PrintError(const char* format, +void WABT_PRINTF_FORMAT(2, 3) BinaryReaderIR::PrintError(const char* format, ...) { WABT_SNPRINTF_ALLOCA(buffer, length, format); HandleError(WABT_UNKNOWN_OFFSET, buffer); } -void BinaryReaderAST::PushLabel(LabelType label_type, Expr** first) { +void BinaryReaderIR::PushLabel(LabelType label_type, Expr** first) { max_depth++; label_stack.emplace_back(label_type, first); } -Result BinaryReaderAST::PopLabel() { +Result BinaryReaderIR::PopLabel() { if (label_stack.size() == 0) { PrintError("popping empty label stack"); return Result::Error; @@ -234,7 +234,7 @@ Result BinaryReaderAST::PopLabel() { return Result::Ok; } -Result BinaryReaderAST::GetLabelAt(LabelNode** label, uint32_t depth) { +Result BinaryReaderIR::GetLabelAt(LabelNode** label, uint32_t depth) { if (depth >= label_stack.size()) { PrintError("accessing stack depth: %u >= max: %" PRIzd, depth, label_stack.size()); @@ -245,11 +245,11 @@ Result BinaryReaderAST::GetLabelAt(LabelNode** label, uint32_t depth) { return Result::Ok; } -Result BinaryReaderAST::TopLabel(LabelNode** label) { +Result BinaryReaderIR::TopLabel(LabelNode** label) { return GetLabelAt(label, 0); } -Result BinaryReaderAST::AppendExpr(Expr* expr) { +Result BinaryReaderIR::AppendExpr(Expr* expr) { LabelNode* label; if (WABT_FAILED(TopLabel(&label))) { delete expr; @@ -264,20 +264,20 @@ Result BinaryReaderAST::AppendExpr(Expr* expr) { return Result::Ok; } -bool BinaryReaderAST::HandleError(uint32_t offset, const char* message) { +bool BinaryReaderIR::HandleError(uint32_t offset, const char* message) { return error_handler->OnError(offset, message); } -bool BinaryReaderAST::OnError(const char* message) { +bool BinaryReaderIR::OnError(const char* message) { return HandleError(state->offset, message); } -Result BinaryReaderAST::OnTypeCount(uint32_t count) { +Result BinaryReaderIR::OnTypeCount(uint32_t count) { module->func_types.reserve(count); return Result::Ok; } -Result BinaryReaderAST::OnType(uint32_t index, +Result BinaryReaderIR::OnType(uint32_t index, uint32_t param_count, Type* param_types, uint32_t result_count, @@ -293,12 +293,12 @@ Result BinaryReaderAST::OnType(uint32_t index, return Result::Ok; } -Result BinaryReaderAST::OnImportCount(uint32_t count) { +Result BinaryReaderIR::OnImportCount(uint32_t count) { module->imports.reserve(count); return Result::Ok; } -Result BinaryReaderAST::OnImport(uint32_t index, +Result BinaryReaderIR::OnImport(uint32_t index, StringSlice module_name, StringSlice field_name) { ModuleField* field = append_module_field(module); @@ -312,7 +312,7 @@ Result BinaryReaderAST::OnImport(uint32_t index, return Result::Ok; } -Result BinaryReaderAST::OnImportFunc(uint32_t import_index, +Result BinaryReaderIR::OnImportFunc(uint32_t import_index, StringSlice module_name, StringSlice field_name, uint32_t func_index, @@ -332,7 +332,7 @@ Result BinaryReaderAST::OnImportFunc(uint32_t import_index, return Result::Ok; } -Result BinaryReaderAST::OnImportTable(uint32_t import_index, +Result BinaryReaderIR::OnImportTable(uint32_t import_index, StringSlice module_name, StringSlice field_name, uint32_t table_index, @@ -348,7 +348,7 @@ Result BinaryReaderAST::OnImportTable(uint32_t import_index, return Result::Ok; } -Result BinaryReaderAST::OnImportMemory(uint32_t import_index, +Result BinaryReaderIR::OnImportMemory(uint32_t import_index, StringSlice module_name, StringSlice field_name, uint32_t memory_index, @@ -363,7 +363,7 @@ Result BinaryReaderAST::OnImportMemory(uint32_t import_index, return Result::Ok; } -Result BinaryReaderAST::OnImportGlobal(uint32_t import_index, +Result BinaryReaderIR::OnImportGlobal(uint32_t import_index, StringSlice module_name, StringSlice field_name, uint32_t global_index, @@ -380,12 +380,12 @@ Result BinaryReaderAST::OnImportGlobal(uint32_t import_index, return Result::Ok; } -Result BinaryReaderAST::OnFunctionCount(uint32_t count) { +Result BinaryReaderIR::OnFunctionCount(uint32_t count) { module->funcs.reserve(module->num_func_imports + count); return Result::Ok; } -Result BinaryReaderAST::OnFunction(uint32_t index, uint32_t sig_index) { +Result BinaryReaderIR::OnFunction(uint32_t index, uint32_t sig_index) { ModuleField* field = append_module_field(module); field->type = ModuleFieldType::Func; field->func = new Func(); @@ -400,12 +400,12 @@ Result BinaryReaderAST::OnFunction(uint32_t index, uint32_t sig_index) { return Result::Ok; } -Result BinaryReaderAST::OnTableCount(uint32_t count) { +Result BinaryReaderIR::OnTableCount(uint32_t count) { module->tables.reserve(module->num_table_imports + count); return Result::Ok; } -Result BinaryReaderAST::OnTable(uint32_t index, +Result BinaryReaderIR::OnTable(uint32_t index, Type elem_type, const Limits* elem_limits) { ModuleField* field = append_module_field(module); @@ -416,12 +416,12 @@ Result BinaryReaderAST::OnTable(uint32_t index, return Result::Ok; } -Result BinaryReaderAST::OnMemoryCount(uint32_t count) { +Result BinaryReaderIR::OnMemoryCount(uint32_t count) { module->memories.reserve(module->num_memory_imports + count); return Result::Ok; } -Result BinaryReaderAST::OnMemory(uint32_t index, const Limits* page_limits) { +Result BinaryReaderIR::OnMemory(uint32_t index, const Limits* page_limits) { ModuleField* field = append_module_field(module); field->type = ModuleFieldType::Memory; field->memory = new Memory(); @@ -430,12 +430,12 @@ Result BinaryReaderAST::OnMemory(uint32_t index, const Limits* page_limits) { return Result::Ok; } -Result BinaryReaderAST::OnGlobalCount(uint32_t count) { +Result BinaryReaderIR::OnGlobalCount(uint32_t count) { module->globals.reserve(module->num_global_imports + count); return Result::Ok; } -Result BinaryReaderAST::BeginGlobal(uint32_t index, Type type, bool mutable_) { +Result BinaryReaderIR::BeginGlobal(uint32_t index, Type type, bool mutable_) { ModuleField* field = append_module_field(module); field->type = ModuleFieldType::Global; field->global = new Global(); @@ -445,24 +445,24 @@ Result BinaryReaderAST::BeginGlobal(uint32_t index, Type type, bool mutable_) { return Result::Ok; } -Result BinaryReaderAST::BeginGlobalInitExpr(uint32_t index) { +Result BinaryReaderIR::BeginGlobalInitExpr(uint32_t index) { assert(index == module->globals.size() - 1); Global* global = module->globals[index]; current_init_expr = &global->init_expr; return Result::Ok; } -Result BinaryReaderAST::EndGlobalInitExpr(uint32_t index) { +Result BinaryReaderIR::EndGlobalInitExpr(uint32_t index) { current_init_expr = nullptr; return Result::Ok; } -Result BinaryReaderAST::OnExportCount(uint32_t count) { +Result BinaryReaderIR::OnExportCount(uint32_t count) { module->exports.reserve(count); return Result::Ok; } -Result BinaryReaderAST::OnExport(uint32_t index, +Result BinaryReaderIR::OnExport(uint32_t index, ExternalKind kind, uint32_t item_index, StringSlice name) { @@ -493,7 +493,7 @@ Result BinaryReaderAST::OnExport(uint32_t index, return Result::Ok; } -Result BinaryReaderAST::OnStartFunction(uint32_t func_index) { +Result BinaryReaderIR::OnStartFunction(uint32_t func_index) { ModuleField* field = append_module_field(module); field->type = ModuleFieldType::Start; @@ -505,18 +505,18 @@ Result BinaryReaderAST::OnStartFunction(uint32_t func_index) { return Result::Ok; } -Result BinaryReaderAST::OnFunctionBodyCount(uint32_t count) { +Result BinaryReaderIR::OnFunctionBodyCount(uint32_t count) { assert(module->num_func_imports + count == module->funcs.size()); return Result::Ok; } -Result BinaryReaderAST::BeginFunctionBody(uint32_t index) { +Result BinaryReaderIR::BeginFunctionBody(uint32_t index) { current_func = module->funcs[index]; PushLabel(LabelType::Func, ¤t_func->first_expr); return Result::Ok; } -Result BinaryReaderAST::OnLocalDecl(uint32_t decl_index, +Result BinaryReaderIR::OnLocalDecl(uint32_t decl_index, uint32_t count, Type type) { TypeVector& types = current_func->local_types; @@ -526,12 +526,12 @@ Result BinaryReaderAST::OnLocalDecl(uint32_t decl_index, return Result::Ok; } -Result BinaryReaderAST::OnBinaryExpr(Opcode opcode) { +Result BinaryReaderIR::OnBinaryExpr(Opcode opcode) { Expr* expr = Expr::CreateBinary(opcode); return AppendExpr(expr); } -Result BinaryReaderAST::OnBlockExpr(uint32_t num_types, Type* sig_types) { +Result BinaryReaderIR::OnBlockExpr(uint32_t num_types, Type* sig_types) { Expr* expr = Expr::CreateBlock(new Block()); expr->block->sig.assign(sig_types, sig_types + num_types); AppendExpr(expr); @@ -539,17 +539,17 @@ Result BinaryReaderAST::OnBlockExpr(uint32_t num_types, Type* sig_types) { return Result::Ok; } -Result BinaryReaderAST::OnBrExpr(uint32_t depth) { +Result BinaryReaderIR::OnBrExpr(uint32_t depth) { Expr* expr = Expr::CreateBr(Var(depth)); return AppendExpr(expr); } -Result BinaryReaderAST::OnBrIfExpr(uint32_t depth) { +Result BinaryReaderIR::OnBrIfExpr(uint32_t depth) { Expr* expr = Expr::CreateBrIf(Var(depth)); return AppendExpr(expr); } -Result BinaryReaderAST::OnBrTableExpr(uint32_t num_targets, +Result BinaryReaderIR::OnBrTableExpr(uint32_t num_targets, uint32_t* target_depths, uint32_t default_target_depth) { VarVector* targets = new VarVector(); @@ -561,39 +561,39 @@ Result BinaryReaderAST::OnBrTableExpr(uint32_t num_targets, return AppendExpr(expr); } -Result BinaryReaderAST::OnCallExpr(uint32_t func_index) { +Result BinaryReaderIR::OnCallExpr(uint32_t func_index) { assert(func_index < module->funcs.size()); Expr* expr = Expr::CreateCall(Var(func_index)); return AppendExpr(expr); } -Result BinaryReaderAST::OnCallIndirectExpr(uint32_t sig_index) { +Result BinaryReaderIR::OnCallIndirectExpr(uint32_t sig_index) { assert(sig_index < module->func_types.size()); Expr* expr = Expr::CreateCallIndirect(Var(sig_index)); return AppendExpr(expr); } -Result BinaryReaderAST::OnCompareExpr(Opcode opcode) { +Result BinaryReaderIR::OnCompareExpr(Opcode opcode) { Expr* expr = Expr::CreateCompare(opcode); return AppendExpr(expr); } -Result BinaryReaderAST::OnConvertExpr(Opcode opcode) { +Result BinaryReaderIR::OnConvertExpr(Opcode opcode) { Expr* expr = Expr::CreateConvert(opcode); return AppendExpr(expr); } -Result BinaryReaderAST::OnCurrentMemoryExpr() { +Result BinaryReaderIR::OnCurrentMemoryExpr() { Expr* expr = Expr::CreateCurrentMemory(); return AppendExpr(expr); } -Result BinaryReaderAST::OnDropExpr() { +Result BinaryReaderIR::OnDropExpr() { Expr* expr = Expr::CreateDrop(); return AppendExpr(expr); } -Result BinaryReaderAST::OnElseExpr() { +Result BinaryReaderIR::OnElseExpr() { LabelNode* label; CHECK_RESULT(TopLabel(&label)); if (label->label_type != LabelType::If) { @@ -611,46 +611,46 @@ Result BinaryReaderAST::OnElseExpr() { return Result::Ok; } -Result BinaryReaderAST::OnEndExpr() { +Result BinaryReaderIR::OnEndExpr() { return PopLabel(); } -Result BinaryReaderAST::OnF32ConstExpr(uint32_t value_bits) { +Result BinaryReaderIR::OnF32ConstExpr(uint32_t value_bits) { Expr* expr = Expr::CreateConst(Const(Const::F32(), value_bits)); return AppendExpr(expr); } -Result BinaryReaderAST::OnF64ConstExpr(uint64_t value_bits) { +Result BinaryReaderIR::OnF64ConstExpr(uint64_t value_bits) { Expr* expr = Expr::CreateConst(Const(Const::F64(), value_bits)); return AppendExpr(expr); } -Result BinaryReaderAST::OnGetGlobalExpr(uint32_t global_index) { +Result BinaryReaderIR::OnGetGlobalExpr(uint32_t global_index) { Expr* expr = Expr::CreateGetGlobal(Var(global_index)); return AppendExpr(expr); } -Result BinaryReaderAST::OnGetLocalExpr(uint32_t local_index) { +Result BinaryReaderIR::OnGetLocalExpr(uint32_t local_index) { Expr* expr = Expr::CreateGetLocal(Var(local_index)); return AppendExpr(expr); } -Result BinaryReaderAST::OnGrowMemoryExpr() { +Result BinaryReaderIR::OnGrowMemoryExpr() { Expr* expr = Expr::CreateGrowMemory(); return AppendExpr(expr); } -Result BinaryReaderAST::OnI32ConstExpr(uint32_t value) { +Result BinaryReaderIR::OnI32ConstExpr(uint32_t value) { Expr* expr = Expr::CreateConst(Const(Const::I32(), value)); return AppendExpr(expr); } -Result BinaryReaderAST::OnI64ConstExpr(uint64_t value) { +Result BinaryReaderIR::OnI64ConstExpr(uint64_t value) { Expr* expr = Expr::CreateConst(Const(Const::I64(), value)); return AppendExpr(expr); } -Result BinaryReaderAST::OnIfExpr(uint32_t num_types, Type* sig_types) { +Result BinaryReaderIR::OnIfExpr(uint32_t num_types, Type* sig_types) { Expr* expr = Expr::CreateIf(new Block()); expr->if_.true_->sig.assign(sig_types, sig_types + num_types); expr->if_.false_ = nullptr; @@ -659,14 +659,14 @@ Result BinaryReaderAST::OnIfExpr(uint32_t num_types, Type* sig_types) { return Result::Ok; } -Result BinaryReaderAST::OnLoadExpr(Opcode opcode, +Result BinaryReaderIR::OnLoadExpr(Opcode opcode, uint32_t alignment_log2, uint32_t offset) { Expr* expr = Expr::CreateLoad(opcode, 1 << alignment_log2, offset); return AppendExpr(expr); } -Result BinaryReaderAST::OnLoopExpr(uint32_t num_types, Type* sig_types) { +Result BinaryReaderIR::OnLoopExpr(uint32_t num_types, Type* sig_types) { Expr* expr = Expr::CreateLoop(new Block()); expr->loop->sig.assign(sig_types, sig_types + num_types); AppendExpr(expr); @@ -674,65 +674,65 @@ Result BinaryReaderAST::OnLoopExpr(uint32_t num_types, Type* sig_types) { return Result::Ok; } -Result BinaryReaderAST::OnNopExpr() { +Result BinaryReaderIR::OnNopExpr() { Expr* expr = Expr::CreateNop(); return AppendExpr(expr); } -Result BinaryReaderAST::OnReturnExpr() { +Result BinaryReaderIR::OnReturnExpr() { Expr* expr = Expr::CreateReturn(); return AppendExpr(expr); } -Result BinaryReaderAST::OnSelectExpr() { +Result BinaryReaderIR::OnSelectExpr() { Expr* expr = Expr::CreateSelect(); return AppendExpr(expr); } -Result BinaryReaderAST::OnSetGlobalExpr(uint32_t global_index) { +Result BinaryReaderIR::OnSetGlobalExpr(uint32_t global_index) { Expr* expr = Expr::CreateSetGlobal(Var(global_index)); return AppendExpr(expr); } -Result BinaryReaderAST::OnSetLocalExpr(uint32_t local_index) { +Result BinaryReaderIR::OnSetLocalExpr(uint32_t local_index) { Expr* expr = Expr::CreateSetLocal(Var(local_index)); return AppendExpr(expr); } -Result BinaryReaderAST::OnStoreExpr(Opcode opcode, +Result BinaryReaderIR::OnStoreExpr(Opcode opcode, uint32_t alignment_log2, uint32_t offset) { Expr* expr = Expr::CreateStore(opcode, 1 << alignment_log2, offset); return AppendExpr(expr); } -Result BinaryReaderAST::OnTeeLocalExpr(uint32_t local_index) { +Result BinaryReaderIR::OnTeeLocalExpr(uint32_t local_index) { Expr* expr = Expr::CreateTeeLocal(Var(local_index)); return AppendExpr(expr); } -Result BinaryReaderAST::OnUnaryExpr(Opcode opcode) { +Result BinaryReaderIR::OnUnaryExpr(Opcode opcode) { Expr* expr = Expr::CreateUnary(opcode); return AppendExpr(expr); } -Result BinaryReaderAST::OnUnreachableExpr() { +Result BinaryReaderIR::OnUnreachableExpr() { Expr* expr = Expr::CreateUnreachable(); return AppendExpr(expr); } -Result BinaryReaderAST::EndFunctionBody(uint32_t index) { +Result BinaryReaderIR::EndFunctionBody(uint32_t index) { CHECK_RESULT(PopLabel()); current_func = nullptr; return Result::Ok; } -Result BinaryReaderAST::OnElemSegmentCount(uint32_t count) { +Result BinaryReaderIR::OnElemSegmentCount(uint32_t count) { module->elem_segments.reserve(count); return Result::Ok; } -Result BinaryReaderAST::BeginElemSegment(uint32_t index, uint32_t table_index) { +Result BinaryReaderIR::BeginElemSegment(uint32_t index, uint32_t table_index) { ModuleField* field = append_module_field(module); field->type = ModuleFieldType::ElemSegment; field->elem_segment = new ElemSegment(); @@ -742,19 +742,19 @@ Result BinaryReaderAST::BeginElemSegment(uint32_t index, uint32_t table_index) { return Result::Ok; } -Result BinaryReaderAST::BeginElemSegmentInitExpr(uint32_t index) { +Result BinaryReaderIR::BeginElemSegmentInitExpr(uint32_t index) { assert(index == module->elem_segments.size() - 1); ElemSegment* segment = module->elem_segments[index]; current_init_expr = &segment->offset; return Result::Ok; } -Result BinaryReaderAST::EndElemSegmentInitExpr(uint32_t index) { +Result BinaryReaderIR::EndElemSegmentInitExpr(uint32_t index) { current_init_expr = nullptr; return Result::Ok; } -Result BinaryReaderAST::OnElemSegmentFunctionIndexCount(uint32_t index, +Result BinaryReaderIR::OnElemSegmentFunctionIndexCount(uint32_t index, uint32_t count) { assert(index == module->elem_segments.size() - 1); ElemSegment* segment = module->elem_segments[index]; @@ -762,7 +762,7 @@ Result BinaryReaderAST::OnElemSegmentFunctionIndexCount(uint32_t index, return Result::Ok; } -Result BinaryReaderAST::OnElemSegmentFunctionIndex(uint32_t index, +Result BinaryReaderIR::OnElemSegmentFunctionIndex(uint32_t index, uint32_t func_index) { assert(index == module->elem_segments.size() - 1); ElemSegment* segment = module->elem_segments[index]; @@ -773,12 +773,12 @@ Result BinaryReaderAST::OnElemSegmentFunctionIndex(uint32_t index, return Result::Ok; } -Result BinaryReaderAST::OnDataSegmentCount(uint32_t count) { +Result BinaryReaderIR::OnDataSegmentCount(uint32_t count) { module->data_segments.reserve(count); return Result::Ok; } -Result BinaryReaderAST::BeginDataSegment(uint32_t index, +Result BinaryReaderIR::BeginDataSegment(uint32_t index, uint32_t memory_index) { ModuleField* field = append_module_field(module); field->type = ModuleFieldType::DataSegment; @@ -789,19 +789,19 @@ Result BinaryReaderAST::BeginDataSegment(uint32_t index, return Result::Ok; } -Result BinaryReaderAST::BeginDataSegmentInitExpr(uint32_t index) { +Result BinaryReaderIR::BeginDataSegmentInitExpr(uint32_t index) { assert(index == module->data_segments.size() - 1); DataSegment* segment = module->data_segments[index]; current_init_expr = &segment->offset; return Result::Ok; } -Result BinaryReaderAST::EndDataSegmentInitExpr(uint32_t index) { +Result BinaryReaderIR::EndDataSegmentInitExpr(uint32_t index) { current_init_expr = nullptr; return Result::Ok; } -Result BinaryReaderAST::OnDataSegmentData(uint32_t index, +Result BinaryReaderIR::OnDataSegmentData(uint32_t index, const void* data, uint32_t size) { assert(index == module->data_segments.size() - 1); @@ -812,7 +812,7 @@ Result BinaryReaderAST::OnDataSegmentData(uint32_t index, return Result::Ok; } -Result BinaryReaderAST::OnFunctionNamesCount(uint32_t count) { +Result BinaryReaderIR::OnFunctionNamesCount(uint32_t count) { if (count > module->funcs.size()) { PrintError("expected function name count (%u) <= function count (%" PRIzd ")", @@ -822,7 +822,7 @@ Result BinaryReaderAST::OnFunctionNamesCount(uint32_t count) { return Result::Ok; } -Result BinaryReaderAST::OnFunctionName(uint32_t index, StringSlice name) { +Result BinaryReaderIR::OnFunctionName(uint32_t index, StringSlice name) { if (string_slice_is_empty(&name)) return Result::Ok; @@ -832,7 +832,7 @@ Result BinaryReaderAST::OnFunctionName(uint32_t index, StringSlice name) { return Result::Ok; } -Result BinaryReaderAST::OnLocalNameLocalCount(uint32_t index, uint32_t count) { +Result BinaryReaderIR::OnLocalNameLocalCount(uint32_t index, uint32_t count) { assert(index < module->funcs.size()); Func* func = module->funcs[index]; uint32_t num_params_and_locals = get_num_params_and_locals(func); @@ -844,33 +844,33 @@ Result BinaryReaderAST::OnLocalNameLocalCount(uint32_t index, uint32_t count) { return Result::Ok; } -Result BinaryReaderAST::OnInitExprF32ConstExpr(uint32_t index, uint32_t value) { +Result BinaryReaderIR::OnInitExprF32ConstExpr(uint32_t index, uint32_t value) { *current_init_expr = Expr::CreateConst(Const(Const::F32(), value)); return Result::Ok; } -Result BinaryReaderAST::OnInitExprF64ConstExpr(uint32_t index, uint64_t value) { +Result BinaryReaderIR::OnInitExprF64ConstExpr(uint32_t index, uint64_t value) { *current_init_expr = Expr::CreateConst(Const(Const::F64(), value)); return Result::Ok; } -Result BinaryReaderAST::OnInitExprGetGlobalExpr(uint32_t index, +Result BinaryReaderIR::OnInitExprGetGlobalExpr(uint32_t index, uint32_t global_index) { *current_init_expr = Expr::CreateGetGlobal(Var(global_index)); return Result::Ok; } -Result BinaryReaderAST::OnInitExprI32ConstExpr(uint32_t index, uint32_t value) { +Result BinaryReaderIR::OnInitExprI32ConstExpr(uint32_t index, uint32_t value) { *current_init_expr = Expr::CreateConst(Const(Const::I32(), value)); return Result::Ok; } -Result BinaryReaderAST::OnInitExprI64ConstExpr(uint32_t index, uint64_t value) { +Result BinaryReaderIR::OnInitExprI64ConstExpr(uint32_t index, uint64_t value) { *current_init_expr = Expr::CreateConst(Const(Const::I64(), value)); return Result::Ok; } -Result BinaryReaderAST::OnLocalName(uint32_t func_index, +Result BinaryReaderIR::OnLocalName(uint32_t func_index, uint32_t local_index, StringSlice name) { if (string_slice_is_empty(&name)) @@ -895,12 +895,12 @@ Result BinaryReaderAST::OnLocalName(uint32_t func_index, } // namespace -Result read_binary_ast(const void* data, - size_t size, - const ReadBinaryOptions* options, - BinaryErrorHandler* error_handler, - struct Module* out_module) { - BinaryReaderAST reader(out_module, error_handler); +Result read_binary_ir(const void* data, + size_t size, + const ReadBinaryOptions* options, + BinaryErrorHandler* error_handler, + struct Module* out_module) { + BinaryReaderIR reader(out_module, error_handler); Result result = read_binary(data, size, &reader, options); return result; } diff --git a/src/binary-reader-ast.h b/src/binary-reader-ir.h index 49d99d2e..50a95a0d 100644 --- a/src/binary-reader-ast.h +++ b/src/binary-reader-ir.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef WABT_BINARY_READER_AST_H_ -#define WABT_BINARY_READER_AST_H_ +#ifndef WABT_BINARY_READER_IR_H_ +#define WABT_BINARY_READER_IR_H_ #include "common.h" @@ -25,12 +25,12 @@ struct Module; struct ReadBinaryOptions; class BinaryErrorHandler; -Result read_binary_ast(const void* data, - size_t size, - const ReadBinaryOptions* options, - BinaryErrorHandler*, - Module* out_module); +Result read_binary_ir(const void* data, + size_t size, + const ReadBinaryOptions* options, + BinaryErrorHandler*, + Module* out_module); } // namespace wabt -#endif /* WABT_BINARY_READER_AST_H_ */ +#endif /* WABT_BINARY_READER_IR_H_ */ diff --git a/src/binary-writer-spec.cc b/src/binary-writer-spec.cc index 171b40e3..5ddbb4a0 100644 --- a/src/binary-writer-spec.cc +++ b/src/binary-writer-spec.cc @@ -19,10 +19,10 @@ #include <assert.h> #include <inttypes.h> -#include "ast.h" #include "binary.h" #include "binary-writer.h" #include "config.h" +#include "ir.h" #include "stream.h" #include "writer.h" diff --git a/src/binary-writer-spec.h b/src/binary-writer-spec.h index 9cc6b2ea..3266342e 100644 --- a/src/binary-writer-spec.h +++ b/src/binary-writer-spec.h @@ -17,9 +17,9 @@ #ifndef WABT_BINARY_WRITER_SPEC_H_ #define WABT_BINARY_WRITER_SPEC_H_ -#include "ast.h" #include "binary-writer.h" #include "common.h" +#include "ir.h" namespace wabt { diff --git a/src/binary-writer.cc b/src/binary-writer.cc index 3d76eec2..915a3949 100644 --- a/src/binary-writer.cc +++ b/src/binary-writer.cc @@ -26,8 +26,8 @@ #include <vector> -#include "ast.h" #include "binary.h" +#include "ir.h" #include "stream.h" #include "writer.h" diff --git a/src/emscripten-exported.json b/src/emscripten-exported.json index 35f19bbf..c789924d 100644 --- a/src/emscripten-exported.json +++ b/src/emscripten-exported.json @@ -1,23 +1,23 @@ [ -"_wabt_destroy_ast_lexer", -"_wabt_destroy_parse_ast_result", "_wabt_destroy_output_buffer", +"_wabt_destroy_parse_wast_result", "_wabt_destroy_script", "_wabt_destroy_source_error_handler_buffer", +"_wabt_destroy_wast_lexer", "_wabt_destroy_write_binary_module_result", -"_wabt_new_ast_buffer_lexer", "_wabt_new_source_error_handler_buffer", +"_wabt_new_wast_buffer_lexer", "_wabt_output_buffer_get_data", "_wabt_output_buffer_get_size", -"_wabt_parse_ast", -"_wabt_parse_ast_result_get_result", -"_wabt_parse_ast_result_release_script", +"_wabt_parse_wast", +"_wabt_parse_wast_result_get_result", +"_wabt_parse_wast_result_release_script", "_wabt_resolve_names_script", "_wabt_source_error_handler_buffer_get_data", "_wabt_source_error_handler_buffer_get_size", "_wabt_validate_script", "_wabt_write_binary_module", +"_wabt_write_binary_module_result_get_result", "_wabt_write_binary_module_result_release_binary_output_buffer", -"_wabt_write_binary_module_result_release_log_output_buffer", -"_wabt_write_binary_module_result_get_result" +"_wabt_write_binary_module_result_release_log_output_buffer" ] diff --git a/src/emscripten-helpers.cc b/src/emscripten-helpers.cc index e7e8e2fc..4effb180 100644 --- a/src/emscripten-helpers.cc +++ b/src/emscripten-helpers.cc @@ -21,18 +21,18 @@ #include <memory> -#include "ast.h" -#include "ast-lexer.h" -#include "ast-parser.h" #include "binary-writer.h" #include "common.h" +#include "ir.h" #include "resolve-names.h" #include "source-error-handler.h" #include "stream.h" #include "validator.h" +#include "wast-lexer.h" +#include "wast-parser.h" #include "writer.h" -struct WabtParseAstResult { +struct WabtParseWastResult { wabt::Result result; std::unique_ptr<wabt::Script> script; }; @@ -45,32 +45,31 @@ struct WabtWriteBinaryModuleResult { extern "C" { -wabt::AstLexer* wabt_new_ast_buffer_lexer(const char* filename, - const void* data, - size_t size) { - return wabt::new_ast_buffer_lexer(filename, data, size); +wabt::WastLexer* wabt_new_wast_buffer_lexer(const char* filename, + const void* data, + size_t size) { + return wabt::new_wast_buffer_lexer(filename, data, size); } -WabtParseAstResult* wabt_parse_ast( - wabt::AstLexer* lexer, +WabtParseWastResult* wabt_parse_wast( + wabt::WastLexer* lexer, wabt::SourceErrorHandlerBuffer* error_handler) { - WabtParseAstResult* result = new WabtParseAstResult(); + WabtParseWastResult* result = new WabtParseWastResult(); wabt::Script* script = nullptr; - result->result = wabt::parse_ast(lexer, &script, error_handler); + result->result = wabt::parse_wast(lexer, &script, error_handler); result->script.reset(script); return result; - } wabt::Result wabt_resolve_names_script( - wabt::AstLexer* lexer, + wabt::WastLexer* lexer, wabt::Script* script, wabt::SourceErrorHandlerBuffer* error_handler) { return resolve_names_script(lexer, script, error_handler); } wabt::Result wabt_validate_script( - wabt::AstLexer* lexer, + wabt::WastLexer* lexer, wabt::Script* script, wabt::SourceErrorHandlerBuffer* error_handler) { return validate_script(lexer, script, error_handler); @@ -103,8 +102,8 @@ void wabt_destroy_script(wabt::Script* script) { delete script; } -void wabt_destroy_ast_lexer(wabt::AstLexer* lexer) { - destroy_ast_lexer(lexer); +void wabt_destroy_wast_lexer(wabt::WastLexer* lexer) { + destroy_wast_lexer(lexer); } // SourceErrorHandlerBuffer @@ -127,16 +126,17 @@ void wabt_destroy_source_error_handler_buffer( delete error_handler; } -// WabtParseAstResult -wabt::Result wabt_parse_ast_result_get_result(WabtParseAstResult* result) { +// WabtParseWastResult +wabt::Result wabt_parse_wast_result_get_result(WabtParseWastResult* result) { return result->result; } -wabt::Script* wabt_parse_ast_result_release_script(WabtParseAstResult* result) { +wabt::Script* wabt_parse_wast_result_release_script( + WabtParseWastResult* result) { return result->script.release(); } -void wabt_destroy_parse_ast_result(WabtParseAstResult* result) { +void wabt_destroy_parse_wast_result(WabtParseWastResult* result) { delete result; } diff --git a/src/generate-names.cc b/src/generate-names.cc index e3ccfe6b..049860c9 100644 --- a/src/generate-names.cc +++ b/src/generate-names.cc @@ -22,7 +22,7 @@ #include <string> #include <vector> -#include "ast.h" +#include "ir.h" #define CHECK_RESULT(expr) \ do { \ diff --git a/src/interpreter-opcode.def b/src/interpreter-opcode.def index 6b16b9df..72569337 100644 --- a/src/interpreter-opcode.def +++ b/src/interpreter-opcode.def @@ -25,7 +25,7 @@ * m: memory size of the operation, if any * code: opcode * Name: used to generate the opcode enum - * text: a string of the opcode name in the AST format + * text: a string of the opcode name in the text format * * tr t1 t2 m code Name text * ============================================================ */ @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "ast.h" +#include "ir.h" #include <assert.h> #include <stddef.h> @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef WABT_AST_H_ -#define WABT_AST_H_ +#ifndef WABT_IR_H_ +#define WABT_IR_H_ #include <assert.h> #include <stddef.h> @@ -506,7 +506,7 @@ ModuleField* append_module_field(Module*); /* ownership of the function signature is passed to the module */ FuncType* append_implicit_func_type(Location*, Module*, FuncSignature*); -/* destruction functions. not needed unless you're creating your own AST +/* destruction functions. not needed unless you're creating your own IR elements */ void destroy_expr_list(Expr*); void destroy_var(Var*); @@ -515,7 +515,7 @@ void destroy_var(Var*); Result visit_func(Func* func, ExprVisitor*); Result visit_expr_list(Expr* expr, ExprVisitor*); -/* convenience functions for looking through the AST */ +/* convenience functions for looking through the IR */ int get_index_from_var(const BindingHash* bindings, const Var* var); int get_func_index_by_var(const Module* module, const Var* var); int get_global_index_by_var(const Module* func, const Var* var); @@ -618,4 +618,4 @@ static WABT_INLINE const Location* get_raw_module_location( } // namespace wabt -#endif /* WABT_AST_H_ */ +#endif /* WABT_IR_H_ */ diff --git a/src/opcode.def b/src/opcode.def index 8207500d..457108c0 100644 --- a/src/opcode.def +++ b/src/opcode.def @@ -25,7 +25,7 @@ * m: memory size of the operation, if any * code: opcode * Name: used to generate the opcode enum - * text: a string of the opcode name in the AST format + * text: a string of the opcode name in the text format * * tr t1 t2 m code Name text * ============================================================ */ diff --git a/src/prebuilt/ast-lexer-gen.cc b/src/prebuilt/wast-lexer-gen.cc index ede11abb..4545dfd7 100644 --- a/src/prebuilt/ast-lexer-gen.cc +++ b/src/prebuilt/wast-lexer-gen.cc @@ -1,5 +1,5 @@ /* Generated by re2c 0.16 */ -#line 1 "src/ast-lexer.cc" +#line 1 "src/wast-lexer.cc" /* * Copyright 2016 WebAssembly Community Group participants * @@ -16,18 +16,18 @@ * limitations under the License. */ -#include "ast-lexer.h" +#include "wast-lexer.h" #include <assert.h> #include <stdio.h> #include "config.h" -#include "ast-parser.h" -#include "ast-parser-lexer-shared.h" +#include "wast-parser.h" +#include "wast-parser-lexer-shared.h" /* must be included after so some typedefs will be defined */ -#include "ast-parser-gen.hh" +#include "wast-parser-gen.hh" #define YYMAXFILL 29 @@ -47,7 +47,7 @@ #define ERROR(...) \ YY_USER_ACTION; \ - ast_parser_error(loc, lexer, parser, __VA_ARGS__) + wast_parser_error(loc, lexer, parser, __VA_ARGS__) #define BEGIN(c) \ do { \ @@ -95,8 +95,8 @@ namespace wabt { static Result fill(Location* loc, - AstLexer* lexer, - AstParser* parser, + WastLexer* lexer, + WastParser* parser, size_t need) { if (lexer->eof) return Result::Error; @@ -116,8 +116,8 @@ static Result fill(Location* loc, char* new_buffer = new char[new_buffer_size]; if (!new_buffer) { - ast_parser_error(loc, lexer, parser, - "unable to reallocate lexer buffer."); + wast_parser_error(loc, lexer, parser, + "unable to reallocate lexer buffer."); return Result::Error; } memmove(new_buffer, lexer->token, lexer->limit - lexer->token); @@ -129,7 +129,7 @@ static Result fill(Location* loc, lexer->limit = new_buffer + (lexer->limit - old_buffer) - free; lexer->buffer_file_offset += free; free += new_buffer_size - old_buffer_size; - delete [] old_buffer; + delete[] old_buffer; } else { /* shift everything down to make more room in the buffer */ memmove(lexer->buffer, lexer->token, lexer->limit - lexer->token); @@ -140,11 +140,11 @@ static Result fill(Location* loc, lexer->buffer_file_offset += free; } /* read the new data into the buffer */ - if (lexer->source.type == AstLexerSourceType::File) { + if (lexer->source.type == WastLexerSourceType::File) { lexer->limit += fread(lexer->limit, 1, free, lexer->source.file); } else { /* TODO(binji): could lex directly from buffer */ - assert(lexer->source.type == AstLexerSourceType::Buffer); + assert(lexer->source.type == WastLexerSourceType::Buffer); size_t read_size = free; size_t offset = lexer->source.buffer.read_offset; size_t bytes_left = lexer->source.buffer.size - offset; @@ -167,10 +167,10 @@ static Result fill(Location* loc, return Result::Ok; } -int ast_lexer_lex(WABT_AST_PARSER_STYPE* lval, - WABT_AST_PARSER_LTYPE* loc, - AstLexer* lexer, - AstParser* parser) { +int wast_lexer_lex(WABT_WAST_PARSER_STYPE* lval, + WABT_WAST_PARSER_LTYPE* loc, + WastLexer* lexer, + WastParser* parser) { enum { YYCOND_INIT, YYCOND_BAD_TEXT, @@ -182,7 +182,7 @@ int ast_lexer_lex(WABT_AST_PARSER_STYPE* lval, for (;;) { lexer->token = lexer->cursor; -#line 186 "src/prebuilt/ast-lexer-gen.cc" +#line 186 "src/prebuilt/wast-lexer-gen.cc" { unsigned char yych; if (cond < 2) { @@ -221,35 +221,35 @@ YYCOND_BAD_TEXT: } } ++lexer->cursor; -#line 237 "src/ast-lexer.cc" +#line 237 "src/wast-lexer.cc" { ERROR("unexpected EOF"); RETURN(EOF); } -#line 227 "src/prebuilt/ast-lexer-gen.cc" +#line 227 "src/prebuilt/wast-lexer-gen.cc" yy5: ++lexer->cursor; yy6: -#line 238 "src/ast-lexer.cc" +#line 238 "src/wast-lexer.cc" { ERROR("illegal character in string"); continue; } -#line 234 "src/prebuilt/ast-lexer-gen.cc" +#line 234 "src/prebuilt/wast-lexer-gen.cc" yy7: ++lexer->cursor; BEGIN(YYCOND_i); -#line 230 "src/ast-lexer.cc" +#line 230 "src/wast-lexer.cc" { ERROR("newline in string"); NEWLINE; continue; } -#line 242 "src/prebuilt/ast-lexer-gen.cc" +#line 242 "src/prebuilt/wast-lexer-gen.cc" yy9: ++lexer->cursor; -#line 229 "src/ast-lexer.cc" +#line 229 "src/wast-lexer.cc" { continue; } -#line 247 "src/prebuilt/ast-lexer-gen.cc" +#line 247 "src/prebuilt/wast-lexer-gen.cc" yy11: ++lexer->cursor; BEGIN(YYCOND_i); -#line 236 "src/ast-lexer.cc" +#line 236 "src/wast-lexer.cc" { TEXT; RETURN(TEXT); } -#line 253 "src/prebuilt/ast-lexer-gen.cc" +#line 253 "src/prebuilt/wast-lexer-gen.cc" yy13: yych = *++lexer->cursor; if (yych <= '@') { @@ -283,11 +283,11 @@ yy13: yy14: ++lexer->cursor; yy15: -#line 233 "src/ast-lexer.cc" +#line 233 "src/wast-lexer.cc" { ERROR("bad escape \"%.*s\"", static_cast<int>(yyleng), yytext); continue; } -#line 291 "src/prebuilt/ast-lexer-gen.cc" +#line 291 "src/prebuilt/wast-lexer-gen.cc" yy16: ++lexer->cursor; if ((yych = *lexer->cursor) <= '@') { @@ -315,20 +315,20 @@ YYCOND_BLOCK_COMMENT: } yy19: ++lexer->cursor; -#line 464 "src/ast-lexer.cc" +#line 464 "src/wast-lexer.cc" { ERROR("unexpected EOF"); RETURN(EOF); } -#line 321 "src/prebuilt/ast-lexer-gen.cc" +#line 321 "src/prebuilt/wast-lexer-gen.cc" yy21: ++lexer->cursor; yy22: -#line 465 "src/ast-lexer.cc" +#line 465 "src/wast-lexer.cc" { continue; } -#line 327 "src/prebuilt/ast-lexer-gen.cc" +#line 327 "src/prebuilt/wast-lexer-gen.cc" yy23: ++lexer->cursor; -#line 463 "src/ast-lexer.cc" +#line 463 "src/wast-lexer.cc" { NEWLINE; continue; } -#line 332 "src/prebuilt/ast-lexer-gen.cc" +#line 332 "src/prebuilt/wast-lexer-gen.cc" yy25: yych = *++lexer->cursor; if (yych == ';') goto yy27; @@ -339,16 +339,16 @@ yy26: goto yy22; yy27: ++lexer->cursor; -#line 459 "src/ast-lexer.cc" +#line 459 "src/wast-lexer.cc" { COMMENT_NESTING++; continue; } -#line 345 "src/prebuilt/ast-lexer-gen.cc" +#line 345 "src/prebuilt/wast-lexer-gen.cc" yy29: ++lexer->cursor; -#line 460 "src/ast-lexer.cc" +#line 460 "src/wast-lexer.cc" { if (--COMMENT_NESTING == 0) BEGIN(YYCOND_INIT); continue; } -#line 352 "src/prebuilt/ast-lexer-gen.cc" +#line 352 "src/prebuilt/wast-lexer-gen.cc" /* *********************************** */ YYCOND_LINE_COMMENT: { @@ -393,9 +393,9 @@ YYCOND_LINE_COMMENT: } goto yy36; yy33: -#line 457 "src/ast-lexer.cc" +#line 457 "src/wast-lexer.cc" { continue; } -#line 399 "src/prebuilt/ast-lexer-gen.cc" +#line 399 "src/prebuilt/wast-lexer-gen.cc" yy34: ++lexer->cursor; if (lexer->limit <= lexer->cursor) FILL(1); @@ -407,9 +407,9 @@ yy34: yy36: ++lexer->cursor; BEGIN(YYCOND_i); -#line 456 "src/ast-lexer.cc" +#line 456 "src/wast-lexer.cc" { NEWLINE; continue; } -#line 413 "src/prebuilt/ast-lexer-gen.cc" +#line 413 "src/prebuilt/wast-lexer-gen.cc" } /* *********************************** */ YYCOND_i: @@ -551,15 +551,15 @@ YYCOND_i: } yy40: ++lexer->cursor; -#line 471 "src/ast-lexer.cc" +#line 471 "src/wast-lexer.cc" { RETURN(EOF); } -#line 557 "src/prebuilt/ast-lexer-gen.cc" +#line 557 "src/prebuilt/wast-lexer-gen.cc" yy42: ++lexer->cursor; yy43: -#line 472 "src/ast-lexer.cc" +#line 472 "src/wast-lexer.cc" { ERROR("unexpected char"); continue; } -#line 563 "src/prebuilt/ast-lexer-gen.cc" +#line 563 "src/prebuilt/wast-lexer-gen.cc" yy44: ++lexer->cursor; if (lexer->limit <= lexer->cursor) FILL(1); @@ -567,14 +567,14 @@ yy44: if (yybm[0+yych] & 8) { goto yy44; } -#line 467 "src/ast-lexer.cc" +#line 467 "src/wast-lexer.cc" { continue; } -#line 573 "src/prebuilt/ast-lexer-gen.cc" +#line 573 "src/prebuilt/wast-lexer-gen.cc" yy47: ++lexer->cursor; -#line 466 "src/ast-lexer.cc" +#line 466 "src/wast-lexer.cc" { NEWLINE; continue; } -#line 578 "src/prebuilt/ast-lexer-gen.cc" +#line 578 "src/prebuilt/wast-lexer-gen.cc" yy49: ++lexer->cursor; if (lexer->limit <= lexer->cursor) FILL(1); @@ -584,20 +584,20 @@ yy50: goto yy49; } yy51: -#line 468 "src/ast-lexer.cc" +#line 468 "src/wast-lexer.cc" { ERROR("unexpected token \"%.*s\"", static_cast<int>(yyleng), yytext); continue; } -#line 592 "src/prebuilt/ast-lexer-gen.cc" +#line 592 "src/prebuilt/wast-lexer-gen.cc" yy52: yych = *(lexer->marker = ++lexer->cursor); if (yych <= 0x1F) goto yy53; if (yych != 0x7F) goto yy83; yy53: BEGIN(YYCOND_BAD_TEXT); -#line 228 "src/ast-lexer.cc" +#line 228 "src/wast-lexer.cc" { continue; } -#line 601 "src/prebuilt/ast-lexer-gen.cc" +#line 601 "src/prebuilt/wast-lexer-gen.cc" yy54: yych = *++lexer->cursor; if (yych <= ';') { @@ -637,14 +637,14 @@ yy54: yy55: ++lexer->cursor; if ((yych = *lexer->cursor) == ';') goto yy91; -#line 219 "src/ast-lexer.cc" +#line 219 "src/wast-lexer.cc" { RETURN(LPAR); } -#line 643 "src/prebuilt/ast-lexer-gen.cc" +#line 643 "src/prebuilt/wast-lexer-gen.cc" yy57: ++lexer->cursor; -#line 220 "src/ast-lexer.cc" +#line 220 "src/wast-lexer.cc" { RETURN(RPAR); } -#line 648 "src/prebuilt/ast-lexer-gen.cc" +#line 648 "src/prebuilt/wast-lexer-gen.cc" yy59: yych = *++lexer->cursor; if (yych <= 'h') { @@ -701,9 +701,9 @@ yy60: } } yy61: -#line 221 "src/ast-lexer.cc" +#line 221 "src/wast-lexer.cc" { LITERAL(Int); RETURN(NAT); } -#line 707 "src/prebuilt/ast-lexer-gen.cc" +#line 707 "src/prebuilt/wast-lexer-gen.cc" yy62: ++lexer->cursor; if ((lexer->limit - lexer->cursor) < 3) FILL(3); @@ -904,9 +904,9 @@ yy84: goto yy53; yy85: ++lexer->cursor; -#line 227 "src/ast-lexer.cc" +#line 227 "src/wast-lexer.cc" { TEXT; RETURN(TEXT); } -#line 910 "src/prebuilt/ast-lexer-gen.cc" +#line 910 "src/prebuilt/wast-lexer-gen.cc" yy87: ++lexer->cursor; if (lexer->limit <= lexer->cursor) FILL(1); @@ -969,15 +969,15 @@ yy88: } } yy90: -#line 453 "src/ast-lexer.cc" +#line 453 "src/wast-lexer.cc" { TEXT; RETURN(VAR); } -#line 975 "src/prebuilt/ast-lexer-gen.cc" +#line 975 "src/prebuilt/wast-lexer-gen.cc" yy91: ++lexer->cursor; BEGIN(YYCOND_BLOCK_COMMENT); -#line 458 "src/ast-lexer.cc" +#line 458 "src/wast-lexer.cc" { COMMENT_NESTING = 1; continue; } -#line 981 "src/prebuilt/ast-lexer-gen.cc" +#line 981 "src/prebuilt/wast-lexer-gen.cc" yy93: ++lexer->cursor; if ((yych = *lexer->cursor) <= 'D') { @@ -1019,9 +1019,9 @@ yy93: } } yy94: -#line 222 "src/ast-lexer.cc" +#line 222 "src/wast-lexer.cc" { LITERAL(Int); RETURN(INT); } -#line 1025 "src/prebuilt/ast-lexer-gen.cc" +#line 1025 "src/prebuilt/wast-lexer-gen.cc" yy95: ++lexer->cursor; if ((lexer->limit - lexer->cursor) < 3) FILL(3); @@ -1118,9 +1118,9 @@ yy99: } } yy101: -#line 223 "src/ast-lexer.cc" +#line 223 "src/wast-lexer.cc" { LITERAL(Float); RETURN(FLOAT); } -#line 1124 "src/prebuilt/ast-lexer-gen.cc" +#line 1124 "src/prebuilt/wast-lexer-gen.cc" yy102: yych = *++lexer->cursor; if (yych <= ',') { @@ -1141,9 +1141,9 @@ yy103: yy104: ++lexer->cursor; BEGIN(YYCOND_LINE_COMMENT); -#line 455 "src/ast-lexer.cc" +#line 455 "src/wast-lexer.cc" { continue; } -#line 1147 "src/prebuilt/ast-lexer-gen.cc" +#line 1147 "src/prebuilt/wast-lexer-gen.cc" yy106: yych = *++lexer->cursor; if (yych == 'i') goto yy156; @@ -1195,9 +1195,9 @@ yy110: } } yy111: -#line 253 "src/ast-lexer.cc" +#line 253 "src/wast-lexer.cc" { RETURN(BR); } -#line 1201 "src/prebuilt/ast-lexer-gen.cc" +#line 1201 "src/prebuilt/wast-lexer-gen.cc" yy112: yych = *++lexer->cursor; if (yych == 'l') goto yy161; @@ -1294,9 +1294,9 @@ yy127: } } yy128: -#line 248 "src/ast-lexer.cc" +#line 248 "src/wast-lexer.cc" { RETURN(IF); } -#line 1300 "src/prebuilt/ast-lexer-gen.cc" +#line 1300 "src/prebuilt/wast-lexer-gen.cc" yy129: yych = *++lexer->cursor; if (yych == 'p') goto yy184; @@ -1561,9 +1561,9 @@ yy167: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 260 "src/ast-lexer.cc" +#line 260 "src/wast-lexer.cc" { RETURN(END); } -#line 1567 "src/prebuilt/ast-lexer-gen.cc" +#line 1567 "src/prebuilt/wast-lexer-gen.cc" yy169: yych = *++lexer->cursor; if (yych == 'o') goto yy235; @@ -1602,9 +1602,9 @@ yy170: } } yy171: -#line 242 "src/ast-lexer.cc" +#line 242 "src/wast-lexer.cc" { TYPE(F32); RETURN(VALUE_TYPE); } -#line 1608 "src/prebuilt/ast-lexer-gen.cc" +#line 1608 "src/prebuilt/wast-lexer-gen.cc" yy172: ++lexer->cursor; if ((yych = *lexer->cursor) <= ':') { @@ -1639,9 +1639,9 @@ yy172: } } yy173: -#line 243 "src/ast-lexer.cc" +#line 243 "src/wast-lexer.cc" { TYPE(F64); RETURN(VALUE_TYPE); } -#line 1645 "src/prebuilt/ast-lexer-gen.cc" +#line 1645 "src/prebuilt/wast-lexer-gen.cc" yy174: yych = *++lexer->cursor; if (yych == 'c') goto yy238; @@ -1681,9 +1681,9 @@ yy175: } } yy176: -#line 440 "src/ast-lexer.cc" +#line 440 "src/wast-lexer.cc" { RETURN(GET); } -#line 1687 "src/prebuilt/ast-lexer-gen.cc" +#line 1687 "src/prebuilt/wast-lexer-gen.cc" yy177: yych = *++lexer->cursor; if (yych == 'b') goto yy241; @@ -1726,9 +1726,9 @@ yy179: } } yy180: -#line 240 "src/ast-lexer.cc" +#line 240 "src/wast-lexer.cc" { TYPE(I32); RETURN(VALUE_TYPE); } -#line 1732 "src/prebuilt/ast-lexer-gen.cc" +#line 1732 "src/prebuilt/wast-lexer-gen.cc" yy181: ++lexer->cursor; if ((yych = *lexer->cursor) <= ':') { @@ -1763,9 +1763,9 @@ yy181: } } yy182: -#line 241 "src/ast-lexer.cc" +#line 241 "src/wast-lexer.cc" { TYPE(I64); RETURN(VALUE_TYPE); } -#line 1769 "src/prebuilt/ast-lexer-gen.cc" +#line 1769 "src/prebuilt/wast-lexer-gen.cc" yy183: yych = *++lexer->cursor; if (yych == 'e') goto yy245; @@ -1809,9 +1809,9 @@ yy185: } } yy186: -#line 225 "src/ast-lexer.cc" +#line 225 "src/wast-lexer.cc" { LITERAL(Infinity); RETURN(FLOAT); } -#line 1815 "src/prebuilt/ast-lexer-gen.cc" +#line 1815 "src/prebuilt/wast-lexer-gen.cc" yy187: yych = *++lexer->cursor; if (yych == 'u') goto yy248; @@ -1841,9 +1841,9 @@ yy193: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 245 "src/ast-lexer.cc" +#line 245 "src/wast-lexer.cc" { RETURN(MUT); } -#line 1847 "src/prebuilt/ast-lexer-gen.cc" +#line 1847 "src/prebuilt/wast-lexer-gen.cc" yy195: ++lexer->cursor; if ((yych = *lexer->cursor) <= ';') { @@ -1878,17 +1878,17 @@ yy195: } } yy196: -#line 226 "src/ast-lexer.cc" +#line 226 "src/wast-lexer.cc" { LITERAL(Nan); RETURN(FLOAT); } -#line 1884 "src/prebuilt/ast-lexer-gen.cc" +#line 1884 "src/prebuilt/wast-lexer-gen.cc" yy197: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 246 "src/ast-lexer.cc" +#line 246 "src/wast-lexer.cc" { RETURN(NOP); } -#line 1892 "src/prebuilt/ast-lexer-gen.cc" +#line 1892 "src/prebuilt/wast-lexer-gen.cc" yy199: yych = *++lexer->cursor; if (yych == 's') goto yy256; @@ -2110,9 +2110,9 @@ yy224: } } yy225: -#line 256 "src/ast-lexer.cc" +#line 256 "src/wast-lexer.cc" { RETURN(CALL); } -#line 2116 "src/prebuilt/ast-lexer-gen.cc" +#line 2116 "src/prebuilt/wast-lexer-gen.cc" yy226: yych = *++lexer->cursor; if (yych == 'e') goto yy285; @@ -2122,33 +2122,33 @@ yy227: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 434 "src/ast-lexer.cc" +#line 434 "src/wast-lexer.cc" { RETURN(DATA); } -#line 2128 "src/prebuilt/ast-lexer-gen.cc" +#line 2128 "src/prebuilt/wast-lexer-gen.cc" yy229: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 259 "src/ast-lexer.cc" +#line 259 "src/wast-lexer.cc" { RETURN(DROP); } -#line 2136 "src/prebuilt/ast-lexer-gen.cc" +#line 2136 "src/prebuilt/wast-lexer-gen.cc" yy231: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 433 "src/ast-lexer.cc" +#line 433 "src/wast-lexer.cc" { RETURN(ELEM); } -#line 2144 "src/prebuilt/ast-lexer-gen.cc" +#line 2144 "src/prebuilt/wast-lexer-gen.cc" yy233: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 251 "src/ast-lexer.cc" +#line 251 "src/wast-lexer.cc" { RETURN(ELSE); } -#line 2152 "src/prebuilt/ast-lexer-gen.cc" +#line 2152 "src/prebuilt/wast-lexer-gen.cc" yy235: yych = *++lexer->cursor; if (yych == 'r') goto yy286; @@ -2193,9 +2193,9 @@ yy238: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 424 "src/ast-lexer.cc" +#line 424 "src/wast-lexer.cc" { RETURN(FUNC); } -#line 2199 "src/prebuilt/ast-lexer-gen.cc" +#line 2199 "src/prebuilt/wast-lexer-gen.cc" yy240: yych = *++lexer->cursor; if (yych == 'g') goto yy312; @@ -2277,9 +2277,9 @@ yy251: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 252 "src/ast-lexer.cc" +#line 252 "src/wast-lexer.cc" { RETURN(LOOP); } -#line 2283 "src/prebuilt/ast-lexer-gen.cc" +#line 2283 "src/prebuilt/wast-lexer-gen.cc" yy253: yych = *++lexer->cursor; if (yych == 'r') goto yy353; @@ -2342,17 +2342,17 @@ yy267: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 250 "src/ast-lexer.cc" +#line 250 "src/wast-lexer.cc" { RETURN(THEN); } -#line 2348 "src/prebuilt/ast-lexer-gen.cc" +#line 2348 "src/prebuilt/wast-lexer-gen.cc" yy269: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 423 "src/ast-lexer.cc" +#line 423 "src/wast-lexer.cc" { RETURN(TYPE); } -#line 2356 "src/prebuilt/ast-lexer-gen.cc" +#line 2356 "src/prebuilt/wast-lexer-gen.cc" yy271: yych = *++lexer->cursor; if (yych == 'a') goto yy371; @@ -2398,9 +2398,9 @@ yy273: } } yy275: -#line 224 "src/ast-lexer.cc" +#line 224 "src/wast-lexer.cc" { LITERAL(Hexfloat); RETURN(FLOAT); } -#line 2404 "src/prebuilt/ast-lexer-gen.cc" +#line 2404 "src/prebuilt/wast-lexer-gen.cc" yy276: yych = *++lexer->cursor; if (yych == '=') goto yy372; @@ -2418,17 +2418,17 @@ yy279: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 247 "src/ast-lexer.cc" +#line 247 "src/wast-lexer.cc" { RETURN(BLOCK); } -#line 2424 "src/prebuilt/ast-lexer-gen.cc" +#line 2424 "src/prebuilt/wast-lexer-gen.cc" yy281: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 254 "src/ast-lexer.cc" +#line 254 "src/wast-lexer.cc" { RETURN(BR_IF); } -#line 2432 "src/prebuilt/ast-lexer-gen.cc" +#line 2432 "src/prebuilt/wast-lexer-gen.cc" yy283: yych = *++lexer->cursor; if (yych == 'b') goto yy375; @@ -2780,9 +2780,9 @@ yy348: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 451 "src/ast-lexer.cc" +#line 451 "src/wast-lexer.cc" { RETURN(INPUT); } -#line 2786 "src/prebuilt/ast-lexer-gen.cc" +#line 2786 "src/prebuilt/wast-lexer-gen.cc" yy350: yych = *++lexer->cursor; if (yych == 'e') goto yy499; @@ -2792,9 +2792,9 @@ yy351: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 427 "src/ast-lexer.cc" +#line 427 "src/wast-lexer.cc" { RETURN(LOCAL); } -#line 2798 "src/prebuilt/ast-lexer-gen.cc" +#line 2798 "src/prebuilt/wast-lexer-gen.cc" yy353: yych = *++lexer->cursor; if (yych == 'y') goto yy501; @@ -2820,9 +2820,9 @@ yy358: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 425 "src/ast-lexer.cc" +#line 425 "src/wast-lexer.cc" { RETURN(PARAM); } -#line 2826 "src/prebuilt/ast-lexer-gen.cc" +#line 2826 "src/prebuilt/wast-lexer-gen.cc" yy360: yych = *++lexer->cursor; if (yych == 't') goto yy510; @@ -2852,17 +2852,17 @@ yy366: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 432 "src/ast-lexer.cc" +#line 432 "src/wast-lexer.cc" { RETURN(START); } -#line 2858 "src/prebuilt/ast-lexer-gen.cc" +#line 2858 "src/prebuilt/wast-lexer-gen.cc" yy368: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 430 "src/ast-lexer.cc" +#line 430 "src/wast-lexer.cc" { RETURN(TABLE); } -#line 2866 "src/prebuilt/ast-lexer-gen.cc" +#line 2866 "src/prebuilt/wast-lexer-gen.cc" yy370: yych = *++lexer->cursor; if (yych == 'o') goto yy519; @@ -2904,9 +2904,9 @@ yy378: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 437 "src/ast-lexer.cc" +#line 437 "src/wast-lexer.cc" { RETURN(EXPORT); } -#line 2910 "src/prebuilt/ast-lexer-gen.cc" +#line 2910 "src/prebuilt/wast-lexer-gen.cc" yy380: yych = *++lexer->cursor; if (yych == 's') goto yy532; @@ -2937,9 +2937,9 @@ yy386: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 382 "src/ast-lexer.cc" +#line 382 "src/wast-lexer.cc" { OPCODE(F32Eq); RETURN(COMPARE); } -#line 2943 "src/prebuilt/ast-lexer-gen.cc" +#line 2943 "src/prebuilt/wast-lexer-gen.cc" yy388: yych = *++lexer->cursor; if (yych == 'o') goto yy542; @@ -2949,25 +2949,25 @@ yy389: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 392 "src/ast-lexer.cc" +#line 392 "src/wast-lexer.cc" { OPCODE(F32Ge); RETURN(COMPARE); } -#line 2955 "src/prebuilt/ast-lexer-gen.cc" +#line 2955 "src/prebuilt/wast-lexer-gen.cc" yy391: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 390 "src/ast-lexer.cc" +#line 390 "src/wast-lexer.cc" { OPCODE(F32Gt); RETURN(COMPARE); } -#line 2963 "src/prebuilt/ast-lexer-gen.cc" +#line 2963 "src/prebuilt/wast-lexer-gen.cc" yy393: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 388 "src/ast-lexer.cc" +#line 388 "src/wast-lexer.cc" { OPCODE(F32Le); RETURN(COMPARE); } -#line 2971 "src/prebuilt/ast-lexer-gen.cc" +#line 2971 "src/prebuilt/wast-lexer-gen.cc" yy395: yych = *++lexer->cursor; if (yych == 'a') goto yy543; @@ -2977,9 +2977,9 @@ yy396: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 386 "src/ast-lexer.cc" +#line 386 "src/wast-lexer.cc" { OPCODE(F32Lt); RETURN(COMPARE); } -#line 2983 "src/prebuilt/ast-lexer-gen.cc" +#line 2983 "src/prebuilt/wast-lexer-gen.cc" yy398: yych = *++lexer->cursor; if (yych == 'x') goto yy544; @@ -3028,9 +3028,9 @@ yy401: } } yy402: -#line 384 "src/ast-lexer.cc" +#line 384 "src/wast-lexer.cc" { OPCODE(F32Ne); RETURN(COMPARE); } -#line 3034 "src/prebuilt/ast-lexer-gen.cc" +#line 3034 "src/prebuilt/wast-lexer-gen.cc" yy403: yych = *++lexer->cursor; if (yych == 'i') goto yy553; @@ -3077,9 +3077,9 @@ yy413: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 383 "src/ast-lexer.cc" +#line 383 "src/wast-lexer.cc" { OPCODE(F64Eq); RETURN(COMPARE); } -#line 3083 "src/prebuilt/ast-lexer-gen.cc" +#line 3083 "src/prebuilt/wast-lexer-gen.cc" yy415: yych = *++lexer->cursor; if (yych == 'o') goto yy568; @@ -3089,25 +3089,25 @@ yy416: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 393 "src/ast-lexer.cc" +#line 393 "src/wast-lexer.cc" { OPCODE(F64Ge); RETURN(COMPARE); } -#line 3095 "src/prebuilt/ast-lexer-gen.cc" +#line 3095 "src/prebuilt/wast-lexer-gen.cc" yy418: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 391 "src/ast-lexer.cc" +#line 391 "src/wast-lexer.cc" { OPCODE(F64Gt); RETURN(COMPARE); } -#line 3103 "src/prebuilt/ast-lexer-gen.cc" +#line 3103 "src/prebuilt/wast-lexer-gen.cc" yy420: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 389 "src/ast-lexer.cc" +#line 389 "src/wast-lexer.cc" { OPCODE(F64Le); RETURN(COMPARE); } -#line 3111 "src/prebuilt/ast-lexer-gen.cc" +#line 3111 "src/prebuilt/wast-lexer-gen.cc" yy422: yych = *++lexer->cursor; if (yych == 'a') goto yy569; @@ -3117,9 +3117,9 @@ yy423: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 387 "src/ast-lexer.cc" +#line 387 "src/wast-lexer.cc" { OPCODE(F64Lt); RETURN(COMPARE); } -#line 3123 "src/prebuilt/ast-lexer-gen.cc" +#line 3123 "src/prebuilt/wast-lexer-gen.cc" yy425: yych = *++lexer->cursor; if (yych == 'x') goto yy570; @@ -3168,9 +3168,9 @@ yy428: } } yy429: -#line 385 "src/ast-lexer.cc" +#line 385 "src/wast-lexer.cc" { OPCODE(F64Ne); RETURN(COMPARE); } -#line 3174 "src/prebuilt/ast-lexer-gen.cc" +#line 3174 "src/prebuilt/wast-lexer-gen.cc" yy430: yych = *++lexer->cursor; if (yych == 'o') goto yy579; @@ -3208,9 +3208,9 @@ yy438: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 428 "src/ast-lexer.cc" +#line 428 "src/wast-lexer.cc" { RETURN(GLOBAL); } -#line 3214 "src/prebuilt/ast-lexer-gen.cc" +#line 3214 "src/prebuilt/wast-lexer-gen.cc" yy440: yych = *++lexer->cursor; if (yych == 'e') goto yy588; @@ -3274,9 +3274,9 @@ yy447: } } yy448: -#line 362 "src/ast-lexer.cc" +#line 362 "src/wast-lexer.cc" { OPCODE(I32Eq); RETURN(COMPARE); } -#line 3280 "src/prebuilt/ast-lexer-gen.cc" +#line 3280 "src/prebuilt/wast-lexer-gen.cc" yy449: yych = *++lexer->cursor; if (yych == '_') goto yy601; @@ -3306,17 +3306,17 @@ yy455: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 364 "src/ast-lexer.cc" +#line 364 "src/wast-lexer.cc" { OPCODE(I32Ne); RETURN(COMPARE); } -#line 3312 "src/prebuilt/ast-lexer-gen.cc" +#line 3312 "src/prebuilt/wast-lexer-gen.cc" yy457: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 334 "src/ast-lexer.cc" +#line 334 "src/wast-lexer.cc" { OPCODE(I32Or); RETURN(BINARY); } -#line 3320 "src/prebuilt/ast-lexer-gen.cc" +#line 3320 "src/prebuilt/wast-lexer-gen.cc" yy459: yych = *++lexer->cursor; if (yych == 'p') goto yy608; @@ -3414,9 +3414,9 @@ yy474: } } yy475: -#line 363 "src/ast-lexer.cc" +#line 363 "src/wast-lexer.cc" { OPCODE(I64Eq); RETURN(COMPARE); } -#line 3420 "src/prebuilt/ast-lexer-gen.cc" +#line 3420 "src/prebuilt/wast-lexer-gen.cc" yy476: yych = *++lexer->cursor; if (yych == 't') goto yy634; @@ -3450,17 +3450,17 @@ yy483: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 365 "src/ast-lexer.cc" +#line 365 "src/wast-lexer.cc" { OPCODE(I64Ne); RETURN(COMPARE); } -#line 3456 "src/prebuilt/ast-lexer-gen.cc" +#line 3456 "src/prebuilt/wast-lexer-gen.cc" yy485: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 335 "src/ast-lexer.cc" +#line 335 "src/wast-lexer.cc" { OPCODE(I64Or); RETURN(BINARY); } -#line 3464 "src/prebuilt/ast-lexer-gen.cc" +#line 3464 "src/prebuilt/wast-lexer-gen.cc" yy487: yych = *++lexer->cursor; if (yych == 'p') goto yy642; @@ -3504,9 +3504,9 @@ yy496: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 436 "src/ast-lexer.cc" +#line 436 "src/wast-lexer.cc" { RETURN(IMPORT); } -#line 3510 "src/prebuilt/ast-lexer-gen.cc" +#line 3510 "src/prebuilt/wast-lexer-gen.cc" yy498: yych = *++lexer->cursor; if (yych == 't') goto yy657; @@ -3516,25 +3516,25 @@ yy499: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 439 "src/ast-lexer.cc" +#line 439 "src/wast-lexer.cc" { RETURN(INVOKE); } -#line 3522 "src/prebuilt/ast-lexer-gen.cc" +#line 3522 "src/prebuilt/wast-lexer-gen.cc" yy501: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 431 "src/ast-lexer.cc" +#line 431 "src/wast-lexer.cc" { RETURN(MEMORY); } -#line 3530 "src/prebuilt/ast-lexer-gen.cc" +#line 3530 "src/prebuilt/wast-lexer-gen.cc" yy503: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 429 "src/ast-lexer.cc" +#line 429 "src/wast-lexer.cc" { RETURN(MODULE); } -#line 3538 "src/prebuilt/ast-lexer-gen.cc" +#line 3538 "src/prebuilt/wast-lexer-gen.cc" yy505: yych = *++lexer->cursor; if (yych <= '@') { @@ -3581,17 +3581,17 @@ yy506: } } yy507: -#line 435 "src/ast-lexer.cc" +#line 435 "src/wast-lexer.cc" { RETURN(OFFSET); } -#line 3587 "src/prebuilt/ast-lexer-gen.cc" +#line 3587 "src/prebuilt/wast-lexer-gen.cc" yy508: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 452 "src/ast-lexer.cc" +#line 452 "src/wast-lexer.cc" { RETURN(OUTPUT); } -#line 3595 "src/prebuilt/ast-lexer-gen.cc" +#line 3595 "src/prebuilt/wast-lexer-gen.cc" yy510: yych = *++lexer->cursor; if (yych == 'e') goto yy661; @@ -3601,25 +3601,25 @@ yy511: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 426 "src/ast-lexer.cc" +#line 426 "src/wast-lexer.cc" { RETURN(RESULT); } -#line 3607 "src/prebuilt/ast-lexer-gen.cc" +#line 3607 "src/prebuilt/wast-lexer-gen.cc" yy513: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 261 "src/ast-lexer.cc" +#line 261 "src/wast-lexer.cc" { RETURN(RETURN); } -#line 3615 "src/prebuilt/ast-lexer-gen.cc" +#line 3615 "src/prebuilt/wast-lexer-gen.cc" yy515: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 419 "src/ast-lexer.cc" +#line 419 "src/wast-lexer.cc" { RETURN(SELECT); } -#line 3623 "src/prebuilt/ast-lexer-gen.cc" +#line 3623 "src/prebuilt/wast-lexer-gen.cc" yy517: yych = *++lexer->cursor; if (yych == 'o') goto yy662; @@ -3672,9 +3672,9 @@ yy521: } } yy522: -#line 291 "src/ast-lexer.cc" +#line 291 "src/wast-lexer.cc" { TEXT_AT(6); RETURN(ALIGN_EQ_NAT); } -#line 3678 "src/prebuilt/ast-lexer-gen.cc" +#line 3678 "src/prebuilt/wast-lexer-gen.cc" yy523: ++lexer->cursor; if (lexer->limit <= lexer->cursor) FILL(1); @@ -3723,9 +3723,9 @@ yy525: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 244 "src/ast-lexer.cc" +#line 244 "src/wast-lexer.cc" { RETURN(ANYFUNC); } -#line 3729 "src/prebuilt/ast-lexer-gen.cc" +#line 3729 "src/prebuilt/wast-lexer-gen.cc" yy527: yych = *++lexer->cursor; switch (yych) { @@ -3758,17 +3758,17 @@ yy532: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 306 "src/ast-lexer.cc" +#line 306 "src/wast-lexer.cc" { OPCODE(F32Abs); RETURN(UNARY); } -#line 3764 "src/prebuilt/ast-lexer-gen.cc" +#line 3764 "src/prebuilt/wast-lexer-gen.cc" yy534: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 348 "src/ast-lexer.cc" +#line 348 "src/wast-lexer.cc" { OPCODE(F32Add); RETURN(BINARY); } -#line 3772 "src/prebuilt/ast-lexer-gen.cc" +#line 3772 "src/prebuilt/wast-lexer-gen.cc" yy536: yych = *++lexer->cursor; if (yych == 'l') goto yy678; @@ -3791,9 +3791,9 @@ yy540: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 354 "src/ast-lexer.cc" +#line 354 "src/wast-lexer.cc" { OPCODE(F32Div); RETURN(BINARY); } -#line 3797 "src/prebuilt/ast-lexer-gen.cc" +#line 3797 "src/prebuilt/wast-lexer-gen.cc" yy542: yych = *++lexer->cursor; if (yych == 'o') goto yy684; @@ -3807,25 +3807,25 @@ yy544: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 358 "src/ast-lexer.cc" +#line 358 "src/wast-lexer.cc" { OPCODE(F32Max); RETURN(BINARY); } -#line 3813 "src/prebuilt/ast-lexer-gen.cc" +#line 3813 "src/prebuilt/wast-lexer-gen.cc" yy546: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 356 "src/ast-lexer.cc" +#line 356 "src/wast-lexer.cc" { OPCODE(F32Min); RETURN(BINARY); } -#line 3821 "src/prebuilt/ast-lexer-gen.cc" +#line 3821 "src/prebuilt/wast-lexer-gen.cc" yy548: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 352 "src/ast-lexer.cc" +#line 352 "src/wast-lexer.cc" { OPCODE(F32Mul); RETURN(BINARY); } -#line 3829 "src/prebuilt/ast-lexer-gen.cc" +#line 3829 "src/prebuilt/wast-lexer-gen.cc" yy550: yych = *++lexer->cursor; if (yych == 'r') goto yy687; @@ -3835,9 +3835,9 @@ yy551: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 304 "src/ast-lexer.cc" +#line 304 "src/wast-lexer.cc" { OPCODE(F32Neg); RETURN(UNARY); } -#line 3841 "src/prebuilt/ast-lexer-gen.cc" +#line 3841 "src/prebuilt/wast-lexer-gen.cc" yy553: yych = *++lexer->cursor; if (yych == 'n') goto yy688; @@ -3855,9 +3855,9 @@ yy556: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 350 "src/ast-lexer.cc" +#line 350 "src/wast-lexer.cc" { OPCODE(F32Sub); RETURN(BINARY); } -#line 3861 "src/prebuilt/ast-lexer-gen.cc" +#line 3861 "src/prebuilt/wast-lexer-gen.cc" yy558: yych = *++lexer->cursor; if (yych == 'n') goto yy692; @@ -3867,17 +3867,17 @@ yy559: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 307 "src/ast-lexer.cc" +#line 307 "src/wast-lexer.cc" { OPCODE(F64Abs); RETURN(UNARY); } -#line 3873 "src/prebuilt/ast-lexer-gen.cc" +#line 3873 "src/prebuilt/wast-lexer-gen.cc" yy561: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 349 "src/ast-lexer.cc" +#line 349 "src/wast-lexer.cc" { OPCODE(F64Add); RETURN(BINARY); } -#line 3881 "src/prebuilt/ast-lexer-gen.cc" +#line 3881 "src/prebuilt/wast-lexer-gen.cc" yy563: yych = *++lexer->cursor; if (yych == 'l') goto yy693; @@ -3896,9 +3896,9 @@ yy566: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 355 "src/ast-lexer.cc" +#line 355 "src/wast-lexer.cc" { OPCODE(F64Div); RETURN(BINARY); } -#line 3902 "src/prebuilt/ast-lexer-gen.cc" +#line 3902 "src/prebuilt/wast-lexer-gen.cc" yy568: yych = *++lexer->cursor; if (yych == 'o') goto yy698; @@ -3912,25 +3912,25 @@ yy570: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 359 "src/ast-lexer.cc" +#line 359 "src/wast-lexer.cc" { OPCODE(F64Max); RETURN(BINARY); } -#line 3918 "src/prebuilt/ast-lexer-gen.cc" +#line 3918 "src/prebuilt/wast-lexer-gen.cc" yy572: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 357 "src/ast-lexer.cc" +#line 357 "src/wast-lexer.cc" { OPCODE(F64Min); RETURN(BINARY); } -#line 3926 "src/prebuilt/ast-lexer-gen.cc" +#line 3926 "src/prebuilt/wast-lexer-gen.cc" yy574: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 353 "src/ast-lexer.cc" +#line 353 "src/wast-lexer.cc" { OPCODE(F64Mul); RETURN(BINARY); } -#line 3934 "src/prebuilt/ast-lexer-gen.cc" +#line 3934 "src/prebuilt/wast-lexer-gen.cc" yy576: yych = *++lexer->cursor; if (yych == 'r') goto yy701; @@ -3940,9 +3940,9 @@ yy577: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 305 "src/ast-lexer.cc" +#line 305 "src/wast-lexer.cc" { OPCODE(F64Neg); RETURN(UNARY); } -#line 3946 "src/prebuilt/ast-lexer-gen.cc" +#line 3946 "src/prebuilt/wast-lexer-gen.cc" yy579: yych = *++lexer->cursor; if (yych == 'm') goto yy702; @@ -3964,9 +3964,9 @@ yy583: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 351 "src/ast-lexer.cc" +#line 351 "src/wast-lexer.cc" { OPCODE(F64Sub); RETURN(BINARY); } -#line 3970 "src/prebuilt/ast-lexer-gen.cc" +#line 3970 "src/prebuilt/wast-lexer-gen.cc" yy585: yych = *++lexer->cursor; if (yych == 'n') goto yy707; @@ -3988,25 +3988,25 @@ yy589: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 318 "src/ast-lexer.cc" +#line 318 "src/wast-lexer.cc" { OPCODE(I32Add); RETURN(BINARY); } -#line 3994 "src/prebuilt/ast-lexer-gen.cc" +#line 3994 "src/prebuilt/wast-lexer-gen.cc" yy591: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 332 "src/ast-lexer.cc" +#line 332 "src/wast-lexer.cc" { OPCODE(I32And); RETURN(BINARY); } -#line 4002 "src/prebuilt/ast-lexer-gen.cc" +#line 4002 "src/prebuilt/wast-lexer-gen.cc" yy593: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 298 "src/ast-lexer.cc" +#line 298 "src/wast-lexer.cc" { OPCODE(I32Clz); RETURN(UNARY); } -#line 4010 "src/prebuilt/ast-lexer-gen.cc" +#line 4010 "src/prebuilt/wast-lexer-gen.cc" yy595: yych = *++lexer->cursor; if (yych == 's') goto yy711; @@ -4016,9 +4016,9 @@ yy596: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 300 "src/ast-lexer.cc" +#line 300 "src/wast-lexer.cc" { OPCODE(I32Ctz); RETURN(UNARY); } -#line 4022 "src/prebuilt/ast-lexer-gen.cc" +#line 4022 "src/prebuilt/wast-lexer-gen.cc" yy598: yych = *++lexer->cursor; if (yych == '_') goto yy712; @@ -4028,9 +4028,9 @@ yy599: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 296 "src/ast-lexer.cc" +#line 296 "src/wast-lexer.cc" { OPCODE(I32Eqz); RETURN(CONVERT); } -#line 4034 "src/prebuilt/ast-lexer-gen.cc" +#line 4034 "src/prebuilt/wast-lexer-gen.cc" yy601: yych = *++lexer->cursor; if (yych == 's') goto yy713; @@ -4060,9 +4060,9 @@ yy606: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 322 "src/ast-lexer.cc" +#line 322 "src/wast-lexer.cc" { OPCODE(I32Mul); RETURN(BINARY); } -#line 4066 "src/prebuilt/ast-lexer-gen.cc" +#line 4066 "src/prebuilt/wast-lexer-gen.cc" yy608: yych = *++lexer->cursor; if (yych == 'c') goto yy731; @@ -4085,9 +4085,9 @@ yy612: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 338 "src/ast-lexer.cc" +#line 338 "src/wast-lexer.cc" { OPCODE(I32Shl); RETURN(BINARY); } -#line 4091 "src/prebuilt/ast-lexer-gen.cc" +#line 4091 "src/prebuilt/wast-lexer-gen.cc" yy614: yych = *++lexer->cursor; if (yych == '_') goto yy738; @@ -4101,9 +4101,9 @@ yy616: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 320 "src/ast-lexer.cc" +#line 320 "src/wast-lexer.cc" { OPCODE(I32Sub); RETURN(BINARY); } -#line 4107 "src/prebuilt/ast-lexer-gen.cc" +#line 4107 "src/prebuilt/wast-lexer-gen.cc" yy618: yych = *++lexer->cursor; if (yych == 'n') goto yy740; @@ -4117,33 +4117,33 @@ yy620: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 336 "src/ast-lexer.cc" +#line 336 "src/wast-lexer.cc" { OPCODE(I32Xor); RETURN(BINARY); } -#line 4123 "src/prebuilt/ast-lexer-gen.cc" +#line 4123 "src/prebuilt/wast-lexer-gen.cc" yy622: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 319 "src/ast-lexer.cc" +#line 319 "src/wast-lexer.cc" { OPCODE(I64Add); RETURN(BINARY); } -#line 4131 "src/prebuilt/ast-lexer-gen.cc" +#line 4131 "src/prebuilt/wast-lexer-gen.cc" yy624: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 333 "src/ast-lexer.cc" +#line 333 "src/wast-lexer.cc" { OPCODE(I64And); RETURN(BINARY); } -#line 4139 "src/prebuilt/ast-lexer-gen.cc" +#line 4139 "src/prebuilt/wast-lexer-gen.cc" yy626: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 299 "src/ast-lexer.cc" +#line 299 "src/wast-lexer.cc" { OPCODE(I64Clz); RETURN(UNARY); } -#line 4147 "src/prebuilt/ast-lexer-gen.cc" +#line 4147 "src/prebuilt/wast-lexer-gen.cc" yy628: yych = *++lexer->cursor; if (yych == 's') goto yy742; @@ -4153,9 +4153,9 @@ yy629: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 301 "src/ast-lexer.cc" +#line 301 "src/wast-lexer.cc" { OPCODE(I64Ctz); RETURN(UNARY); } -#line 4159 "src/prebuilt/ast-lexer-gen.cc" +#line 4159 "src/prebuilt/wast-lexer-gen.cc" yy631: yych = *++lexer->cursor; if (yych == '_') goto yy743; @@ -4165,9 +4165,9 @@ yy632: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 297 "src/ast-lexer.cc" +#line 297 "src/wast-lexer.cc" { OPCODE(I64Eqz); RETURN(CONVERT); } -#line 4171 "src/prebuilt/ast-lexer-gen.cc" +#line 4171 "src/prebuilt/wast-lexer-gen.cc" yy634: yych = *++lexer->cursor; if (yych == 'e') goto yy744; @@ -4201,9 +4201,9 @@ yy640: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 323 "src/ast-lexer.cc" +#line 323 "src/wast-lexer.cc" { OPCODE(I64Mul); RETURN(BINARY); } -#line 4207 "src/prebuilt/ast-lexer-gen.cc" +#line 4207 "src/prebuilt/wast-lexer-gen.cc" yy642: yych = *++lexer->cursor; if (yych == 'c') goto yy763; @@ -4226,9 +4226,9 @@ yy646: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 339 "src/ast-lexer.cc" +#line 339 "src/wast-lexer.cc" { OPCODE(I64Shl); RETURN(BINARY); } -#line 4232 "src/prebuilt/ast-lexer-gen.cc" +#line 4232 "src/prebuilt/wast-lexer-gen.cc" yy648: yych = *++lexer->cursor; if (yych == '_') goto yy770; @@ -4242,9 +4242,9 @@ yy650: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 321 "src/ast-lexer.cc" +#line 321 "src/wast-lexer.cc" { OPCODE(I64Sub); RETURN(BINARY); } -#line 4248 "src/prebuilt/ast-lexer-gen.cc" +#line 4248 "src/prebuilt/wast-lexer-gen.cc" yy652: yych = *++lexer->cursor; if (yych == 'n') goto yy772; @@ -4254,17 +4254,17 @@ yy653: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 337 "src/ast-lexer.cc" +#line 337 "src/wast-lexer.cc" { OPCODE(I64Xor); RETURN(BINARY); } -#line 4260 "src/prebuilt/ast-lexer-gen.cc" +#line 4260 "src/prebuilt/wast-lexer-gen.cc" yy655: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 249 "src/ast-lexer.cc" +#line 249 "src/wast-lexer.cc" { RETURN(IF); } -#line 4268 "src/prebuilt/ast-lexer-gen.cc" +#line 4268 "src/prebuilt/wast-lexer-gen.cc" yy657: yych = *++lexer->cursor; if (yych == 'y') goto yy773; @@ -4382,9 +4382,9 @@ yy673: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 255 "src/ast-lexer.cc" +#line 255 "src/wast-lexer.cc" { RETURN(BR_TABLE); } -#line 4388 "src/prebuilt/ast-lexer-gen.cc" +#line 4388 "src/prebuilt/wast-lexer-gen.cc" yy675: yych = *++lexer->cursor; if (yych == 'o') goto yy792; @@ -4402,9 +4402,9 @@ yy678: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 310 "src/ast-lexer.cc" +#line 310 "src/wast-lexer.cc" { OPCODE(F32Ceil); RETURN(UNARY); } -#line 4408 "src/prebuilt/ast-lexer-gen.cc" +#line 4408 "src/prebuilt/wast-lexer-gen.cc" yy680: yych = *++lexer->cursor; if (yych == 't') goto yy795; @@ -4430,9 +4430,9 @@ yy685: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 269 "src/ast-lexer.cc" +#line 269 "src/wast-lexer.cc" { OPCODE(F32Load); RETURN(LOAD); } -#line 4436 "src/prebuilt/ast-lexer-gen.cc" +#line 4436 "src/prebuilt/wast-lexer-gen.cc" yy687: yych = *++lexer->cursor; if (yych == 'e') goto yy802; @@ -4446,9 +4446,9 @@ yy689: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 308 "src/ast-lexer.cc" +#line 308 "src/wast-lexer.cc" { OPCODE(F32Sqrt); RETURN(UNARY); } -#line 4452 "src/prebuilt/ast-lexer-gen.cc" +#line 4452 "src/prebuilt/wast-lexer-gen.cc" yy691: yych = *++lexer->cursor; if (yych == 'e') goto yy804; @@ -4462,9 +4462,9 @@ yy693: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 311 "src/ast-lexer.cc" +#line 311 "src/wast-lexer.cc" { OPCODE(F64Ceil); RETURN(UNARY); } -#line 4468 "src/prebuilt/ast-lexer-gen.cc" +#line 4468 "src/prebuilt/wast-lexer-gen.cc" yy695: yych = *++lexer->cursor; if (yych == 't') goto yy808; @@ -4486,9 +4486,9 @@ yy699: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 270 "src/ast-lexer.cc" +#line 270 "src/wast-lexer.cc" { OPCODE(F64Load); RETURN(LOAD); } -#line 4492 "src/prebuilt/ast-lexer-gen.cc" +#line 4492 "src/prebuilt/wast-lexer-gen.cc" yy701: yych = *++lexer->cursor; if (yych == 'e') goto yy814; @@ -4506,9 +4506,9 @@ yy704: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 309 "src/ast-lexer.cc" +#line 309 "src/wast-lexer.cc" { OPCODE(F64Sqrt); RETURN(UNARY); } -#line 4512 "src/prebuilt/ast-lexer-gen.cc" +#line 4512 "src/prebuilt/wast-lexer-gen.cc" yy706: yych = *++lexer->cursor; if (yych == 'e') goto yy817; @@ -4543,49 +4543,49 @@ yy713: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 378 "src/ast-lexer.cc" +#line 378 "src/wast-lexer.cc" { OPCODE(I32GeS); RETURN(COMPARE); } -#line 4549 "src/prebuilt/ast-lexer-gen.cc" +#line 4549 "src/prebuilt/wast-lexer-gen.cc" yy715: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 380 "src/ast-lexer.cc" +#line 380 "src/wast-lexer.cc" { OPCODE(I32GeU); RETURN(COMPARE); } -#line 4557 "src/prebuilt/ast-lexer-gen.cc" +#line 4557 "src/prebuilt/wast-lexer-gen.cc" yy717: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 374 "src/ast-lexer.cc" +#line 374 "src/wast-lexer.cc" { OPCODE(I32GtS); RETURN(COMPARE); } -#line 4565 "src/prebuilt/ast-lexer-gen.cc" +#line 4565 "src/prebuilt/wast-lexer-gen.cc" yy719: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 376 "src/ast-lexer.cc" +#line 376 "src/wast-lexer.cc" { OPCODE(I32GtU); RETURN(COMPARE); } -#line 4573 "src/prebuilt/ast-lexer-gen.cc" +#line 4573 "src/prebuilt/wast-lexer-gen.cc" yy721: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 370 "src/ast-lexer.cc" +#line 370 "src/wast-lexer.cc" { OPCODE(I32LeS); RETURN(COMPARE); } -#line 4581 "src/prebuilt/ast-lexer-gen.cc" +#line 4581 "src/prebuilt/wast-lexer-gen.cc" yy723: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 372 "src/ast-lexer.cc" +#line 372 "src/wast-lexer.cc" { OPCODE(I32LeU); RETURN(COMPARE); } -#line 4589 "src/prebuilt/ast-lexer-gen.cc" +#line 4589 "src/prebuilt/wast-lexer-gen.cc" yy725: ++lexer->cursor; if ((yych = *lexer->cursor) <= '8') { @@ -4621,25 +4621,25 @@ yy725: } } yy726: -#line 267 "src/ast-lexer.cc" +#line 267 "src/wast-lexer.cc" { OPCODE(I32Load); RETURN(LOAD); } -#line 4627 "src/prebuilt/ast-lexer-gen.cc" +#line 4627 "src/prebuilt/wast-lexer-gen.cc" yy727: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 366 "src/ast-lexer.cc" +#line 366 "src/wast-lexer.cc" { OPCODE(I32LtS); RETURN(COMPARE); } -#line 4635 "src/prebuilt/ast-lexer-gen.cc" +#line 4635 "src/prebuilt/wast-lexer-gen.cc" yy729: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 368 "src/ast-lexer.cc" +#line 368 "src/wast-lexer.cc" { OPCODE(I32LtU); RETURN(COMPARE); } -#line 4643 "src/prebuilt/ast-lexer-gen.cc" +#line 4643 "src/prebuilt/wast-lexer-gen.cc" yy731: yych = *++lexer->cursor; if (yych == 'n') goto yy833; @@ -4658,17 +4658,17 @@ yy734: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 344 "src/ast-lexer.cc" +#line 344 "src/wast-lexer.cc" { OPCODE(I32Rotl); RETURN(BINARY); } -#line 4664 "src/prebuilt/ast-lexer-gen.cc" +#line 4664 "src/prebuilt/wast-lexer-gen.cc" yy736: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 346 "src/ast-lexer.cc" +#line 346 "src/wast-lexer.cc" { OPCODE(I32Rotr); RETURN(BINARY); } -#line 4672 "src/prebuilt/ast-lexer-gen.cc" +#line 4672 "src/prebuilt/wast-lexer-gen.cc" yy738: yych = *++lexer->cursor; if (yych == 's') goto yy839; @@ -4704,49 +4704,49 @@ yy745: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 379 "src/ast-lexer.cc" +#line 379 "src/wast-lexer.cc" { OPCODE(I64GeS); RETURN(COMPARE); } -#line 4710 "src/prebuilt/ast-lexer-gen.cc" +#line 4710 "src/prebuilt/wast-lexer-gen.cc" yy747: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 381 "src/ast-lexer.cc" +#line 381 "src/wast-lexer.cc" { OPCODE(I64GeU); RETURN(COMPARE); } -#line 4718 "src/prebuilt/ast-lexer-gen.cc" +#line 4718 "src/prebuilt/wast-lexer-gen.cc" yy749: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 375 "src/ast-lexer.cc" +#line 375 "src/wast-lexer.cc" { OPCODE(I64GtS); RETURN(COMPARE); } -#line 4726 "src/prebuilt/ast-lexer-gen.cc" +#line 4726 "src/prebuilt/wast-lexer-gen.cc" yy751: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 377 "src/ast-lexer.cc" +#line 377 "src/wast-lexer.cc" { OPCODE(I64GtU); RETURN(COMPARE); } -#line 4734 "src/prebuilt/ast-lexer-gen.cc" +#line 4734 "src/prebuilt/wast-lexer-gen.cc" yy753: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 371 "src/ast-lexer.cc" +#line 371 "src/wast-lexer.cc" { OPCODE(I64LeS); RETURN(COMPARE); } -#line 4742 "src/prebuilt/ast-lexer-gen.cc" +#line 4742 "src/prebuilt/wast-lexer-gen.cc" yy755: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 373 "src/ast-lexer.cc" +#line 373 "src/wast-lexer.cc" { OPCODE(I64LeU); RETURN(COMPARE); } -#line 4750 "src/prebuilt/ast-lexer-gen.cc" +#line 4750 "src/prebuilt/wast-lexer-gen.cc" yy757: ++lexer->cursor; if ((yych = *lexer->cursor) <= '7') { @@ -4786,25 +4786,25 @@ yy757: } } yy758: -#line 268 "src/ast-lexer.cc" +#line 268 "src/wast-lexer.cc" { OPCODE(I64Load); RETURN(LOAD); } -#line 4792 "src/prebuilt/ast-lexer-gen.cc" +#line 4792 "src/prebuilt/wast-lexer-gen.cc" yy759: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 367 "src/ast-lexer.cc" +#line 367 "src/wast-lexer.cc" { OPCODE(I64LtS); RETURN(COMPARE); } -#line 4800 "src/prebuilt/ast-lexer-gen.cc" +#line 4800 "src/prebuilt/wast-lexer-gen.cc" yy761: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 369 "src/ast-lexer.cc" +#line 369 "src/wast-lexer.cc" { OPCODE(I64LtU); RETURN(COMPARE); } -#line 4808 "src/prebuilt/ast-lexer-gen.cc" +#line 4808 "src/prebuilt/wast-lexer-gen.cc" yy763: yych = *++lexer->cursor; if (yych == 'n') goto yy857; @@ -4823,17 +4823,17 @@ yy766: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 345 "src/ast-lexer.cc" +#line 345 "src/wast-lexer.cc" { OPCODE(I64Rotl); RETURN(BINARY); } -#line 4829 "src/prebuilt/ast-lexer-gen.cc" +#line 4829 "src/prebuilt/wast-lexer-gen.cc" yy768: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 347 "src/ast-lexer.cc" +#line 347 "src/wast-lexer.cc" { OPCODE(I64Rotr); RETURN(BINARY); } -#line 4837 "src/prebuilt/ast-lexer-gen.cc" +#line 4837 "src/prebuilt/wast-lexer-gen.cc" yy770: yych = *++lexer->cursor; if (yych == 's') goto yy863; @@ -4889,9 +4889,9 @@ yy774: } } yy775: -#line 290 "src/ast-lexer.cc" +#line 290 "src/wast-lexer.cc" { TEXT_AT(7); RETURN(OFFSET_EQ_NAT); } -#line 4895 "src/prebuilt/ast-lexer-gen.cc" +#line 4895 "src/prebuilt/wast-lexer-gen.cc" yy776: ++lexer->cursor; if (lexer->limit <= lexer->cursor) FILL(1); @@ -4940,9 +4940,9 @@ yy778: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 438 "src/ast-lexer.cc" +#line 438 "src/wast-lexer.cc" { RETURN(REGISTER); } -#line 4946 "src/prebuilt/ast-lexer-gen.cc" +#line 4946 "src/prebuilt/wast-lexer-gen.cc" yy780: yych = *++lexer->cursor; if (yych == 'a') goto yy871; @@ -5046,9 +5046,9 @@ yy795: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 294 "src/ast-lexer.cc" +#line 294 "src/wast-lexer.cc" { TYPE(F32); RETURN(CONST); } -#line 5052 "src/prebuilt/ast-lexer-gen.cc" +#line 5052 "src/prebuilt/wast-lexer-gen.cc" yy797: yych = *++lexer->cursor; if (yych == 'r') goto yy886; @@ -5066,9 +5066,9 @@ yy800: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 312 "src/ast-lexer.cc" +#line 312 "src/wast-lexer.cc" { OPCODE(F32Floor); RETURN(UNARY); } -#line 5072 "src/prebuilt/ast-lexer-gen.cc" +#line 5072 "src/prebuilt/wast-lexer-gen.cc" yy802: yych = *++lexer->cursor; if (yych == 's') goto yy889; @@ -5082,25 +5082,25 @@ yy804: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 273 "src/ast-lexer.cc" +#line 273 "src/wast-lexer.cc" { OPCODE(F32Store); RETURN(STORE); } -#line 5088 "src/prebuilt/ast-lexer-gen.cc" +#line 5088 "src/prebuilt/wast-lexer-gen.cc" yy806: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 314 "src/ast-lexer.cc" +#line 314 "src/wast-lexer.cc" { OPCODE(F32Trunc); RETURN(UNARY); } -#line 5096 "src/prebuilt/ast-lexer-gen.cc" +#line 5096 "src/prebuilt/wast-lexer-gen.cc" yy808: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 295 "src/ast-lexer.cc" +#line 295 "src/wast-lexer.cc" { TYPE(F64); RETURN(CONST); } -#line 5104 "src/prebuilt/ast-lexer-gen.cc" +#line 5104 "src/prebuilt/wast-lexer-gen.cc" yy810: yych = *++lexer->cursor; if (yych == 'r') goto yy891; @@ -5114,9 +5114,9 @@ yy812: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 313 "src/ast-lexer.cc" +#line 313 "src/wast-lexer.cc" { OPCODE(F64Floor); RETURN(UNARY); } -#line 5120 "src/prebuilt/ast-lexer-gen.cc" +#line 5120 "src/prebuilt/wast-lexer-gen.cc" yy814: yych = *++lexer->cursor; if (yych == 's') goto yy893; @@ -5134,17 +5134,17 @@ yy817: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 274 "src/ast-lexer.cc" +#line 274 "src/wast-lexer.cc" { OPCODE(F64Store); RETURN(STORE); } -#line 5140 "src/prebuilt/ast-lexer-gen.cc" +#line 5140 "src/prebuilt/wast-lexer-gen.cc" yy819: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 315 "src/ast-lexer.cc" +#line 315 "src/wast-lexer.cc" { OPCODE(F64Trunc); RETURN(UNARY); } -#line 5148 "src/prebuilt/ast-lexer-gen.cc" +#line 5148 "src/prebuilt/wast-lexer-gen.cc" yy821: yych = *++lexer->cursor; if (yych == 'l') goto yy896; @@ -5154,9 +5154,9 @@ yy822: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 262 "src/ast-lexer.cc" +#line 262 "src/wast-lexer.cc" { RETURN(GET_LOCAL); } -#line 5160 "src/prebuilt/ast-lexer-gen.cc" +#line 5160 "src/prebuilt/wast-lexer-gen.cc" yy824: yych = *++lexer->cursor; if (yych == 'r') goto yy898; @@ -5166,25 +5166,25 @@ yy825: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 292 "src/ast-lexer.cc" +#line 292 "src/wast-lexer.cc" { TYPE(I32); RETURN(CONST); } -#line 5172 "src/prebuilt/ast-lexer-gen.cc" +#line 5172 "src/prebuilt/wast-lexer-gen.cc" yy827: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 324 "src/ast-lexer.cc" +#line 324 "src/wast-lexer.cc" { OPCODE(I32DivS); RETURN(BINARY); } -#line 5180 "src/prebuilt/ast-lexer-gen.cc" +#line 5180 "src/prebuilt/wast-lexer-gen.cc" yy829: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 326 "src/ast-lexer.cc" +#line 326 "src/wast-lexer.cc" { OPCODE(I32DivU); RETURN(BINARY); } -#line 5188 "src/prebuilt/ast-lexer-gen.cc" +#line 5188 "src/prebuilt/wast-lexer-gen.cc" yy831: yych = *++lexer->cursor; if (yych == '6') goto yy899; @@ -5206,33 +5206,33 @@ yy835: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 328 "src/ast-lexer.cc" +#line 328 "src/wast-lexer.cc" { OPCODE(I32RemS); RETURN(BINARY); } -#line 5212 "src/prebuilt/ast-lexer-gen.cc" +#line 5212 "src/prebuilt/wast-lexer-gen.cc" yy837: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 330 "src/ast-lexer.cc" +#line 330 "src/wast-lexer.cc" { OPCODE(I32RemU); RETURN(BINARY); } -#line 5220 "src/prebuilt/ast-lexer-gen.cc" +#line 5220 "src/prebuilt/wast-lexer-gen.cc" yy839: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 340 "src/ast-lexer.cc" +#line 340 "src/wast-lexer.cc" { OPCODE(I32ShrS); RETURN(BINARY); } -#line 5228 "src/prebuilt/ast-lexer-gen.cc" +#line 5228 "src/prebuilt/wast-lexer-gen.cc" yy841: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 342 "src/ast-lexer.cc" +#line 342 "src/wast-lexer.cc" { OPCODE(I32ShrU); RETURN(BINARY); } -#line 5236 "src/prebuilt/ast-lexer-gen.cc" +#line 5236 "src/prebuilt/wast-lexer-gen.cc" yy843: ++lexer->cursor; if ((yych = *lexer->cursor) <= '8') { @@ -5268,9 +5268,9 @@ yy843: } } yy844: -#line 271 "src/ast-lexer.cc" +#line 271 "src/wast-lexer.cc" { OPCODE(I32Store); RETURN(STORE); } -#line 5274 "src/prebuilt/ast-lexer-gen.cc" +#line 5274 "src/prebuilt/wast-lexer-gen.cc" yy845: yych = *++lexer->cursor; if (yych == '_') goto yy907; @@ -5284,25 +5284,25 @@ yy847: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 293 "src/ast-lexer.cc" +#line 293 "src/wast-lexer.cc" { TYPE(I64); RETURN(CONST); } -#line 5290 "src/prebuilt/ast-lexer-gen.cc" +#line 5290 "src/prebuilt/wast-lexer-gen.cc" yy849: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 325 "src/ast-lexer.cc" +#line 325 "src/wast-lexer.cc" { OPCODE(I64DivS); RETURN(BINARY); } -#line 5298 "src/prebuilt/ast-lexer-gen.cc" +#line 5298 "src/prebuilt/wast-lexer-gen.cc" yy851: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 327 "src/ast-lexer.cc" +#line 327 "src/wast-lexer.cc" { OPCODE(I64DivU); RETURN(BINARY); } -#line 5306 "src/prebuilt/ast-lexer-gen.cc" +#line 5306 "src/prebuilt/wast-lexer-gen.cc" yy853: yych = *++lexer->cursor; if (yych == 'd') goto yy909; @@ -5332,33 +5332,33 @@ yy859: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 329 "src/ast-lexer.cc" +#line 329 "src/wast-lexer.cc" { OPCODE(I64RemS); RETURN(BINARY); } -#line 5338 "src/prebuilt/ast-lexer-gen.cc" +#line 5338 "src/prebuilt/wast-lexer-gen.cc" yy861: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 331 "src/ast-lexer.cc" +#line 331 "src/wast-lexer.cc" { OPCODE(I64RemU); RETURN(BINARY); } -#line 5346 "src/prebuilt/ast-lexer-gen.cc" +#line 5346 "src/prebuilt/wast-lexer-gen.cc" yy863: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 341 "src/ast-lexer.cc" +#line 341 "src/wast-lexer.cc" { OPCODE(I64ShrS); RETURN(BINARY); } -#line 5354 "src/prebuilt/ast-lexer-gen.cc" +#line 5354 "src/prebuilt/wast-lexer-gen.cc" yy865: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 343 "src/ast-lexer.cc" +#line 343 "src/wast-lexer.cc" { OPCODE(I64ShrU); RETURN(BINARY); } -#line 5362 "src/prebuilt/ast-lexer-gen.cc" +#line 5362 "src/prebuilt/wast-lexer-gen.cc" yy867: ++lexer->cursor; if ((yych = *lexer->cursor) <= '7') { @@ -5398,9 +5398,9 @@ yy867: } } yy868: -#line 272 "src/ast-lexer.cc" +#line 272 "src/wast-lexer.cc" { OPCODE(I64Store); RETURN(STORE); } -#line 5404 "src/prebuilt/ast-lexer-gen.cc" +#line 5404 "src/prebuilt/wast-lexer-gen.cc" yy869: yych = *++lexer->cursor; if (yych == '_') goto yy920; @@ -5426,17 +5426,17 @@ yy872: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 263 "src/ast-lexer.cc" +#line 263 "src/wast-lexer.cc" { RETURN(SET_LOCAL); } -#line 5432 "src/prebuilt/ast-lexer-gen.cc" +#line 5432 "src/prebuilt/wast-lexer-gen.cc" yy874: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 264 "src/ast-lexer.cc" +#line 264 "src/wast-lexer.cc" { RETURN(TEE_LOCAL); } -#line 5440 "src/prebuilt/ast-lexer-gen.cc" +#line 5440 "src/prebuilt/wast-lexer-gen.cc" yy876: yych = *++lexer->cursor; if (yych == 'l') goto yy925; @@ -5522,9 +5522,9 @@ yy896: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 265 "src/ast-lexer.cc" +#line 265 "src/wast-lexer.cc" { RETURN(GET_GLOBAL); } -#line 5528 "src/prebuilt/ast-lexer-gen.cc" +#line 5528 "src/prebuilt/wast-lexer-gen.cc" yy898: yych = *++lexer->cursor; if (yych == 'y') goto yy949; @@ -5543,9 +5543,9 @@ yy901: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 302 "src/ast-lexer.cc" +#line 302 "src/wast-lexer.cc" { OPCODE(I32Popcnt); RETURN(UNARY); } -#line 5549 "src/prebuilt/ast-lexer-gen.cc" +#line 5549 "src/prebuilt/wast-lexer-gen.cc" yy903: yych = *++lexer->cursor; if (yych == 'r') goto yy956; @@ -5559,9 +5559,9 @@ yy905: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 285 "src/ast-lexer.cc" +#line 285 "src/wast-lexer.cc" { OPCODE(I32Store8); RETURN(STORE); } -#line 5565 "src/prebuilt/ast-lexer-gen.cc" +#line 5565 "src/prebuilt/wast-lexer-gen.cc" yy907: yych = *++lexer->cursor; if (yych == 's') goto yy959; @@ -5593,9 +5593,9 @@ yy913: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 303 "src/ast-lexer.cc" +#line 303 "src/wast-lexer.cc" { OPCODE(I64Popcnt); RETURN(UNARY); } -#line 5599 "src/prebuilt/ast-lexer-gen.cc" +#line 5599 "src/prebuilt/wast-lexer-gen.cc" yy915: yych = *++lexer->cursor; if (yych == 'r') goto yy969; @@ -5613,9 +5613,9 @@ yy918: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 286 "src/ast-lexer.cc" +#line 286 "src/wast-lexer.cc" { OPCODE(I64Store8); RETURN(STORE); } -#line 5619 "src/prebuilt/ast-lexer-gen.cc" +#line 5619 "src/prebuilt/wast-lexer-gen.cc" yy920: yych = *++lexer->cursor; if (yych == 's') goto yy974; @@ -5672,9 +5672,9 @@ yy923: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 266 "src/ast-lexer.cc" +#line 266 "src/wast-lexer.cc" { RETURN(SET_GLOBAL); } -#line 5678 "src/prebuilt/ast-lexer-gen.cc" +#line 5678 "src/prebuilt/wast-lexer-gen.cc" yy925: yych = *++lexer->cursor; if (yych == 'e') goto yy976; @@ -5700,9 +5700,9 @@ yy930: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 449 "src/ast-lexer.cc" +#line 449 "src/wast-lexer.cc" { RETURN(ASSERT_TRAP); } -#line 5706 "src/prebuilt/ast-lexer-gen.cc" +#line 5706 "src/prebuilt/wast-lexer-gen.cc" yy932: yych = *++lexer->cursor; if (yych == 'n') goto yy982; @@ -5712,9 +5712,9 @@ yy933: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 257 "src/ast-lexer.cc" +#line 257 "src/wast-lexer.cc" { RETURN(CALL_IMPORT); } -#line 5718 "src/prebuilt/ast-lexer-gen.cc" +#line 5718 "src/prebuilt/wast-lexer-gen.cc" yy935: yych = *++lexer->cursor; if (yych == 'c') goto yy983; @@ -5740,9 +5740,9 @@ yy940: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 316 "src/ast-lexer.cc" +#line 316 "src/wast-lexer.cc" { OPCODE(F32Nearest); RETURN(UNARY); } -#line 5746 "src/prebuilt/ast-lexer-gen.cc" +#line 5746 "src/prebuilt/wast-lexer-gen.cc" yy942: yych = *++lexer->cursor; if (yych == 'p') goto yy989; @@ -5760,9 +5760,9 @@ yy945: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 317 "src/ast-lexer.cc" +#line 317 "src/wast-lexer.cc" { OPCODE(F64Nearest); RETURN(UNARY); } -#line 5766 "src/prebuilt/ast-lexer-gen.cc" +#line 5766 "src/prebuilt/wast-lexer-gen.cc" yy947: yych = *++lexer->cursor; if (yych == '/') goto yy993; @@ -5776,9 +5776,9 @@ yy949: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 422 "src/ast-lexer.cc" +#line 422 "src/wast-lexer.cc" { RETURN(GROW_MEMORY); } -#line 5782 "src/prebuilt/ast-lexer-gen.cc" +#line 5782 "src/prebuilt/wast-lexer-gen.cc" yy951: yych = *++lexer->cursor; if (yych == 's') goto yy995; @@ -5789,17 +5789,17 @@ yy952: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 275 "src/ast-lexer.cc" +#line 275 "src/wast-lexer.cc" { OPCODE(I32Load8S); RETURN(LOAD); } -#line 5795 "src/prebuilt/ast-lexer-gen.cc" +#line 5795 "src/prebuilt/wast-lexer-gen.cc" yy954: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 277 "src/ast-lexer.cc" +#line 277 "src/wast-lexer.cc" { OPCODE(I32Load8U); RETURN(LOAD); } -#line 5803 "src/prebuilt/ast-lexer-gen.cc" +#line 5803 "src/prebuilt/wast-lexer-gen.cc" yy956: yych = *++lexer->cursor; if (yych == 'p') goto yy999; @@ -5809,9 +5809,9 @@ yy957: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 287 "src/ast-lexer.cc" +#line 287 "src/wast-lexer.cc" { OPCODE(I32Store16); RETURN(STORE); } -#line 5815 "src/prebuilt/ast-lexer-gen.cc" +#line 5815 "src/prebuilt/wast-lexer-gen.cc" yy959: yych = *++lexer->cursor; if (yych == '/') goto yy1000; @@ -5844,17 +5844,17 @@ yy965: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 276 "src/ast-lexer.cc" +#line 276 "src/wast-lexer.cc" { OPCODE(I64Load8S); RETURN(LOAD); } -#line 5850 "src/prebuilt/ast-lexer-gen.cc" +#line 5850 "src/prebuilt/wast-lexer-gen.cc" yy967: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 278 "src/ast-lexer.cc" +#line 278 "src/wast-lexer.cc" { OPCODE(I64Load8U); RETURN(LOAD); } -#line 5858 "src/prebuilt/ast-lexer-gen.cc" +#line 5858 "src/prebuilt/wast-lexer-gen.cc" yy969: yych = *++lexer->cursor; if (yych == 'p') goto yy1014; @@ -5864,17 +5864,17 @@ yy970: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 288 "src/ast-lexer.cc" +#line 288 "src/wast-lexer.cc" { OPCODE(I64Store16); RETURN(STORE); } -#line 5870 "src/prebuilt/ast-lexer-gen.cc" +#line 5870 "src/prebuilt/wast-lexer-gen.cc" yy972: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 289 "src/ast-lexer.cc" +#line 289 "src/wast-lexer.cc" { OPCODE(I64Store32); RETURN(STORE); } -#line 5878 "src/prebuilt/ast-lexer-gen.cc" +#line 5878 "src/prebuilt/wast-lexer-gen.cc" yy974: yych = *++lexer->cursor; if (yych == '/') goto yy1015; @@ -5888,9 +5888,9 @@ yy976: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 420 "src/ast-lexer.cc" +#line 420 "src/wast-lexer.cc" { RETURN(UNREACHABLE); } -#line 5894 "src/prebuilt/ast-lexer-gen.cc" +#line 5894 "src/prebuilt/wast-lexer-gen.cc" yy978: yych = *++lexer->cursor; if (yych == 's') goto yy1017; @@ -5929,9 +5929,9 @@ yy986: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 360 "src/ast-lexer.cc" +#line 360 "src/wast-lexer.cc" { OPCODE(F32Copysign); RETURN(BINARY); } -#line 5935 "src/prebuilt/ast-lexer-gen.cc" +#line 5935 "src/prebuilt/wast-lexer-gen.cc" yy988: yych = *++lexer->cursor; if (yych == '6') goto yy1028; @@ -5950,9 +5950,9 @@ yy991: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 361 "src/ast-lexer.cc" +#line 361 "src/wast-lexer.cc" { OPCODE(F64Copysign); RETURN(BINARY); } -#line 5956 "src/prebuilt/ast-lexer-gen.cc" +#line 5956 "src/prebuilt/wast-lexer-gen.cc" yy993: yych = *++lexer->cursor; if (yych == 'f') goto yy1032; @@ -5966,17 +5966,17 @@ yy995: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 279 "src/ast-lexer.cc" +#line 279 "src/wast-lexer.cc" { OPCODE(I32Load16S); RETURN(LOAD); } -#line 5972 "src/prebuilt/ast-lexer-gen.cc" +#line 5972 "src/prebuilt/wast-lexer-gen.cc" yy997: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 281 "src/ast-lexer.cc" +#line 281 "src/wast-lexer.cc" { OPCODE(I32Load16U); RETURN(LOAD); } -#line 5980 "src/prebuilt/ast-lexer-gen.cc" +#line 5980 "src/prebuilt/wast-lexer-gen.cc" yy999: yych = *++lexer->cursor; if (yych == 'r') goto yy1034; @@ -5994,9 +5994,9 @@ yy1002: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 396 "src/ast-lexer.cc" +#line 396 "src/wast-lexer.cc" { OPCODE(I32WrapI64); RETURN(CONVERT); } -#line 6000 "src/prebuilt/ast-lexer-gen.cc" +#line 6000 "src/prebuilt/wast-lexer-gen.cc" yy1004: yych = *++lexer->cursor; if (yych == '/') goto yy1037; @@ -6010,33 +6010,33 @@ yy1006: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 280 "src/ast-lexer.cc" +#line 280 "src/wast-lexer.cc" { OPCODE(I64Load16S); RETURN(LOAD); } -#line 6016 "src/prebuilt/ast-lexer-gen.cc" +#line 6016 "src/prebuilt/wast-lexer-gen.cc" yy1008: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 282 "src/ast-lexer.cc" +#line 282 "src/wast-lexer.cc" { OPCODE(I64Load16U); RETURN(LOAD); } -#line 6024 "src/prebuilt/ast-lexer-gen.cc" +#line 6024 "src/prebuilt/wast-lexer-gen.cc" yy1010: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 283 "src/ast-lexer.cc" +#line 283 "src/wast-lexer.cc" { OPCODE(I64Load32S); RETURN(LOAD); } -#line 6032 "src/prebuilt/ast-lexer-gen.cc" +#line 6032 "src/prebuilt/wast-lexer-gen.cc" yy1012: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 284 "src/ast-lexer.cc" +#line 284 "src/wast-lexer.cc" { OPCODE(I64Load32U); RETURN(LOAD); } -#line 6040 "src/prebuilt/ast-lexer-gen.cc" +#line 6040 "src/prebuilt/wast-lexer-gen.cc" yy1014: yych = *++lexer->cursor; if (yych == 'r') goto yy1039; @@ -6096,9 +6096,9 @@ yy1020: } } yy1021: -#line 444 "src/ast-lexer.cc" +#line 444 "src/wast-lexer.cc" { RETURN(ASSERT_RETURN); } -#line 6102 "src/prebuilt/ast-lexer-gen.cc" +#line 6102 "src/prebuilt/wast-lexer-gen.cc" yy1022: yych = *++lexer->cursor; if (yych == 'a') goto yy1047; @@ -6108,9 +6108,9 @@ yy1023: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 258 "src/ast-lexer.cc" +#line 258 "src/wast-lexer.cc" { RETURN(CALL_INDIRECT); } -#line 6114 "src/prebuilt/ast-lexer-gen.cc" +#line 6114 "src/prebuilt/wast-lexer-gen.cc" yy1025: yych = *++lexer->cursor; if (yych == 'y') goto yy1048; @@ -6192,9 +6192,9 @@ yy1043: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 442 "src/ast-lexer.cc" +#line 442 "src/wast-lexer.cc" { RETURN(ASSERT_INVALID); } -#line 6198 "src/prebuilt/ast-lexer-gen.cc" +#line 6198 "src/prebuilt/wast-lexer-gen.cc" yy1045: yych = *++lexer->cursor; if (yych == 'e') goto yy1072; @@ -6213,9 +6213,9 @@ yy1048: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 421 "src/ast-lexer.cc" +#line 421 "src/wast-lexer.cc" { RETURN(CURRENT_MEMORY); } -#line 6219 "src/prebuilt/ast-lexer-gen.cc" +#line 6219 "src/prebuilt/wast-lexer-gen.cc" yy1050: yych = *++lexer->cursor; if (yych == 'i') goto yy1076; @@ -6229,9 +6229,9 @@ yy1052: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 414 "src/ast-lexer.cc" +#line 414 "src/wast-lexer.cc" { OPCODE(F32DemoteF64); RETURN(CONVERT); } -#line 6235 "src/prebuilt/ast-lexer-gen.cc" +#line 6235 "src/prebuilt/wast-lexer-gen.cc" yy1054: yych = *++lexer->cursor; if (yych == 't') goto yy1078; @@ -6349,9 +6349,9 @@ yy1081: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 413 "src/ast-lexer.cc" +#line 413 "src/wast-lexer.cc" { OPCODE(F64PromoteF32); RETURN(CONVERT); } -#line 6355 "src/prebuilt/ast-lexer-gen.cc" +#line 6355 "src/prebuilt/wast-lexer-gen.cc" yy1083: yych = *++lexer->cursor; if (yych == '/') goto yy1119; @@ -6365,33 +6365,33 @@ yy1085: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 397 "src/ast-lexer.cc" +#line 397 "src/wast-lexer.cc" { OPCODE(I32TruncSF32); RETURN(CONVERT); } -#line 6371 "src/prebuilt/ast-lexer-gen.cc" +#line 6371 "src/prebuilt/wast-lexer-gen.cc" yy1087: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 399 "src/ast-lexer.cc" +#line 399 "src/wast-lexer.cc" { OPCODE(I32TruncSF64); RETURN(CONVERT); } -#line 6379 "src/prebuilt/ast-lexer-gen.cc" +#line 6379 "src/prebuilt/wast-lexer-gen.cc" yy1089: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 401 "src/ast-lexer.cc" +#line 401 "src/wast-lexer.cc" { OPCODE(I32TruncUF32); RETURN(CONVERT); } -#line 6387 "src/prebuilt/ast-lexer-gen.cc" +#line 6387 "src/prebuilt/wast-lexer-gen.cc" yy1091: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 403 "src/ast-lexer.cc" +#line 403 "src/wast-lexer.cc" { OPCODE(I32TruncUF64); RETURN(CONVERT); } -#line 6395 "src/prebuilt/ast-lexer-gen.cc" +#line 6395 "src/prebuilt/wast-lexer-gen.cc" yy1093: yych = *++lexer->cursor; if (yych == '2') goto yy1121; @@ -6409,33 +6409,33 @@ yy1096: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 398 "src/ast-lexer.cc" +#line 398 "src/wast-lexer.cc" { OPCODE(I64TruncSF32); RETURN(CONVERT); } -#line 6415 "src/prebuilt/ast-lexer-gen.cc" +#line 6415 "src/prebuilt/wast-lexer-gen.cc" yy1098: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 400 "src/ast-lexer.cc" +#line 400 "src/wast-lexer.cc" { OPCODE(I64TruncSF64); RETURN(CONVERT); } -#line 6423 "src/prebuilt/ast-lexer-gen.cc" +#line 6423 "src/prebuilt/wast-lexer-gen.cc" yy1100: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 402 "src/ast-lexer.cc" +#line 402 "src/wast-lexer.cc" { OPCODE(I64TruncUF32); RETURN(CONVERT); } -#line 6431 "src/prebuilt/ast-lexer-gen.cc" +#line 6431 "src/prebuilt/wast-lexer-gen.cc" yy1102: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 404 "src/ast-lexer.cc" +#line 404 "src/wast-lexer.cc" { OPCODE(I64TruncUF64); RETURN(CONVERT); } -#line 6439 "src/prebuilt/ast-lexer-gen.cc" +#line 6439 "src/prebuilt/wast-lexer-gen.cc" yy1104: yych = *++lexer->cursor; if (yych == 'n') goto yy1126; @@ -6445,9 +6445,9 @@ yy1105: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 441 "src/ast-lexer.cc" +#line 441 "src/wast-lexer.cc" { RETURN(ASSERT_MALFORMED); } -#line 6451 "src/prebuilt/ast-lexer-gen.cc" +#line 6451 "src/prebuilt/wast-lexer-gen.cc" yy1107: yych = *++lexer->cursor; if (yych == 'i') goto yy1128; @@ -6509,17 +6509,17 @@ yy1121: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 394 "src/ast-lexer.cc" +#line 394 "src/wast-lexer.cc" { OPCODE(I64ExtendSI32); RETURN(CONVERT); } -#line 6515 "src/prebuilt/ast-lexer-gen.cc" +#line 6515 "src/prebuilt/wast-lexer-gen.cc" yy1123: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 395 "src/ast-lexer.cc" +#line 395 "src/wast-lexer.cc" { OPCODE(I64ExtendUI32); RETURN(CONVERT); } -#line 6523 "src/prebuilt/ast-lexer-gen.cc" +#line 6523 "src/prebuilt/wast-lexer-gen.cc" yy1125: yych = *++lexer->cursor; if (yych == 'f') goto yy1151; @@ -6529,9 +6529,9 @@ yy1126: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 450 "src/ast-lexer.cc" +#line 450 "src/wast-lexer.cc" { RETURN(ASSERT_EXHAUSTION); } -#line 6535 "src/prebuilt/ast-lexer-gen.cc" +#line 6535 "src/prebuilt/wast-lexer-gen.cc" yy1128: yych = *++lexer->cursor; if (yych == 't') goto yy1152; @@ -6545,41 +6545,41 @@ yy1130: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 443 "src/ast-lexer.cc" +#line 443 "src/wast-lexer.cc" { RETURN(ASSERT_UNLINKABLE); } -#line 6551 "src/prebuilt/ast-lexer-gen.cc" +#line 6551 "src/prebuilt/wast-lexer-gen.cc" yy1132: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 405 "src/ast-lexer.cc" +#line 405 "src/wast-lexer.cc" { OPCODE(F32ConvertSI32); RETURN(CONVERT); } -#line 6559 "src/prebuilt/ast-lexer-gen.cc" +#line 6559 "src/prebuilt/wast-lexer-gen.cc" yy1134: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 407 "src/ast-lexer.cc" +#line 407 "src/wast-lexer.cc" { OPCODE(F32ConvertSI64); RETURN(CONVERT); } -#line 6567 "src/prebuilt/ast-lexer-gen.cc" +#line 6567 "src/prebuilt/wast-lexer-gen.cc" yy1136: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 409 "src/ast-lexer.cc" +#line 409 "src/wast-lexer.cc" { OPCODE(F32ConvertUI32); RETURN(CONVERT); } -#line 6575 "src/prebuilt/ast-lexer-gen.cc" +#line 6575 "src/prebuilt/wast-lexer-gen.cc" yy1138: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 411 "src/ast-lexer.cc" +#line 411 "src/wast-lexer.cc" { OPCODE(F32ConvertUI64); RETURN(CONVERT); } -#line 6583 "src/prebuilt/ast-lexer-gen.cc" +#line 6583 "src/prebuilt/wast-lexer-gen.cc" yy1140: yych = *++lexer->cursor; if (yych == '3') goto yy1154; @@ -6589,33 +6589,33 @@ yy1141: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 406 "src/ast-lexer.cc" +#line 406 "src/wast-lexer.cc" { OPCODE(F64ConvertSI32); RETURN(CONVERT); } -#line 6595 "src/prebuilt/ast-lexer-gen.cc" +#line 6595 "src/prebuilt/wast-lexer-gen.cc" yy1143: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 408 "src/ast-lexer.cc" +#line 408 "src/wast-lexer.cc" { OPCODE(F64ConvertSI64); RETURN(CONVERT); } -#line 6603 "src/prebuilt/ast-lexer-gen.cc" +#line 6603 "src/prebuilt/wast-lexer-gen.cc" yy1145: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 410 "src/ast-lexer.cc" +#line 410 "src/wast-lexer.cc" { OPCODE(F64ConvertUI32); RETURN(CONVERT); } -#line 6611 "src/prebuilt/ast-lexer-gen.cc" +#line 6611 "src/prebuilt/wast-lexer-gen.cc" yy1147: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 412 "src/ast-lexer.cc" +#line 412 "src/wast-lexer.cc" { OPCODE(F64ConvertUI64); RETURN(CONVERT); } -#line 6619 "src/prebuilt/ast-lexer-gen.cc" +#line 6619 "src/prebuilt/wast-lexer-gen.cc" yy1149: yych = *++lexer->cursor; if (yych == '6') goto yy1155; @@ -6665,33 +6665,33 @@ yy1160: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 415 "src/ast-lexer.cc" +#line 415 "src/wast-lexer.cc" { OPCODE(F32ReinterpretI32); RETURN(CONVERT); } -#line 6671 "src/prebuilt/ast-lexer-gen.cc" +#line 6671 "src/prebuilt/wast-lexer-gen.cc" yy1162: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 417 "src/ast-lexer.cc" +#line 417 "src/wast-lexer.cc" { OPCODE(F64ReinterpretI64); RETURN(CONVERT); } -#line 6679 "src/prebuilt/ast-lexer-gen.cc" +#line 6679 "src/prebuilt/wast-lexer-gen.cc" yy1164: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 416 "src/ast-lexer.cc" +#line 416 "src/wast-lexer.cc" { OPCODE(I32ReinterpretF32); RETURN(CONVERT); } -#line 6687 "src/prebuilt/ast-lexer-gen.cc" +#line 6687 "src/prebuilt/wast-lexer-gen.cc" yy1166: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 418 "src/ast-lexer.cc" +#line 418 "src/wast-lexer.cc" { OPCODE(I64ReinterpretF64); RETURN(CONVERT); } -#line 6695 "src/prebuilt/ast-lexer-gen.cc" +#line 6695 "src/prebuilt/wast-lexer-gen.cc" yy1168: yych = *++lexer->cursor; if (yych == 'e') goto yy1170; @@ -6757,60 +6757,58 @@ yy1183: if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 445 "src/ast-lexer.cc" +#line 445 "src/wast-lexer.cc" { RETURN(ASSERT_RETURN_CANONICAL_NAN); } -#line 6764 "src/prebuilt/ast-lexer-gen.cc" +#line 6764 "src/prebuilt/wast-lexer-gen.cc" yy1185: ++lexer->cursor; if (yybm[0+(yych = *lexer->cursor)] & 16) { goto yy49; } -#line 447 "src/ast-lexer.cc" +#line 447 "src/wast-lexer.cc" { RETURN(ASSERT_RETURN_ARITHMETIC_NAN); } -#line 6773 "src/prebuilt/ast-lexer-gen.cc" +#line 6773 "src/prebuilt/wast-lexer-gen.cc" } } -#line 473 "src/ast-lexer.cc" +#line 473 "src/wast-lexer.cc" } } -static AstLexer* new_lexer(AstLexerSourceType type, - const char* filename) { - AstLexer* lexer = new AstLexer(); +static WastLexer* new_lexer(WastLexerSourceType type, const char* filename) { + WastLexer* lexer = new WastLexer(); lexer->line = 1; lexer->filename = filename; lexer->source.type = type; return lexer; } -AstLexer* new_ast_file_lexer(const char* filename) { - AstLexer* lexer = new_lexer(AstLexerSourceType::File, filename); +WastLexer* new_wast_file_lexer(const char* filename) { + WastLexer* lexer = new_lexer(WastLexerSourceType::File, filename); lexer->source.file = fopen(filename, "rb"); if (!lexer->source.file) { - destroy_ast_lexer(lexer); + destroy_wast_lexer(lexer); return nullptr; } return lexer; } -AstLexer* new_ast_buffer_lexer(const char* filename, - const void* data, - size_t size) { - AstLexer* lexer = - new_lexer(AstLexerSourceType::Buffer, filename); +WastLexer* new_wast_buffer_lexer(const char* filename, + const void* data, + size_t size) { + WastLexer* lexer = new_lexer(WastLexerSourceType::Buffer, filename); lexer->source.buffer.data = data; lexer->source.buffer.size = size; lexer->source.buffer.read_offset = 0; return lexer; } -void destroy_ast_lexer(AstLexer* lexer) { - if (lexer->source.type == AstLexerSourceType::File && lexer->source.file) +void destroy_wast_lexer(WastLexer* lexer) { + if (lexer->source.type == WastLexerSourceType::File && lexer->source.file) fclose(lexer->source.file); - delete [] lexer->buffer; + delete[] lexer->buffer; delete lexer; } @@ -6866,7 +6864,7 @@ static Result scan_forward_for_line_offset_in_buffer( } static Result scan_forward_for_line_offset_in_file( - AstLexer* lexer, + WastLexer* lexer, int line, size_t line_start_offset, LineOffsetPosition find_position, @@ -6913,15 +6911,14 @@ cleanup: return result; } -static Result scan_forward_for_line_offset( - AstLexer* lexer, - int line, - size_t line_start_offset, - LineOffsetPosition find_position, - int find_line, - size_t* out_line_offset) { +static Result scan_forward_for_line_offset(WastLexer* lexer, + int line, + size_t line_start_offset, + LineOffsetPosition find_position, + int find_line, + size_t* out_line_offset) { assert(line <= find_line); - if (lexer->source.type == AstLexerSourceType::Buffer) { + if (lexer->source.type == WastLexerSourceType::Buffer) { const char* source_buffer = static_cast<const char*>(lexer->source.buffer.data); const char* buffer_start = source_buffer + line_start_offset; @@ -6930,16 +6927,16 @@ static Result scan_forward_for_line_offset( buffer_start, buffer_end, line, line_start_offset, find_position, find_line, &line, out_line_offset); } else { - assert(lexer->source.type == AstLexerSourceType::File); + assert(lexer->source.type == WastLexerSourceType::File); return scan_forward_for_line_offset_in_file(lexer, line, line_start_offset, find_position, find_line, out_line_offset); } } -static Result get_line_start_offset(AstLexer* lexer, - int line, - size_t* out_offset) { +static Result get_line_start_offset(WastLexer* lexer, + int line, + size_t* out_offset) { int first_line = 1; size_t first_offset = 0; int current_line = lexer->line; @@ -6963,18 +6960,17 @@ static Result get_line_start_offset(AstLexer* lexer, } } -static Result get_offsets_from_line(AstLexer* lexer, - int line, - size_t* out_line_start, - size_t* out_line_end) { +static Result get_offsets_from_line(WastLexer* lexer, + int line, + size_t* out_line_start, + size_t* out_line_end) { size_t line_start; if (WABT_FAILED(get_line_start_offset(lexer, line, &line_start))) return Result::Error; size_t line_end; - if (WABT_FAILED(scan_forward_for_line_offset(lexer, line, line_start, - LineOffsetPosition::End, - line, &line_end))) + if (WABT_FAILED(scan_forward_for_line_offset( + lexer, line, line_start, LineOffsetPosition::End, line, &line_end))) return Result::Error; *out_line_start = line_start; *out_line_end = line_end; @@ -7010,12 +7006,12 @@ static void clamp_source_line_offsets_to_location(size_t line_start, *out_new_line_end = line_end; } -Result ast_lexer_get_source_line(AstLexer* lexer, - const Location* loc, - size_t line_max_length, - char* line, - size_t* out_line_length, - int* out_column_offset) { +Result wast_lexer_get_source_line(WastLexer* lexer, + const Location* loc, + size_t line_max_length, + char* line, + size_t* out_line_length, + int* out_column_offset) { Result result; size_t line_start; /* inclusive */ size_t line_end; /* exclusive */ @@ -7046,12 +7042,12 @@ Result ast_lexer_get_source_line(AstLexer* lexer, read_length -= 3; } - if (lexer->source.type == AstLexerSourceType::Buffer) { + if (lexer->source.type == WastLexerSourceType::Buffer) { const char* buffer_read_start = static_cast<const char*>(lexer->source.buffer.data) + read_start; memcpy(write_start, buffer_read_start, read_length); } else { - assert(lexer->source.type == AstLexerSourceType::File); + assert(lexer->source.type == WastLexerSourceType::File); FILE* lexer_file = lexer->source.file; long old_offset = ftell(lexer_file); if (old_offset == -1) diff --git a/src/prebuilt/ast-parser-gen.cc b/src/prebuilt/wast-parser-gen.cc index a756c8d2..9c140316 100644 --- a/src/prebuilt/ast-parser-gen.cc +++ b/src/prebuilt/wast-parser-gen.cc @@ -59,18 +59,18 @@ #define YYPULL 1 /* Substitute the type names. */ -#define YYSTYPE WABT_AST_PARSER_STYPE -#define YYLTYPE WABT_AST_PARSER_LTYPE +#define YYSTYPE WABT_WAST_PARSER_STYPE +#define YYLTYPE WABT_WAST_PARSER_LTYPE /* Substitute the variable and function names. */ -#define yyparse wabt_ast_parser_parse -#define yylex wabt_ast_parser_lex -#define yyerror wabt_ast_parser_error -#define yydebug wabt_ast_parser_debug -#define yynerrs wabt_ast_parser_nerrs +#define yyparse wabt_wast_parser_parse +#define yylex wabt_wast_parser_lex +#define yyerror wabt_wast_parser_error +#define yydebug wabt_wast_parser_debug +#define yynerrs wabt_wast_parser_nerrs /* Copy the first part of user declarations. */ -#line 17 "src/ast-parser.y" /* yacc.c:339 */ +#line 17 "src/wast-parser.y" /* yacc.c:339 */ #include <assert.h> #include <stdarg.h> @@ -80,12 +80,12 @@ #include <algorithm> #include <utility> -#include "ast-parser.h" -#include "ast-parser-lexer-shared.h" #include "binary-error-handler.h" -#include "binary-reader-ast.h" #include "binary-reader.h" +#include "binary-reader-ir.h" #include "literal.h" +#include "wast-parser.h" +#include "wast-parser-lexer-shared.h" #define INVALID_VAR_INDEX (-1) @@ -170,7 +170,7 @@ #define CHECK_IMPORT_ORDERING(module, kind, kinds, loc_) \ do { \ if ((module)->kinds.size() != (module)->num_##kind##_imports) { \ - ast_parser_error( \ + wast_parser_error( \ &loc_, lexer, parser, \ "imports must occur before all non-import definitions"); \ } \ @@ -180,15 +180,15 @@ do { \ if (!string_slice_is_empty(&(end_label))) { \ if (string_slice_is_empty(&(begin_label))) { \ - ast_parser_error(&loc, lexer, parser, \ - "unexpected label \"" PRIstringslice "\"", \ - WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ + wast_parser_error(&loc, lexer, parser, \ + "unexpected label \"" PRIstringslice "\"", \ + WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ } else if (!string_slices_are_equal(&(begin_label), &(end_label))) { \ - ast_parser_error(&loc, lexer, parser, \ - "mismatching label \"" PRIstringslice \ - "\" != \"" PRIstringslice "\"", \ - WABT_PRINTF_STRING_SLICE_ARG(begin_label), \ - WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ + wast_parser_error(&loc, lexer, parser, \ + "mismatching label \"" PRIstringslice \ + "\" != \"" PRIstringslice "\"", \ + WABT_PRINTF_STRING_SLICE_ARG(begin_label), \ + WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ } \ destroy_string_slice(&(end_label)); \ } \ @@ -221,20 +221,20 @@ void append_implicit_func_declaration(Location*, class BinaryErrorHandlerModule : public BinaryErrorHandler { public: - BinaryErrorHandlerModule(Location* loc, AstLexer* lexer, AstParser* parser); + BinaryErrorHandlerModule(Location* loc, WastLexer* lexer, WastParser* parser); bool OnError(uint32_t offset, const std::string& error) override; private: Location* loc_; - AstLexer* lexer_; - AstParser* parser_; + WastLexer* lexer_; + WastParser* parser_; }; -#define wabt_ast_parser_lex ast_lexer_lex -#define wabt_ast_parser_error ast_parser_error +#define wabt_wast_parser_lex wast_lexer_lex +#define wabt_wast_parser_error wast_parser_error -#line 238 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:339 */ +#line 238 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -253,29 +253,29 @@ class BinaryErrorHandlerModule : public BinaryErrorHandler { #endif /* In a future release of Bison, this section will be replaced - by #include "ast-parser-gen.hh". */ -#ifndef YY_WABT_AST_PARSER_SRC_PREBUILT_AST_PARSER_GEN_HH_INCLUDED -# define YY_WABT_AST_PARSER_SRC_PREBUILT_AST_PARSER_GEN_HH_INCLUDED + by #include "wast-parser-gen.hh". */ +#ifndef YY_WABT_WAST_PARSER_SRC_PREBUILT_WAST_PARSER_GEN_HH_INCLUDED +# define YY_WABT_WAST_PARSER_SRC_PREBUILT_WAST_PARSER_GEN_HH_INCLUDED /* Debug traces. */ -#ifndef WABT_AST_PARSER_DEBUG +#ifndef WABT_WAST_PARSER_DEBUG # if defined YYDEBUG #if YYDEBUG -# define WABT_AST_PARSER_DEBUG 1 +# define WABT_WAST_PARSER_DEBUG 1 # else -# define WABT_AST_PARSER_DEBUG 0 +# define WABT_WAST_PARSER_DEBUG 0 # endif # else /* ! defined YYDEBUG */ -# define WABT_AST_PARSER_DEBUG 0 +# define WABT_WAST_PARSER_DEBUG 0 # endif /* ! defined YYDEBUG */ -#endif /* ! defined WABT_AST_PARSER_DEBUG */ -#if WABT_AST_PARSER_DEBUG -extern int wabt_ast_parser_debug; +#endif /* ! defined WABT_WAST_PARSER_DEBUG */ +#if WABT_WAST_PARSER_DEBUG +extern int wabt_wast_parser_debug; #endif /* Token type. */ -#ifndef WABT_AST_PARSER_TOKENTYPE -# define WABT_AST_PARSER_TOKENTYPE - enum wabt_ast_parser_tokentype +#ifndef WABT_WAST_PARSER_TOKENTYPE +# define WABT_WAST_PARSER_TOKENTYPE + enum wabt_wast_parser_tokentype { WABT_TOKEN_TYPE_EOF = 0, WABT_TOKEN_TYPE_LPAR = 258, @@ -354,35 +354,35 @@ extern int wabt_ast_parser_debug; #endif /* Value type. */ -#if ! defined WABT_AST_PARSER_STYPE && ! defined WABT_AST_PARSER_STYPE_IS_DECLARED -typedef ::wabt::Token WABT_AST_PARSER_STYPE; -# define WABT_AST_PARSER_STYPE_IS_TRIVIAL 1 -# define WABT_AST_PARSER_STYPE_IS_DECLARED 1 +#if ! defined WABT_WAST_PARSER_STYPE && ! defined WABT_WAST_PARSER_STYPE_IS_DECLARED +typedef ::wabt::Token WABT_WAST_PARSER_STYPE; +# define WABT_WAST_PARSER_STYPE_IS_TRIVIAL 1 +# define WABT_WAST_PARSER_STYPE_IS_DECLARED 1 #endif /* Location type. */ -#if ! defined WABT_AST_PARSER_LTYPE && ! defined WABT_AST_PARSER_LTYPE_IS_DECLARED -typedef struct WABT_AST_PARSER_LTYPE WABT_AST_PARSER_LTYPE; -struct WABT_AST_PARSER_LTYPE +#if ! defined WABT_WAST_PARSER_LTYPE && ! defined WABT_WAST_PARSER_LTYPE_IS_DECLARED +typedef struct WABT_WAST_PARSER_LTYPE WABT_WAST_PARSER_LTYPE; +struct WABT_WAST_PARSER_LTYPE { int first_line; int first_column; int last_line; int last_column; }; -# define WABT_AST_PARSER_LTYPE_IS_DECLARED 1 -# define WABT_AST_PARSER_LTYPE_IS_TRIVIAL 1 +# define WABT_WAST_PARSER_LTYPE_IS_DECLARED 1 +# define WABT_WAST_PARSER_LTYPE_IS_TRIVIAL 1 #endif -int wabt_ast_parser_parse (::wabt::AstLexer* lexer, ::wabt::AstParser* parser); +int wabt_wast_parser_parse (::wabt::WastLexer* lexer, ::wabt::WastParser* parser); -#endif /* !YY_WABT_AST_PARSER_SRC_PREBUILT_AST_PARSER_GEN_HH_INCLUDED */ +#endif /* !YY_WABT_WAST_PARSER_SRC_PREBUILT_WAST_PARSER_GEN_HH_INCLUDED */ /* Copy the second part of user declarations. */ -#line 386 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:358 */ +#line 386 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:358 */ #ifdef short # undef short @@ -563,8 +563,8 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ - || (defined WABT_AST_PARSER_LTYPE_IS_TRIVIAL && WABT_AST_PARSER_LTYPE_IS_TRIVIAL \ - && defined WABT_AST_PARSER_STYPE_IS_TRIVIAL && WABT_AST_PARSER_STYPE_IS_TRIVIAL))) + || (defined WABT_WAST_PARSER_LTYPE_IS_TRIVIAL && WABT_WAST_PARSER_LTYPE_IS_TRIVIAL \ + && defined WABT_WAST_PARSER_STYPE_IS_TRIVIAL && WABT_WAST_PARSER_STYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc @@ -684,7 +684,7 @@ static const yytype_uint8 yytranslate[] = 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 }; -#if WABT_AST_PARSER_DEBUG +#if WABT_WAST_PARSER_DEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { @@ -709,7 +709,7 @@ static const yytype_uint16 yyrline[] = }; #endif -#if WABT_AST_PARSER_DEBUG || YYERROR_VERBOSE || 1 +#if WABT_WAST_PARSER_DEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = @@ -1214,7 +1214,7 @@ while (0) /* Enable debugging if requested. */ -#if WABT_AST_PARSER_DEBUG +#if WABT_WAST_PARSER_DEBUG # ifndef YYFPRINTF # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ @@ -1233,7 +1233,7 @@ do { \ we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if defined WABT_AST_PARSER_LTYPE_IS_TRIVIAL && WABT_AST_PARSER_LTYPE_IS_TRIVIAL +# if defined WABT_WAST_PARSER_LTYPE_IS_TRIVIAL && WABT_WAST_PARSER_LTYPE_IS_TRIVIAL /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ @@ -1289,7 +1289,7 @@ do { \ `----------------------------------------*/ static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ::wabt::AstLexer* lexer, ::wabt::AstParser* parser) +yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ::wabt::WastLexer* lexer, ::wabt::WastParser* parser) { FILE *yyo = yyoutput; YYUSE (yyo); @@ -1311,7 +1311,7 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue `--------------------------------*/ static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ::wabt::AstLexer* lexer, ::wabt::AstParser* parser) +yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, ::wabt::WastLexer* lexer, ::wabt::WastParser* parser) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); @@ -1351,7 +1351,7 @@ do { \ `------------------------------------------------*/ static void -yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, ::wabt::AstLexer* lexer, ::wabt::AstParser* parser) +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, ::wabt::WastLexer* lexer, ::wabt::WastParser* parser) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; @@ -1379,12 +1379,12 @@ do { \ /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; -#else /* !WABT_AST_PARSER_DEBUG */ +#else /* !WABT_WAST_PARSER_DEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) -#endif /* !WABT_AST_PARSER_DEBUG */ +#endif /* !WABT_WAST_PARSER_DEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ @@ -1631,7 +1631,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, `-----------------------------------------------*/ static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, ::wabt::AstLexer* lexer, ::wabt::AstParser* parser) +yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, ::wabt::WastLexer* lexer, ::wabt::WastParser* parser) { YYUSE (yyvaluep); YYUSE (yylocationp); @@ -1645,363 +1645,363 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio switch (yytype) { case 5: /* NAT */ -#line 253 "src/ast-parser.y" /* yacc.c:1257 */ +#line 253 "src/wast-parser.y" /* yacc.c:1257 */ {} -#line 1651 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1651 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 6: /* INT */ -#line 253 "src/ast-parser.y" /* yacc.c:1257 */ +#line 253 "src/wast-parser.y" /* yacc.c:1257 */ {} -#line 1657 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1657 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 7: /* FLOAT */ -#line 253 "src/ast-parser.y" /* yacc.c:1257 */ +#line 253 "src/wast-parser.y" /* yacc.c:1257 */ {} -#line 1663 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1663 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 8: /* TEXT */ -#line 253 "src/ast-parser.y" /* yacc.c:1257 */ +#line 253 "src/wast-parser.y" /* yacc.c:1257 */ {} -#line 1669 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1669 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 9: /* VAR */ -#line 253 "src/ast-parser.y" /* yacc.c:1257 */ +#line 253 "src/wast-parser.y" /* yacc.c:1257 */ {} -#line 1675 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1675 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 35: /* OFFSET_EQ_NAT */ -#line 253 "src/ast-parser.y" /* yacc.c:1257 */ +#line 253 "src/wast-parser.y" /* yacc.c:1257 */ {} -#line 1681 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1681 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 36: /* ALIGN_EQ_NAT */ -#line 253 "src/ast-parser.y" /* yacc.c:1257 */ +#line 253 "src/wast-parser.y" /* yacc.c:1257 */ {} -#line 1687 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1687 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 76: /* non_empty_text_list */ -#line 280 "src/ast-parser.y" /* yacc.c:1257 */ +#line 280 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_text_list(&((*yyvaluep).text_list)); } -#line 1693 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1693 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 77: /* text_list */ -#line 280 "src/ast-parser.y" /* yacc.c:1257 */ +#line 280 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_text_list(&((*yyvaluep).text_list)); } -#line 1699 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1699 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 78: /* quoted_text */ -#line 254 "src/ast-parser.y" /* yacc.c:1257 */ +#line 254 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_string_slice(&((*yyvaluep).text)); } -#line 1705 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1705 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 79: /* value_type_list */ -#line 281 "src/ast-parser.y" /* yacc.c:1257 */ +#line 281 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).types); } -#line 1711 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1711 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 81: /* global_type */ -#line 273 "src/ast-parser.y" /* yacc.c:1257 */ +#line 273 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).global); } -#line 1717 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1717 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 82: /* func_type */ -#line 271 "src/ast-parser.y" /* yacc.c:1257 */ +#line 271 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).func_sig); } -#line 1723 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1723 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 83: /* func_sig */ -#line 271 "src/ast-parser.y" /* yacc.c:1257 */ +#line 271 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).func_sig); } -#line 1729 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1729 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 85: /* memory_sig */ -#line 276 "src/ast-parser.y" /* yacc.c:1257 */ +#line 276 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).memory); } -#line 1735 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1735 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 87: /* type_use */ -#line 282 "src/ast-parser.y" /* yacc.c:1257 */ +#line 282 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_var(&((*yyvaluep).var)); } -#line 1741 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1741 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 89: /* literal */ -#line 255 "src/ast-parser.y" /* yacc.c:1257 */ +#line 255 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_string_slice(&((*yyvaluep).literal).text); } -#line 1747 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1747 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 90: /* var */ -#line 282 "src/ast-parser.y" /* yacc.c:1257 */ +#line 282 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_var(&((*yyvaluep).var)); } -#line 1753 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1753 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 91: /* var_list */ -#line 283 "src/ast-parser.y" /* yacc.c:1257 */ +#line 283 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).vars); } -#line 1759 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1759 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 92: /* bind_var_opt */ -#line 254 "src/ast-parser.y" /* yacc.c:1257 */ +#line 254 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_string_slice(&((*yyvaluep).text)); } -#line 1765 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1765 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 93: /* bind_var */ -#line 254 "src/ast-parser.y" /* yacc.c:1257 */ +#line 254 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_string_slice(&((*yyvaluep).text)); } -#line 1771 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1771 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 94: /* labeling_opt */ -#line 254 "src/ast-parser.y" /* yacc.c:1257 */ +#line 254 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_string_slice(&((*yyvaluep).text)); } -#line 1777 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1777 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 97: /* instr */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ +#line 268 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_expr_list(((*yyvaluep).expr_list).first); } -#line 1783 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1783 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 98: /* plain_instr */ -#line 267 "src/ast-parser.y" /* yacc.c:1257 */ +#line 267 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).expr); } -#line 1789 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1789 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 99: /* block_instr */ -#line 267 "src/ast-parser.y" /* yacc.c:1257 */ +#line 267 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).expr); } -#line 1795 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1795 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 100: /* block */ -#line 257 "src/ast-parser.y" /* yacc.c:1257 */ +#line 257 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).block); } -#line 1801 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1801 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 101: /* expr */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ +#line 268 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_expr_list(((*yyvaluep).expr_list).first); } -#line 1807 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1807 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 102: /* expr1 */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ +#line 268 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_expr_list(((*yyvaluep).expr_list).first); } -#line 1813 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1813 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 103: /* if_ */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ +#line 268 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_expr_list(((*yyvaluep).expr_list).first); } -#line 1819 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1819 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 104: /* instr_list */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ +#line 268 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_expr_list(((*yyvaluep).expr_list).first); } -#line 1825 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1825 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 105: /* expr_list */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ +#line 268 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_expr_list(((*yyvaluep).expr_list).first); } -#line 1831 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1831 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 106: /* const_expr */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ +#line 268 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_expr_list(((*yyvaluep).expr_list).first); } -#line 1837 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1837 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 107: /* func_fields */ -#line 269 "src/ast-parser.y" /* yacc.c:1257 */ +#line 269 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_func_fields(((*yyvaluep).func_fields)); } -#line 1843 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1843 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 108: /* func_body */ -#line 269 "src/ast-parser.y" /* yacc.c:1257 */ +#line 269 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_func_fields(((*yyvaluep).func_fields)); } -#line 1849 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1849 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 109: /* func_info */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ +#line 270 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).func); } -#line 1855 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1855 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 110: /* func */ -#line 264 "src/ast-parser.y" /* yacc.c:1257 */ +#line 264 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).exported_func); } -#line 1861 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1861 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 111: /* offset */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ +#line 268 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_expr_list(((*yyvaluep).expr_list).first); } -#line 1867 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1867 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 112: /* elem */ -#line 262 "src/ast-parser.y" /* yacc.c:1257 */ +#line 262 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).elem_segment); } -#line 1873 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1873 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 113: /* table */ -#line 266 "src/ast-parser.y" /* yacc.c:1257 */ +#line 266 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).exported_table); } -#line 1879 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1879 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 114: /* data */ -#line 261 "src/ast-parser.y" /* yacc.c:1257 */ +#line 261 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).data_segment); } -#line 1885 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1885 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 115: /* memory */ -#line 265 "src/ast-parser.y" /* yacc.c:1257 */ +#line 265 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).exported_memory); } -#line 1891 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1891 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 117: /* import_kind */ -#line 274 "src/ast-parser.y" /* yacc.c:1257 */ +#line 274 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).import); } -#line 1897 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1897 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 118: /* import */ -#line 274 "src/ast-parser.y" /* yacc.c:1257 */ +#line 274 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).import); } -#line 1903 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1903 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 119: /* inline_import */ -#line 274 "src/ast-parser.y" /* yacc.c:1257 */ +#line 274 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).import); } -#line 1909 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1909 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 120: /* export_kind */ -#line 263 "src/ast-parser.y" /* yacc.c:1257 */ +#line 263 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).export_); } -#line 1915 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1915 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 121: /* export */ -#line 263 "src/ast-parser.y" /* yacc.c:1257 */ +#line 263 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).export_); } -#line 1921 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1921 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 122: /* inline_export_opt */ -#line 275 "src/ast-parser.y" /* yacc.c:1257 */ +#line 275 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).optional_export); } -#line 1927 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1927 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 123: /* inline_export */ -#line 275 "src/ast-parser.y" /* yacc.c:1257 */ +#line 275 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).optional_export); } -#line 1933 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1933 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 124: /* type_def */ -#line 272 "src/ast-parser.y" /* yacc.c:1257 */ +#line 272 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).func_type); } -#line 1939 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1939 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 125: /* start */ -#line 282 "src/ast-parser.y" /* yacc.c:1257 */ +#line 282 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_var(&((*yyvaluep).var)); } -#line 1945 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1945 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 126: /* module_fields */ -#line 277 "src/ast-parser.y" /* yacc.c:1257 */ +#line 277 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).module); } -#line 1951 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1951 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 127: /* raw_module */ -#line 278 "src/ast-parser.y" /* yacc.c:1257 */ +#line 278 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).raw_module); } -#line 1957 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1957 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 128: /* module */ -#line 277 "src/ast-parser.y" /* yacc.c:1257 */ +#line 277 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).module); } -#line 1963 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1963 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 129: /* script_var_opt */ -#line 282 "src/ast-parser.y" /* yacc.c:1257 */ +#line 282 "src/wast-parser.y" /* yacc.c:1257 */ { destroy_var(&((*yyvaluep).var)); } -#line 1969 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1969 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 130: /* action */ -#line 256 "src/ast-parser.y" /* yacc.c:1257 */ +#line 256 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).action); } -#line 1975 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1975 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 131: /* assertion */ -#line 258 "src/ast-parser.y" /* yacc.c:1257 */ +#line 258 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).command); } -#line 1981 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1981 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 132: /* cmd */ -#line 258 "src/ast-parser.y" /* yacc.c:1257 */ +#line 258 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).command); } -#line 1987 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1987 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 133: /* cmd_list */ -#line 259 "src/ast-parser.y" /* yacc.c:1257 */ +#line 259 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).commands); } -#line 1993 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1993 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 135: /* const_list */ -#line 260 "src/ast-parser.y" /* yacc.c:1257 */ +#line 260 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).consts); } -#line 1999 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 1999 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; case 136: /* script */ -#line 279 "src/ast-parser.y" /* yacc.c:1257 */ +#line 279 "src/wast-parser.y" /* yacc.c:1257 */ { delete ((*yyvaluep).script); } -#line 2005 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1257 */ +#line 2005 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1257 */ break; @@ -2019,7 +2019,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio `----------*/ int -yyparse (::wabt::AstLexer* lexer, ::wabt::AstParser* parser) +yyparse (::wabt::WastLexer* lexer, ::wabt::WastParser* parser) { /* The lookahead symbol. */ int yychar; @@ -2033,7 +2033,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Location data for the lookahead symbol. */ static YYLTYPE yyloc_default -# if defined WABT_AST_PARSER_LTYPE_IS_TRIVIAL && WABT_AST_PARSER_LTYPE_IS_TRIVIAL +# if defined WABT_WAST_PARSER_LTYPE_IS_TRIVIAL && WABT_WAST_PARSER_LTYPE_IS_TRIVIAL = { 1, 1, 1, 1 } # endif ; @@ -2293,18 +2293,18 @@ yyreduce: switch (yyn) { case 2: -#line 296 "src/ast-parser.y" /* yacc.c:1646 */ +#line 296 "src/wast-parser.y" /* yacc.c:1646 */ { TextListNode* node = new TextListNode(); DUPTEXT(node->text, (yyvsp[0].text)); node->next = nullptr; (yyval.text_list).first = (yyval.text_list).last = node; } -#line 2304 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2304 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 3: -#line 302 "src/ast-parser.y" /* yacc.c:1646 */ +#line 302 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.text_list) = (yyvsp[-1].text_list); TextListNode* node = new TextListNode(); @@ -2313,17 +2313,17 @@ yyreduce: (yyval.text_list).last->next = node; (yyval.text_list).last = node; } -#line 2317 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2317 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 4: -#line 312 "src/ast-parser.y" /* yacc.c:1646 */ +#line 312 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.text_list).first = (yyval.text_list).last = nullptr; } -#line 2323 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2323 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 6: -#line 317 "src/ast-parser.y" /* yacc.c:1646 */ +#line 317 "src/wast-parser.y" /* yacc.c:1646 */ { TextListNode node; node.text = (yyvsp[0].text); @@ -2337,74 +2337,74 @@ yyreduce: (yyval.text).start = data; (yyval.text).length = size; } -#line 2341 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2341 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 7: -#line 335 "src/ast-parser.y" /* yacc.c:1646 */ +#line 335 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.types) = new TypeVector(); } -#line 2347 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2347 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 8: -#line 336 "src/ast-parser.y" /* yacc.c:1646 */ +#line 336 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.types) = (yyvsp[-1].types); (yyval.types)->push_back((yyvsp[0].type)); } -#line 2356 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2356 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 9: -#line 342 "src/ast-parser.y" /* yacc.c:1646 */ +#line 342 "src/wast-parser.y" /* yacc.c:1646 */ {} -#line 2362 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2362 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 10: -#line 345 "src/ast-parser.y" /* yacc.c:1646 */ +#line 345 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.global) = new Global(); (yyval.global)->type = (yyvsp[0].type); (yyval.global)->mutable_ = false; } -#line 2372 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2372 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 11: -#line 350 "src/ast-parser.y" /* yacc.c:1646 */ +#line 350 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.global) = new Global(); (yyval.global)->type = (yyvsp[-1].type); (yyval.global)->mutable_ = true; } -#line 2382 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2382 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 12: -#line 357 "src/ast-parser.y" /* yacc.c:1646 */ +#line 357 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_sig) = (yyvsp[-1].func_sig); } -#line 2388 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2388 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 13: -#line 360 "src/ast-parser.y" /* yacc.c:1646 */ +#line 360 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_sig) = new FuncSignature(); } -#line 2394 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2394 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 14: -#line 361 "src/ast-parser.y" /* yacc.c:1646 */ +#line 361 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_sig) = new FuncSignature(); (yyval.func_sig)->param_types = std::move(*(yyvsp[-1].types)); delete (yyvsp[-1].types); } -#line 2404 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2404 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 15: -#line 366 "src/ast-parser.y" /* yacc.c:1646 */ +#line 366 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_sig) = new FuncSignature(); (yyval.func_sig)->param_types = std::move(*(yyvsp[-5].types)); @@ -2412,502 +2412,502 @@ yyreduce: (yyval.func_sig)->result_types = std::move(*(yyvsp[-1].types)); delete (yyvsp[-1].types); } -#line 2416 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2416 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 16: -#line 373 "src/ast-parser.y" /* yacc.c:1646 */ +#line 373 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_sig) = new FuncSignature(); (yyval.func_sig)->result_types = std::move(*(yyvsp[-1].types)); delete (yyvsp[-1].types); } -#line 2426 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2426 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 17: -#line 381 "src/ast-parser.y" /* yacc.c:1646 */ +#line 381 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.table) = new Table(); (yyval.table)->elem_limits = (yyvsp[-1].limits); } -#line 2435 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2435 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 18: -#line 387 "src/ast-parser.y" /* yacc.c:1646 */ +#line 387 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.memory) = new Memory(); (yyval.memory)->page_limits = (yyvsp[0].limits); } -#line 2444 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2444 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 19: -#line 393 "src/ast-parser.y" /* yacc.c:1646 */ +#line 393 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.limits).has_max = false; (yyval.limits).initial = (yyvsp[0].u64); (yyval.limits).max = 0; } -#line 2454 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2454 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 20: -#line 398 "src/ast-parser.y" /* yacc.c:1646 */ +#line 398 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.limits).has_max = true; (yyval.limits).initial = (yyvsp[-1].u64); (yyval.limits).max = (yyvsp[0].u64); } -#line 2464 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2464 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 21: -#line 405 "src/ast-parser.y" /* yacc.c:1646 */ +#line 405 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.var) = (yyvsp[-1].var); } -#line 2470 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2470 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 22: -#line 411 "src/ast-parser.y" /* yacc.c:1646 */ +#line 411 "src/wast-parser.y" /* yacc.c:1646 */ { if (WABT_FAILED(parse_uint64((yyvsp[0].literal).text.start, (yyvsp[0].literal).text.start + (yyvsp[0].literal).text.length, &(yyval.u64)))) { - ast_parser_error(&(yylsp[0]), lexer, parser, - "invalid int " PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].literal).text)); + wast_parser_error(&(yylsp[0]), lexer, parser, + "invalid int " PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].literal).text)); } } -#line 2483 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2483 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 23: -#line 422 "src/ast-parser.y" /* yacc.c:1646 */ +#line 422 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.literal).type = (yyvsp[0].literal).type; DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text); } -#line 2492 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2492 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 24: -#line 426 "src/ast-parser.y" /* yacc.c:1646 */ +#line 426 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.literal).type = (yyvsp[0].literal).type; DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text); } -#line 2501 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2501 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 25: -#line 430 "src/ast-parser.y" /* yacc.c:1646 */ +#line 430 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.literal).type = (yyvsp[0].literal).type; DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text); } -#line 2510 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2510 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 26: -#line 437 "src/ast-parser.y" /* yacc.c:1646 */ +#line 437 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.var).loc = (yylsp[0]); (yyval.var).type = VarType::Index; (yyval.var).index = (yyvsp[0].u64); } -#line 2520 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2520 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 27: -#line 442 "src/ast-parser.y" /* yacc.c:1646 */ +#line 442 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.var).loc = (yylsp[0]); (yyval.var).type = VarType::Name; DUPTEXT((yyval.var).name, (yyvsp[0].text)); } -#line 2530 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2530 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 28: -#line 449 "src/ast-parser.y" /* yacc.c:1646 */ +#line 449 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.vars) = new VarVector(); } -#line 2536 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2536 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 29: -#line 450 "src/ast-parser.y" /* yacc.c:1646 */ +#line 450 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.vars) = (yyvsp[-1].vars); (yyval.vars)->push_back((yyvsp[0].var)); } -#line 2545 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2545 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 30: -#line 456 "src/ast-parser.y" /* yacc.c:1646 */ +#line 456 "src/wast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.text)); } -#line 2551 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2551 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 32: -#line 460 "src/ast-parser.y" /* yacc.c:1646 */ +#line 460 "src/wast-parser.y" /* yacc.c:1646 */ { DUPTEXT((yyval.text), (yyvsp[0].text)); } -#line 2557 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2557 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 33: -#line 464 "src/ast-parser.y" /* yacc.c:1646 */ +#line 464 "src/wast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.text)); } -#line 2563 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2563 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 35: -#line 469 "src/ast-parser.y" /* yacc.c:1646 */ +#line 469 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.u64) = 0; } -#line 2569 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2569 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 36: -#line 470 "src/ast-parser.y" /* yacc.c:1646 */ +#line 470 "src/wast-parser.y" /* yacc.c:1646 */ { if (WABT_FAILED(parse_int64((yyvsp[0].text).start, (yyvsp[0].text).start + (yyvsp[0].text).length, &(yyval.u64), ParseIntType::SignedAndUnsigned))) { - ast_parser_error(&(yylsp[0]), lexer, parser, - "invalid offset \"" PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].text))); + wast_parser_error(&(yylsp[0]), lexer, parser, + "invalid offset \"" PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].text))); } } -#line 2582 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2582 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 37: -#line 480 "src/ast-parser.y" /* yacc.c:1646 */ +#line 480 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.u32) = USE_NATURAL_ALIGNMENT; } -#line 2588 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2588 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 38: -#line 481 "src/ast-parser.y" /* yacc.c:1646 */ +#line 481 "src/wast-parser.y" /* yacc.c:1646 */ { if (WABT_FAILED(parse_int32((yyvsp[0].text).start, (yyvsp[0].text).start + (yyvsp[0].text).length, &(yyval.u32), ParseIntType::UnsignedOnly))) { - ast_parser_error(&(yylsp[0]), lexer, parser, - "invalid alignment \"" PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].text))); + wast_parser_error(&(yylsp[0]), lexer, parser, + "invalid alignment \"" PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].text))); } } -#line 2601 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2601 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 39: -#line 492 "src/ast-parser.y" /* yacc.c:1646 */ +#line 492 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = join_exprs1(&(yylsp[0]), (yyvsp[0].expr)); } -#line 2607 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2607 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 40: -#line 493 "src/ast-parser.y" /* yacc.c:1646 */ +#line 493 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = join_exprs1(&(yylsp[0]), (yyvsp[0].expr)); } -#line 2613 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2613 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 41: -#line 494 "src/ast-parser.y" /* yacc.c:1646 */ +#line 494 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = (yyvsp[0].expr_list); } -#line 2619 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2619 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 42: -#line 497 "src/ast-parser.y" /* yacc.c:1646 */ +#line 497 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateUnreachable(); } -#line 2627 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2627 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 43: -#line 500 "src/ast-parser.y" /* yacc.c:1646 */ +#line 500 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateNop(); } -#line 2635 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2635 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 44: -#line 503 "src/ast-parser.y" /* yacc.c:1646 */ +#line 503 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateDrop(); } -#line 2643 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2643 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 45: -#line 506 "src/ast-parser.y" /* yacc.c:1646 */ +#line 506 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateSelect(); } -#line 2651 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2651 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 46: -#line 509 "src/ast-parser.y" /* yacc.c:1646 */ +#line 509 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateBr((yyvsp[0].var)); } -#line 2659 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2659 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 47: -#line 512 "src/ast-parser.y" /* yacc.c:1646 */ +#line 512 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateBrIf((yyvsp[0].var)); } -#line 2667 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2667 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 48: -#line 515 "src/ast-parser.y" /* yacc.c:1646 */ +#line 515 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateBrTable((yyvsp[-1].vars), (yyvsp[0].var)); } -#line 2675 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2675 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 49: -#line 518 "src/ast-parser.y" /* yacc.c:1646 */ +#line 518 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateReturn(); } -#line 2683 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2683 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 50: -#line 521 "src/ast-parser.y" /* yacc.c:1646 */ +#line 521 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateCall((yyvsp[0].var)); } -#line 2691 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2691 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 51: -#line 524 "src/ast-parser.y" /* yacc.c:1646 */ +#line 524 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateCallIndirect((yyvsp[0].var)); } -#line 2699 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2699 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 52: -#line 527 "src/ast-parser.y" /* yacc.c:1646 */ +#line 527 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateGetLocal((yyvsp[0].var)); } -#line 2707 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2707 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 53: -#line 530 "src/ast-parser.y" /* yacc.c:1646 */ +#line 530 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateSetLocal((yyvsp[0].var)); } -#line 2715 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2715 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 54: -#line 533 "src/ast-parser.y" /* yacc.c:1646 */ +#line 533 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateTeeLocal((yyvsp[0].var)); } -#line 2723 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2723 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 55: -#line 536 "src/ast-parser.y" /* yacc.c:1646 */ +#line 536 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateGetGlobal((yyvsp[0].var)); } -#line 2731 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2731 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 56: -#line 539 "src/ast-parser.y" /* yacc.c:1646 */ +#line 539 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateSetGlobal((yyvsp[0].var)); } -#line 2739 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2739 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 57: -#line 542 "src/ast-parser.y" /* yacc.c:1646 */ +#line 542 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateLoad((yyvsp[-2].opcode), (yyvsp[0].u32), (yyvsp[-1].u64)); } -#line 2747 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2747 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 58: -#line 545 "src/ast-parser.y" /* yacc.c:1646 */ +#line 545 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateStore((yyvsp[-2].opcode), (yyvsp[0].u32), (yyvsp[-1].u64)); } -#line 2755 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2755 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 59: -#line 548 "src/ast-parser.y" /* yacc.c:1646 */ +#line 548 "src/wast-parser.y" /* yacc.c:1646 */ { Const const_; WABT_ZERO_MEMORY(const_); const_.loc = (yylsp[-1]); if (WABT_FAILED(parse_const((yyvsp[-1].type), (yyvsp[0].literal).type, (yyvsp[0].literal).text.start, (yyvsp[0].literal).text.start + (yyvsp[0].literal).text.length, &const_))) { - ast_parser_error(&(yylsp[0]), lexer, parser, - "invalid literal \"" PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].literal).text)); + wast_parser_error(&(yylsp[0]), lexer, parser, + "invalid literal \"" PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].literal).text)); } delete [] (yyvsp[0].literal).text.start; (yyval.expr) = Expr::CreateConst(const_); } -#line 2773 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2773 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 60: -#line 561 "src/ast-parser.y" /* yacc.c:1646 */ +#line 561 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateUnary((yyvsp[0].opcode)); } -#line 2781 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2781 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 61: -#line 564 "src/ast-parser.y" /* yacc.c:1646 */ +#line 564 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateBinary((yyvsp[0].opcode)); } -#line 2789 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2789 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 62: -#line 567 "src/ast-parser.y" /* yacc.c:1646 */ +#line 567 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateCompare((yyvsp[0].opcode)); } -#line 2797 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2797 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 63: -#line 570 "src/ast-parser.y" /* yacc.c:1646 */ +#line 570 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateConvert((yyvsp[0].opcode)); } -#line 2805 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2805 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 64: -#line 573 "src/ast-parser.y" /* yacc.c:1646 */ +#line 573 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateCurrentMemory(); } -#line 2813 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2813 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 65: -#line 576 "src/ast-parser.y" /* yacc.c:1646 */ +#line 576 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateGrowMemory(); } -#line 2821 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2821 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 66: -#line 581 "src/ast-parser.y" /* yacc.c:1646 */ +#line 581 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateBlock((yyvsp[-2].block)); (yyval.expr)->block->label = (yyvsp[-3].text); CHECK_END_LABEL((yylsp[0]), (yyval.expr)->block->label, (yyvsp[0].text)); } -#line 2831 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2831 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 67: -#line 586 "src/ast-parser.y" /* yacc.c:1646 */ +#line 586 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateLoop((yyvsp[-2].block)); (yyval.expr)->loop->label = (yyvsp[-3].text); CHECK_END_LABEL((yylsp[0]), (yyval.expr)->loop->label, (yyvsp[0].text)); } -#line 2841 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2841 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 68: -#line 591 "src/ast-parser.y" /* yacc.c:1646 */ +#line 591 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateIf((yyvsp[-2].block), nullptr); (yyval.expr)->if_.true_->label = (yyvsp[-3].text); CHECK_END_LABEL((yylsp[0]), (yyval.expr)->if_.true_->label, (yyvsp[0].text)); } -#line 2851 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2851 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 69: -#line 596 "src/ast-parser.y" /* yacc.c:1646 */ +#line 596 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr) = Expr::CreateIf((yyvsp[-5].block), (yyvsp[-2].expr_list).first); (yyval.expr)->if_.true_->label = (yyvsp[-6].text); CHECK_END_LABEL((yylsp[-3]), (yyval.expr)->if_.true_->label, (yyvsp[-3].text)); CHECK_END_LABEL((yylsp[0]), (yyval.expr)->if_.true_->label, (yyvsp[0].text)); } -#line 2862 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2862 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 70: -#line 604 "src/ast-parser.y" /* yacc.c:1646 */ +#line 604 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.block) = new Block(); (yyval.block)->sig = std::move(*(yyvsp[-1].types)); delete (yyvsp[-1].types); (yyval.block)->first = (yyvsp[0].expr_list).first; } -#line 2873 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2873 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 71: -#line 613 "src/ast-parser.y" /* yacc.c:1646 */ +#line 613 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = (yyvsp[-1].expr_list); } -#line 2879 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2879 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 72: -#line 617 "src/ast-parser.y" /* yacc.c:1646 */ +#line 617 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = join_exprs2(&(yylsp[-1]), &(yyvsp[0].expr_list), (yyvsp[-1].expr)); } -#line 2887 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2887 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 73: -#line 620 "src/ast-parser.y" /* yacc.c:1646 */ +#line 620 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateBlock((yyvsp[0].block)); expr->block->label = (yyvsp[-1].text); (yyval.expr_list) = join_exprs1(&(yylsp[-2]), expr); } -#line 2897 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2897 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 74: -#line 625 "src/ast-parser.y" /* yacc.c:1646 */ +#line 625 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateLoop((yyvsp[0].block)); expr->loop->label = (yyvsp[-1].text); (yyval.expr_list) = join_exprs1(&(yylsp[-2]), expr); } -#line 2907 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2907 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 75: -#line 630 "src/ast-parser.y" /* yacc.c:1646 */ +#line 630 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = (yyvsp[0].expr_list); Expr* if_ = (yyvsp[0].expr_list).last; @@ -2916,121 +2916,121 @@ yyreduce: if_->if_.true_->sig = std::move(*(yyvsp[-1].types)); delete (yyvsp[-1].types); } -#line 2920 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2920 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 76: -#line 640 "src/ast-parser.y" /* yacc.c:1646 */ +#line 640 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateIf(new Block((yyvsp[-5].expr_list).first), (yyvsp[-1].expr_list).first); (yyval.expr_list) = join_exprs1(&(yylsp[-7]), expr); } -#line 2929 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2929 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 77: -#line 644 "src/ast-parser.y" /* yacc.c:1646 */ +#line 644 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateIf(new Block((yyvsp[-1].expr_list).first), nullptr); (yyval.expr_list) = join_exprs1(&(yylsp[-3]), expr); } -#line 2938 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2938 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 78: -#line 648 "src/ast-parser.y" /* yacc.c:1646 */ +#line 648 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateIf(new Block((yyvsp[-5].expr_list).first), (yyvsp[-1].expr_list).first); (yyval.expr_list) = join_exprs2(&(yylsp[-8]), &(yyvsp[-8].expr_list), expr); } -#line 2947 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2947 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 79: -#line 652 "src/ast-parser.y" /* yacc.c:1646 */ +#line 652 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateIf(new Block((yyvsp[-1].expr_list).first), nullptr); (yyval.expr_list) = join_exprs2(&(yylsp[-4]), &(yyvsp[-4].expr_list), expr); } -#line 2956 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2956 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 80: -#line 656 "src/ast-parser.y" /* yacc.c:1646 */ +#line 656 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateIf(new Block((yyvsp[-1].expr_list).first), (yyvsp[0].expr_list).first); (yyval.expr_list) = join_exprs2(&(yylsp[-2]), &(yyvsp[-2].expr_list), expr); } -#line 2965 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2965 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 81: -#line 660 "src/ast-parser.y" /* yacc.c:1646 */ +#line 660 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateIf(new Block((yyvsp[0].expr_list).first), nullptr); (yyval.expr_list) = join_exprs2(&(yylsp[-1]), &(yyvsp[-1].expr_list), expr); } -#line 2974 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2974 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 82: -#line 667 "src/ast-parser.y" /* yacc.c:1646 */ +#line 667 "src/wast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.expr_list)); } -#line 2980 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2980 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 83: -#line 668 "src/ast-parser.y" /* yacc.c:1646 */ +#line 668 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list).first = (yyvsp[-1].expr_list).first; (yyvsp[-1].expr_list).last->next = (yyvsp[0].expr_list).first; (yyval.expr_list).last = (yyvsp[0].expr_list).last ? (yyvsp[0].expr_list).last : (yyvsp[-1].expr_list).last; (yyval.expr_list).size = (yyvsp[-1].expr_list).size + (yyvsp[0].expr_list).size; } -#line 2991 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2991 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 84: -#line 676 "src/ast-parser.y" /* yacc.c:1646 */ +#line 676 "src/wast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.expr_list)); } -#line 2997 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 2997 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 85: -#line 677 "src/ast-parser.y" /* yacc.c:1646 */ +#line 677 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list).first = (yyvsp[-1].expr_list).first; (yyvsp[-1].expr_list).last->next = (yyvsp[0].expr_list).first; (yyval.expr_list).last = (yyvsp[0].expr_list).last ? (yyvsp[0].expr_list).last : (yyvsp[-1].expr_list).last; (yyval.expr_list).size = (yyvsp[-1].expr_list).size + (yyvsp[0].expr_list).size; } -#line 3008 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3008 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 88: -#line 691 "src/ast-parser.y" /* yacc.c:1646 */ +#line 691 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_fields) = new FuncField(); (yyval.func_fields)->type = FuncFieldType::ResultTypes; (yyval.func_fields)->types = (yyvsp[-2].types); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3019 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3019 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 89: -#line 697 "src/ast-parser.y" /* yacc.c:1646 */ +#line 697 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_fields) = new FuncField(); (yyval.func_fields)->type = FuncFieldType::ParamTypes; (yyval.func_fields)->types = (yyvsp[-2].types); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3030 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3030 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 90: -#line 703 "src/ast-parser.y" /* yacc.c:1646 */ +#line 703 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_fields) = new FuncField(); (yyval.func_fields)->type = FuncFieldType::BoundParam; @@ -3039,33 +3039,33 @@ yyreduce: (yyval.func_fields)->bound_type.type = (yyvsp[-2].type); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3043 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3043 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 91: -#line 713 "src/ast-parser.y" /* yacc.c:1646 */ +#line 713 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_fields) = new FuncField(); (yyval.func_fields)->type = FuncFieldType::Exprs; (yyval.func_fields)->first_expr = (yyvsp[0].expr_list).first; (yyval.func_fields)->next = nullptr; } -#line 3054 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3054 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 92: -#line 719 "src/ast-parser.y" /* yacc.c:1646 */ +#line 719 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_fields) = new FuncField(); (yyval.func_fields)->type = FuncFieldType::LocalTypes; (yyval.func_fields)->types = (yyvsp[-2].types); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3065 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3065 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 93: -#line 725 "src/ast-parser.y" /* yacc.c:1646 */ +#line 725 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_fields) = new FuncField(); (yyval.func_fields)->type = FuncFieldType::BoundLocal; @@ -3074,11 +3074,11 @@ yyreduce: (yyval.func_fields)->bound_type.type = (yyvsp[-2].type); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3078 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3078 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 94: -#line 735 "src/ast-parser.y" /* yacc.c:1646 */ +#line 735 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func) = new Func(); FuncField* field = (yyvsp[0].func_fields); @@ -3129,11 +3129,11 @@ yyreduce: field = next; } } -#line 3133 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3133 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 95: -#line 787 "src/ast-parser.y" /* yacc.c:1646 */ +#line 787 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.exported_func) = new ExportedFunc(); (yyval.exported_func)->func.reset((yyvsp[-1].func)); @@ -3143,11 +3143,11 @@ yyreduce: (yyval.exported_func)->export_ = std::move(*(yyvsp[-3].optional_export)); delete (yyvsp[-3].optional_export); } -#line 3147 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3147 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 96: -#line 797 "src/ast-parser.y" /* yacc.c:1646 */ +#line 797 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.exported_func) = new ExportedFunc(); (yyval.exported_func)->func.reset((yyvsp[-1].func)); @@ -3155,11 +3155,11 @@ yyreduce: (yyval.exported_func)->func->decl.type_var = (yyvsp[-2].var); (yyval.exported_func)->func->name = (yyvsp[-3].text); } -#line 3159 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3159 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 97: -#line 804 "src/ast-parser.y" /* yacc.c:1646 */ +#line 804 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.exported_func) = new ExportedFunc(); (yyval.exported_func)->func.reset((yyvsp[-1].func)); @@ -3167,29 +3167,29 @@ yyreduce: (yyval.exported_func)->export_ = std::move(*(yyvsp[-2].optional_export)); delete (yyvsp[-2].optional_export); } -#line 3171 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3171 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 98: -#line 812 "src/ast-parser.y" /* yacc.c:1646 */ +#line 812 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.exported_func) = new ExportedFunc(); (yyval.exported_func)->func.reset((yyvsp[-1].func)); (yyval.exported_func)->func->name = (yyvsp[-2].text); } -#line 3181 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3181 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 99: -#line 822 "src/ast-parser.y" /* yacc.c:1646 */ +#line 822 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = (yyvsp[-1].expr_list); } -#line 3189 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3189 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 101: -#line 829 "src/ast-parser.y" /* yacc.c:1646 */ +#line 829 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.elem_segment) = new ElemSegment(); (yyval.elem_segment)->table_var = (yyvsp[-3].var); @@ -3197,11 +3197,11 @@ yyreduce: (yyval.elem_segment)->vars = std::move(*(yyvsp[-1].vars)); delete (yyvsp[-1].vars); } -#line 3201 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3201 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 102: -#line 836 "src/ast-parser.y" /* yacc.c:1646 */ +#line 836 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.elem_segment) = new ElemSegment(); (yyval.elem_segment)->table_var.loc = (yylsp[-3]); @@ -3211,11 +3211,11 @@ yyreduce: (yyval.elem_segment)->vars = std::move(*(yyvsp[-1].vars)); delete (yyvsp[-1].vars); } -#line 3215 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3215 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 103: -#line 848 "src/ast-parser.y" /* yacc.c:1646 */ +#line 848 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.exported_table) = new ExportedTable(); (yyval.exported_table)->table.reset((yyvsp[-1].table)); @@ -3224,11 +3224,11 @@ yyreduce: (yyval.exported_table)->export_ = std::move(*(yyvsp[-2].optional_export)); delete (yyvsp[-2].optional_export); } -#line 3228 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3228 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 104: -#line 857 "src/ast-parser.y" /* yacc.c:1646 */ +#line 857 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateConst(Const(Const::I32(), 0)); expr->loc = (yylsp[-8]); @@ -3247,11 +3247,11 @@ yyreduce: (yyval.exported_table)->export_ = std::move(*(yyvsp[-6].optional_export)); delete (yyvsp[-6].optional_export); } -#line 3251 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3251 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 105: -#line 878 "src/ast-parser.y" /* yacc.c:1646 */ +#line 878 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.data_segment) = new DataSegment(); (yyval.data_segment)->memory_var = (yyvsp[-3].var); @@ -3259,11 +3259,11 @@ yyreduce: dup_text_list(&(yyvsp[-1].text_list), &(yyval.data_segment)->data, &(yyval.data_segment)->size); destroy_text_list(&(yyvsp[-1].text_list)); } -#line 3263 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3263 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 106: -#line 885 "src/ast-parser.y" /* yacc.c:1646 */ +#line 885 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.data_segment) = new DataSegment(); (yyval.data_segment)->memory_var.loc = (yylsp[-3]); @@ -3273,11 +3273,11 @@ yyreduce: dup_text_list(&(yyvsp[-1].text_list), &(yyval.data_segment)->data, &(yyval.data_segment)->size); destroy_text_list(&(yyvsp[-1].text_list)); } -#line 3277 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3277 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 107: -#line 897 "src/ast-parser.y" /* yacc.c:1646 */ +#line 897 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.exported_memory) = new ExportedMemory(); (yyval.exported_memory)->memory.reset((yyvsp[-1].memory)); @@ -3286,11 +3286,11 @@ yyreduce: (yyval.exported_memory)->export_ = std::move(*(yyvsp[-2].optional_export)); delete (yyvsp[-2].optional_export); } -#line 3290 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3290 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 108: -#line 905 "src/ast-parser.y" /* yacc.c:1646 */ +#line 905 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateConst(Const(Const::I32(), 0)); expr->loc = (yylsp[-7]); @@ -3311,11 +3311,11 @@ yyreduce: (yyval.exported_memory)->export_ = std::move(*(yyvsp[-5].optional_export)); delete (yyvsp[-5].optional_export); } -#line 3315 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3315 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 109: -#line 926 "src/ast-parser.y" /* yacc.c:1646 */ +#line 926 "src/wast-parser.y" /* yacc.c:1646 */ { Expr* expr = Expr::CreateConst(Const(Const::I32(), 0)); expr->loc = (yylsp[-6]); @@ -3335,11 +3335,11 @@ yyreduce: (yyval.exported_memory)->memory->page_limits.has_max = true; (yyval.exported_memory)->export_.has_export = false; } -#line 3339 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3339 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 110: -#line 948 "src/ast-parser.y" /* yacc.c:1646 */ +#line 948 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.exported_global) = new ExportedGlobal(); (yyval.exported_global)->global.reset((yyvsp[-2].global)); @@ -3348,11 +3348,11 @@ yyreduce: (yyval.exported_global)->export_ = std::move(*(yyvsp[-3].optional_export)); delete (yyvsp[-3].optional_export); } -#line 3352 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3352 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 111: -#line 956 "src/ast-parser.y" /* yacc.c:1646 */ +#line 956 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.exported_global) = new ExportedGlobal(); (yyval.exported_global)->global.reset((yyvsp[-2].global)); @@ -3360,11 +3360,11 @@ yyreduce: (yyval.exported_global)->global->init_expr = (yyvsp[-1].expr_list).first; (yyval.exported_global)->export_.has_export = false; } -#line 3364 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3364 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 112: -#line 969 "src/ast-parser.y" /* yacc.c:1646 */ +#line 969 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = new Import(); (yyval.import)->kind = ExternalKind::Func; @@ -3373,11 +3373,11 @@ yyreduce: (yyval.import)->func->decl.has_func_type = true; (yyval.import)->func->decl.type_var = (yyvsp[-1].var); } -#line 3377 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3377 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 113: -#line 977 "src/ast-parser.y" /* yacc.c:1646 */ +#line 977 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = new Import(); (yyval.import)->kind = ExternalKind::Func; @@ -3386,54 +3386,54 @@ yyreduce: (yyval.import)->func->decl.sig = std::move(*(yyvsp[-1].func_sig)); delete (yyvsp[-1].func_sig); } -#line 3390 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3390 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 114: -#line 985 "src/ast-parser.y" /* yacc.c:1646 */ +#line 985 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = new Import(); (yyval.import)->kind = ExternalKind::Table; (yyval.import)->table = (yyvsp[-1].table); (yyval.import)->table->name = (yyvsp[-2].text); } -#line 3401 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3401 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 115: -#line 991 "src/ast-parser.y" /* yacc.c:1646 */ +#line 991 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = new Import(); (yyval.import)->kind = ExternalKind::Memory; (yyval.import)->memory = (yyvsp[-1].memory); (yyval.import)->memory->name = (yyvsp[-2].text); } -#line 3412 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3412 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 116: -#line 997 "src/ast-parser.y" /* yacc.c:1646 */ +#line 997 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = new Import(); (yyval.import)->kind = ExternalKind::Global; (yyval.import)->global = (yyvsp[-1].global); (yyval.import)->global->name = (yyvsp[-2].text); } -#line 3423 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3423 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 117: -#line 1005 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1005 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-1].import); (yyval.import)->module_name = (yyvsp[-3].text); (yyval.import)->field_name = (yyvsp[-2].text); } -#line 3433 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3433 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 118: -#line 1010 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1010 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = ExternalKind::Func; @@ -3442,11 +3442,11 @@ yyreduce: (yyval.import)->func->decl.has_func_type = true; (yyval.import)->func->decl.type_var = (yyvsp[-1].var); } -#line 3446 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3446 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 119: -#line 1018 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1018 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = ExternalKind::Func; @@ -3455,158 +3455,158 @@ yyreduce: (yyval.import)->func->decl.sig = std::move(*(yyvsp[-1].func_sig)); delete (yyvsp[-1].func_sig); } -#line 3459 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3459 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 120: -#line 1026 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1026 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = ExternalKind::Table; (yyval.import)->table = (yyvsp[-1].table); (yyval.import)->table->name = (yyvsp[-3].text); } -#line 3470 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3470 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 121: -#line 1032 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1032 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = ExternalKind::Memory; (yyval.import)->memory = (yyvsp[-1].memory); (yyval.import)->memory->name = (yyvsp[-3].text); } -#line 3481 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3481 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 122: -#line 1038 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1038 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = ExternalKind::Global; (yyval.import)->global = (yyvsp[-1].global); (yyval.import)->global->name = (yyvsp[-3].text); } -#line 3492 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3492 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 123: -#line 1047 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1047 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.import) = new Import(); (yyval.import)->module_name = (yyvsp[-2].text); (yyval.import)->field_name = (yyvsp[-1].text); } -#line 3502 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3502 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 124: -#line 1055 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1055 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.export_) = new Export(); (yyval.export_)->kind = ExternalKind::Func; (yyval.export_)->var = (yyvsp[-1].var); } -#line 3512 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3512 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 125: -#line 1060 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1060 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.export_) = new Export(); (yyval.export_)->kind = ExternalKind::Table; (yyval.export_)->var = (yyvsp[-1].var); } -#line 3522 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3522 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 126: -#line 1065 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1065 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.export_) = new Export(); (yyval.export_)->kind = ExternalKind::Memory; (yyval.export_)->var = (yyvsp[-1].var); } -#line 3532 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3532 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 127: -#line 1070 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1070 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.export_) = new Export(); (yyval.export_)->kind = ExternalKind::Global; (yyval.export_)->var = (yyvsp[-1].var); } -#line 3542 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3542 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 128: -#line 1077 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1077 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.export_) = (yyvsp[-1].export_); (yyval.export_)->name = (yyvsp[-2].text); } -#line 3551 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3551 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 129: -#line 1084 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1084 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.optional_export) = new OptionalExport(); (yyval.optional_export)->has_export = false; } -#line 3560 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3560 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 131: -#line 1091 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1091 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.optional_export) = new OptionalExport(); (yyval.optional_export)->has_export = true; (yyval.optional_export)->export_.reset(new Export()); (yyval.optional_export)->export_->name = (yyvsp[-1].text); } -#line 3571 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3571 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 132: -#line 1103 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1103 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_type) = new FuncType(); (yyval.func_type)->sig = std::move(*(yyvsp[-1].func_sig)); delete (yyvsp[-1].func_sig); } -#line 3581 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3581 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 133: -#line 1108 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1108 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.func_type) = new FuncType(); (yyval.func_type)->name = (yyvsp[-2].text); (yyval.func_type)->sig = std::move(*(yyvsp[-1].func_sig)); delete (yyvsp[-1].func_sig); } -#line 3592 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3592 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 134: -#line 1117 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1117 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.var) = (yyvsp[-1].var); } -#line 3598 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3598 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 135: -#line 1121 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1121 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = new Module(); } -#line 3606 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3606 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 136: -#line 1124 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1124 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; @@ -3614,11 +3614,11 @@ yyreduce: APPEND_ITEM_TO_VECTOR((yyval.module), func_types, field->func_type); INSERT_BINDING((yyval.module), func_type, func_types, (yylsp[0]), (yyvsp[0].func_type)->name); } -#line 3618 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3618 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 137: -#line 1131 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1131 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; @@ -3628,11 +3628,11 @@ yyreduce: APPEND_INLINE_EXPORT((yyval.module), Global, (yylsp[0]), (yyvsp[0].exported_global), (yyval.module)->globals.size() - 1); delete (yyvsp[0].exported_global); } -#line 3632 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3632 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 138: -#line 1140 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1140 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; @@ -3650,11 +3650,11 @@ yyreduce: } delete (yyvsp[0].exported_table); } -#line 3654 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3654 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 139: -#line 1157 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1157 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; @@ -3672,11 +3672,11 @@ yyreduce: } delete (yyvsp[0].exported_memory); } -#line 3676 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3676 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 140: -#line 1174 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1174 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; @@ -3689,44 +3689,44 @@ yyreduce: APPEND_INLINE_EXPORT((yyval.module), Func, (yylsp[0]), (yyvsp[0].exported_func), (yyval.module)->funcs.size() - 1); delete (yyvsp[0].exported_func); } -#line 3693 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3693 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 141: -#line 1186 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1186 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; APPEND_FIELD_TO_LIST((yyval.module), field, ElemSegment, elem_segment, (yylsp[0]), (yyvsp[0].elem_segment)); APPEND_ITEM_TO_VECTOR((yyval.module), elem_segments, field->elem_segment); } -#line 3704 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3704 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 142: -#line 1192 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1192 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; APPEND_FIELD_TO_LIST((yyval.module), field, DataSegment, data_segment, (yylsp[0]), (yyvsp[0].data_segment)); APPEND_ITEM_TO_VECTOR((yyval.module), data_segments, field->data_segment); } -#line 3715 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3715 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 143: -#line 1198 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1198 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; APPEND_FIELD_TO_LIST((yyval.module), field, Start, start, (yylsp[0]), (yyvsp[0].var)); (yyval.module)->start = &field->start; } -#line 3726 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3726 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 144: -#line 1204 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1204 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; @@ -3760,11 +3760,11 @@ yyreduce: } APPEND_ITEM_TO_VECTOR((yyval.module), imports, field->import); } -#line 3764 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3764 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 145: -#line 1237 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1237 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); ModuleField* field; @@ -3772,11 +3772,11 @@ yyreduce: APPEND_ITEM_TO_VECTOR((yyval.module), exports, field->export_); INSERT_BINDING((yyval.module), export, exports, (yylsp[0]), field->export_->name); } -#line 3776 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3776 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 146: -#line 1247 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1247 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.raw_module) = new RawModule(); (yyval.raw_module)->type = RawModuleType::Text; @@ -3797,11 +3797,11 @@ yyreduce: } } } -#line 3801 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3801 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 147: -#line 1267 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1267 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.raw_module) = new RawModule(); (yyval.raw_module)->type = RawModuleType::Binary; @@ -3810,11 +3810,11 @@ yyreduce: dup_text_list(&(yyvsp[-1].text_list), &(yyval.raw_module)->binary.data, &(yyval.raw_module)->binary.size); destroy_text_list(&(yyvsp[-1].text_list)); } -#line 3814 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3814 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 148: -#line 1278 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1278 "src/wast-parser.y" /* yacc.c:1646 */ { if ((yyvsp[0].raw_module)->type == RawModuleType::Text) { (yyval.module) = (yyvsp[0].raw_module)->text; @@ -3824,39 +3824,39 @@ yyreduce: (yyval.module) = new Module(); ReadBinaryOptions options = WABT_READ_BINARY_OPTIONS_DEFAULT; BinaryErrorHandlerModule error_handler(&(yyvsp[0].raw_module)->binary.loc, lexer, parser); - read_binary_ast((yyvsp[0].raw_module)->binary.data, (yyvsp[0].raw_module)->binary.size, &options, - &error_handler, (yyval.module)); + read_binary_ir((yyvsp[0].raw_module)->binary.data, (yyvsp[0].raw_module)->binary.size, &options, + &error_handler, (yyval.module)); (yyval.module)->name = (yyvsp[0].raw_module)->binary.name; (yyval.module)->loc = (yyvsp[0].raw_module)->binary.loc; WABT_ZERO_MEMORY((yyvsp[0].raw_module)->binary.name); } delete (yyvsp[0].raw_module); } -#line 3836 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3836 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 149: -#line 1300 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1300 "src/wast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.var)); (yyval.var).type = VarType::Index; (yyval.var).index = INVALID_VAR_INDEX; } -#line 3846 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3846 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 150: -#line 1305 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1305 "src/wast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.var)); (yyval.var).type = VarType::Name; DUPTEXT((yyval.var).name, (yyvsp[0].text)); } -#line 3856 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3856 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 151: -#line 1313 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1313 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.action) = new Action(); (yyval.action)->loc = (yylsp[-4]); @@ -3867,11 +3867,11 @@ yyreduce: (yyval.action)->invoke->args = std::move(*(yyvsp[-1].consts)); delete (yyvsp[-1].consts); } -#line 3871 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3871 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 152: -#line 1323 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1323 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.action) = new Action(); (yyval.action)->loc = (yylsp[-3]); @@ -3879,128 +3879,128 @@ yyreduce: (yyval.action)->type = ActionType::Get; (yyval.action)->name = (yyvsp[-1].text); } -#line 3883 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3883 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 153: -#line 1333 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1333 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertMalformed; (yyval.command)->assert_malformed.module = (yyvsp[-2].raw_module); (yyval.command)->assert_malformed.text = (yyvsp[-1].text); } -#line 3894 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3894 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 154: -#line 1339 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1339 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertInvalid; (yyval.command)->assert_invalid.module = (yyvsp[-2].raw_module); (yyval.command)->assert_invalid.text = (yyvsp[-1].text); } -#line 3905 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3905 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 155: -#line 1345 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1345 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertUnlinkable; (yyval.command)->assert_unlinkable.module = (yyvsp[-2].raw_module); (yyval.command)->assert_unlinkable.text = (yyvsp[-1].text); } -#line 3916 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3916 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 156: -#line 1351 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1351 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertUninstantiable; (yyval.command)->assert_uninstantiable.module = (yyvsp[-2].raw_module); (yyval.command)->assert_uninstantiable.text = (yyvsp[-1].text); } -#line 3927 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3927 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 157: -#line 1357 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1357 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertReturn; (yyval.command)->assert_return.action = (yyvsp[-2].action); (yyval.command)->assert_return.expected = (yyvsp[-1].consts); } -#line 3938 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3938 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 158: -#line 1363 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1363 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertReturnCanonicalNan; (yyval.command)->assert_return_canonical_nan.action = (yyvsp[-1].action); } -#line 3948 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3948 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 159: -#line 1368 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1368 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertReturnArithmeticNan; (yyval.command)->assert_return_arithmetic_nan.action = (yyvsp[-1].action); } -#line 3958 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3958 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 160: -#line 1373 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1373 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertTrap; (yyval.command)->assert_trap.action = (yyvsp[-2].action); (yyval.command)->assert_trap.text = (yyvsp[-1].text); } -#line 3969 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3969 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 161: -#line 1379 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1379 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::AssertExhaustion; (yyval.command)->assert_trap.action = (yyvsp[-2].action); (yyval.command)->assert_trap.text = (yyvsp[-1].text); } -#line 3980 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3980 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 162: -#line 1388 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1388 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::Action; (yyval.command)->action = (yyvsp[0].action); } -#line 3990 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 3990 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 164: -#line 1394 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1394 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::Module; (yyval.command)->module = (yyvsp[0].module); } -#line 4000 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4000 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 165: -#line 1399 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1399 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.command) = new Command(); (yyval.command)->type = CommandType::Register; @@ -4008,56 +4008,56 @@ yyreduce: (yyval.command)->register_.var = (yyvsp[-1].var); (yyval.command)->register_.var.loc = (yylsp[-1]); } -#line 4012 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4012 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 166: -#line 1408 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1408 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.commands) = new CommandPtrVector(); } -#line 4018 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4018 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 167: -#line 1409 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1409 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.commands) = (yyvsp[-1].commands); (yyval.commands)->emplace_back((yyvsp[0].command)); } -#line 4027 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4027 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 168: -#line 1416 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1416 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.const_).loc = (yylsp[-2]); if (WABT_FAILED(parse_const((yyvsp[-2].type), (yyvsp[-1].literal).type, (yyvsp[-1].literal).text.start, (yyvsp[-1].literal).text.start + (yyvsp[-1].literal).text.length, &(yyval.const_)))) { - ast_parser_error(&(yylsp[-1]), lexer, parser, - "invalid literal \"" PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG((yyvsp[-1].literal).text)); + wast_parser_error(&(yylsp[-1]), lexer, parser, + "invalid literal \"" PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG((yyvsp[-1].literal).text)); } delete [] (yyvsp[-1].literal).text.start; } -#line 4042 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4042 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 169: -#line 1428 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1428 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.consts) = new ConstVector(); } -#line 4048 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4048 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 170: -#line 1429 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1429 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.consts) = (yyvsp[-1].consts); (yyval.consts)->push_back((yyvsp[0].const_)); } -#line 4057 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4057 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; case 171: -#line 1436 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1436 "src/wast-parser.y" /* yacc.c:1646 */ { (yyval.script) = new Script(); (yyval.script)->commands = std::move(*(yyvsp[0].commands)); @@ -4119,11 +4119,11 @@ yyreduce: } parser->script = (yyval.script); } -#line 4123 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4123 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ break; -#line 4127 "src/prebuilt/ast-parser-gen.cc" /* yacc.c:1646 */ +#line 4127 "src/prebuilt/wast-parser-gen.cc" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -4358,7 +4358,7 @@ yyreturn: #endif return yyresult; } -#line 1505 "src/ast-parser.y" /* yacc.c:1906 */ +#line 1505 "src/wast-parser.y" /* yacc.c:1906 */ void append_expr_list(ExprList* expr_list, ExprList* expr) { @@ -4509,12 +4509,12 @@ void append_implicit_func_declaration(Location* loc, } } -Result parse_ast(AstLexer* lexer, Script** out_script, +Result parse_wast(WastLexer* lexer, Script** out_script, SourceErrorHandler* error_handler) { - AstParser parser; + WastParser parser; WABT_ZERO_MEMORY(parser); parser.error_handler = error_handler; - int result = wabt_ast_parser_parse(lexer, &parser); + int result = wabt_wast_parser_parse(lexer, &parser); delete [] parser.yyssa; delete [] parser.yyvsa; delete [] parser.yylsa; @@ -4523,18 +4523,18 @@ Result parse_ast(AstLexer* lexer, Script** out_script, } BinaryErrorHandlerModule::BinaryErrorHandlerModule( - Location* loc, AstLexer* lexer, AstParser* parser) + Location* loc, WastLexer* lexer, WastParser* parser) : loc_(loc), lexer_(lexer), parser_(parser) {} bool BinaryErrorHandlerModule::OnError(uint32_t offset, const std::string& error) { if (offset == WABT_UNKNOWN_OFFSET) { - ast_parser_error(loc_, lexer_, parser_, "error in binary module: %s", - error.c_str()); + wast_parser_error(loc_, lexer_, parser_, "error in binary module: %s", + error.c_str()); } else { - ast_parser_error(loc_, lexer_, parser_, - "error in binary module: @0x%08x: %s", offset, - error.c_str()); + wast_parser_error(loc_, lexer_, parser_, + "error in binary module: @0x%08x: %s", offset, + error.c_str()); } return true; } diff --git a/src/prebuilt/ast-parser-gen.hh b/src/prebuilt/wast-parser-gen.hh index 53b5e4e3..20acb2b7 100644 --- a/src/prebuilt/ast-parser-gen.hh +++ b/src/prebuilt/wast-parser-gen.hh @@ -30,28 +30,28 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -#ifndef YY_WABT_AST_PARSER_SRC_PREBUILT_AST_PARSER_GEN_HH_INCLUDED -# define YY_WABT_AST_PARSER_SRC_PREBUILT_AST_PARSER_GEN_HH_INCLUDED +#ifndef YY_WABT_WAST_PARSER_SRC_PREBUILT_WAST_PARSER_GEN_HH_INCLUDED +# define YY_WABT_WAST_PARSER_SRC_PREBUILT_WAST_PARSER_GEN_HH_INCLUDED /* Debug traces. */ -#ifndef WABT_AST_PARSER_DEBUG +#ifndef WABT_WAST_PARSER_DEBUG # if defined YYDEBUG #if YYDEBUG -# define WABT_AST_PARSER_DEBUG 1 +# define WABT_WAST_PARSER_DEBUG 1 # else -# define WABT_AST_PARSER_DEBUG 0 +# define WABT_WAST_PARSER_DEBUG 0 # endif # else /* ! defined YYDEBUG */ -# define WABT_AST_PARSER_DEBUG 0 +# define WABT_WAST_PARSER_DEBUG 0 # endif /* ! defined YYDEBUG */ -#endif /* ! defined WABT_AST_PARSER_DEBUG */ -#if WABT_AST_PARSER_DEBUG -extern int wabt_ast_parser_debug; +#endif /* ! defined WABT_WAST_PARSER_DEBUG */ +#if WABT_WAST_PARSER_DEBUG +extern int wabt_wast_parser_debug; #endif /* Token type. */ -#ifndef WABT_AST_PARSER_TOKENTYPE -# define WABT_AST_PARSER_TOKENTYPE - enum wabt_ast_parser_tokentype +#ifndef WABT_WAST_PARSER_TOKENTYPE +# define WABT_WAST_PARSER_TOKENTYPE + enum wabt_wast_parser_tokentype { WABT_TOKEN_TYPE_EOF = 0, WABT_TOKEN_TYPE_LPAR = 258, @@ -130,28 +130,28 @@ extern int wabt_ast_parser_debug; #endif /* Value type. */ -#if ! defined WABT_AST_PARSER_STYPE && ! defined WABT_AST_PARSER_STYPE_IS_DECLARED -typedef ::wabt::Token WABT_AST_PARSER_STYPE; -# define WABT_AST_PARSER_STYPE_IS_TRIVIAL 1 -# define WABT_AST_PARSER_STYPE_IS_DECLARED 1 +#if ! defined WABT_WAST_PARSER_STYPE && ! defined WABT_WAST_PARSER_STYPE_IS_DECLARED +typedef ::wabt::Token WABT_WAST_PARSER_STYPE; +# define WABT_WAST_PARSER_STYPE_IS_TRIVIAL 1 +# define WABT_WAST_PARSER_STYPE_IS_DECLARED 1 #endif /* Location type. */ -#if ! defined WABT_AST_PARSER_LTYPE && ! defined WABT_AST_PARSER_LTYPE_IS_DECLARED -typedef struct WABT_AST_PARSER_LTYPE WABT_AST_PARSER_LTYPE; -struct WABT_AST_PARSER_LTYPE +#if ! defined WABT_WAST_PARSER_LTYPE && ! defined WABT_WAST_PARSER_LTYPE_IS_DECLARED +typedef struct WABT_WAST_PARSER_LTYPE WABT_WAST_PARSER_LTYPE; +struct WABT_WAST_PARSER_LTYPE { int first_line; int first_column; int last_line; int last_column; }; -# define WABT_AST_PARSER_LTYPE_IS_DECLARED 1 -# define WABT_AST_PARSER_LTYPE_IS_TRIVIAL 1 +# define WABT_WAST_PARSER_LTYPE_IS_DECLARED 1 +# define WABT_WAST_PARSER_LTYPE_IS_TRIVIAL 1 #endif -int wabt_ast_parser_parse (::wabt::AstLexer* lexer, ::wabt::AstParser* parser); +int wabt_wast_parser_parse (::wabt::WastLexer* lexer, ::wabt::WastParser* parser); -#endif /* !YY_WABT_AST_PARSER_SRC_PREBUILT_AST_PARSER_GEN_HH_INCLUDED */ +#endif /* !YY_WABT_WAST_PARSER_SRC_PREBUILT_WAST_PARSER_GEN_HH_INCLUDED */ diff --git a/src/prebuilt/ast-parser-gen.output b/src/prebuilt/wast-parser-gen.output index 371633b3..371633b3 100644 --- a/src/prebuilt/ast-parser-gen.output +++ b/src/prebuilt/wast-parser-gen.output diff --git a/src/resolve-names.cc b/src/resolve-names.cc index c759b718..dd85f437 100644 --- a/src/resolve-names.cc +++ b/src/resolve-names.cc @@ -19,8 +19,8 @@ #include <assert.h> #include <stdio.h> -#include "ast.h" -#include "ast-parser-lexer-shared.h" +#include "ir.h" +#include "wast-parser-lexer-shared.h" namespace wabt { @@ -32,7 +32,7 @@ struct Context { Context(); SourceErrorHandler* error_handler = nullptr; - AstLexer* lexer = nullptr; + WastLexer* lexer = nullptr; Script* script = nullptr; Module* current_module = nullptr; Func* current_func = nullptr; @@ -52,7 +52,7 @@ static void WABT_PRINTF_FORMAT(3, 4) ctx->result = Result::Error; va_list args; va_start(args, fmt); - ast_format_error(ctx->error_handler, loc, ctx->lexer, fmt, args); + wast_format_error(ctx->error_handler, loc, ctx->lexer, fmt, args); va_end(args); } @@ -402,7 +402,7 @@ static void visit_script(Context* ctx, Script* script) { } static void init_context(Context* ctx, - AstLexer* lexer, + WastLexer* lexer, Script* script, SourceErrorHandler* error_handler) { ctx->lexer = lexer; @@ -428,7 +428,7 @@ static void init_context(Context* ctx, ctx->visitor.on_tee_local_expr = on_tee_local_expr; } -Result resolve_names_module(AstLexer* lexer, +Result resolve_names_module(WastLexer* lexer, Module* module, SourceErrorHandler* error_handler) { Context ctx; @@ -437,7 +437,7 @@ Result resolve_names_module(AstLexer* lexer, return ctx.result; } -Result resolve_names_script(AstLexer* lexer, +Result resolve_names_script(WastLexer* lexer, Script* script, SourceErrorHandler* error_handler) { Context ctx; diff --git a/src/resolve-names.h b/src/resolve-names.h index f6cded1d..059c8edc 100644 --- a/src/resolve-names.h +++ b/src/resolve-names.h @@ -21,13 +21,13 @@ namespace wabt { -struct AstLexer; +struct WastLexer; struct Module; struct Script; class SourceErrorHandler; -Result resolve_names_module(AstLexer*, Module*, SourceErrorHandler*); -Result resolve_names_script(AstLexer*, Script*, SourceErrorHandler*); +Result resolve_names_module(WastLexer*, Module*, SourceErrorHandler*); +Result resolve_names_script(WastLexer*, Script*, SourceErrorHandler*); } // namespace wabt diff --git a/src/tools/wasm2wast.cc b/src/tools/wasm2wast.cc index e8c4408e..def48f71 100644 --- a/src/tools/wasm2wast.cc +++ b/src/tools/wasm2wast.cc @@ -20,14 +20,14 @@ #include <stdlib.h> #include "apply-names.h" -#include "ast.h" -#include "ast-writer.h" #include "binary-error-handler.h" #include "binary-reader.h" -#include "binary-reader-ast.h" +#include "binary-reader-ir.h" #include "generate-names.h" +#include "ir.h" #include "option-parser.h" #include "stream.h" +#include "wat-writer.h" #include "writer.h" #define PROGRAM_NAME "wasm2wast" @@ -143,8 +143,8 @@ int main(int argc, char** argv) { if (WABT_SUCCEEDED(result)) { BinaryErrorHandlerFile error_handler; Module module; - result = read_binary_ast(data, size, &s_read_binary_options, &error_handler, - &module); + result = read_binary_ir(data, size, &s_read_binary_options, &error_handler, + &module); if (WABT_SUCCEEDED(result)) { if (s_generate_names) result = generate_names(&module); @@ -159,7 +159,7 @@ int main(int argc, char** argv) { if (WABT_SUCCEEDED(result)) { FileWriter writer(s_outfile ? FileWriter(s_outfile) : FileWriter(stdout)); - result = write_ast(&writer, &module); + result = write_wat(&writer, &module); } } delete[] data; diff --git a/src/tools/wast-desugar.cc b/src/tools/wast-desugar.cc index 237539bc..03b8891a 100644 --- a/src/tools/wast-desugar.cc +++ b/src/tools/wast-desugar.cc @@ -21,15 +21,15 @@ #include <stdlib.h> #include "apply-names.h" -#include "ast.h" -#include "ast-parser.h" -#include "ast-writer.h" #include "common.h" #include "config.h" #include "generate-names.h" +#include "ir.h" #include "option-parser.h" #include "source-error-handler.h" #include "stream.h" +#include "wast-parser.h" +#include "wat-writer.h" #include "writer.h" #define PROGRAM_NAME "wast-desugar" @@ -128,13 +128,13 @@ int main(int argc, char** argv) { init_stdio(); parse_options(argc, argv); - AstLexer* lexer = new_ast_file_lexer(s_infile); + WastLexer* lexer = new_wast_file_lexer(s_infile); if (!lexer) WABT_FATAL("unable to read %s\n", s_infile); SourceErrorHandlerFile error_handler; Script* script; - Result result = parse_ast(lexer, &script, &error_handler); + Result result = parse_wast(lexer, &script, &error_handler); if (WABT_SUCCEEDED(result)) { Module* module = get_first_module(script); @@ -149,11 +149,11 @@ int main(int argc, char** argv) { if (WABT_SUCCEEDED(result)) { FileWriter writer(s_outfile ? FileWriter(s_outfile) : FileWriter(stdout)); - result = write_ast(&writer, module); + result = write_wat(&writer, module); } } - destroy_ast_lexer(lexer); + destroy_wast_lexer(lexer); delete script; return result != Result::Ok; } diff --git a/src/tools/wast2wasm.cc b/src/tools/wast2wasm.cc index baa6f989..0cacf566 100644 --- a/src/tools/wast2wasm.cc +++ b/src/tools/wast2wasm.cc @@ -21,16 +21,16 @@ #include <stdlib.h> #include "config.h" -#include "ast.h" -#include "ast-parser.h" #include "binary-writer.h" #include "binary-writer-spec.h" #include "common.h" +#include "ir.h" #include "option-parser.h" #include "resolve-names.h" #include "source-error-handler.h" #include "stream.h" #include "validator.h" +#include "wast-parser.h" #include "writer.h" #define PROGRAM_NAME "wast2wasm" @@ -197,13 +197,13 @@ int main(int argc, char** argv) { parse_options(argc, argv); - AstLexer* lexer = new_ast_file_lexer(s_infile); + WastLexer* lexer = new_wast_file_lexer(s_infile); if (!lexer) WABT_FATAL("unable to read file: %s\n", s_infile); SourceErrorHandlerFile error_handler; Script* script; - Result result = parse_ast(lexer, &script, &error_handler); + Result result = parse_wast(lexer, &script, &error_handler); if (WABT_SUCCEEDED(result)) { result = resolve_names_script(lexer, script, &error_handler); @@ -234,7 +234,7 @@ int main(int argc, char** argv) { } } - destroy_ast_lexer(lexer); + destroy_wast_lexer(lexer); delete script; return result != Result::Ok; } diff --git a/src/validator.cc b/src/validator.cc index dc1f12b1..609367e3 100644 --- a/src/validator.cc +++ b/src/validator.cc @@ -23,10 +23,9 @@ #include <stdarg.h> #include <stdio.h> -#include "ast-parser-lexer-shared.h" -#include "binary-reader-ast.h" #include "binary-reader.h" #include "type-checker.h" +#include "wast-parser-lexer-shared.h" namespace wabt { @@ -48,10 +47,10 @@ struct ActionResult { struct Context { WABT_DISALLOW_COPY_AND_ASSIGN(Context); - Context(SourceErrorHandler*, AstLexer*, const Script*); + Context(SourceErrorHandler*, WastLexer*, const Script*); SourceErrorHandler* error_handler = nullptr; - AstLexer* lexer = nullptr; + WastLexer* lexer = nullptr; const Script* script = nullptr; const Module* current_module = nullptr; const Func* current_func = nullptr; @@ -66,7 +65,7 @@ struct Context { }; Context::Context(SourceErrorHandler* error_handler, - AstLexer* lexer, + WastLexer* lexer, const Script* script) : error_handler(error_handler), lexer(lexer), script(script) {} @@ -77,7 +76,7 @@ static void WABT_PRINTF_FORMAT(3, 4) ctx->result = Result::Error; va_list args; va_start(args, fmt); - ast_format_error(ctx->error_handler, loc, ctx->lexer, fmt, args); + wast_format_error(ctx->error_handler, loc, ctx->lexer, fmt, args); va_end(args); } @@ -1003,7 +1002,7 @@ static void check_command(Context* ctx, const Command* command) { } } -Result validate_script(AstLexer* lexer, +Result validate_script(WastLexer* lexer, const struct Script* script, SourceErrorHandler* error_handler) { Context ctx(error_handler, lexer, script); diff --git a/src/validator.h b/src/validator.h index c117e241..93cb1ae5 100644 --- a/src/validator.h +++ b/src/validator.h @@ -17,7 +17,7 @@ #ifndef WABT_VALIDATOR_H_ #define WABT_VALIDATOR_H_ -#include "ast-lexer.h" +#include "wast-lexer.h" namespace wabt { @@ -25,9 +25,9 @@ struct Module; struct Script; class SourceErrorHandler; -/* perform all checks on the AST; the module is valid if and only if this +/* perform all checks on the script; the module is valid if and only if this * function succeeds. */ -Result validate_script(AstLexer*, const struct Script*, SourceErrorHandler*); +Result validate_script(WastLexer*, const struct Script*, SourceErrorHandler*); } // namespace wabt diff --git a/src/wabt.js b/src/wabt.js index 7bbb00c7..f8818315 100644 --- a/src/wabt.js +++ b/src/wabt.js @@ -68,13 +68,13 @@ function allocateCString(s) { function Lexer(filename, buffer) { this.filenameObj = allocateCString(filename); this.bufferObj = allocateBuffer(buffer); - this.addr = Module._wabt_new_ast_buffer_lexer( + this.addr = Module._wabt_new_wast_buffer_lexer( this.filenameObj.addr, this.bufferObj.addr, this.bufferObj.size); } Lexer.prototype = Object.create(Object.prototype); Lexer.prototype.destroy = function() { - Module._wabt_destroy_ast_lexer(this.addr); + Module._wabt_destroy_wast_lexer(this.addr); Module._free(this.bufferObj.addr); Module._free(this.filenameObj.addr); }; @@ -130,28 +130,28 @@ ErrorHandler.prototype.destroy = function() { }; -/// parseAst -function parseAst(filename, buffer) { +/// parseWast +function parseWast(filename, buffer) { var lexer = new Lexer(filename, buffer); var errorHandler = new ErrorHandler(); try { var parseResult_addr = - Module._wabt_parse_ast(lexer.addr, errorHandler.addr); + Module._wabt_parse_wast(lexer.addr, errorHandler.addr); - var result = Module._wabt_parse_ast_result_get_result(parseResult_addr); + var result = Module._wabt_parse_wast_result_get_result(parseResult_addr); if (result !== WABT_OK) { - throw new Error('parseAst failed:\n' + errorHandler.getMessage()); + throw new Error('parseWast failed:\n' + errorHandler.getMessage()); } var script_addr = - Module._wabt_parse_ast_result_release_script(parseResult_addr); + Module._wabt_parse_wast_result_release_script(parseResult_addr); var result = new Script(lexer, script_addr); // Clear lexer so it isn't destroyed below. lexer = null; return result; } finally { - Module._wabt_destroy_parse_ast_result(parseResult_addr); + Module._wabt_destroy_parse_wast_result(parseResult_addr); errorHandler.destroy(); if (lexer) { lexer.destroy(); @@ -239,6 +239,6 @@ Script.prototype.destroy = function() { }; wabt.ready = Promise.resolve(); -wabt.parseAst = parseAst; +wabt.parseWast = parseWast; })(wabt); diff --git a/src/ast-lexer.cc b/src/wast-lexer.cc index cff05083..adab9964 100644 --- a/src/ast-lexer.cc +++ b/src/wast-lexer.cc @@ -14,18 +14,18 @@ * limitations under the License. */ -#include "ast-lexer.h" +#include "wast-lexer.h" #include <assert.h> #include <stdio.h> #include "config.h" -#include "ast-parser.h" -#include "ast-parser-lexer-shared.h" +#include "wast-parser.h" +#include "wast-parser-lexer-shared.h" /* must be included after so some typedefs will be defined */ -#include "ast-parser-gen.hh" +#include "wast-parser-gen.hh" /*!max:re2c */ @@ -45,7 +45,7 @@ #define ERROR(...) \ YY_USER_ACTION; \ - ast_parser_error(loc, lexer, parser, __VA_ARGS__) + wast_parser_error(loc, lexer, parser, __VA_ARGS__) #define BEGIN(c) \ do { \ @@ -93,8 +93,8 @@ namespace wabt { static Result fill(Location* loc, - AstLexer* lexer, - AstParser* parser, + WastLexer* lexer, + WastParser* parser, size_t need) { if (lexer->eof) return Result::Error; @@ -114,8 +114,8 @@ static Result fill(Location* loc, char* new_buffer = new char[new_buffer_size]; if (!new_buffer) { - ast_parser_error(loc, lexer, parser, - "unable to reallocate lexer buffer."); + wast_parser_error(loc, lexer, parser, + "unable to reallocate lexer buffer."); return Result::Error; } memmove(new_buffer, lexer->token, lexer->limit - lexer->token); @@ -127,7 +127,7 @@ static Result fill(Location* loc, lexer->limit = new_buffer + (lexer->limit - old_buffer) - free; lexer->buffer_file_offset += free; free += new_buffer_size - old_buffer_size; - delete [] old_buffer; + delete[] old_buffer; } else { /* shift everything down to make more room in the buffer */ memmove(lexer->buffer, lexer->token, lexer->limit - lexer->token); @@ -138,11 +138,11 @@ static Result fill(Location* loc, lexer->buffer_file_offset += free; } /* read the new data into the buffer */ - if (lexer->source.type == AstLexerSourceType::File) { + if (lexer->source.type == WastLexerSourceType::File) { lexer->limit += fread(lexer->limit, 1, free, lexer->source.file); } else { /* TODO(binji): could lex directly from buffer */ - assert(lexer->source.type == AstLexerSourceType::Buffer); + assert(lexer->source.type == WastLexerSourceType::Buffer); size_t read_size = free; size_t offset = lexer->source.buffer.read_offset; size_t bytes_left = lexer->source.buffer.size - offset; @@ -165,10 +165,10 @@ static Result fill(Location* loc, return Result::Ok; } -int ast_lexer_lex(WABT_AST_PARSER_STYPE* lval, - WABT_AST_PARSER_LTYPE* loc, - AstLexer* lexer, - AstParser* parser) { +int wast_lexer_lex(WABT_WAST_PARSER_STYPE* lval, + WABT_WAST_PARSER_LTYPE* loc, + WastLexer* lexer, + WastParser* parser) { enum { YYCOND_INIT, YYCOND_BAD_TEXT, @@ -474,40 +474,38 @@ int ast_lexer_lex(WABT_AST_PARSER_STYPE* lval, } } -static AstLexer* new_lexer(AstLexerSourceType type, - const char* filename) { - AstLexer* lexer = new AstLexer(); +static WastLexer* new_lexer(WastLexerSourceType type, const char* filename) { + WastLexer* lexer = new WastLexer(); lexer->line = 1; lexer->filename = filename; lexer->source.type = type; return lexer; } -AstLexer* new_ast_file_lexer(const char* filename) { - AstLexer* lexer = new_lexer(AstLexerSourceType::File, filename); +WastLexer* new_wast_file_lexer(const char* filename) { + WastLexer* lexer = new_lexer(WastLexerSourceType::File, filename); lexer->source.file = fopen(filename, "rb"); if (!lexer->source.file) { - destroy_ast_lexer(lexer); + destroy_wast_lexer(lexer); return nullptr; } return lexer; } -AstLexer* new_ast_buffer_lexer(const char* filename, - const void* data, - size_t size) { - AstLexer* lexer = - new_lexer(AstLexerSourceType::Buffer, filename); +WastLexer* new_wast_buffer_lexer(const char* filename, + const void* data, + size_t size) { + WastLexer* lexer = new_lexer(WastLexerSourceType::Buffer, filename); lexer->source.buffer.data = data; lexer->source.buffer.size = size; lexer->source.buffer.read_offset = 0; return lexer; } -void destroy_ast_lexer(AstLexer* lexer) { - if (lexer->source.type == AstLexerSourceType::File && lexer->source.file) +void destroy_wast_lexer(WastLexer* lexer) { + if (lexer->source.type == WastLexerSourceType::File && lexer->source.file) fclose(lexer->source.file); - delete [] lexer->buffer; + delete[] lexer->buffer; delete lexer; } @@ -563,7 +561,7 @@ static Result scan_forward_for_line_offset_in_buffer( } static Result scan_forward_for_line_offset_in_file( - AstLexer* lexer, + WastLexer* lexer, int line, size_t line_start_offset, LineOffsetPosition find_position, @@ -610,15 +608,14 @@ cleanup: return result; } -static Result scan_forward_for_line_offset( - AstLexer* lexer, - int line, - size_t line_start_offset, - LineOffsetPosition find_position, - int find_line, - size_t* out_line_offset) { +static Result scan_forward_for_line_offset(WastLexer* lexer, + int line, + size_t line_start_offset, + LineOffsetPosition find_position, + int find_line, + size_t* out_line_offset) { assert(line <= find_line); - if (lexer->source.type == AstLexerSourceType::Buffer) { + if (lexer->source.type == WastLexerSourceType::Buffer) { const char* source_buffer = static_cast<const char*>(lexer->source.buffer.data); const char* buffer_start = source_buffer + line_start_offset; @@ -627,16 +624,16 @@ static Result scan_forward_for_line_offset( buffer_start, buffer_end, line, line_start_offset, find_position, find_line, &line, out_line_offset); } else { - assert(lexer->source.type == AstLexerSourceType::File); + assert(lexer->source.type == WastLexerSourceType::File); return scan_forward_for_line_offset_in_file(lexer, line, line_start_offset, find_position, find_line, out_line_offset); } } -static Result get_line_start_offset(AstLexer* lexer, - int line, - size_t* out_offset) { +static Result get_line_start_offset(WastLexer* lexer, + int line, + size_t* out_offset) { int first_line = 1; size_t first_offset = 0; int current_line = lexer->line; @@ -660,18 +657,17 @@ static Result get_line_start_offset(AstLexer* lexer, } } -static Result get_offsets_from_line(AstLexer* lexer, - int line, - size_t* out_line_start, - size_t* out_line_end) { +static Result get_offsets_from_line(WastLexer* lexer, + int line, + size_t* out_line_start, + size_t* out_line_end) { size_t line_start; if (WABT_FAILED(get_line_start_offset(lexer, line, &line_start))) return Result::Error; size_t line_end; - if (WABT_FAILED(scan_forward_for_line_offset(lexer, line, line_start, - LineOffsetPosition::End, - line, &line_end))) + if (WABT_FAILED(scan_forward_for_line_offset( + lexer, line, line_start, LineOffsetPosition::End, line, &line_end))) return Result::Error; *out_line_start = line_start; *out_line_end = line_end; @@ -707,12 +703,12 @@ static void clamp_source_line_offsets_to_location(size_t line_start, *out_new_line_end = line_end; } -Result ast_lexer_get_source_line(AstLexer* lexer, - const Location* loc, - size_t line_max_length, - char* line, - size_t* out_line_length, - int* out_column_offset) { +Result wast_lexer_get_source_line(WastLexer* lexer, + const Location* loc, + size_t line_max_length, + char* line, + size_t* out_line_length, + int* out_column_offset) { Result result; size_t line_start; /* inclusive */ size_t line_end; /* exclusive */ @@ -743,12 +739,12 @@ Result ast_lexer_get_source_line(AstLexer* lexer, read_length -= 3; } - if (lexer->source.type == AstLexerSourceType::Buffer) { + if (lexer->source.type == WastLexerSourceType::Buffer) { const char* buffer_read_start = static_cast<const char*>(lexer->source.buffer.data) + read_start; memcpy(write_start, buffer_read_start, read_length); } else { - assert(lexer->source.type == AstLexerSourceType::File); + assert(lexer->source.type == WastLexerSourceType::File); FILE* lexer_file = lexer->source.file; long old_offset = ftell(lexer_file); if (old_offset == -1) diff --git a/src/ast-lexer.h b/src/wast-lexer.h index f2325a30..00cfacfb 100644 --- a/src/ast-lexer.h +++ b/src/wast-lexer.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef WABT_AST_LEXER_H_ -#define WABT_AST_LEXER_H_ +#ifndef WABT_WAST_LEXER_H_ +#define WABT_WAST_LEXER_H_ #include <stddef.h> #include <stdio.h> @@ -24,13 +24,13 @@ namespace wabt { -enum class AstLexerSourceType { +enum class WastLexerSourceType { File, Buffer, }; -struct AstLexerSource { - AstLexerSourceType type; +struct WastLexerSource { + WastLexerSourceType type; union { FILE* file; struct { @@ -41,8 +41,8 @@ struct AstLexerSource { }; }; -struct AstLexer { - AstLexerSource source; +struct WastLexer { + WastLexerSource source; const char* filename; int line; int comment_nesting; @@ -59,12 +59,12 @@ struct AstLexer { char* limit; }; -AstLexer* new_ast_file_lexer(const char* filename); -AstLexer* new_ast_buffer_lexer(const char* filename, - const void* data, - size_t size); -void destroy_ast_lexer(AstLexer*); +WastLexer* new_wast_file_lexer(const char* filename); +WastLexer* new_wast_buffer_lexer(const char* filename, + const void* data, + size_t size); +void destroy_wast_lexer(WastLexer*); } // namespace wabt -#endif /* WABT_AST_LEXER_H_ */ +#endif /* WABT_WAST_LEXER_H_ */ diff --git a/src/ast-parser-lexer-shared.cc b/src/wast-parser-lexer-shared.cc index a6f8ba96..d5211704 100644 --- a/src/ast-parser-lexer-shared.cc +++ b/src/wast-parser-lexer-shared.cc @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "ast-parser-lexer-shared.h" +#include "wast-parser-lexer-shared.h" #include <stdarg.h> #include <stdio.h> @@ -24,23 +24,23 @@ namespace wabt { -void ast_parser_error(Location* loc, - AstLexer* lexer, - AstParser* parser, - const char* format, - ...) { +void wast_parser_error(Location* loc, + WastLexer* lexer, + WastParser* parser, + const char* format, + ...) { parser->errors++; va_list args; va_start(args, format); - ast_format_error(parser->error_handler, loc, lexer, format, args); + wast_format_error(parser->error_handler, loc, lexer, format, args); va_end(args); } -void ast_format_error(SourceErrorHandler* error_handler, - const struct Location* loc, - AstLexer* lexer, - const char* format, - va_list args) { +void wast_format_error(SourceErrorHandler* error_handler, + const struct Location* loc, + WastLexer* lexer, + const char* format, + va_list args) { va_list args_copy; va_copy(args_copy, args); char fixed_buf[WABT_DEFAULT_SNPRINTF_ALLOCA_BUFSIZE]; @@ -57,7 +57,7 @@ void ast_format_error(SourceErrorHandler* error_handler, size_t source_line_max_length = error_handler->source_line_max_length(); if (loc && lexer) { source_line = static_cast<char*>(alloca(source_line_max_length + 1)); - Result result = ast_lexer_get_source_line( + Result result = wast_lexer_get_source_line( lexer, loc, source_line_max_length, source_line, &source_line_length, &source_line_column_offset); if (WABT_FAILED(result)) { diff --git a/src/ast-parser-lexer-shared.h b/src/wast-parser-lexer-shared.h index 894db7b1..421d9fa7 100644 --- a/src/ast-parser-lexer-shared.h +++ b/src/wast-parser-lexer-shared.h @@ -14,22 +14,22 @@ * limitations under the License. */ -#ifndef WABT_AST_PARSER_LEXER_SHARED_H_ -#define WABT_AST_PARSER_LEXER_SHARED_H_ +#ifndef WABT_WAST_PARSER_LEXER_SHARED_H_ +#define WABT_WAST_PARSER_LEXER_SHARED_H_ #include <stdarg.h> #include <memory> -#include "ast.h" -#include "ast-lexer.h" #include "common.h" +#include "ir.h" #include "source-error-handler.h" +#include "wast-lexer.h" -#define WABT_AST_PARSER_STYPE Token -#define WABT_AST_PARSER_LTYPE Location -#define YYSTYPE WABT_AST_PARSER_STYPE -#define YYLTYPE WABT_AST_PARSER_LTYPE +#define WABT_WAST_PARSER_STYPE Token +#define WABT_WAST_PARSER_LTYPE Location +#define YYSTYPE WABT_WAST_PARSER_STYPE +#define YYLTYPE WABT_WAST_PARSER_LTYPE #define WABT_INVALID_LINE_OFFSET (static_cast<size_t>(~0)) @@ -159,7 +159,7 @@ union Token { VarVector* vars; }; -struct AstParser { +struct WastParser { Script* script; SourceErrorHandler* error_handler; int errors; @@ -169,26 +169,29 @@ struct AstParser { YYLTYPE* yylsa; }; -int ast_lexer_lex(union Token*, struct Location*, AstLexer*, struct AstParser*); -Result ast_lexer_get_source_line(AstLexer*, - const struct Location*, - size_t line_max_length, - char* line, - size_t* out_line_length, - int* out_column_offset); -void WABT_PRINTF_FORMAT(4, 5) ast_parser_error(struct Location*, - AstLexer*, - struct AstParser*, - const char*, - ...); -void ast_format_error(SourceErrorHandler*, - const struct Location*, - AstLexer*, - const char* format, - va_list); +int wast_lexer_lex(union Token*, + struct Location*, + WastLexer*, + struct WastParser*); +Result wast_lexer_get_source_line(WastLexer*, + const struct Location*, + size_t line_max_length, + char* line, + size_t* out_line_length, + int* out_column_offset); +void WABT_PRINTF_FORMAT(4, 5) wast_parser_error(struct Location*, + WastLexer*, + struct WastParser*, + const char*, + ...); +void wast_format_error(SourceErrorHandler*, + const struct Location*, + WastLexer*, + const char* format, + va_list); void destroy_func_fields(FuncField*); void destroy_text_list(TextList*); } // namespace wabt -#endif /* WABT_AST_PARSER_LEXER_SHARED_H_ */ +#endif /* WABT_WAST_PARSER_LEXER_SHARED_H_ */ diff --git a/src/ast-parser.h b/src/wast-parser.h index 4cd90f31..f195d7ee 100644 --- a/src/ast-parser.h +++ b/src/wast-parser.h @@ -14,18 +14,18 @@ * limitations under the License. */ -#ifndef WABT_AST_PARSER_H_ -#define WABT_AST_PARSER_H_ +#ifndef WABT_WAST_PARSER_H_ +#define WABT_WAST_PARSER_H_ -#include "ast-lexer.h" +#include "wast-lexer.h" namespace wabt { struct Script; class SourceErrorHandler; -Result parse_ast(AstLexer* lexer, Script** out_script, SourceErrorHandler*); +Result parse_wast(WastLexer* lexer, Script** out_script, SourceErrorHandler*); } // namespace wabt -#endif /* WABT_AST_PARSER_H_ */ +#endif /* WABT_WAST_PARSER_H_ */ diff --git a/src/ast-parser.y b/src/wast-parser.y index 081bedcb..5dc7d2b3 100644 --- a/src/ast-parser.y +++ b/src/wast-parser.y @@ -23,12 +23,12 @@ #include <algorithm> #include <utility> -#include "ast-parser.h" -#include "ast-parser-lexer-shared.h" #include "binary-error-handler.h" -#include "binary-reader-ast.h" #include "binary-reader.h" +#include "binary-reader-ir.h" #include "literal.h" +#include "wast-parser.h" +#include "wast-parser-lexer-shared.h" #define INVALID_VAR_INDEX (-1) @@ -113,7 +113,7 @@ #define CHECK_IMPORT_ORDERING(module, kind, kinds, loc_) \ do { \ if ((module)->kinds.size() != (module)->num_##kind##_imports) { \ - ast_parser_error( \ + wast_parser_error( \ &loc_, lexer, parser, \ "imports must occur before all non-import definitions"); \ } \ @@ -123,15 +123,15 @@ do { \ if (!string_slice_is_empty(&(end_label))) { \ if (string_slice_is_empty(&(begin_label))) { \ - ast_parser_error(&loc, lexer, parser, \ - "unexpected label \"" PRIstringslice "\"", \ - WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ + wast_parser_error(&loc, lexer, parser, \ + "unexpected label \"" PRIstringslice "\"", \ + WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ } else if (!string_slices_are_equal(&(begin_label), &(end_label))) { \ - ast_parser_error(&loc, lexer, parser, \ - "mismatching label \"" PRIstringslice \ - "\" != \"" PRIstringslice "\"", \ - WABT_PRINTF_STRING_SLICE_ARG(begin_label), \ - WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ + wast_parser_error(&loc, lexer, parser, \ + "mismatching label \"" PRIstringslice \ + "\" != \"" PRIstringslice "\"", \ + WABT_PRINTF_STRING_SLICE_ARG(begin_label), \ + WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ } \ destroy_string_slice(&(end_label)); \ } \ @@ -164,27 +164,27 @@ void append_implicit_func_declaration(Location*, class BinaryErrorHandlerModule : public BinaryErrorHandler { public: - BinaryErrorHandlerModule(Location* loc, AstLexer* lexer, AstParser* parser); + BinaryErrorHandlerModule(Location* loc, WastLexer* lexer, WastParser* parser); bool OnError(uint32_t offset, const std::string& error) override; private: Location* loc_; - AstLexer* lexer_; - AstParser* parser_; + WastLexer* lexer_; + WastParser* parser_; }; -#define wabt_ast_parser_lex ast_lexer_lex -#define wabt_ast_parser_error ast_parser_error +#define wabt_wast_parser_lex wast_lexer_lex +#define wabt_wast_parser_error wast_parser_error %} -%define api.prefix {wabt_ast_parser_} +%define api.prefix {wabt_wast_parser_} %define api.pure true %define api.value.type {::wabt::Token} %define api.token.prefix {WABT_TOKEN_TYPE_} %define parse.error verbose -%lex-param {::wabt::AstLexer* lexer} {::wabt::AstParser* parser} -%parse-param {::wabt::AstLexer* lexer} {::wabt::AstParser* parser} +%lex-param {::wabt::WastLexer* lexer} {::wabt::WastParser* parser} +%parse-param {::wabt::WastLexer* lexer} {::wabt::WastParser* parser} %locations %token LPAR "(" @@ -411,9 +411,9 @@ nat : NAT { if (WABT_FAILED(parse_uint64($1.text.start, $1.text.start + $1.text.length, &$$))) { - ast_parser_error(&@1, lexer, parser, - "invalid int " PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG($1.text)); + wast_parser_error(&@1, lexer, parser, + "invalid int " PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG($1.text)); } } ; @@ -470,9 +470,9 @@ offset_opt : | OFFSET_EQ_NAT { if (WABT_FAILED(parse_int64($1.start, $1.start + $1.length, &$$, ParseIntType::SignedAndUnsigned))) { - ast_parser_error(&@1, lexer, parser, - "invalid offset \"" PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG($1)); + wast_parser_error(&@1, lexer, parser, + "invalid offset \"" PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG($1)); } } ; @@ -481,9 +481,9 @@ align_opt : | ALIGN_EQ_NAT { if (WABT_FAILED(parse_int32($1.start, $1.start + $1.length, &$$, ParseIntType::UnsignedOnly))) { - ast_parser_error(&@1, lexer, parser, - "invalid alignment \"" PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG($1)); + wast_parser_error(&@1, lexer, parser, + "invalid alignment \"" PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG($1)); } } ; @@ -551,9 +551,9 @@ plain_instr : const_.loc = @1; if (WABT_FAILED(parse_const($1, $2.type, $2.text.start, $2.text.start + $2.text.length, &const_))) { - ast_parser_error(&@2, lexer, parser, - "invalid literal \"" PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG($2.text)); + wast_parser_error(&@2, lexer, parser, + "invalid literal \"" PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG($2.text)); } delete [] $2.text.start; $$ = Expr::CreateConst(const_); @@ -1284,8 +1284,8 @@ module : $$ = new Module(); ReadBinaryOptions options = WABT_READ_BINARY_OPTIONS_DEFAULT; BinaryErrorHandlerModule error_handler(&$1->binary.loc, lexer, parser); - read_binary_ast($1->binary.data, $1->binary.size, &options, - &error_handler, $$); + read_binary_ir($1->binary.data, $1->binary.size, &options, + &error_handler, $$); $$->name = $1->binary.name; $$->loc = $1->binary.loc; WABT_ZERO_MEMORY($1->binary.name); @@ -1417,9 +1417,9 @@ const : $$.loc = @2; if (WABT_FAILED(parse_const($2, $3.type, $3.text.start, $3.text.start + $3.text.length, &$$))) { - ast_parser_error(&@3, lexer, parser, - "invalid literal \"" PRIstringslice "\"", - WABT_PRINTF_STRING_SLICE_ARG($3.text)); + wast_parser_error(&@3, lexer, parser, + "invalid literal \"" PRIstringslice "\"", + WABT_PRINTF_STRING_SLICE_ARG($3.text)); } delete [] $3.text.start; } @@ -1652,12 +1652,12 @@ void append_implicit_func_declaration(Location* loc, } } -Result parse_ast(AstLexer* lexer, Script** out_script, +Result parse_wast(WastLexer* lexer, Script** out_script, SourceErrorHandler* error_handler) { - AstParser parser; + WastParser parser; WABT_ZERO_MEMORY(parser); parser.error_handler = error_handler; - int result = wabt_ast_parser_parse(lexer, &parser); + int result = wabt_wast_parser_parse(lexer, &parser); delete [] parser.yyssa; delete [] parser.yyvsa; delete [] parser.yylsa; @@ -1666,18 +1666,18 @@ Result parse_ast(AstLexer* lexer, Script** out_script, } BinaryErrorHandlerModule::BinaryErrorHandlerModule( - Location* loc, AstLexer* lexer, AstParser* parser) + Location* loc, WastLexer* lexer, WastParser* parser) : loc_(loc), lexer_(lexer), parser_(parser) {} bool BinaryErrorHandlerModule::OnError(uint32_t offset, const std::string& error) { if (offset == WABT_UNKNOWN_OFFSET) { - ast_parser_error(loc_, lexer_, parser_, "error in binary module: %s", - error.c_str()); + wast_parser_error(loc_, lexer_, parser_, "error in binary module: %s", + error.c_str()); } else { - ast_parser_error(loc_, lexer_, parser_, - "error in binary module: @0x%08x: %s", offset, - error.c_str()); + wast_parser_error(loc_, lexer_, parser_, + "error in binary module: @0x%08x: %s", offset, + error.c_str()); } return true; } diff --git a/src/ast-writer.cc b/src/wat-writer.cc index 306da811..1af22944 100644 --- a/src/ast-writer.cc +++ b/src/wat-writer.cc @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "ast-writer.h" +#include "wat-writer.h" #include <assert.h> #include <inttypes.h> @@ -24,8 +24,8 @@ #include <string> #include <vector> -#include "ast.h" #include "common.h" +#include "ir.h" #include "literal.h" #include "stream.h" #include "writer.h" @@ -58,9 +58,9 @@ enum class NextChar { ForceNewline, }; -class ASTWriter { +class WatWriter { public: - ASTWriter(Writer* writer) : stream_(writer) {} + WatWriter(Writer* writer) : stream_(writer) {} Result WriteModule(const Module* module); @@ -135,16 +135,16 @@ class ASTWriter { } // namespace -void ASTWriter::Indent() { +void WatWriter::Indent() { indent_ += INDENT_SIZE; } -void ASTWriter::Dedent() { +void WatWriter::Dedent() { indent_ -= INDENT_SIZE; assert(indent_ >= 0); } -void ASTWriter::WriteIndent() { +void WatWriter::WriteIndent() { static char s_indent[] = " " " "; @@ -159,7 +159,7 @@ void ASTWriter::WriteIndent() { } } -void ASTWriter::WriteNextChar() { +void WatWriter::WriteNextChar() { switch (next_char_) { case NextChar::Space: stream_.WriteChar(' '); @@ -177,88 +177,88 @@ void ASTWriter::WriteNextChar() { next_char_ = NextChar::None; } -void ASTWriter::WriteDataWithNextChar(const void* src, size_t size) { +void WatWriter::WriteDataWithNextChar(const void* src, size_t size) { WriteNextChar(); stream_.WriteData(src, size); } -void WABT_PRINTF_FORMAT(2, 3) ASTWriter::Writef(const char* format, ...) { +void WABT_PRINTF_FORMAT(2, 3) WatWriter::Writef(const char* format, ...) { WABT_SNPRINTF_ALLOCA(buffer, length, format); /* default to following space */ WriteDataWithNextChar(buffer, length); next_char_ = NextChar::Space; } -void ASTWriter::WritePutc(char c) { +void WatWriter::WritePutc(char c) { stream_.WriteChar(c); } -void ASTWriter::WritePuts(const char* s, NextChar next_char) { +void WatWriter::WritePuts(const char* s, NextChar next_char) { size_t len = strlen(s); WriteDataWithNextChar(s, len); next_char_ = next_char; } -void ASTWriter::WritePutsSpace(const char* s) { +void WatWriter::WritePutsSpace(const char* s) { WritePuts(s, NextChar::Space); } -void ASTWriter::WritePutsNewline(const char* s) { +void WatWriter::WritePutsNewline(const char* s) { WritePuts(s, NextChar::Newline); } -void ASTWriter::WriteNewline(bool force) { +void WatWriter::WriteNewline(bool force) { if (next_char_ == NextChar::ForceNewline) WriteNextChar(); next_char_ = force ? NextChar::ForceNewline : NextChar::Newline; } -void ASTWriter::WriteOpen(const char* name, NextChar next_char) { +void WatWriter::WriteOpen(const char* name, NextChar next_char) { WritePuts("(", NextChar::None); WritePuts(name, next_char); Indent(); } -void ASTWriter::WriteOpenNewline(const char* name) { +void WatWriter::WriteOpenNewline(const char* name) { WriteOpen(name, NextChar::Newline); } -void ASTWriter::WriteOpenSpace(const char* name) { +void WatWriter::WriteOpenSpace(const char* name) { WriteOpen(name, NextChar::Space); } -void ASTWriter::WriteClose(NextChar next_char) { +void WatWriter::WriteClose(NextChar next_char) { if (next_char_ != NextChar::ForceNewline) next_char_ = NextChar::None; Dedent(); WritePuts(")", next_char); } -void ASTWriter::WriteCloseNewline() { +void WatWriter::WriteCloseNewline() { WriteClose(NextChar::Newline); } -void ASTWriter::WriteCloseSpace() { +void WatWriter::WriteCloseSpace() { WriteClose(NextChar::Space); } -void ASTWriter::WriteString(const std::string& str, NextChar next_char) { +void WatWriter::WriteString(const std::string& str, NextChar next_char) { WritePuts(str.c_str(), next_char); } -void ASTWriter::WriteStringSlice(const StringSlice* str, NextChar next_char) { +void WatWriter::WriteStringSlice(const StringSlice* str, NextChar next_char) { Writef(PRIstringslice, WABT_PRINTF_STRING_SLICE_ARG(*str)); next_char_ = next_char; } -bool ASTWriter::WriteStringSliceOpt(const StringSlice* str, +bool WatWriter::WriteStringSliceOpt(const StringSlice* str, NextChar next_char) { if (str->start) WriteStringSlice(str, next_char); return !!str->start; } -void ASTWriter::WriteStringSliceOrIndex(const StringSlice* str, +void WatWriter::WriteStringSliceOrIndex(const StringSlice* str, uint32_t index, NextChar next_char) { if (str->start) @@ -267,7 +267,7 @@ void ASTWriter::WriteStringSliceOrIndex(const StringSlice* str, Writef("(;%u;)", index); } -void ASTWriter::WriteQuotedData(const void* data, size_t length) { +void WatWriter::WriteQuotedData(const void* data, size_t length) { const uint8_t* u8_data = static_cast<const uint8_t*>(data); static const char s_hexdigits[] = "0123456789abcdef"; WriteNextChar(); @@ -286,13 +286,13 @@ void ASTWriter::WriteQuotedData(const void* data, size_t length) { next_char_ = NextChar::Space; } -void ASTWriter::WriteQuotedStringSlice(const StringSlice* str, +void WatWriter::WriteQuotedStringSlice(const StringSlice* str, NextChar next_char) { WriteQuotedData(str->start, str->length); next_char_ = next_char; } -void ASTWriter::WriteVar(const Var* var, NextChar next_char) { +void WatWriter::WriteVar(const Var* var, NextChar next_char) { if (var->type == VarType::Index) { Writef("%" PRId64, var->index); next_char_ = next_char; @@ -301,7 +301,7 @@ void ASTWriter::WriteVar(const Var* var, NextChar next_char) { } } -void ASTWriter::WriteBrVar(const Var* var, NextChar next_char) { +void WatWriter::WriteBrVar(const Var* var, NextChar next_char) { if (var->type == VarType::Index) { Writef("%" PRId64 " (;@%" PRId64 ";)", var->index, depth_ - var->index - 1); @@ -311,13 +311,13 @@ void ASTWriter::WriteBrVar(const Var* var, NextChar next_char) { } } -void ASTWriter::WriteType(Type type, NextChar next_char) { +void WatWriter::WriteType(Type type, NextChar next_char) { const char* type_name = get_type_name(type); assert(type_name); WritePuts(type_name, next_char); } -void ASTWriter::WriteTypes(const TypeVector& types, const char* name) { +void WatWriter::WriteTypes(const TypeVector& types, const char* name) { if (types.size()) { if (name) WriteOpenSpace(name); @@ -328,12 +328,12 @@ void ASTWriter::WriteTypes(const TypeVector& types, const char* name) { } } -void ASTWriter::WriteFuncSigSpace(const FuncSignature* func_sig) { +void WatWriter::WriteFuncSigSpace(const FuncSignature* func_sig) { WriteTypes(func_sig->param_types, "param"); WriteTypes(func_sig->result_types, "result"); } -void ASTWriter::WriteBeginBlock(const Block* block, const char* text) { +void WatWriter::WriteBeginBlock(const Block* block, const char* text) { WritePutsSpace(text); bool has_label = WriteStringSliceOpt(&block->label, NextChar::Space); WriteTypes(block->sig, nullptr); @@ -344,19 +344,19 @@ void ASTWriter::WriteBeginBlock(const Block* block, const char* text) { Indent(); } -void ASTWriter::WriteEndBlock() { +void WatWriter::WriteEndBlock() { Dedent(); depth_--; WritePutsNewline(get_opcode_name(Opcode::End)); } -void ASTWriter::WriteBlock(const Block* block, const char* start_text) { +void WatWriter::WriteBlock(const Block* block, const char* start_text) { WriteBeginBlock(block, start_text); WriteExprList(block->first); WriteEndBlock(); } -void ASTWriter::WriteConst(const Const* const_) { +void WatWriter::WriteConst(const Const* const_) { switch (const_->type) { case Type::I32: WritePutsSpace(get_opcode_name(Opcode::I32Const)); @@ -400,7 +400,7 @@ void ASTWriter::WriteConst(const Const* const_) { } } -void ASTWriter::WriteExpr(const Expr* expr) { +void WatWriter::WriteExpr(const Expr* expr) { switch (expr->type) { case ExprType::Binary: WritePutsNewline(get_opcode_name(expr->binary.opcode)); @@ -549,12 +549,12 @@ void ASTWriter::WriteExpr(const Expr* expr) { } } -void ASTWriter::WriteExprList(const Expr* first) { +void WatWriter::WriteExprList(const Expr* first) { for (const Expr* expr = first; expr; expr = expr->next) WriteExpr(expr); } -void ASTWriter::WriteInitExpr(const Expr* expr) { +void WatWriter::WriteInitExpr(const Expr* expr) { if (expr) { WritePuts("(", NextChar::None); WriteExpr(expr); @@ -564,7 +564,7 @@ void ASTWriter::WriteInitExpr(const Expr* expr) { } } -void ASTWriter::WriteTypeBindings(const char* prefix, +void WatWriter::WriteTypeBindings(const char* prefix, const Func* func, const TypeVector& types, const BindingHash& bindings) { @@ -595,7 +595,7 @@ void ASTWriter::WriteTypeBindings(const char* prefix, WriteCloseSpace(); } -void ASTWriter::WriteFunc(const Module* module, const Func* func) { +void WatWriter::WriteFunc(const Module* module, const Func* func) { WriteOpenSpace("func"); WriteStringSliceOrIndex(&func->name, func_index_++, NextChar::Space); if (decl_has_func_type(&func->decl)) { @@ -616,7 +616,7 @@ void ASTWriter::WriteFunc(const Module* module, const Func* func) { WriteCloseNewline(); } -void ASTWriter::WriteBeginGlobal(const Global* global) { +void WatWriter::WriteBeginGlobal(const Global* global) { WriteOpenSpace("global"); WriteStringSliceOrIndex(&global->name, global_index_++, NextChar::Space); @@ -629,19 +629,19 @@ void ASTWriter::WriteBeginGlobal(const Global* global) { } } -void ASTWriter::WriteGlobal(const Global* global) { +void WatWriter::WriteGlobal(const Global* global) { WriteBeginGlobal(global); WriteInitExpr(global->init_expr); WriteCloseNewline(); } -void ASTWriter::WriteLimits(const Limits* limits) { +void WatWriter::WriteLimits(const Limits* limits) { Writef("%" PRIu64, limits->initial); if (limits->has_max) Writef("%" PRIu64, limits->max); } -void ASTWriter::WriteTable(const Table* table) { +void WatWriter::WriteTable(const Table* table) { WriteOpenSpace("table"); WriteStringSliceOrIndex(&table->name, table_index_++, NextChar::Space); @@ -650,7 +650,7 @@ void ASTWriter::WriteTable(const Table* table) { WriteCloseNewline(); } -void ASTWriter::WriteElemSegment(const ElemSegment* segment) { +void WatWriter::WriteElemSegment(const ElemSegment* segment) { WriteOpenSpace("elem"); WriteInitExpr(segment->offset); for (const Var& var : segment->vars) @@ -658,7 +658,7 @@ void ASTWriter::WriteElemSegment(const ElemSegment* segment) { WriteCloseNewline(); } -void ASTWriter::WriteMemory(const Memory* memory) { +void WatWriter::WriteMemory(const Memory* memory) { WriteOpenSpace("memory"); WriteStringSliceOrIndex(&memory->name, memory_index_++, NextChar::Space); @@ -666,14 +666,14 @@ void ASTWriter::WriteMemory(const Memory* memory) { WriteCloseNewline(); } -void ASTWriter::WriteDataSegment(const DataSegment* segment) { +void WatWriter::WriteDataSegment(const DataSegment* segment) { WriteOpenSpace("data"); WriteInitExpr(segment->offset); WriteQuotedData(segment->data, segment->size); WriteCloseNewline(); } -void ASTWriter::WriteImport(const Import* import) { +void WatWriter::WriteImport(const Import* import) { WriteOpenSpace("import"); WriteQuotedStringSlice(&import->module_name, NextChar::Space); WriteQuotedStringSlice(&import->field_name, NextChar::Space); @@ -708,7 +708,7 @@ void ASTWriter::WriteImport(const Import* import) { WriteCloseNewline(); } -void ASTWriter::WriteExport(const Export* export_) { +void WatWriter::WriteExport(const Export* export_) { static const char* s_kind_names[] = {"func", "table", "memory", "global"}; WABT_STATIC_ASSERT(WABT_ARRAY_SIZE(s_kind_names) == kExternalKindCount); WriteOpenSpace("export"); @@ -720,7 +720,7 @@ void ASTWriter::WriteExport(const Export* export_) { WriteCloseNewline(); } -void ASTWriter::WriteFuncType(const FuncType* func_type) { +void WatWriter::WriteFuncType(const FuncType* func_type) { WriteOpenSpace("type"); WriteStringSliceOrIndex(&func_type->name, func_type_index_++, NextChar::Space); @@ -730,13 +730,13 @@ void ASTWriter::WriteFuncType(const FuncType* func_type) { WriteCloseNewline(); } -void ASTWriter::WriteStartFunction(const Var* start) { +void WatWriter::WriteStartFunction(const Var* start) { WriteOpenSpace("start"); WriteVar(start, NextChar::None); WriteCloseNewline(); } -Result ASTWriter::WriteModule(const Module* module) { +Result WatWriter::WriteModule(const Module* module) { WriteOpenNewline("module"); for (const ModuleField* field = module->first_field; field; field = field->next) { @@ -779,9 +779,9 @@ Result ASTWriter::WriteModule(const Module* module) { return result_; } -Result write_ast(Writer* writer, const Module* module) { - ASTWriter ast_writer(writer); - return ast_writer.WriteModule(module); +Result write_wat(Writer* writer, const Module* module) { + WatWriter wat_writer(writer); + return wat_writer.WriteModule(module); } } // namespace wabt diff --git a/src/ast-writer.h b/src/wat-writer.h index 79bf2c76..840b77e7 100644 --- a/src/ast-writer.h +++ b/src/wat-writer.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef WABT_AST_WRITER_H_ -#define WABT_AST_WRITER_H_ +#ifndef WABT_WAT_WRITER_H_ +#define WABT_WAT_WRITER_H_ #include "common.h" @@ -24,8 +24,8 @@ namespace wabt { struct Module; class Writer; -Result write_ast(Writer*, const Module*); +Result write_wat(Writer*, const Module*); } // namespace wabt -#endif /* WABT_AST_WRITER_H_ */ +#endif /* WABT_WAT_WRITER_H_ */ |