-
Notifications
You must be signed in to change notification settings - Fork 956
/
draco_decoder.js
34 lines (28 loc) · 731 KB
/
draco_decoder.js
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
var DracoDecoderModule = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(DracoDecoderModule = {}) {
var Module=typeof DracoDecoderModule!="undefined"?DracoDecoderModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_free","_malloc","_emscripten_bind_VoidPtr___destroy___0","_emscripten_bind_DecoderBuffer_DecoderBuffer_0","_emscripten_bind_DecoderBuffer_Init_2","_emscripten_bind_DecoderBuffer___destroy___0","_emscripten_bind_AttributeTransformData_AttributeTransformData_0","_emscripten_bind_AttributeTransformData_transform_type_0","_emscripten_bind_AttributeTransformData___destroy___0","_emscripten_bind_GeometryAttribute_GeometryAttribute_0","_emscripten_bind_GeometryAttribute___destroy___0","_emscripten_bind_PointAttribute_PointAttribute_0","_emscripten_bind_PointAttribute_size_0","_emscripten_bind_PointAttribute_GetAttributeTransformData_0","_emscripten_bind_PointAttribute_attribute_type_0","_emscripten_bind_PointAttribute_data_type_0","_emscripten_bind_PointAttribute_num_components_0","_emscripten_bind_PointAttribute_normalized_0","_emscripten_bind_PointAttribute_byte_stride_0","_emscripten_bind_PointAttribute_byte_offset_0","_emscripten_bind_PointAttribute_unique_id_0","_emscripten_bind_PointAttribute___destroy___0","_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0","_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1","_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0","_emscripten_bind_AttributeQuantizationTransform_min_value_1","_emscripten_bind_AttributeQuantizationTransform_range_0","_emscripten_bind_AttributeQuantizationTransform___destroy___0","_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0","_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1","_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0","_emscripten_bind_AttributeOctahedronTransform___destroy___0","_emscripten_bind_PointCloud_PointCloud_0","_emscripten_bind_PointCloud_num_attributes_0","_emscripten_bind_PointCloud_num_points_0","_emscripten_bind_PointCloud___destroy___0","_emscripten_bind_Mesh_Mesh_0","_emscripten_bind_Mesh_num_faces_0","_emscripten_bind_Mesh_num_attributes_0","_emscripten_bind_Mesh_num_points_0","_emscripten_bind_Mesh___destroy___0","_emscripten_bind_Metadata_Metadata_0","_emscripten_bind_Metadata___destroy___0","_emscripten_bind_Status_code_0","_emscripten_bind_Status_ok_0","_emscripten_bind_Status_error_msg_0","_emscripten_bind_Status___destroy___0","_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0","_emscripten_bind_DracoFloat32Array_GetValue_1","_emscripten_bind_DracoFloat32Array_size_0","_emscripten_bind_DracoFloat32Array___destroy___0","_emscripten_bind_DracoInt8Array_DracoInt8Array_0","_emscripten_bind_DracoInt8Array_GetValue_1","_emscripten_bind_DracoInt8Array_size_0","_emscripten_bind_DracoInt8Array___destroy___0","_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0","_emscripten_bind_DracoUInt8Array_GetValue_1","_emscripten_bind_DracoUInt8Array_size_0","_emscripten_bind_DracoUInt8Array___destroy___0","_emscripten_bind_DracoInt16Array_DracoInt16Array_0","_emscripten_bind_DracoInt16Array_GetValue_1","_emscripten_bind_DracoInt16Array_size_0","_emscripten_bind_DracoInt16Array___destroy___0","_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0","_emscripten_bind_DracoUInt16Array_GetValue_1","_emscripten_bind_DracoUInt16Array_size_0","_emscripten_bind_DracoUInt16Array___destroy___0","_emscripten_bind_DracoInt32Array_DracoInt32Array_0","_emscripten_bind_DracoInt32Array_GetValue_1","_emscripten_bind_DracoInt32Array_size_0","_emscripten_bind_DracoInt32Array___destroy___0","_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0","_emscripten_bind_DracoUInt32Array_GetValue_1","_emscripten_bind_DracoUInt32Array_size_0","_emscripten_bind_DracoUInt32Array___destroy___0","_emscripten_bind_MetadataQuerier_MetadataQuerier_0","_emscripten_bind_MetadataQuerier_HasEntry_2","_emscripten_bind_MetadataQuerier_GetIntEntry_2","_emscripten_bind_MetadataQuerier_GetIntEntryArray_3","_emscripten_bind_MetadataQuerier_GetDoubleEntry_2","_emscripten_bind_MetadataQuerier_GetStringEntry_2","_emscripten_bind_MetadataQuerier_NumEntries_1","_emscripten_bind_MetadataQuerier_GetEntryName_2","_emscripten_bind_MetadataQuerier___destroy___0","_emscripten_bind_Decoder_Decoder_0","_emscripten_bind_Decoder_DecodeArrayToPointCloud_3","_emscripten_bind_Decoder_DecodeArrayToMesh_3","_emscripten_bind_Decoder_GetAttributeId_2","_emscripten_bind_Decoder_GetAttributeIdByName_2","_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3","_emscripten_bind_Decoder_GetAttribute_2","_emscripten_bind_Decoder_GetAttributeByUniqueId_2","_emscripten_bind_Decoder_GetMetadata_1","_emscripten_bind_Decoder_GetAttributeMetadata_2","_emscripten_bind_Decoder_GetFaceFromMesh_3","_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2","_emscripten_bind_Decoder_GetTrianglesUInt16Array_3","_emscripten_bind_Decoder_GetTrianglesUInt32Array_3","_emscripten_bind_Decoder_GetAttributeFloat_3","_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3","_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3","_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3","_emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5","_emscripten_bind_Decoder_SkipAttributeTransform_1","_emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1","_emscripten_bind_Decoder_DecodeBufferToPointCloud_2","_emscripten_bind_Decoder_DecodeBufferToMesh_2","_emscripten_bind_Decoder___destroy___0","_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM","_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM","_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM","_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM","_emscripten_enum_draco_GeometryAttribute_Type_INVALID","_emscripten_enum_draco_GeometryAttribute_Type_POSITION","_emscripten_enum_draco_GeometryAttribute_Type_NORMAL","_emscripten_enum_draco_GeometryAttribute_Type_COLOR","_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD","_emscripten_enum_draco_GeometryAttribute_Type_GENERIC","_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE","_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD","_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH","_emscripten_enum_draco_DataType_DT_INVALID","_emscripten_enum_draco_DataType_DT_INT8","_emscripten_enum_draco_DataType_DT_UINT8","_emscripten_enum_draco_DataType_DT_INT16","_emscripten_enum_draco_DataType_DT_UINT16","_emscripten_enum_draco_DataType_DT_INT32","_emscripten_enum_draco_DataType_DT_UINT32","_emscripten_enum_draco_DataType_DT_INT64","_emscripten_enum_draco_DataType_DT_UINT64","_emscripten_enum_draco_DataType_DT_FLOAT32","_emscripten_enum_draco_DataType_DT_FLOAT64","_emscripten_enum_draco_DataType_DT_BOOL","_emscripten_enum_draco_DataType_DT_TYPES_COUNT","_emscripten_enum_draco_StatusCode_OK","_emscripten_enum_draco_StatusCode_DRACO_ERROR","_emscripten_enum_draco_StatusCode_IO_ERROR","_emscripten_enum_draco_StatusCode_INVALID_PARAMETER","_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION","_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};Module["onModuleParsed"]=function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=5)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{var ret=tryParseAsDataURI(filename);if(ret){onload(ret)}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=function shell_read(f){const data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){let data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data=="object");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof clearTimeout=="undefined"){globalThis.clearTimeout=id=>{}}if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{read_=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=(
// EMSCRIPTEN_START_ASM
function instantiate(ta){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a<j;a+=4){g=f[o.charCodeAt(a+1)];h=f[o.charCodeAt(a+2)];m[i++]=f[o.charCodeAt(a)]<<2|g>>4;if(i<k)m[i++]=g<<4|h>>2;if(i<k)m[i++]=h<<6|f[o.charCodeAt(a+3)]}}function p(q){l(e,1028,"YAQAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAABIOwAAOAQAAOAHAAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AF9fbmV4dF9wcmltZSBvdmVyZmxvdwB2ZWN0b3IAc3RkOjpleGNlcHRpb24AbmFuAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBiYWRfYXJyYXlfbmV3X2xlbmd0aABiYXNpY19zdHJpbmcAaW5mAHN0ZDo6YmFkX2FsbG9jAERSQUNPAE5BTgBJTkYAVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5rbm93biBtaW5vciB2ZXJzaW9uLgBVbmtub3duIG1ham9yIHZlcnNpb24uAElucHV0IGlzIG5vdCBhIG1lc2guAFVuc3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAE5vdCBhIERyYWNvIGZpbGUuAElucHV0IGlzIG5vdCBhIHBvaW50IGNsb3VkLgBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAEZhaWxlZCB0byBkZWNvZGUgbWV0YWRhdGEuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4AKG51bGwpAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAGxpYmMrK2FiaTogAEtkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoARmxvYXRQb2ludHNUcmVlRGVjb2RlcjogY29tcHJlc3Npb24gbGV2ZWwgJWkgbm90IHN1cHBvcnRlZC4KAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgBNZXRob2Qgbm90IHN1cHBvcnRlZC4gCgAAAAAAAAC0BwAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAACwAAABgAAAAZAAAATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQAAAABIOwAAiAcAAOAHAABONWRyYWNvMThBdHRyaWJ1dGVUcmFuc2Zvcm1FAAAAACA7AADABwAAAAAAAGwIAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAACA7AAA8CAAASDsAACAIAABkCAAAAAAAANQIAAAmAAAAJwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAoAAAAKQAAACoAAABONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRGVjb2RlckUAAABIOwAAsAgAAGwIAAAAAAAANAkAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQAAAAAgOwAADAkAAP////8AAAAArAkAADQAAAA1AAAAHAAAADYAAAA3AAAAHwAAACAAAAAhAAAAOAAAADkAAAA6AAAAOwAAADwAAABONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQBIOwAAfAkAAGwIAAAAAAAAIAoAAD0AAAA+AAAAPwAAAC4AAAAvAAAAMAAAAEAAAAAyAAAAQQAAAEIAAABDAAAARAAAAEUAAABONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFAEg7AAD0CQAANAkAAAAAAACsDAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUAIDsAAFAMAABIOwAAJQwAAHQMAABIOwAA8QsAAHwMAABIOwAAnQsAAIgMAABIOwAABwsAAJQMAABIOwAAZAoAAKAMAAAAAAAAoAwAAEYAAABSAAAAIwAAAEkAAAAjAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAIwAAAAAAAACUDAAARgAAAFMAAAAjAAAASQAAACMAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAAAjAAAAAAAAAAgOAABGAAAAVAAAAFUAAABJAAAAVgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFcAAABONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBIOwAAYA0AAKAMAAAAAAAAAA8AAFgAAABZAAAAWgAAAEkAAABbAAAASwAAAEwAAABNAAAATgAAAE8AAABcAAAAXQAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAEg7AABMDgAAoAwAAAAAAADkDwAAXgAAAF8AAABgAAAASQAAAGEAAABiAAAAYwAAAGQAAABOAAAATwAAAGUAAABmAAAATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAEg7AABEDwAAoAwAAAAAAADQEAAAZwAAAGgAAABpAAAASQAAAGoAAABrAAAAbAAAAG0AAABOAAAATwAAAG4AAABvAAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAASDsAACgQAACgDAAAAAAAALwRAABwAAAAcQAAAHIAAABJAAAAcwAAAHQAAAB1AAAAdgAAAE4AAABPAAAAdwAAAHgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAAABIOwAAFBEAAKAMAAAAAAAARBMAAHkAAAB6AAAAewAAAHwAAAB9AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAAAAgOwAAjxIAAEg7AADkEQAAPBMAAAAAAAA8EwAAeQAAAH4AAAAjAAAAfAAAACMAAAAAAAAA0BQAAEYAAAB/AAAAgAAAAEkAAACBAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAggAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAAEg7AAA6FAAAlAwAAEg7AACkEwAAxBQAAAAAAADEFAAARgAAAIMAAAAjAAAASQAAACMAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAAAjAAAAAAAAAOgVAABGAAAAhAAAAIUAAABJAAAAhgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAIcAAABONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAABIOwAATBUAAMQUAAAAAAAA1BYAAIgAAACJAAAAigAAAEkAAACLAAAASwAAAEwAAABNAAAATgAAAE8AAACMAAAAjQAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEg7AAAsFgAAxBQAAAAAAACsFwAAjgAAAI8AAACQAAAASQAAAJEAAACSAAAAkwAAAJQAAABOAAAATwAAAJUAAACWAAAATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEg7AAAYFwAAxBQAAAAAAACMGAAAlwAAAJgAAACZAAAASQAAAJoAAACbAAAAnAAAAJ0AAABOAAAATwAAAJ4AAACfAAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAASDsAAPAXAADEFAAAAAAAAGgZAACgAAAAoQAAAKIAAABJAAAAowAAAKQAAAClAAAApgAAAE4AAABPAAAApwAAAKgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAEg7AADQGAAAxBQAAAAAAADUGgAAqQAAAKoAAACrAAAArAAAAK0AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAIDsAAC4aAABIOwAAkBkAAMwaAAAAAAAAzBoAAKkAAACuAAAAIwAAAKwAAAAjAAAAAAAAAJAbAABGAAAArwAAALAAAABJAAAAsQAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAALIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAAEg7AAA0GwAAlAwAAAAAAAAEHAAAswAAALQAAAC1AAAALgAAAC8AAAC2AAAAQAAAADIAAABBAAAAtwAAALgAAAC5AAAAugAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAASDsAANgbAAAgCgAAAAAAABAeAAC7AAAAvAAAAL0AAAC+AAAAvwAAAMAAAADBAAAAwgAAAMMAAADEAAAAxQAAAMYAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBIOwAAmR0AAIgMAABIOwAA+BwAAPgdAABIOwAASBwAAAQeAAAAAAAArB8AAMcAAADIAAAAyQAAAMoAAADLAAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFACA7AADuHgAASDsAADgeAACkHwAAAAAAADQhAADMAAAAzQAAAM4AAAC+AAAAzwAAANAAAADRAAAA0gAAAMMAAADEAAAA0wAAANQAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAABIOwAAkyAAAPgdAABIOwAA8B8AACghAAAAAAAAuCIAANUAAADWAAAA1wAAANgAAADZAAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAACA7AAAFIgAASDsAAFwhAACwIgAAAAAAAGAjAADaAAAA2wAAANwAAAC+AAAA3QAAAN4AAADfAAAA4AAAAMMAAADEAAAA4QAAAOIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUASDsAAPwiAAD4HQAAAAAAAJQlAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAASDsAAA8lAACIDAAASDsAAGEkAAB8JQAASDsAAKQjAACIJQAAAAAAAEwnAADvAAAA8AAAAPEAAADyAAAA8wAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAIDsAAH8mAABIOwAAvCUAAEQnAAAAAAAA8CgAAPQAAAD1AAAA9gAAAOYAAAD3AAAA+AAAAPkAAAD6AAAA6wAAAOwAAAD7AAAA/AAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAABIOwAAQCgAAHwlAABIOwAAkCcAAOQoAAAAAAAAjCoAAP0AAAD+AAAA/wAAAAABAAABAQAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFACA7AADOKQAASDsAABgpAACEKgAAAAAAAEQrAADaAAAAAgEAAAMBAADmAAAABAEAAAUBAAAGAQAABwEAAOsAAADsAAAACAEAAAkBAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAEg7AADQKgAAfCUAAAAAAADIKwAACgEAAAsBAAAMAQAALgAAAC8AAAANAQAAQAAAADIAAABBAAAADgEAAEMAAABEAAAADwEAABABAAARAQAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAEg7AACUKwAAIAoAAAAAAAAoLAAAEgEAABMBAAAUAQAAFQEAACMAAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAcAQAAIwAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAEg7AAAQLAAAfDQAAAAAAACULAAAHQEAAB4BAAAUAQAAHwEAACABAAAWAQAAFwEAABgBAAAhAQAAIgEAACMBAAAkAQAAJQEAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAEg7AABwLAAAKCwAAAAAAAC4LQAAJgEAACcBAAAoAQAAKQEAACoBAAArAQAALAEAAC0BAAAuAQAALwEAAP////8AAAAAHC4AADABAAAxAQAAMgEAADMBAAA0AQAANQEAADYBAAA3AQAAOAEAADkBAAAAAAAAfC4AADoBAAA7AQAAPAEAAD0BAAA+AQAAPwEAAEABAABBAQAAQgEAAEMBAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAIDsAAIAtAABIOwAANC0AALAtAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU180MU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFByZWRpY3RpdmVEZWNvZGVyRUVFAAAASDsAAMQtAACwLQAATjVkcmFjbzI2TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJTlNfMzhNZXNoRWRnZWJyZWFrZXJUcmF2ZXJzYWxWYWxlbmNlRGVjb2RlckVFRQAASDsAACguAACwLQAAAAAAAHgvAABEAQAARQEAAEYBAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUATjVkcmFjbzEzVHJhdmVyc2VyQmFzZUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMV9FRUVFACA7AAAJLwAASDsAAJwuAABwLwAAAAAAAHAvAABHAQAASAEAAEYB");l(e,12196,"AQAAAAMAAAAFAAAABwAAAAAAAAB4MAAASQEAAEoBAABLAQAATAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAIDsAAFMwAABIOwAAzC8AAHAwAAD/////AAAAAGgxAABNAQAATgEAAE8BAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAIDsAAAUxAABIOwAAnDAAAGAxAAAAAAAAYDEAAFABAABRAQAATwEAAAAAAAAgMgAAUgEAAFMBAABUAQAAVQEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAASDsAAKAxAABwMAAAAAAAAKAyAABWAQAAVwEAAE8BAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBIOwAAQDIAAGAxAAAAAAAAUDMAAFgBAABZAQAAWgEAAFsBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAAEg7AADEMgAAcDA=");l(e,13156,"vDMAABIBAABcAQAAFAEAABUBAABdAQAAFgEAABcBAAAYAQAAGQEAABoBAAAbAQAAHAEAAF4BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAEg7AACcMwAAKCwAAAAAAAD8MwAAXwEAAGABAABhAQAAYgEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAABIOwAA4DMAAHAwAAAAAAAAfDQAABIBAABjAQAAZAEAABUBAAAjAAAAZQEAABcBAAAYAQAAGQE=");l(e,13376,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAIDsAAF40AAAAAAAA1DQAABIBAABmAQAAZAEAABUBAABnAQAAaAEAABcBAAAYAQAAGQEAAE41ZHJhY28yM1BvaW50Q2xvdWRLZFRyZWVEZWNvZGVyRQAAAEg7AACwNAAAfDQAAAAAAAA0NQAAEgEAAGkBAABkAQAAFQEAAGoBAABrAQAAFwEAABgBAAAZAQAATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxEZWNvZGVyRQAAAEg7AAAMNQAAfDQAAAEAAAABAAAAAgAAAAIAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAB");l(e,13683,"wAAAAMAAAADAAAAAwP//////////AAAAALA1AABsAQAAbQEAAG4BAABvAQAATjVkcmFjbzRNZXNoRQAAAEg7AACgNQAA9DUAAP////8AAAAAAAAAAPQ1AABwAQAAcQEAAHIBAABzAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAIDsAANw1AADoPAAAGQAKABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZABEKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk=");l(e,13905,"DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO");l(e,13963,"DA==");l(e,13975,"EwAAAAATAAAAAAkMAAAAAAAMAAAM");l(e,14021,"EA==");l(e,14033,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ");l(e,14079,"Eg==");l(e,14091,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa");l(e,14146,"GgAAABoaGgAAAAAAAAk=");l(e,14195,"FA==");l(e,14207,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU");l(e,14253,"Fg==");l(e,14265,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGAAAAAAIAAAADAAAABQAAAAcAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAH8AAACDAAAAiQAAAIsAAACVAAAAlwAAAJ0AAACjAAAApwAAAK0AAACzAAAAtQAAAL8AAADBAAAAxQAAAMcAAADTAAAAAQAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAeQAAAH8AAACDAAAAiQAAAIsAAACPAAAAlQAAAJcAAACdAAAAowAAAKcAAACpAAAArQAAALMAAAC1AAAAuwAAAL8AAADBAAAAxQAAAMcAAADRAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFAMqaOwAAAAAAAAAAMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTlOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAABIOwAAWDoAANw8AABOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAABIOwAAiDoAAHw6AABOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UAAABIOwAAuDoAAHw6AABOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBIOwAA6DoAANw6AAAAAAAArDoAAHsBAAB8AQAAfQEAAH4BAAB/AQAAgAEAAIEBAACCAQAAAAAAAJA7AAB7AQAAgwEAAH0BAAB+AQAAfwEAAIQBAACFAQAAhgEAAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQAAAABIOwAAaDsAAKw6AAAAAAAAADwAAA4AAACHAQAAiAEAAAAAAAAoPAAADgAAAIkBAACKAQAAAAAAAOg7AAAOAAAAiwEAAIwBAABTdDlleGNlcHRpb24AAAAAIDsAANg7AABTdDliYWRfYWxsb2MAAAAASDsAAPA7AADoOwAAU3QyMGJhZF9hcnJheV9uZXdfbGVuZ3RoAAAAAEg7AAAMPAAAADwAAAAAAABYPAAAAQAAAI0BAACOAQAAU3QxMWxvZ2ljX2Vycm9yAEg7AABIPAAA6DsAAAAAAACMPAAAAQAAAI8BAACOAQAAU3QxMmxlbmd0aF9lcnJvcgAAAABIOwAAeDwAAFg8AAAAAAAAwDwAAAEAAACQAQAAjgEAAFN0MTJvdXRfb2ZfcmFuZ2UAAAAASDsAAKw8AABYPAAAU3Q5dHlwZV9pbmZvAAAAACA7AADMPA==");l(e,15592,"BQ==");l(e,15604,"dAE=");l(e,15628,"dQEAAHYBAACkPg==");l(e,15652,"Ag==");l(e,15668,"//////////8=");l(e,15736,"6DwAAAAAAAAF");l(e,15756,"dwE=");l(e,15780,"dQEAAHgBAAC4PgAAAAQ=");l(e,15804,"AQ==");l(e,15820,"/////wo=");l(e,15888,"gD0AAGBFAQ==")}var r=new ArrayBuffer(16);var s=new Int32Array(r);var t=new Float32Array(r);var u=new Float64Array(r);function v(w){return s[w]}function x(w,y){s[w]=y}function z(){return u[0]}function A(y){u[0]=y}function B(y){t[2]=y}function C(){throw new Error("abort")}function D(){return t[2]}function sa(q){var E=q.env;var F=E.memory;var G=F.buffer;F.grow=qa;var H=new Int8Array(G);var I=new Int16Array(G);var J=new Int32Array(G);var K=new Uint8Array(G);var L=new Uint16Array(G);var M=new Uint32Array(G);var N=new Float32Array(G);var O=new Float64Array(G);var P=Math.imul;var Q=Math.fround;var R=Math.abs;var S=Math.clz32;var T=Math.min;var U=Math.max;var V=Math.floor;var W=Math.ceil;var X=Math.trunc;var Y=Math.sqrt;var Z=E.__cxa_throw;var _=E.emscripten_memcpy_big;var $=q.wasi_snapshot_preview1;var aa=$.fd_close;var ba=$.fd_write;var ca=E.abort;var da=E.emscripten_resize_heap;var ea=$.fd_seek;var fa=83296;var ga=0;var ha=0;var ia=0;var ja=0;
// EMSCRIPTEN_START_FUNCS
function Ti(a,b,c){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;A=fa-672|0;fa=A;k=J[b+8>>2];s=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;a:{b:{c:{if(g>>>0>k>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break c}d=e+J[b>>2]|0;J[a>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[a>>2]>31){break c}s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;J[a+4>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;J[a+12>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;d=J[a+20>>2];w=J[a+12>>2];if((w|0)!=(d|0)?d:0){break c}s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[a+16>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(e>>>0>=7){J[A>>2]=e;cj(1760,A);break c}J[A+664>>2]=c;d:{if(!w){break d}e:{k=J[c>>2];if(w>>>0<=(J[c+8>>2]-k|0)/12>>>0){break e}if(w>>>0<357913942){l=J[c+4>>2];d=P(w,12);e=Cj(d);g=d+e|0;e=e+P((l-k|0)/12|0,12)|0;d=e;if((k|0)!=(l|0)){while(1){d=d-12|0;l=l-12|0;J[d>>2]=J[l>>2];J[d+4>>2]=J[l+4>>2];J[d+8>>2]=J[l+8>>2];if((k|0)!=(l|0)){continue}break}}J[c+8>>2]=g;J[c+4>>2]=e;J[c>>2]=d;if(!k){break e}xj(k);break e}break b}f:{switch(J[a+16>>2]){case 0:i=tb(A+8|0,3);y=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;g:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break g}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break g}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break g}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break g}J[i+8>>2]=0;if(!ge(i+16|0,b)){break g}if(!ge(i+36|0,b)){break g}if(!ge(i+56|0,b)){break g}if(!ge(i+76|0,b)){break g}z=J[i+4>>2];d=0;g=0;f=fa-32|0;fa=f;m=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;g=Cj(b);J[f+8>>2]=g;d=b+g|0;J[f+16>>2]=d;Xi(g,0,b);J[f+12>>2]=d}e=J[i+120>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);m=J[i+12>>2];g=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=g;J[e+8>>2]=J[f+16>>2];g=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;h:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;v=Cj(b);J[f+8>>2]=v;g=b+v|0;J[f+16>>2]=g;Xi(v,0,b);J[f+12>>2]=g}d=J[i+132>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);v=J[f+8>>2];g=J[f+12>>2]}J[d+4>>2]=g;J[d>>2]=v;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=z;m=J[f+28>>2]+1|0;J[f+28>>2]=m;i:{if(!m){break i}x=i+96|0;while(1){n=J[f+12>>2];g=J[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[n+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;o=J[b+8>>2];k=J[b+4>>2];t=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}b=0;if(t>>>0>z>>>0){break i}d=J[i+12>>2];m=(k|0)!=(d-1|0)?k+1|0:0;if(m>>>0>=d>>>0){break i}q=P(o,12);p=q+J[i+132>>2]|0;l=q+J[i+120>>2]|0;g=J[i>>2];r=m<<2;e=J[r+J[p>>2]>>2];j:{k:{if((g|0)==(e|0)){if(!t){break k}while(1){d=J[l>>2];w=J[d+8>>2];s=J[d+4>>2];n=J[d>>2];q=J[y>>2];m=J[q+4>>2];d=J[q+8>>2];l:{if(m>>>0<d>>>0){J[m+8>>2]=w;J[m+4>>2]=s;J[m>>2]=n;J[q+4>>2]=m+12;break l}r=J[q>>2];g=(m-r|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(d-r|0)/12|0;d=e<<1;k=e>>>0>=178956970?357913941:d>>>0>k>>>0?d:k;if(k){if(k>>>0>=357913942){break a}d=Cj(P(k,12))}else{d=0}v=d+P(g,12)|0;J[v+8>>2]=w;J[v+4>>2]=s;J[v>>2]=n;e=v+12|0;if((m|0)!=(r|0)){while(1){v=v-12|0;m=m-12|0;J[v>>2]=J[m>>2];J[v+4>>2]=J[m+4>>2];J[v+8>>2]=J[m+8>>2];if((m|0)!=(r|0)){continue}break}}J[q+8>>2]=d+P(k,12);J[q+4>>2]=e;J[q>>2]=v;if(!r){break l}xj(r)}J[i+8>>2]=J[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}break k}m:{n:{o:{p:{if(t>>>0<=2){d=J[i+108>>2];J[d>>2]=m;v=1;g=J[i+12>>2];if(g>>>0>1){break p}break m}if(M[i+8>>2]>M[i+4>>2]){break i}b=J[i+120>>2];s=o+1|0;w=P(s,12);d=b+w|0;if((d|0)!=(l|0)){Nb(d,J[l>>2],J[l+4>>2]);b=J[i+120>>2]}b=r+J[b+w>>2]|0;J[b>>2]=J[b>>2]+(1<<g+(e^-1));n=S(t)^31;k=J[i+32>>2];e=32-k|0;q:{if((n|0)<=(e|0)){e=J[i+28>>2];if((e|0)==J[i+20>>2]){break o}d=J[e>>2];b=k+n|0;J[i+32>>2]=b;v=d<<k>>>32-n|0;if((b|0)!=32){break q}J[i+32>>2]=0;J[i+28>>2]=e+4;break q}g=J[i+28>>2];b=g+4|0;if((b|0)==J[i+20>>2]){break o}d=J[g>>2];J[i+28>>2]=b;b=n-e|0;J[i+32>>2]=b;v=J[g+4>>2]>>>32-b|d<<k>>>32-n}d=t>>>1|0;if(v>>>0>d>>>0){break i}break n}while(1){m=(g-1|0)!=(m|0)?m+1|0:0;J[d+(v<<2)>>2]=m;g=J[i+12>>2];v=v+1|0;if(g>>>0>v>>>0){continue}break}break m}d=t>>>1|0;v=0}r:{s:{e=d-v|0;b=t-e|0;t:{if((b|0)==(e|0)){b=e;break t}n=J[i+88>>2];if((n|0)==J[i+80>>2]){break s}k=J[n>>2];g=J[i+92>>2];d=g+1|0;J[i+92>>2]=d;g=k&-2147483648>>>g;u:{if((d|0)==32){J[i+92>>2]=0;J[i+88>>2]=n+4;if(g){break u}break s}if(!g){break s}}}d=b;b=e;break r}d=e}n=J[i+132>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+w|0,g,J[k+4>>2]);if(b){g=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];v=J[f+12>>2];if((g|0)==(((e|0)!=(v|0)?P(e-v>>2,341)-1|0:0)|0)){Mb(f+8|0);v=J[f+12>>2];g=J[f+24>>2]+J[f+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+v>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=m;J[e>>2]=b;J[f+28>>2]=J[f+28>>2]+1}if(!d){break k}g=J[f+28>>2]+J[f+24>>2]|0;b=J[f+16>>2];v=J[f+12>>2];if((g|0)==(((b|0)!=(v|0)?P(b-v>>2,341)-1|0:0)|0)){Mb(f+8|0);v=J[f+12>>2];g=J[f+24>>2]+J[f+28>>2]|0}b=(g>>>0)/341|0;b=J[(b<<2)+v>>2]+P(g-P(b,341)|0,12)|0;J[b+8>>2]=s;J[b+4>>2]=m;J[b>>2]=d;m=J[f+28>>2]+1|0;J[f+28>>2]=m;break j}if(!t){break k}while(1){if(J[i+12>>2]){o=J[i+40>>2];n=J[p>>2];v=J[i+96>>2];k=J[i+108>>2];m=0;while(1){q=k+(m<<2)|0;J[v+(J[q>>2]<<2)>>2]=0;g=J[i>>2];e=J[q>>2]<<2;d=J[e+n>>2];v:{if((g|0)==(d|0)){break v}r=e+v|0;u=g-d|0;w=J[i+52>>2];g=32-w|0;if((u|0)<=(g|0)){e=J[i+48>>2];if((e|0)==(o|0)){break i}J[r>>2]=J[e>>2]<<w>>>32-u;d=u+J[i+52>>2]|0;J[i+52>>2]=d;if((d|0)!=32){break v}J[i+52>>2]=0;J[i+48>>2]=e+4;break v}s=J[i+48>>2];d=s+4|0;if((d|0)==(o|0)){break i}e=J[s>>2];J[i+48>>2]=d;d=u-g|0;J[i+52>>2]=d;J[r>>2]=J[s+4>>2]>>>32-d|e<<w>>>32-u}e=J[q>>2]<<2;d=e+v|0;J[d>>2]=J[d>>2]|J[e+J[l>>2]>>2];m=m+1|0;if(m>>>0<M[i+12>>2]){continue}break}}Ui(y,x);J[i+8>>2]=J[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}}m=J[f+28>>2]}if(m){continue}break}}J[f+28>>2]=0;v=J[f+16>>2];m=J[f+12>>2];g=v-m|0;if(g>>>0>=9){while(1){xj(J[m>>2]);m=J[f+12>>2]+4|0;J[f+12>>2]=m;v=J[f+16>>2];g=v-m|0;if(g>>>0>8){continue}break}}b=170;w:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break w}}x:{if((m|0)==(v|0)){break x}while(1){xj(J[m>>2]);m=m+4|0;if((v|0)!=(m|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break x}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break h}}sb(i);break d;case 1:i=tb(A+8|0,3);z=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;y:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break y}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break y}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break y}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break y}J[i+8>>2]=0;if(!ge(i+16|0,b)){break y}if(!ge(i+36|0,b)){break y}if(!ge(i+56|0,b)){break y}if(!ge(i+76|0,b)){break y}p=J[i+4>>2];d=0;f=fa-32|0;fa=f;m=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;t=Cj(b);J[f+8>>2]=t;d=b+t|0;J[f+16>>2]=d;Xi(t,0,b);J[f+12>>2]=d}e=J[i+120>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);m=J[i+12>>2];t=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=t;J[e+8>>2]=J[f+16>>2];t=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;z:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;o=Cj(b);J[f+8>>2]=o;t=b+o|0;J[f+16>>2]=t;Xi(o,0,b);J[f+12>>2]=t}d=J[i+132>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);t=J[f+12>>2];o=J[f+8>>2]}J[d+4>>2]=t;J[d>>2]=o;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=p;m=J[f+28>>2]+1|0;J[f+28>>2]=m;A:{if(!m){break A}s=i+96|0;while(1){k=J[f+12>>2];g=J[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;q=J[b+8>>2];d=J[b+4>>2];l=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}if(l>>>0>p>>>0){break A}b=J[i+12>>2];m=(d|0)!=(b-1|0)?d+1|0:0;if(m>>>0>=b>>>0){break A}b=J[i+120>>2];r=P(q,12);u=b+r|0;e=J[i>>2];w=m<<2;n=r+J[i+132>>2]|0;d=J[w+J[n>>2]>>2];B:{C:{if((e|0)==(d|0)){w=0;if(!l){break C}while(1){b=J[u>>2];x=J[b+8>>2];n=J[b+4>>2];k=J[b>>2];q=J[z>>2];m=J[q+4>>2];b=J[q+8>>2];D:{if(m>>>0<b>>>0){J[m+8>>2]=x;J[m+4>>2]=n;J[m>>2]=k;J[q+4>>2]=m+12;break D}r=J[q>>2];e=(m-r|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-r|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=Cj(P(g,12))}else{b=0}o=b+P(e,12)|0;J[o+8>>2]=x;J[o+4>>2]=n;J[o>>2]=k;d=o+12|0;if((m|0)!=(r|0)){while(1){o=o-12|0;m=m-12|0;J[o>>2]=J[m>>2];J[o+4>>2]=J[m+4>>2];J[o+8>>2]=J[m+8>>2];if((m|0)!=(r|0)){continue}break}}J[q+8>>2]=b+P(g,12);J[q+4>>2]=d;J[q>>2]=o;if(!r){break D}xj(r)}J[i+8>>2]=J[i+8>>2]+1;w=w+1|0;if((l|0)!=(w|0)){continue}break}break C}E:{F:{G:{H:{if(l>>>0<=2){b=J[i+108>>2];J[b>>2]=m;o=1;t=J[i+12>>2];if(t>>>0>1){break H}break E}if(M[i+8>>2]>M[i+4>>2]){break A}k=b;b=r+12|0;Nb(k+b|0,J[u>>2],J[u+4>>2]);b=w+J[b+J[i+120>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<e+(d^-1));n=S(l)^31;k=J[i+32>>2];e=32-k|0;I:{if((n|0)<=(e|0)){e=J[i+28>>2];if((e|0)==J[i+20>>2]){break G}d=J[e>>2];b=k+n|0;J[i+32>>2]=b;d=d<<k>>>32-n|0;if((b|0)!=32){break I}J[i+32>>2]=0;J[i+28>>2]=e+4;break I}g=J[i+28>>2];b=g+4|0;if((b|0)==J[i+20>>2]){break G}d=J[g>>2];J[i+28>>2]=b;b=n-e|0;J[i+32>>2]=b;d=J[g+4>>2]>>>32-b|d<<k>>>32-n}o=l>>>1|0;if(o>>>0<d>>>0){break A}break F}while(1){m=(t-1|0)!=(m|0)?m+1|0:0;J[b+(o<<2)>>2]=m;o=o+1|0;t=J[i+12>>2];if(o>>>0<t>>>0){continue}break}break E}o=l>>>1|0;d=0}x=q+1|0;J:{K:{e=o-d|0;d=l-e|0;L:{if((d|0)==(e|0)){b=e;break L}n=J[i+88>>2];if((n|0)==J[i+80>>2]){break K}k=J[n>>2];g=J[i+92>>2];b=g+1|0;J[i+92>>2]=b;g=k&-2147483648>>>g;M:{if((b|0)==32){J[i+92>>2]=0;J[i+88>>2]=n+4;if(g){break M}break K}if(!g){break K}}b=d}d=e;break J}b=e}n=J[i+132>>2];k=n+r|0;g=J[k>>2];e=g+w|0;J[e>>2]=J[e>>2]+1;Nb(n+P(x,12)|0,g,J[k+4>>2]);if(d){t=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];o=J[f+12>>2];if((t|0)==(((e|0)!=(o|0)?P(e-o>>2,341)-1|0:0)|0)){Mb(f+8|0);t=J[f+24>>2]+J[f+28>>2]|0;o=J[f+12>>2]}e=(t>>>0)/341|0;e=J[o+(e<<2)>>2]+P(t-P(e,341)|0,12)|0;J[e+8>>2]=q;J[e+4>>2]=m;J[e>>2]=d;J[f+28>>2]=J[f+28>>2]+1}if(!b){break C}t=J[f+28>>2]+J[f+24>>2]|0;d=J[f+16>>2];o=J[f+12>>2];if((t|0)==(((d|0)!=(o|0)?P(d-o>>2,341)-1|0:0)|0)){Mb(f+8|0);t=J[f+24>>2]+J[f+28>>2]|0;o=J[f+12>>2]}d=(t>>>0)/341|0;d=J[o+(d<<2)>>2]+P(t-P(d,341)|0,12)|0;J[d+8>>2]=x;J[d+4>>2]=m;J[d>>2]=b;m=J[f+28>>2]+1|0;J[f+28>>2]=m;break B}t=0;if(!l){break C}while(1){if(J[i+12>>2]){o=J[i+40>>2];k=J[n>>2];y=J[i+96>>2];g=J[i+108>>2];m=0;while(1){q=g+(m<<2)|0;J[y+(J[q>>2]<<2)>>2]=0;e=J[i>>2];d=J[q>>2]<<2;b=J[d+k>>2];N:{if((e|0)==(b|0)){break N}r=d+y|0;v=e-b|0;w=J[i+52>>2];e=32-w|0;if((v|0)<=(e|0)){d=J[i+48>>2];if((d|0)==(o|0)){break A}J[r>>2]=J[d>>2]<<w>>>32-v;b=v+J[i+52>>2]|0;J[i+52>>2]=b;if((b|0)!=32){break N}J[i+52>>2]=0;J[i+48>>2]=d+4;break N}x=J[i+48>>2];b=x+4|0;if((b|0)==(o|0)){break A}d=J[x>>2];J[i+48>>2]=b;b=v-e|0;J[i+52>>2]=b;J[r>>2]=J[x+4>>2]>>>32-b|d<<w>>>32-v}d=J[q>>2]<<2;b=d+y|0;J[b>>2]=J[b>>2]|J[d+J[u>>2]>>2];m=m+1|0;if(m>>>0<M[i+12>>2]){continue}break}}Ui(z,s);J[i+8>>2]=J[i+8>>2]+1;t=t+1|0;if((l|0)!=(t|0)){continue}break}}m=J[f+28>>2]}if(m){continue}break}}J[f+28>>2]=0;o=J[f+16>>2];m=J[f+12>>2];t=o-m|0;if(t>>>0>=9){while(1){xj(J[m>>2]);m=J[f+12>>2]+4|0;J[f+12>>2]=m;o=J[f+16>>2];t=o-m|0;if(t>>>0>8){continue}break}}b=170;O:{switch((t>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break O}}P:{if((m|0)==(o|0)){break P}while(1){xj(J[m>>2]);m=m+4|0;if((o|0)!=(m|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break P}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break z}}sb(i);break d;case 2:f=xb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Q:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Q}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Q}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Q}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Q}J[f+8>>2]=0;if(!he(f+16|0,b)){break Q}if(!ge(f+32|0,b)){break Q}if(!ge(f+52|0,b)){break Q}if(!ge(f+72|0,b)){break Q}y=J[f+4>>2];g=0;b=0;h=fa-32|0;fa=h;j=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}d=j<<2;g=Cj(d);J[h+8>>2]=g;b=d+g|0;J[h+16>>2]=b;Xi(g,0,d);J[h+12>>2]=b}e=J[f+116>>2];d=J[e>>2];if(d){J[e+4>>2]=d;xj(d);j=J[f+12>>2];g=J[h+8>>2];b=J[h+12>>2]}J[e+4>>2]=b;J[e>>2]=g;J[e+8>>2]=J[h+16>>2];g=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;R:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;u=Cj(b);J[h+8>>2]=u;g=b+u|0;J[h+16>>2]=g;Xi(u,0,b);J[h+12>>2]=g}d=J[f+128>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);u=J[h+8>>2];g=J[h+12>>2]}J[d+4>>2]=g;J[d>>2]=u;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;j=J[h+28>>2]+1|0;J[h+28>>2]=j;S:{if(!j){break S}w=f+92|0;x=f+16|0;while(1){n=J[h+12>>2];g=J[h+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[n+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;p=J[b+8>>2];k=J[b+4>>2];i=J[b>>2];J[h+28>>2]=e;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}d=0;if(i>>>0>y>>>0){break S}b=J[f+12>>2];j=(k|0)!=(b-1|0)?k+1|0:0;if(j>>>0>=b>>>0){break S}o=P(p,12);z=o+J[f+128>>2]|0;t=o+J[f+116>>2]|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];T:{if((g|0)==(e|0)){if(!i){break T}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];o=J[v>>2];j=J[o+4>>2];b=J[o+8>>2];U:{if(j>>>0<b>>>0){J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;J[o+4>>2]=j+12;break U}q=J[o>>2];g=(j-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}u=b+P(g,12)|0;J[u+8>>2]=r;J[u+4>>2]=s;J[u>>2]=n;e=u+12|0;if((j|0)!=(q|0)){while(1){u=u-12|0;j=j-12|0;J[u>>2]=J[j>>2];J[u+4>>2]=J[j+4>>2];J[u+8>>2]=J[j+8>>2];if((j|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(k,12);J[o+4>>2]=e;J[o>>2]=u;if(!q){break U}xj(q)}J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}break T}V:{W:{X:{Y:{if(i>>>0<=2){b=J[f+104>>2];J[b>>2]=j;u=1;g=J[f+12>>2];if(g>>>0>1){break Y}break V}if(M[f+8>>2]>M[f+4>>2]){break S}b=J[f+116>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+116>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<<g+(e^-1));J[h+4>>2]=0;ke(x,S(i)^31,h+4|0);d=i>>>1|0;b=J[h+4>>2];if(d>>>0<b>>>0){break S}e=d-b|0;d=i-e|0;Z:{if((d|0)==(e|0)){b=e;break Z}n=J[f+84>>2];if((n|0)==J[f+76>>2]){break X}k=J[n>>2];g=J[f+88>>2];b=g+1|0;J[f+88>>2]=b;g=k&-2147483648>>>g;_:{if((b|0)==32){J[f+88>>2]=0;J[f+84>>2]=n+4;if(g){break _}break X}if(!g){break X}}b=d}d=e;break W}while(1){j=(g-1|0)!=(j|0)?j+1|0:0;J[b+(u<<2)>>2]=j;g=J[f+12>>2];u=u+1|0;if(g>>>0>u>>>0){continue}break}break V}b=e}n=J[f+128>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];u=J[h+12>>2];if((g|0)==(((e|0)!=(u|0)?P(e-u>>2,341)-1|0:0)|0)){Mb(h+8|0);u=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+u>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break T}g=J[h+28>>2]+J[h+24>>2]|0;d=J[h+16>>2];u=J[h+12>>2];if((g|0)==(((d|0)!=(u|0)?P(d-u>>2,341)-1|0:0)|0)){Mb(h+8|0);u=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}d=(g>>>0)/341|0;d=J[(d<<2)+u>>2]+P(g-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;J[h+28>>2]=J[h+28>>2]+1;break T}if(!i){break T}while(1){if(J[f+12>>2]){p=J[f+36>>2];n=J[z>>2];u=J[f+92>>2];k=J[f+104>>2];j=0;while(1){o=k+(j<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];$:{if((g|0)==(b|0)){break $}q=e+u|0;l=g-b|0;r=J[f+48>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+44>>2];if((e|0)==(p|0)){break S}J[q>>2]=J[e>>2]<<r>>>32-l;b=l+J[f+48>>2]|0;J[f+48>>2]=b;if((b|0)!=32){break $}J[f+48>>2]=0;J[f+44>>2]=e+4;break $}s=J[f+44>>2];b=s+4|0;if((b|0)==(p|0)){break S}e=J[s>>2];J[f+44>>2]=b;b=l-g|0;J[f+48>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<<r>>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];j=j+1|0;if(j>>>0<M[f+12>>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}}j=J[h+28>>2];if(j){continue}break}}J[h+28>>2]=0;u=J[h+16>>2];j=J[h+12>>2];g=u-j|0;if(g>>>0>=9){while(1){xj(J[j>>2]);j=J[h+12>>2]+4|0;J[h+12>>2]=j;u=J[h+16>>2];g=u-j|0;if(g>>>0>8){continue}break}}b=170;aa:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break aa}}ba:{if((j|0)==(u|0)){break ba}while(1){xj(J[j>>2]);j=j+4|0;if((u|0)!=(j|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break ba}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break R}}wb(f);break d;case 3:i=xb(A+8|0,3);y=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;ca:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break ca}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break ca}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break ca}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break ca}J[i+8>>2]=0;if(!he(i+16|0,b)){break ca}if(!ge(i+32|0,b)){break ca}if(!ge(i+52|0,b)){break ca}if(!ge(i+72|0,b)){break ca}z=J[i+4>>2];d=0;f=fa-32|0;fa=f;j=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}b=j<<2;m=Cj(b);J[f+8>>2]=m;d=b+m|0;J[f+16>>2]=d;Xi(m,0,b);J[f+12>>2]=d}e=J[i+116>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);j=J[i+12>>2];m=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=m;J[e+8>>2]=J[f+16>>2];m=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;da:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;p=Cj(b);J[f+8>>2]=p;m=b+p|0;J[f+16>>2]=m;Xi(p,0,b);J[f+12>>2]=m}d=J[i+128>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);m=J[f+12>>2];p=J[f+8>>2]}J[d+4>>2]=m;J[d>>2]=p;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=z;j=J[f+28>>2]+1|0;J[f+28>>2]=j;ea:{if(!j){break ea}x=i+92|0;s=i+16|0;while(1){k=J[f+12>>2];g=J[f+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;o=J[b+8>>2];d=J[b+4>>2];t=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}if(t>>>0>z>>>0){break ea}b=J[i+12>>2];j=(d|0)!=(b-1|0)?d+1|0:0;if(j>>>0>=b>>>0){break ea}b=J[i+116>>2];q=P(o,12);l=b+q|0;e=J[i>>2];r=j<<2;n=q+J[i+128>>2]|0;d=J[r+J[n>>2]>>2];fa:{if((e|0)==(d|0)){r=0;if(!t){break fa}while(1){b=J[l>>2];w=J[b+8>>2];n=J[b+4>>2];k=J[b>>2];o=J[y>>2];j=J[o+4>>2];b=J[o+8>>2];ga:{if(j>>>0<b>>>0){J[j+8>>2]=w;J[j+4>>2]=n;J[j>>2]=k;J[o+4>>2]=j+12;break ga}q=J[o>>2];e=(j-q|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-q|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=Cj(P(g,12))}else{b=0}p=b+P(e,12)|0;J[p+8>>2]=w;J[p+4>>2]=n;J[p>>2]=k;d=p+12|0;if((j|0)!=(q|0)){while(1){p=p-12|0;j=j-12|0;J[p>>2]=J[j>>2];J[p+4>>2]=J[j+4>>2];J[p+8>>2]=J[j+8>>2];if((j|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(g,12);J[o+4>>2]=d;J[o>>2]=p;if(!q){break ga}xj(q)}J[i+8>>2]=J[i+8>>2]+1;r=r+1|0;if((t|0)!=(r|0)){continue}break}break fa}ha:{ia:{ja:{ka:{if(t>>>0<=2){b=J[i+104>>2];J[b>>2]=j;p=1;m=J[i+12>>2];if(m>>>0>1){break ka}break ha}if(M[i+8>>2]>M[i+4>>2]){break ea}k=b;b=q+12|0;Nb(k+b|0,J[l>>2],J[l+4>>2]);b=r+J[b+J[i+116>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<e+(d^-1));J[f+4>>2]=0;ke(s,S(t)^31,f+4|0);d=t>>>1|0;b=J[f+4>>2];if(d>>>0<b>>>0){break ea}w=o+1|0;e=d-b|0;d=t-e|0;la:{if((d|0)==(e|0)){b=e;break la}n=J[i+84>>2];if((n|0)==J[i+76>>2]){break ja}k=J[n>>2];g=J[i+88>>2];b=g+1|0;J[i+88>>2]=b;g=k&-2147483648>>>g;ma:{if((b|0)==32){J[i+88>>2]=0;J[i+84>>2]=n+4;if(g){break ma}break ja}if(!g){break ja}}b=d}d=e;break ia}while(1){j=(m-1|0)!=(j|0)?j+1|0:0;J[b+(p<<2)>>2]=j;m=J[i+12>>2];p=p+1|0;if(m>>>0>p>>>0){continue}break}break ha}b=e}n=J[i+128>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+P(w,12)|0,g,J[k+4>>2]);if(d){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];p=J[f+12>>2];if((m|0)==(((e|0)!=(p|0)?P(e-p>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;p=J[f+12>>2]}e=(m>>>0)/341|0;e=J[p+(e<<2)>>2]+P(m-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=j;J[e>>2]=d;J[f+28>>2]=J[f+28>>2]+1}if(!b){break fa}m=J[f+28>>2]+J[f+24>>2]|0;d=J[f+16>>2];p=J[f+12>>2];if((m|0)==(((d|0)!=(p|0)?P(d-p>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;p=J[f+12>>2]}d=(m>>>0)/341|0;d=J[p+(d<<2)>>2]+P(m-P(d,341)|0,12)|0;J[d+8>>2]=w;J[d+4>>2]=j;J[d>>2]=b;J[f+28>>2]=J[f+28>>2]+1;break fa}m=0;if(!t){break fa}while(1){if(J[i+12>>2]){p=J[i+36>>2];k=J[n>>2];v=J[i+92>>2];g=J[i+104>>2];j=0;while(1){o=g+(j<<2)|0;J[v+(J[o>>2]<<2)>>2]=0;e=J[i>>2];d=J[o>>2]<<2;b=J[d+k>>2];na:{if((e|0)==(b|0)){break na}q=d+v|0;u=e-b|0;r=J[i+48>>2];e=32-r|0;if((u|0)<=(e|0)){d=J[i+44>>2];if((d|0)==(p|0)){break ea}J[q>>2]=J[d>>2]<<r>>>32-u;b=u+J[i+48>>2]|0;J[i+48>>2]=b;if((b|0)!=32){break na}J[i+48>>2]=0;J[i+44>>2]=d+4;break na}w=J[i+44>>2];b=w+4|0;if((b|0)==(p|0)){break ea}d=J[w>>2];J[i+44>>2]=b;b=u-e|0;J[i+48>>2]=b;J[q>>2]=J[w+4>>2]>>>32-b|d<<r>>>32-u}d=J[o>>2]<<2;b=d+v|0;J[b>>2]=J[b>>2]|J[d+J[l>>2]>>2];j=j+1|0;if(j>>>0<M[i+12>>2]){continue}break}}Ui(y,x);J[i+8>>2]=J[i+8>>2]+1;m=m+1|0;if((t|0)!=(m|0)){continue}break}}j=J[f+28>>2];if(j){continue}break}}J[f+28>>2]=0;p=J[f+16>>2];j=J[f+12>>2];m=p-j|0;if(m>>>0>=9){while(1){xj(J[j>>2]);j=J[f+12>>2]+4|0;J[f+12>>2]=j;p=J[f+16>>2];m=p-j|0;if(m>>>0>8){continue}break}}b=170;oa:{switch((m>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break oa}}pa:{if((j|0)==(p|0)){break pa}while(1){xj(J[j>>2]);j=j+4|0;if((p|0)!=(j|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break pa}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break da}}wb(i);break d;case 4:f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;qa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break qa}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break qa}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break qa}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break qa}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break qa}if(!ge(f+544|0,b)){break qa}if(!ge(f+564|0,b)){break qa}if(!ge(f+584|0,b)){break qa}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;ra:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=Cj(b);J[h+8>>2]=j;l=b+j|0;J[h+16>>2]=l;Xi(j,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);j=J[h+8>>2];l=J[h+12>>2]}J[d+4>>2]=l;J[d>>2]=j;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;sa:{if(!d){break sa}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;p=J[b+8>>2];e=J[b+4>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break sa}b=J[f+12>>2];j=(e|0)!=(b-1|0)?e+1|0:0;if(j>>>0>=b>>>0){break sa}o=P(p,12);z=o+J[f+640>>2]|0;t=o+J[f+628>>2]|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];ta:{ua:{if((g|0)==(e|0)){o=0;if(!i){break ua}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];p=J[v>>2];d=J[p+4>>2];b=J[p+8>>2];va:{if(d>>>0<b>>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[p+4>>2]=d+12;break va}q=J[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}j=b+P(g,12)|0;J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;J[j>>2]=J[d>>2];J[j+4>>2]=J[d+4>>2];J[j+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[p+8>>2]=b+P(k,12);J[p+4>>2]=e;J[p>>2]=j;if(!q){break va}xj(q)}J[f+8>>2]=J[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break ua}wa:{xa:{ya:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=j;d=1;l=J[f+12>>2];if(l>>>0>1){break ya}break wa}if(M[f+8>>2]>M[f+4>>2]){break sa}b=J[f+628>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+628>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<<g+(e^-1));l=0;d=0;b=S(i)^31;if(!b){d=i>>>1|0;break xa}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break xa}break sa}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;J[b+(d<<2)>>2]=j;d=d+1|0;l=J[f+12>>2];if(d>>>0<l>>>0){continue}break}break wa}za:{Aa:{e=d-l|0;d=i-e|0;Ba:{if((d|0)==(e|0)){b=e;break Ba}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break Aa}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;Ca:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break Ca}break Aa}if(!g){break Aa}}b=d}d=e;break za}b=e}n=J[f+640>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((g|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+l>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break ua}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break ta}j=0;if(!i){break ua}while(1){if(J[f+12>>2]){p=J[f+548>>2];n=J[z>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){o=k+(d<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];Da:{if((g|0)==(b|0)){break Da}q=e+u|0;l=g-b|0;r=J[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(p|0)){break sa}J[q>>2]=J[e>>2]<<r>>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break Da}J[f+560>>2]=0;J[f+556>>2]=e+4;break Da}s=J[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break sa}e=J[s>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<<r>>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0<M[f+12>>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;j=J[h+16>>2];d=J[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;j=J[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;Ea:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break Ea}}Fa:{if((d|0)==(j|0)){break Fa}while(1){xj(J[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break Fa}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break ra}}Ab(f);break d;case 5:f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Ga:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Ga}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Ga}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Ga}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Ga}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break Ga}if(!ge(f+544|0,b)){break Ga}if(!ge(f+564|0,b)){break Ga}if(!ge(f+584|0,b)){break Ga}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Ha:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;p=Cj(b);J[h+8>>2]=p;l=b+p|0;J[h+16>>2]=l;Xi(p,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);l=J[h+12>>2];p=J[h+8>>2]}J[d+4>>2]=l;J[d>>2]=p;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;Ia:{if(!d){break Ia}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;o=J[b+8>>2];e=J[b+4>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break Ia}m=0;b=J[f+12>>2];p=(e|0)!=(b-1|0)?e+1|0:0;if(p>>>0>=b>>>0){break Ia}b=J[f+628>>2];q=P(o,12);t=b+q|0;e=J[f>>2];r=p<<2;s=q+J[f+640>>2]|0;d=J[r+J[s>>2]>>2];Ja:{Ka:{if((e|0)==(d|0)){if(!i){break Ka}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];o=J[v>>2];d=J[o+4>>2];b=J[o+8>>2];La:{if(d>>>0<b>>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[o+4>>2]=d+12;break La}q=J[o>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}p=b+P(g,12)|0;J[p+8>>2]=r;J[p+4>>2]=s;J[p>>2]=n;e=p+12|0;if((d|0)!=(q|0)){while(1){p=p-12|0;d=d-12|0;J[p>>2]=J[d>>2];J[p+4>>2]=J[d+4>>2];J[p+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(k,12);J[o+4>>2]=e;J[o>>2]=p;if(!q){break La}xj(q)}J[f+8>>2]=J[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}break Ka}Ma:{Na:{Oa:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=p;d=1;l=J[f+12>>2];if(l>>>0>1){break Oa}break Ma}if(M[f+8>>2]>M[f+4>>2]){break Ia}k=b;b=q+12|0;Nb(k+b|0,J[t>>2],J[t+4>>2]);b=r+J[b+J[f+628>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<e+(d^-1));l=0;d=0;b=S(i)^31;if(!b){d=i>>>1|0;break Na}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break Na}break Ia}while(1){p=(l-1|0)!=(p|0)?p+1|0:0;J[b+(d<<2)>>2]=p;d=d+1|0;l=J[f+12>>2];if(d>>>0<l>>>0){continue}break}break Ma}s=o+1|0;Pa:{Qa:{e=d-l|0;d=i-e|0;Ra:{if((d|0)==(e|0)){b=e;break Ra}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break Qa}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;Sa:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break Sa}break Qa}if(!g){break Qa}}b=d}d=e;break Pa}b=e}n=J[f+640>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+P(s,12)|0,g,J[k+4>>2]);if(d){m=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((m|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);m=J[h+24>>2]+J[h+28>>2]|0;l=J[h+12>>2]}e=(m>>>0)/341|0;e=J[l+(e<<2)>>2]+P(m-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=p;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break Ka}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=p;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break Ja}if(!i){break Ka}while(1){if(J[f+12>>2]){z=J[f+548>>2];n=J[s>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){p=k+(d<<2)|0;J[u+(J[p>>2]<<2)>>2]=0;g=J[f>>2];e=J[p>>2]<<2;b=J[e+n>>2];Ta:{if((g|0)==(b|0)){break Ta}o=e+u|0;l=g-b|0;q=J[f+560>>2];g=32-q|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(z|0)){break Ia}J[o>>2]=J[e>>2]<<q>>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break Ta}J[f+560>>2]=0;J[f+556>>2]=e+4;break Ta}r=J[f+556>>2];b=r+4|0;if((b|0)==(z|0)){break Ia}e=J[r>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[o>>2]=J[r+4>>2]>>>32-b|e<<q>>>32-l}e=J[p>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0<M[f+12>>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;p=J[h+16>>2];d=J[h+12>>2];l=p-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;p=J[h+16>>2];l=p-d|0;if(l>>>0>8){continue}break}}b=170;Ua:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break Ua}}Va:{if((d|0)==(p|0)){break Va}while(1){xj(J[d>>2]);d=d+4|0;if((p|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break Va}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break Ha}}Ab(f);break d;case 6:break f;default:break c}}f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Wa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Wa}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Wa}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Wa}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Wa}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break Wa}if(!ge(f+544|0,b)){break Wa}if(!ge(f+564|0,b)){break Wa}if(!ge(f+584|0,b)){break Wa}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Xa:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=Cj(b);J[h+8>>2]=j;l=b+j|0;J[h+16>>2]=l;Xi(j,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);j=J[h+8>>2];l=J[h+12>>2]}J[d+4>>2]=l;J[d>>2]=j;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;Ya:{if(!d){break Ya}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;p=J[b+8>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break Ya}b=J[f+628>>2];o=P(p,12);z=o+J[f+640>>2]|0;j=Si(f,i,z);if(j>>>0>=M[f+12>>2]){break Ya}t=b+o|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];Za:{_a:{if((g|0)==(e|0)){o=0;if(!i){break _a}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];p=J[v>>2];d=J[p+4>>2];b=J[p+8>>2];$a:{if(d>>>0<b>>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[p+4>>2]=d+12;break $a}q=J[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}j=b+P(g,12)|0;J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;J[j>>2]=J[d>>2];J[j+4>>2]=J[d+4>>2];J[j+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[p+8>>2]=b+P(k,12);J[p+4>>2]=e;J[p>>2]=j;if(!q){break $a}xj(q)}J[f+8>>2]=J[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break _a}ab:{bb:{cb:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=j;d=1;l=J[f+12>>2];if(l>>>0>1){break cb}break ab}if(M[f+8>>2]>M[f+4>>2]){break Ya}b=J[f+628>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+628>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<<g+(e^-1));l=0;d=0;b=S(i)^31;if(!b){d=i>>>1|0;break bb}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break bb}break Ya}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;J[b+(d<<2)>>2]=j;d=d+1|0;l=J[f+12>>2];if(d>>>0<l>>>0){continue}break}break ab}db:{eb:{e=d-l|0;d=i-e|0;fb:{if((d|0)==(e|0)){b=e;break fb}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break eb}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;gb:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break gb}break eb}if(!g){break eb}}b=d}d=e;break db}b=e}n=J[f+640>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((g|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+l>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break _a}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break Za}j=0;if(!i){break _a}while(1){if(J[f+12>>2]){p=J[f+548>>2];n=J[z>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){o=k+(d<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];hb:{if((g|0)==(b|0)){break hb}q=e+u|0;l=g-b|0;r=J[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(p|0)){break Ya}J[q>>2]=J[e>>2]<<r>>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break hb}J[f+560>>2]=0;J[f+556>>2]=e+4;break hb}s=J[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break Ya}e=J[s>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<<r>>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0<M[f+12>>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;j=J[h+16>>2];d=J[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;j=J[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;ib:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break ib}}jb:{if((d|0)==(j|0)){break jb}while(1){xj(J[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break jb}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break Xa}}Ab(f)}n=J[a+12>>2]==((J[c+4>>2]-J[c>>2]|0)/12|0)}fa=A+672|0;return n}Ia();C()}Va();C()}function pe(a,b,c,d){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,x=0,y=0,z=0;if(!a){return 1}e=J[c+20>>2];g=J[c+12>>2];i=J[c+16>>2];a:{if((e|0)>=(g|0)&i>>>0>=M[c+8>>2]|(e|0)>(g|0)){break a}g=K[i+J[c>>2]|0];i=i+1|0;e=i?e:e+1|0;J[c+16>>2]=i;J[c+20>>2]=e;b:{switch(g|0){case 0:e=a;f=b;i=d;a=0;d=0;m=fa+-64|0;fa=m;J[m+56>>2]=0;J[m+48>>2]=0;J[m+52>>2]=0;J[m+40>>2]=0;J[m+44>>2]=0;J[m+32>>2]=0;J[m+36>>2]=0;J[m+24>>2]=0;J[m+28>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;J[m+8>>2]=0;J[m+12>>2]=0;c:{if(!qe(m+8|0,c)){break c}if(!re(m+8|0,c)|(J[m+20>>2]?0:e)){break c}rg(c,0,0);if(e){s=f<<2;t=J[m+36>>2];w=J[m+48>>2];x=J[m+24>>2];l=J[m+56>>2];j=J[m+52>>2];while(1){d:{if(l>>>0>16383){break d}while(1){if((j|0)<=0){break d}j=j-1|0;J[m+52>>2]=j;l=K[j+w|0]|l<<8;J[m+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;r=J[(a<<2)+x>>2];b=(r<<3)+t|0;l=(P(J[b>>2],l>>>12|0)+a|0)-J[b+4>>2]|0;J[m+56>>2]=l;if((f|0)>0){a=0;if(!K[c+36|0]|r>>>0>32){break c}g=d+f|0;e:{if(!r){Xi(i+(d<<2)|0,0,s);break e}y=r&-2;z=r&1;b=J[c+32>>2];h=J[c+28>>2];n=J[c+24>>2];while(1){k=0;a=b;o=0;q=0;if((r|0)!=1){while(1){p=n+(a>>>3|0)|0;f:{if(p>>>0>=h>>>0){p=0;break f}p=K[p|0];b=a+1|0;J[c+32>>2]=b;p=p>>>(a&7)&1;a=b}p=p<<k|o;o=0;u=n+(a>>>3|0)|0;if(u>>>0<h>>>0){o=K[u|0];b=a+1|0;J[c+32>>2]=b;o=o>>>(a&7)&1;a=b}u=k|1;k=k+2|0;o=p|o<<u;q=q+2|0;if((y|0)!=(q|0)){continue}break}}q=i+(d<<2)|0;if(z){p=n+(a>>>3|0)|0;if(p>>>0<h>>>0){p=K[p|0];b=a+1|0;J[c+32>>2]=b;a=p>>>(a&7)&1}else{a=0}o=a<<k|o}J[q>>2]=o;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=g}v=f+v|0;if(e>>>0>v>>>0){continue}break}}H[c+36|0]=0;b=J[c+20>>2];e=0;d=J[c+32>>2]+7|0;e=d>>>0<7?1:e;d=(e&7)<<29|d>>>3;a=d+J[c+16>>2]|0;e=(e>>>3|0)+b|0;J[c+16>>2]=a;J[c+20>>2]=a>>>0<d>>>0?e+1|0:e;a=1}b=J[m+36>>2];if(b){J[m+40>>2]=b;xj(b)}b=J[m+24>>2];if(b){J[m+28>>2]=b;xj(b)}b=J[m+8>>2];if(b){J[m+12>>2]=b;xj(b)}fa=m- -64|0;return a;case 1:break b;default:break a}}b=0;e=J[c+20>>2];g=J[c+12>>2];i=J[c+16>>2];g:{if((e|0)>=(g|0)&i>>>0>=M[c+8>>2]|(e|0)>(g|0)){break g}g=K[i+J[c>>2]|0];i=i+1|0;e=i?e:e+1|0;J[c+16>>2]=i;J[c+20>>2]=e;h:{switch(g-1|0){case 8:g=a;r=d;i=fa+-64|0;fa=i;J[i+56>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;j=i+8|0;a=L[c+38>>1];i:{j:{if(!a){break j}k:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0<f>>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break j}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break k}if(!te(1,j+12|0,c)){break j}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(d>>>0<h>>>6>>>0&(a|0)<=0|(a|0)<0){break j}b=J[j>>2];a=J[j+4>>2]-b>>2;l:{if(a>>>0<h>>>0){La(j,h-a|0);h=J[j+12>>2];break l}if(a>>>0<=h>>>0){break l}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break i}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];m=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=m>>>0|(e|0)>(n|0)){break i}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;m:{n:{o:{p:{t=p&3;switch(t|0){case 0:break n;case 3:break p;default:break o}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break i}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break m}while(1){if((f|0)==(m|0)&(e|0)==(n|0)){break j}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0<h>>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;q:{if(b>>>0<=32767){La(a,8192-(b>>>2|0)|0);break q}if((b|0)==32768){break q}J[j+20>>2]=d+32768}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;r:{if(f>>>0<h>>>0){ue(d,h-f|0);b=J[d>>2];break r}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break j}}m=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>8192){break j}s:{if(a>>>0>=d>>>0){break s}l=0;j=e&7;if(j){while(1){J[m+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break s}while(1){e=m+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==8192}d=k}t:{if(!d|(J[i+20>>2]?0:g)){break t}d=0;m=fa-16|0;fa=m;u:{v:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0<f>>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break u}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break v}if(!ve(1,m+8|0,c)){break u}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[m+8>>2];k=J[m+12>>2]}j=b-f|0;b=h-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0<k>>>0){break u}e=e+k|0;b=a+f|0;e=b>>>0<a>>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break u}b=J[c>>2]+f|0;J[i+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];w:{if(e>>>0<=63){J[i+52>>2]=c;a=K[f|0]&63;break w}x:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break u}a=a-2|0;J[i+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break w;case 1:if(a>>>0<3){break u}a=a-3|0;J[i+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break w;default:break x}}a=a-4|0;J[i+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[i+56>>2]=a+32768;d=a>>>0<8355840}fa=m+16|0;if(!d){break t}if(!g){o=1;break t}b=J[i+52>>2];a=J[i+56>>2];c=J[i+36>>2];d=J[i+48>>2];f=J[i+24>>2];while(1){y:{if(a>>>0>32767){break y}while(1){if((b|0)<=0){break y}b=b-1|0;J[i+52>>2]=b;a=K[b+d|0]|a<<8;J[i+56>>2]=a;if(a>>>0<32768){continue}break}}e=a&8191;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>13|0)+e|0)-J[k+4>>2]|0;J[i+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((g|0)!=(q|0)){continue}break}}a=J[i+36>>2];if(a){J[i+40>>2]=a;xj(a)}a=J[i+24>>2];if(a){J[i+28>>2]=a;xj(a)}a=J[i+8>>2];if(a){J[i+12>>2]=a;xj(a)}fa=i- -64|0;b=o;break g;case 9:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];z:{A:{if(!a){break A}B:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0<f>>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break A}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break B}if(!te(1,j+12|0,c)){break A}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(d>>>0<h>>>6>>>0&(a|0)<=0|(a|0)<0){break A}b=J[j>>2];a=J[j+4>>2]-b>>2;C:{if(a>>>0<h>>>0){La(j,h-a|0);h=J[j+12>>2];break C}if(a>>>0<=h>>>0){break C}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break z}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break z}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;D:{E:{F:{G:{t=p&3;switch(t|0){case 0:break E;case 3:break G;default:break F}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break z}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break D}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break A}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0<h>>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;H:{if(b>>>0<=131071){La(a,32768-(b>>>2|0)|0);break H}if((b|0)==131072){break H}J[j+20>>2]=d+131072}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;I:{if(f>>>0<h>>>0){ue(d,h-f|0);b=J[d>>2];break I}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break A}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>32768){break A}J:{if(a>>>0>=d>>>0){break J}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break J}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==32768}d=k}K:{if(!d|(J[g+20>>2]?0:m)){break K}d=0;j=fa-16|0;fa=j;L:{M:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0<f>>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break L}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break M}if(!ve(1,j+8|0,c)){break L}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[j+8>>2];k=J[j+12>>2]}i=b-f|0;b=h-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0<k>>>0){break L}i=e+k|0;b=a+f|0;i=b>>>0<a>>>0?i+1|0:i;J[c+16>>2]=b;J[c+20>>2]=i;if((a|0)<=0){break L}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];N:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break N}O:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break L}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break N;case 1:if(a>>>0<3){break L}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break N;default:break O}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+131072;d=a>>>0<33423360}fa=j+16|0;if(!d){break K}if(!m){o=1;break K}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){P:{if(a>>>0>131071){break P}while(1){if((b|0)<=0){break P}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<131072){continue}break}}e=a&32767;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>15|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 10:m=a;j=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;n=g+8|0;a=L[c+38>>1];Q:{R:{if(!a){break R}S:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0<f>>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break R}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[n+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break S}if(!te(1,n+12|0,c)){break R}f=J[c+16>>2];e=J[c+20>>2];h=J[n+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(d>>>0<h>>>6>>>0&(a|0)<=0|(a|0)<0){break R}b=J[n>>2];a=J[n+4>>2]-b>>2;T:{if(a>>>0<h>>>0){La(n,h-a|0);h=J[n+12>>2];break T}if(a>>>0<=h>>>0){break T}J[n+4>>2]=b+(h<<2)}d=1;if(!h){break Q}f=J[c+16>>2];e=J[c+20>>2];t=J[n>>2];r=J[c+8>>2];p=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(p|0)&f>>>0>=r>>>0|(e|0)>(p|0)){break Q}d=J[c>>2];s=K[d+f|0];f=f+1|0;i=f?e:e+1|0;J[c+16>>2]=f;e=i;J[c+20>>2]=e;a=s>>>2|0;l=0;U:{V:{W:{X:{i=s&3;switch(i|0){case 0:break V;case 3:break X;default:break W}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break Q}Xi(t+(b<<2)|0,0,(s&252)+4|0);b=a;break U}while(1){if((f|0)==(r|0)&(e|0)==(p|0)){break R}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((i|0)!=(l|0)){continue}break}}J[t+(b<<2)>>2]=a}b=b+1|0;h=J[n+12>>2];if(b>>>0<h>>>0){continue}break}a=n+16|0;r=J[n>>2];d=J[n+16>>2];b=J[n+20>>2]-d|0;Y:{if(b>>>0<=262143){La(a,65536-(b>>>2|0)|0);break Y}if((b|0)==262144){break Y}J[n+20>>2]=d+262144}d=n+28|0;b=J[d>>2];f=J[n+32>>2]-b>>3;Z:{if(f>>>0<h>>>0){ue(d,h-f|0);b=J[d>>2];break Z}if(f>>>0>h>>>0){J[n+32>>2]=(h<<3)+b}if(!h){break R}}i=J[a>>2];f=0;d=0;while(1){e=r+(f<<2)|0;l=J[e>>2];n=(f<<3)+b|0;a=d;J[n+4>>2]=a;J[n>>2]=l;e=J[e>>2];d=e+a|0;if(d>>>0>65536){break R}_:{if(a>>>0>=d>>>0){break _}l=0;n=e&7;if(n){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((n|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break _}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==65536}d=k}$:{if(!d|(J[g+20>>2]?0:m)){break $}d=0;i=fa-16|0;fa=i;aa:{ba:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0<f>>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break aa}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break ba}if(!ve(1,i+8|0,c)){break aa}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}r=b-f|0;b=h-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>r>>>0|b>>>0<k>>>0){break aa}e=e+k|0;b=a+f|0;e=b>>>0<a>>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break aa}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];ca:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break ca}da:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break aa}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break ca;case 1:if(a>>>0<3){break aa}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break ca;default:break da}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+262144;d=a>>>0<66846720}fa=i+16|0;if(!d){break $}if(!m){o=1;break $}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){ea:{if(a>>>0>262143){break ea}while(1){if((b|0)<=0){break ea}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<262144){continue}break}}e=a&65535;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>16|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[j+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 11:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];fa:{ga:{if(!a){break ga}ha:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0<f>>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break ga}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;i=J[c+20>>2];f=J[c+16>>2]+4|0;i=f>>>0<4?i+1|0:i;J[c+16>>2]=f;e=i;J[c+20>>2]=e;break ha}if(!te(1,j+12|0,c)){break ga}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(d>>>0<h>>>6>>>0&(a|0)<=0|(a|0)<0){break ga}b=J[j>>2];a=J[j+4>>2]-b>>2;ia:{if(a>>>0<h>>>0){La(j,h-a|0);h=J[j+12>>2];break ia}if(a>>>0<=h>>>0){break ia}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break fa}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break fa}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;ja:{ka:{la:{ma:{t=p&3;switch(t|0){case 0:break ka;case 3:break ma;default:break la}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break fa}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ja}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break ga}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0<h>>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;na:{if(b>>>0<=1048575){La(a,262144-(b>>>2|0)|0);break na}if((b|0)==1048576){break na}J[j+20>>2]=d- -1048576}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;oa:{if(f>>>0<h>>>0){ue(d,h-f|0);b=J[d>>2];break oa}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break ga}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>262144){break ga}pa:{if(a>>>0>=d>>>0){break pa}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break pa}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==262144}d=k}qa:{if(!d|(J[g+20>>2]?0:m)){break qa}d=0;j=fa-16|0;fa=j;ra:{sa:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;i=J[c+20>>2];k=J[c+16>>2];f=k+8|0;i=f>>>0<8?i+1|0:i;e=i;if(b>>>0<f>>>0&(e|0)>=(a|0)|(a|0)<(e|0)){break ra}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break sa}if(!ve(1,j+8|0,c)){break ra}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[j+8>>2];k=J[j+12>>2]}i=b-f|0;b=h-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0<k>>>0){break ra}e=e+k|0;b=a+f|0;e=b>>>0<a>>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break ra}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];ta:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break ta}ua:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break ra}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break ta;case 1:if(a>>>0<3){break ra}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break ta;default:break ua}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a- -1048576;d=a>>>0<267386880}fa=j+16|0;if(!d){break qa}if(!m){o=1;break qa}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){va:{if(a>>>0>1048575){break va}while(1){if((b|0)<=0){break va}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<1048576){continue}break}}e=a&262143;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>18|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 12:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];wa:{xa:{if(!a){break xa}ya:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];i=J[c+20>>2];a=J[c+16>>2];f=a+4|0;i=f>>>0<4?i+1|0:i;if(d>>>0<f>>>0&(b|0)<=(i|0)|(b|0)<(i|0)){break xa}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break ya}if(!te(1,j+12|0,c)){break xa}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0<f>>>0)+e|0)|0;if(d>>>0<h>>>6>>>0&(a|0)<=0|(a|0)<0){break xa}b=J[j>>2];a=J[j+4>>2]-b>>2;za:{if(a>>>0<h>>>0){La(j,h-a|0);h=J[j+12>>2];break za}if(a>>>0<=h>>>0){break za}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break wa}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break wa}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;Aa:{Ba:{Ca:{Da:{t=p&3;switch(t|0){case 0:break Ba;case 3:break Da;default:break Ca}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break wa}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break Aa}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break xa}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0<h>>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;Ea:{if(b>>>0<=2097151){La(a,524288-(b>>>2|0)|0);break Ea}if((b|0)==2097152){break Ea}J[j+20>>2]=d+2097152}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;Fa:{if(f>>>0<h>>>0){ue(d,h-f|0);b=J[d>>2];break Fa}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break xa}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>524288){break xa}Ga:{if(a>>>0>=d>>>0){break Ga}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break Ga}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==524288}d=k}Ha:{if(!d|(J[g+20>>2]?0:m)){break Ha}d=0;i=fa-16|0;fa=i;Ia:{Ja:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0<f>>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break Ia}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break Ja}if(!ve(1,i+8|0,c)){break Ia}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}j=b-f|0;b=h-((b>>>0<f>>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0<k>>>0){break Ia}e=e+k|0;b=a+f|0;e=b>>>0<a>>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break Ia}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];Ka:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break Ka}La:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break Ia}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break Ka;case 1:if(a>>>0<3){break Ia}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break Ka;default:break La}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+2097152;d=a>>>0<534773760}fa=i+16|0;if(!d){break Ha}if(!m){o=1;break Ha}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){Ma:{if(a>>>0>2097151){break Ma}while(1){if((b|0)<=0){break Ma}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<2097152){continue}break}}e=a&524287;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>19|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 17:b=se(a,c,d);break g;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:b=fa+-64|0;fa=b;J[b+56>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;Na:{if(!qe(b+8|0,c)|(J[b+20>>2]?0:a)){break Na}if(!re(b+8|0,c)){break Na}if(!a){f=1;break Na}e=J[b+52>>2];c=J[b+56>>2];k=J[b+36>>2];i=J[b+48>>2];g=J[b+24>>2];while(1){Oa:{if(c>>>0>16383){break Oa}while(1){if((e|0)<=0){break Oa}e=e-1|0;J[b+52>>2]=e;c=K[e+i|0]|c<<8;J[b+56>>2]=c;if(c>>>0<16384){continue}break}}f=c&4095;m=J[g+(f<<2)>>2];r=k+(m<<3)|0;c=(P(J[r>>2],c>>>12|0)+f|0)-J[r+4>>2]|0;J[b+56>>2]=c;J[(o<<2)+d>>2]=m;f=1;o=o+1|0;if((o|0)!=(a|0)){continue}break}}a=J[b+36>>2];if(a){J[b+40>>2]=a;xj(a)}a=J[b+24>>2];if(a){J[b+28>>2]=a;xj(a)}a=J[b+8>>2];if(a){J[b+12>>2]=a;xj(a)}fa=b- -64|0;b=f;break g;case 13:case 14:case 15:case 16:break h;default:break g}}b=se(a,c,d)}f=b}return f}function mf(a){a=a|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,N=0,O=0,Q=0,R=0;s=fa+-64|0;fa=s;J[a+132>>2]=0;if(J[a+148>>2]){c=J[a+144>>2];if(c){while(1){d=J[c>>2];xj(c);c=d;if(c){continue}break}}c=0;J[a+144>>2]=0;d=J[a+140>>2];a:{if(!d){break a}if(d>>>0>=4){g=d&-4;while(1){e=c<<2;J[e+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(e|4)>>2]=0;J[J[a+136>>2]+(e|8)>>2]=0;J[J[a+136>>2]+(e|12)>>2]=0;c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}b=d&3;if(!b){break a}while(1){J[J[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;u=u+1|0;if((b|0)!=(u|0)){continue}break}}J[a+148>>2]=0}b:{c:{d:{c=J[a+4>>2];u=K[c+36|0];b=u<<8|K[c+37|0];if(b>>>0<=513){i=J[c+32>>2];e:{if(b>>>0<=511){d=J[i+20>>2];e=J[i+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;g=b;f=M[i+8>>2]<b>>>0;b=J[i+12>>2];if(f&(b|0)<=(d|0)|(b|0)<(d|0)){break d}b=e+J[i>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[i+16>>2]=g;J[i+20>>2]=d;break e}if(!Re(1,s,i)){break d}c=J[a+4>>2];u=K[c+36|0];b=J[s>>2]}J[a+132>>2]=b}g=J[c+32>>2];f:{g:{h:{if((u&255)>>>0<=1){u=0;d=J[g+20>>2];e=J[g+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;i=J[g+12>>2];if(M[g+8>>2]<b>>>0&(i|0)<=(d|0)|(d|0)>(i|0)){break c}e=e+J[g>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[s+60>>2]=e;J[g+16>>2]=b;J[g+20>>2]=d;J[a+156>>2]=e;n=a+156|0;break h}u=0;if(!Re(1,s+60|0,g)){break c}c=J[a+4>>2];b=K[c+36|0];J[a+156>>2]=J[s+60>>2];n=a+156|0;if(b>>>0>1){break g}}e=J[c+32>>2];i=J[e+8>>2];g=J[e+12>>2];d=J[e+20>>2];b=J[e+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;if(c>>>0>i>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break c}b=b+J[e>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[s+56>>2]=b;J[e+16>>2]=c;J[e+20>>2]=d;break f}if(!Re(1,s+56|0,J[c+32>>2])){break c}b=J[s+56>>2]}if(b>>>0>1431655765){break c}c=J[n>>2];d=P(b,3);if(c>>>0>d>>>0){break c}e=d>>>1|0;d=c>>31;g=nk(c-1|0,d-!c|0,c,d);c=ja;d=c>>>1|0;c=(c&1)<<31|g>>>1;if(!d&c>>>0<e>>>0){break c}f=J[a+4>>2];g=J[f+32>>2];c=g;e=J[c+8>>2];i=J[c+16>>2];j=J[c+12>>2];d=J[c+20>>2];c=d;if((j|0)<=(c|0)&e>>>0<=i>>>0|(c|0)>(j|0)){break c}n=J[g>>2];o=K[n+i|0];h=i+1|0;c=h?c:c+1|0;J[g+16>>2]=h;J[g+20>>2]=c;i:{if(K[f+36|0]<=1){f=e;c=j;e=i+5|0;d=e>>>0<5?d+1|0:d;if((c|0)<=(d|0)&e>>>0>f>>>0|(c|0)<(d|0)){break c}c=h+n|0;n=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[s+52>>2]=n;J[g+16>>2]=e;J[g+20>>2]=d;break i}if(!Re(1,s+52|0,g)){break c}n=J[s+52>>2]}if(b>>>0<n>>>0|((n>>>0)/3|0)+n>>>0<b>>>0){break c}c=J[a+4>>2];i=J[c+32>>2];j:{if(K[c+36|0]<=1){c=J[i+20>>2];e=J[i+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;g=d;f=M[i+8>>2]<d>>>0;d=J[i+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break c}d=e+J[i>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[s+48>>2]=d;J[i+16>>2]=g;J[i+20>>2]=c;break j}if(!Re(1,s+48|0,i)){break c}d=J[s+48>>2]}if(d>>>0>n>>>0){break c}J[a+28>>2]=J[a+24>>2];e=ti(Cj(88));c=J[a+8>>2];J[a+8>>2]=e;if(c){Se(c);if(!J[a+8>>2]){break c}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,b);J[a+176>>2]=J[a+172>>2];Te(a+172|0,b);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];A=a+216|0;Ue(A);Ve(A,o);if(!vi(J[a+8>>2],b,J[a+156>>2]+d|0)){break c}c=J[a+156>>2];H[s|0]=1;Oe(a+120|0,c+d|0,s);c=J[a+4>>2];b=L[c+36>>1];b=(b<<8|b>>>8)&65535;k:{if(b>>>0<=513){i=J[c+32>>2];l:{if(b>>>0<=511){c=J[i+20>>2];e=J[i+16>>2];b=e+4|0;c=b>>>0<4?c+1|0:c;g=b;f=M[i+8>>2]<b>>>0;b=J[i+12>>2];if(f&(b|0)<=(c|0)|(c|0)>(b|0)){break c}b=e+J[i>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[i+16>>2]=g;J[i+20>>2]=c;break l}if(!Re(1,s+44|0,i)){break c}b=J[s+44>>2]}if(!b){break c}c=J[J[a+4>>2]+32>>2];e=J[c+8>>2];g=J[c+16>>2];i=e-g|0;c=J[c+12>>2]-(J[c+20>>2]+(e>>>0<g>>>0)|0)|0;if((c|0)<=0&b>>>0>i>>>0|(c|0)<0){break c}c=qg(s);e=J[J[a+4>>2]+32>>2];g=J[e+16>>2];i=(g+J[e>>2]|0)+b|0;g=J[e+8>>2]-g|0;I[c+38>>1]=L[e+38>>1];J[c>>2]=i;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=g-b;J[c+12>>2]=0;B=We(a,c);if((B|0)==-1){break c}G=B>>31;break k}B=-1;G=-1;if((We(a,J[c+32>>2])|0)==-1){break c}}e=a+232|0;kf(e,a);J[a+372>>2]=o;J[a+384>>2]=J[a+156>>2]+d;N=qg(s);g=N;b=0;j=fa-16|0;fa=j;m:{n:{c=J[e+144>>2];c=L[(ka[J[J[c>>2]+32>>2]](c)|0)+36>>1];if(((c<<8|c>>>8)&65535)>>>0<=513){c=J[e+4>>2];J[e+40>>2]=J[e>>2];J[e+44>>2]=c;c=J[e+36>>2];J[e+72>>2]=J[e+32>>2];J[e+76>>2]=c;d=J[e+28>>2];c=e- -64|0;J[c>>2]=J[e+24>>2];J[c+4>>2]=d;c=J[e+20>>2];J[e+56>>2]=J[e+16>>2];J[e+60>>2]=c;c=J[e+12>>2];J[e+48>>2]=J[e+8>>2];J[e+52>>2]=c;if(!rg(e+40|0,1,j+8|0)){break n}c=J[e+44>>2];J[e>>2]=J[e+40>>2];J[e+4>>2]=c;c=J[e+76>>2];J[e+32>>2]=J[e+72>>2];J[e+36>>2]=c;c=J[e+68>>2];J[e+24>>2]=J[e+64>>2];J[e+28>>2]=c;c=J[e+60>>2];h=c;d=J[e+56>>2];J[e+16>>2]=d;J[e+20>>2]=c;i=J[e+52>>2];f=i;c=J[e+48>>2];J[e+8>>2]=c;J[e+12>>2]=f;o=c-d|0;k=J[j+12>>2];c=f-((c>>>0<d>>>0)+h|0)|0;i=J[j+8>>2];if((k|0)==(c|0)&o>>>0<i>>>0|c>>>0<k>>>0){break n}c=h+k|0;f=d;d=d+i|0;c=f>>>0>d>>>0?c+1|0:c;J[e+16>>2]=d;J[e+20>>2]=c}o:{if(L[e+38>>1]<=513){c=J[e+4>>2];J[e+96>>2]=J[e>>2];J[e+100>>2]=c;c=J[e+36>>2];J[e+128>>2]=J[e+32>>2];J[e+132>>2]=c;c=J[e+28>>2];J[e+120>>2]=J[e+24>>2];J[e+124>>2]=c;c=J[e+20>>2];J[e+112>>2]=J[e+16>>2];J[e+116>>2]=c;c=J[e+12>>2];J[e+104>>2]=J[e+8>>2];J[e+108>>2]=c;if(!rg(e+96|0,1,j+8|0)){break n}c=J[e+100>>2];J[e>>2]=J[e+96>>2];J[e+4>>2]=c;c=J[e+132>>2];J[e+32>>2]=J[e+128>>2];J[e+36>>2]=c;c=J[e+124>>2];J[e+24>>2]=J[e+120>>2];J[e+28>>2]=c;d=J[e+116>>2];h=d;c=J[e+112>>2];J[e+16>>2]=c;J[e+20>>2]=d;i=J[e+108>>2];f=i;d=J[e+104>>2];J[e+8>>2]=d;J[e+12>>2]=f;o=d-c|0;k=J[j+12>>2];d=f-((c>>>0>d>>>0)+h|0)|0;i=J[j+8>>2];if((k|0)==(d|0)&o>>>0<i>>>0|d>>>0<k>>>0){break n}d=h+k|0;f=c;c=c+i|0;d=f>>>0>c>>>0?d+1|0:d;J[e+16>>2]=c;J[e+20>>2]=d;break o}if(!he(e+80|0,e)){break m}}if(!cf(e)){break m}c=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=c;c=J[e+36>>2];J[g+32>>2]=J[e+32>>2];J[g+36>>2]=c;c=J[e+28>>2];J[g+24>>2]=J[e+24>>2];J[g+28>>2]=c;c=J[e+20>>2];J[g+16>>2]=J[e+16>>2];J[g+20>>2]=c;c=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=c;c=J[e+144>>2];c=L[(ka[J[J[c>>2]+32>>2]](c)|0)+36>>1];p:{if(((c<<8|c>>>8)&65535)>>>0<=513){c=J[e+144>>2];q:{if(K[(ka[J[J[c>>2]+32>>2]](c)|0)+36|0]<=1){c=J[g+20>>2];i=J[g+16>>2];d=i+4|0;c=d>>>0<4?c+1|0:c;h=d;f=M[g+8>>2]<d>>>0;d=J[g+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break m}d=i+J[g>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[g+16>>2]=h;J[g+20>>2]=c;break q}if(!Re(1,j+8|0,g)){break m}d=J[j+8>>2]}c=J[e+152>>2];if(d>>>0>=c>>>0){break m}d=J[g+20>>2];h=J[g+12>>2];i=J[g+16>>2];if((d|0)>=(h|0)&i>>>0>=M[g+8>>2]|(d|0)>(h|0)){break m}h=K[i+J[g>>2]|0];i=i+1|0;d=i?d:d+1|0;J[g+16>>2]=i;J[g+20>>2]=d;if(h){break m}J[e+176>>2]=2;J[e+180>>2]=7;break p}J[e+176>>2]=2;J[e+180>>2]=7;c=J[e+152>>2]}if((c|0)<0){break m}J[j+8>>2]=0;b=2;h=J[e+156>>2];i=J[e+160>>2]-h>>2;r:{if(i>>>0<c>>>0){fb(e+156|0,c-i|0,j+8|0);b=J[e+176>>2];d=J[e+180>>2];break r}d=7;if(c>>>0>=i>>>0){break r}J[e+160>>2]=h+(c<<2)}i=e+184|0;b=(d-b|0)+1|0;c=J[e+188>>2];h=J[e+184>>2];d=(c-h|0)/12|0;s:{if(b>>>0>d>>>0){o=0;d=b-d|0;f=J[i+8>>2];c=J[i+4>>2];t:{if(d>>>0<=(f-c|0)/12>>>0){if(d){b=c;c=P(d,12)-12|0;c=(c-((c>>>0)%12|0)|0)+12|0;c=Xi(b,0,c)+c|0}J[i+4>>2]=c;break t}u:{v:{w:{h=J[i>>2];k=(c-h|0)/12|0;b=k+d|0;if(b>>>0<357913942){f=(f-h|0)/12|0;l=f<<1;f=f>>>0>=178956970?357913941:b>>>0<l>>>0?l:b;if(f){if(f>>>0>=357913942){break w}o=Cj(P(f,12))}b=P(k,12)+o|0;d=P(d,12)-12|0;k=(d-((d>>>0)%12|0)|0)+12|0;d=Xi(b,0,k);k=d+k|0;f=P(f,12)+o|0;if((c|0)==(h|0)){break v}while(1){b=b-12|0;c=c-12|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;if((c|0)!=(h|0)){continue}break}J[i+8>>2]=f;d=J[i+4>>2];J[i+4>>2]=k;c=J[i>>2];J[i>>2]=b;if((c|0)==(d|0)){break u}while(1){b=d-12|0;h=J[b>>2];if(h){J[d-8>>2]=h;xj(h)}d=b;if((b|0)!=(c|0)){continue}break}break u}break b}Va();C()}J[i+8>>2]=f;J[i+4>>2]=k;J[i>>2]=d}if(c){xj(c)}}d=J[e+188>>2];break s}if(b>>>0>=d>>>0){d=c;break s}d=h+P(b,12)|0;if((d|0)!=(c|0)){while(1){b=c-12|0;h=J[b>>2];if(h){J[c-8>>2]=h;xj(h)}c=b;if((d|0)!=(b|0)){continue}break}}J[e+188>>2]=d}f=e+196|0;b=J[e+184>>2];c=(d-b|0)/12|0;o=J[e+196>>2];h=J[e+200>>2]-o>>2;x:{if(c>>>0>h>>>0){La(f,c-h|0);b=J[e+184>>2];d=J[e+188>>2];break x}if(c>>>0>=h>>>0){break x}J[e+200>>2]=o+(c<<2)}if((b|0)==(d|0)){b=1;break m}c=0;while(1){if(!Re(1,j+8|0,g)){break n}b=J[e+148>>2];d=(J[b+4>>2]-J[b>>2]>>2>>>0)/3|0;b=J[j+8>>2];if(d>>>0<b>>>0){break n}if(b){k=P(c,12);h=k+J[i>>2]|0;d=J[h>>2];o=J[h+4>>2]-d>>2;y:{if(o>>>0<b>>>0){La(h,b-o|0);d=J[k+J[i>>2]>>2];break y}if(b>>>0>=o>>>0){break y}J[h+4>>2]=(b<<2)+d}pe(b,1,g,d);J[J[f>>2]+(c<<2)>>2]=b}b=1;c=c+1|0;if(c>>>0<(J[e+188>>2]-J[e+184>>2]|0)/12>>>0){continue}break}break m}b=0}fa=j+16|0;z:{if(!b){break z}d=0;c=0;g=0;i=0;o=0;l=fa-96|0;fa=l;J[l+72>>2]=0;J[l+64>>2]=0;J[l+68>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;J[l+56>>2]=1065353216;J[l+32>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;j=a;F=J[a+124>>2];A:{B:{C:{D:{E:{if((n|0)<=0){break E}r=j+232|0;O=J[j+216>>2]!=J[j+220>>2];D=1;while(1){h=i;i=i+1|0;a=J[r+172>>2];F:{G:{if((a|0)!=-1){b=J[r+196>>2]+(a<<2)|0;f=J[b>>2];a=f-1|0;J[b>>2]=a;b=9;if((f|0)<=0){break F}a=J[J[J[r+184>>2]+P(J[r+172>>2],12)>>2]+(a<<2)>>2];if(a>>>0>4){break F}b=J[(a<<2)+12192>>2];break G}b=7;a=J[r+144>>2];a=L[(ka[J[J[a>>2]+32>>2]](a)|0)+36>>1];if(((a<<8|a>>>8)&65535)>>>0>513|!K[r+76|0]){break G}b=0;m=J[r- -64>>2];k=J[r+72>>2];a=m+(k>>>3|0)|0;p=J[r+68>>2];if(a>>>0>=p>>>0){break G}f=K[a|0];a=k+1|0;J[r+72>>2]=a;f=f>>>(k&7)&1;if(!f){break G}q=a>>>3|0;b=m+q|0;H:{if(b>>>0>=p>>>0){b=a;a=0;break H}t=K[b|0];b=k+2|0;J[r+72>>2]=b;q=b>>>3|0;a=t>>>(a&7)&1}k=m+q|0;if(k>>>0<p>>>0){k=K[k|0];J[r+72>>2]=b+1;b=k>>>(b&7)<<1&2}else{b=0}b=(a|b)<<1|f}J[r+168>>2]=b}a=b;I:{J:{if(!a){if((c|0)==(g|0)){b=-1;break D}d=-1;m=J[j+8>>2];t=J[m+24>>2];D=c-4|0;f=J[D>>2];a=-1;K:{if((f|0)==-1){break K}k=f+1|0;k=(k>>>0)%3|0?k:f-2|0;a=-1;if((k|0)==-1){break K}a=J[J[m>>2]+(k<<2)>>2]}b=J[t+(a<<2)>>2];if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}if((d|0)==(f|0)){b=-1;break D}if((f|0)!=-1){b=-1;if(J[J[m+12>>2]+(f<<2)>>2]!=-1){break D}}k=J[m+12>>2];if((d|0)!=-1){b=-1;if(J[k+(d<<2)>>2]!=-1){break D}}p=P(h,3);b=p+1|0;J[k+(f<<2)>>2]=b;v=b<<2;J[v+k>>2]=f;q=p+2|0;J[k+(d<<2)>>2]=q;x=q<<2;J[x+k>>2]=d;k=-1;h=-1;L:{if((f|0)==-1){break L}M:{if((f>>>0)%3|0){b=f-1|0;break M}b=f+2|0;h=-1;if((b|0)==-1){break L}}h=J[J[m>>2]+(b<<2)>>2]}N:{if((d|0)==-1){break N}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if((b|0)==-1){break N}k=J[J[m>>2]+(b<<2)>>2]}b=-1;if((a|0)==(h|0)|(a|0)==(k|0)){break D}b=J[m>>2];J[b+(p<<2)>>2]=a;J[b+v>>2]=k;J[b+x>>2]=h;if((h|0)!=-1){J[t+(h<<2)>>2]=q}b=J[j+120>>2]+(a>>>3&536870908)|0;d=J[b>>2];Q=b,R=rk(a)&d,J[Q>>2]=R;J[D>>2]=p;k=J[c-4>>2];break J}b=-1;O:{P:{Q:{R:{S:{T:{U:{V:{W:{switch(a-1|0){case 2:case 4:if((c|0)==(g|0)){break D}t=c-4|0;d=J[t>>2];f=J[j+8>>2];m=J[f+12>>2];if((d|0)!=-1&J[m+(d<<2)>>2]!=-1){break D}k=P(h,3);p=(a|0)==5;q=k+(p?2:1)|0;v=q<<2;J[v+m>>2]=d;J[m+(d<<2)>>2]=q;df(f+24|0,11472);a=J[j+8>>2];m=J[a+24>>2];if(J[a+28>>2]-m>>2>(F|0)){break D}a=J[a>>2];x=a+v|0;b=J[f+28>>2];f=J[f+24>>2];v=(b-f>>2)-1|0;J[x>>2]=v;if((b|0)!=(f|0)){J[m+(v<<2)>>2]=q}b=p?k:k+2|0;q=a+(k+p<<2)|0;X:{if((d|0)==-1){J[a+(b<<2)>>2]=-1;b=-1;break X}Y:{Z:{_:{if((d>>>0)%3|0){f=d-1|0;break _}f=d+2|0;if((f|0)==-1){break Z}}f=J[a+(f<<2)>>2];J[a+(b<<2)>>2]=f;if((f|0)==-1){break Y}J[m+(f<<2)>>2]=b;break Y}J[a+(b<<2)>>2]=-1}f=d+1|0;d=(f>>>0)%3|0?f:d-2|0;b=-1;if((d|0)==-1){break X}b=J[a+(d<<2)>>2]}J[q>>2]=b;J[t>>2]=k;break V;case 0:if((c|0)==(d|0)){break D}a=c-4|0;m=J[a>>2];J[l+68>>2]=a;p=J[l+44>>2];$:{if(!p){c=a;break $}f=J[l+40>>2];q=qk(p)>>>0>1;b=h&p+2147483647;aa:{if(!q){break aa}b=h;if(b>>>0<p>>>0){break aa}b=(h>>>0)%(p>>>0)|0}k=b;b=J[f+(k<<2)>>2];if(!b){c=a;break $}b=J[b>>2];if(!b){c=a;break $}ba:{if(!q){f=p-1|0;while(1){p=J[b+4>>2];ca:{if((p|0)!=(h|0)){if((k|0)==(f&p)){break ca}c=a;break $}if((h|0)==J[b+8>>2]){break ba}}b=J[b>>2];if(b){continue}break}c=a;break $}while(1){f=J[b+4>>2];da:{if((f|0)!=(h|0)){if(f>>>0>=p>>>0){f=(f>>>0)%(p>>>0)|0}if((f|0)==(k|0)){break da}c=a;break $}if((h|0)==J[b+8>>2]){break ba}}b=J[b>>2];if(b){continue}break}c=a;break $}if((a|0)!=(w|0)){J[a>>2]=J[b+12>>2];J[l+68>>2]=c;break $}a=w-d|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break b}f=a>>>1|0;f=a>>>0>=2147483644?1073741823:c>>>0<f>>>0?f:c;if(f){if(f>>>0>=1073741824){break B}a=Cj(f<<2)}else{a=0}g=a+(g<<2)|0;J[g>>2]=J[b+12>>2];c=g+4|0;if((d|0)!=(w|0)){while(1){g=g-4|0;w=w-4|0;J[g>>2]=J[w>>2];if((d|0)!=(w|0)){continue}break}}w=a+(f<<2)|0;J[l+72>>2]=w;J[l+68>>2]=c;J[l+64>>2]=g;if(d){xj(d)}}if((c|0)==(g|0)){break P}v=c-4|0;a=J[v>>2];if((a|0)==(m|0)){break P}b=(a|0)==-1;p=J[j+8>>2];if(!b&J[J[p+12>>2]+(a<<2)>>2]!=-1){break P}q=J[p+12>>2];if((m|0)!=-1&J[q+(m<<2)>>2]!=-1){break P}k=P(h,3);t=k+2|0;J[q+(a<<2)>>2]=t;h=t<<2;J[h+q>>2]=a;d=k+1|0;J[q+(m<<2)>>2]=d;x=d<<2;J[x+q>>2]=m;if(b){break T}if((a>>>0)%3|0){f=a-1|0;break S}f=a+2|0;if((f|0)!=-1){break S}d=J[p>>2];f=-1;break R;case 6:break W;default:break D}}k=J[j+8>>2];df(k+24|0,11472);f=J[j+8>>2];a=P(h,3);m=J[k+28>>2];p=J[k+24>>2];q=m-p|0;k=q>>2;t=k-1|0;J[J[f>>2]+(a<<2)>>2]=t;df(f+24|0,11472);v=a+1|0;J[J[f>>2]+(v<<2)>>2]=(J[f+28>>2]-J[f+24>>2]>>2)-1;f=J[j+8>>2];df(f+24|0,11472);x=a+2|0;J[J[f>>2]+(x<<2)>>2]=(J[f+28>>2]-J[f+24>>2]>>2)-1;E=J[j+8>>2];f=J[E+24>>2];if(J[E+28>>2]-f>>2>(F|0)){break D}ea:{fa:{if((m|0)!=(p|0)){J[f+(t<<2)>>2]=a;b=0;if((q|0)==-4){break fa}}J[f+(k<<2)>>2]=v;b=k+1|0;if((b|0)==-1){break ea}}J[f+(b<<2)>>2]=x}if((c|0)!=(w|0)){J[c>>2]=a;c=c+4|0;J[l+68>>2]=c;break U}b=c-d|0;k=b>>2;g=k+1|0;if(g>>>0>=1073741824){break b}f=b>>>1|0;b=b>>>0>=2147483644?1073741823:g>>>0<f>>>0?f:g;if(b){if(b>>>0>=1073741824){break B}f=Cj(b<<2)}else{f=0}g=f+(k<<2)|0;J[g>>2]=a;w=f+(b<<2)|0;a=g+4|0;if((c|0)!=(d|0)){while(1){g=g-4|0;c=c-4|0;J[g>>2]=J[c>>2];if((c|0)!=(d|0)){continue}break}}J[l+72>>2]=w;J[l+68>>2]=a;J[l+64>>2]=g;if(d){xj(d)}c=a}d=g}nf(r,J[c-4>>2]);a=J[j+40>>2];if((a|0)==J[j+36>>2]){break I}b=a-12|0;f=J[b+4>>2];h=(h^-1)+n|0;if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}k=K[a-4|0];f=J[b>>2];J[j+40>>2]=b;if((f|0)<0){break P}m=c-4|0;a=J[m>>2];J[l+20>>2]=(f^-1)+n;b=l+20|0;J[l+88>>2]=b;ef(l,l+40|0,b,l+88|0);f=J[l>>2];ga:{if(k&1){b=-1;if((a|0)==-1){break ga}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ga}b=-1;if((a|0)==-1){break ga}b=a-1|0;if((a>>>0)%3|0){break ga}b=a+2|0}J[f+12>>2]=b;b=J[j+40>>2];if((b|0)==J[j+36>>2]){break I}while(1){a=b-12|0;f=J[a+4>>2];if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}f=K[b-4|0];b=J[a>>2];J[j+40>>2]=a;if((b|0)<0){break P}a=J[m>>2];J[l+20>>2]=(b^-1)+n;b=l+20|0;J[l+88>>2]=b;ef(l,l+40|0,b,l+88|0);k=J[l>>2];ha:{if(f&1){b=-1;if((a|0)==-1){break ha}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ha}b=-1;if((a|0)==-1){break ha}b=a-1|0;if((a>>>0)%3|0){break ha}b=a+2|0}J[k+12>>2]=b;b=J[j+40>>2];if((b|0)!=J[j+36>>2]){continue}break}break I}f=-1;d=J[p>>2];J[d+(k<<2)>>2]=-1;b=-1;break Q}d=J[p>>2];f=J[d+(f<<2)>>2]}J[(k<<2)+d>>2]=f;E=a+1|0;a=(E>>>0)%3|0?E:a-2|0;b=-1;if((a|0)==-1){break Q}b=J[(a<<2)+d>>2]}J[d+x>>2]=b;ia:{if((m|0)==-1){J[d+h>>2]=-1;t=-1;a=-1;break ia}ja:{ka:{la:{if((m>>>0)%3|0){b=m-1|0;break la}b=m+2|0;if((b|0)==-1){break ka}}a=J[(b<<2)+d>>2];J[d+h>>2]=a;if((a|0)==-1){break ja}J[J[p+24>>2]+(a<<2)>>2]=t;break ja}J[d+h>>2]=-1}t=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ia}t=J[(b<<2)+d>>2];a=b}b=J[j+388>>2];h=f<<2;m=b+h|0;x=b;b=t<<2;J[m>>2]=J[m>>2]+J[x+b>>2];m=b;b=J[p+24>>2];m=m+b|0;if((f|0)!=-1){J[b+h>>2]=J[m>>2]}b=a;while(1){if((b|0)==-1){break O}J[(b<<2)+d>>2]=f;p=b+1|0;b=(p>>>0)%3|0?p:b-2|0;h=-1;ma:{if((b|0)==-1){break ma}b=J[q+(b<<2)>>2];h=-1;if((b|0)==-1){break ma}h=b+1|0;h=(h>>>0)%3|0?h:b-2|0}b=h;if((a|0)!=(b|0)){continue}break}}b=-1;if(!D){break E}break D}J[m>>2]=-1;na:{if(O){break na}if((y|0)!=(z|0)){J[z>>2]=t;z=z+4|0;J[l+28>>2]=z;break na}a=y-o|0;h=a>>2;b=h+1|0;if(b>>>0>=1073741824){break b}d=a>>>1|0;d=a>>>0>=2147483644?1073741823:b>>>0<d>>>0?d:b;if(d){if(d>>>0>=1073741824){break B}a=Cj(d<<2)}else{a=0}b=a+(h<<2)|0;J[b>>2]=t;z=b+4|0;if((o|0)!=(y|0)){while(1){b=b-4|0;y=y-4|0;J[b>>2]=J[y>>2];if((o|0)!=(y|0)){continue}break}}y=a+(d<<2)|0;J[l+32>>2]=y;J[l+28>>2]=z;J[l+24>>2]=b;if(o){xj(o)}o=b}J[v>>2]=k}nf(r,k);d=g}D=(i|0)<(n|0);if((i|0)!=(n|0)){continue}break}i=n}b=-1;d=J[j+8>>2];if(J[d+28>>2]-J[d+24>>2]>>2>(F|0)){break D}if((c|0)!=(g|0)){w=j+72|0;h=j+60|0;p=j+312|0;while(1){c=c-4|0;o=J[c>>2];J[l+68>>2]=c;oa:{pa:{qa:{if(L[j+270>>1]<=513){if(!K[j+364|0]){break pa}a=J[j+360>>2];b=J[j+352>>2]+(a>>>3|0)|0;if(b>>>0>=M[j+356>>2]){break qa}b=K[b|0];J[j+360>>2]=a+1;if(!(b>>>(a&7)&1)){break qa}break pa}if(je(p)){break pa}}b=J[j+64>>2];a=J[j+68>>2];if((b|0)==a<<5){if((b+1|0)<0){break b}if(b>>>0<=1073741822){a=a<<6;b=(b&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}Jc(h,a);b=J[j+64>>2]}J[j+64>>2]=b+1;a=J[j+60>>2]+(b>>>3&536870908)|0;d=J[a>>2];Q=a,R=rk(b)&d,J[Q>>2]=R;b=J[j+76>>2];if((b|0)!=J[j+80>>2]){J[b>>2]=o;J[j+76>>2]=b+4;break oa}d=J[w>>2];a=b-d|0;k=a>>2;f=k+1|0;if(f>>>0<1073741824){n=a>>>1|0;n=a>>>0>=2147483644?1073741823:f>>>0<n>>>0?n:f;if(n){if(n>>>0>=1073741824){break B}a=Cj(n<<2)}else{a=0}f=a+(k<<2)|0;J[f>>2]=o;o=f+4|0;if((b|0)!=(d|0)){while(1){f=f-4|0;b=b-4|0;J[f>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[j+80>>2]=a+(n<<2);J[j+76>>2]=o;J[j+72>>2]=f;if(!d){break oa}xj(d);break oa}break b}m=J[j+8>>2];r=J[m>>2];if(((J[m+4>>2]-r>>2>>>0)/3|0)<=(i|0)){b=-1;break D}d=-1;q=J[m+24>>2];n=-1;ra:{if((o|0)==-1){break ra}g=o+1|0;g=(g>>>0)%3|0?g:o-2|0;n=-1;if((g|0)==-1){break ra}n=J[r+(g<<2)>>2]}a=J[q+(n<<2)>>2];sa:{if((a|0)==-1){k=1;f=-1;break sa}k=1;f=-1;b=a+1|0;a=(b>>>0)%3|0?b:a-2|0;if((a|0)==-1){break sa}k=0;d=a;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){f=J[r+(b<<2)>>2]}}b=-1;g=-1;a=J[q+(f<<2)>>2];if((a|0)!=-1){g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}if((d|0)==(o|0)|(g|0)==(o|0)|((o|0)!=-1&J[J[m+12>>2]+(o<<2)>>2]!=-1|(d|0)==(g|0))){break D}if(!k&J[J[m+12>>2]+(d<<2)>>2]!=-1){break D}k=-1;a=J[m+12>>2];m=-1;ta:{if((g|0)==-1){break ta}if(J[a+(g<<2)>>2]!=-1){break D}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;m=-1;if((b|0)==-1){break ta}m=J[r+(b<<2)>>2]}b=P(i,3);J[l>>2]=b;J[a+(b<<2)>>2]=o;J[a+(o<<2)>>2]=b;b=J[l>>2]+1|0;J[a+(b<<2)>>2]=d;J[a+(d<<2)>>2]=b;b=J[l>>2]+2|0;J[a+(b<<2)>>2]=g;J[a+(g<<2)>>2]=b;a=J[l>>2];J[r+(a<<2)>>2]=f;b=a+1|0;d=r+(b<<2)|0;J[d>>2]=m;g=a+2|0;o=r+(g<<2)|0;J[o>>2]=n;a=J[j+120>>2];f=b?f:-1;n=a+(f>>>3&536870908)|0;r=J[n>>2];Q=n,R=rk(f)&r,J[Q>>2]=R;k=(b|0)!=-1?J[d>>2]:k;b=a+(k>>>3&536870908)|0;d=J[b>>2];Q=b,R=rk(k)&d,J[Q>>2]=R;b=-1;b=(g|0)!=-1?J[o>>2]:b;a=a+(b>>>3&536870908)|0;d=J[a>>2];Q=a,R=rk(b)&d,J[Q>>2]=R;H[l+88|0]=1;ff(h,l+88|0);df(w,l);i=i+1|0;g=J[l+64>>2]}if((c|0)!=(g|0)){continue}break}d=J[j+8>>2]}b=-1;if(((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)!=(i|0)){break D}b=J[d+28>>2]-J[d+24>>2]>>2;i=J[l+24>>2];f=J[l+28>>2];if((i|0)==(f|0)){break C}while(1){a=J[i>>2];h=J[d+24>>2];c=b-1|0;g=h+(c<<2)|0;if(J[g>>2]==-1){while(1){c=b-2|0;b=b-1|0;g=h+(c<<2)|0;if(J[g>>2]==-1){continue}break}}if(a>>>0<=c>>>0){J[l>>2]=d;g=J[g>>2];H[l+12|0]=1;J[l+8>>2]=g;J[l+4>>2]=g;if((g|0)!=-1){while(1){d=J[J[j+8>>2]>>2]+(g<<2)|0;if(J[d>>2]!=(c|0)){b=-1;break D}J[d>>2]=a;wd(l);g=J[l+8>>2];if((g|0)!=-1){continue}break}d=J[j+8>>2]}h=J[d+24>>2];g=h+(c<<2)|0;if((a|0)!=-1){J[h+(a<<2)>>2]=J[g>>2]}J[g>>2]=-1;g=1<<a;h=J[j+120>>2];a=h+(a>>>3&536870908)|0;h=h+(c>>>3&536870908)|0;c=1<<c;if(J[h>>2]&c){g=g|J[a>>2]}else{g=J[a>>2]&(g^-1)}J[a>>2]=g;J[h>>2]=J[h>>2]&(c^-1);b=b-1|0}i=i+4|0;if((f|0)!=(i|0)){continue}break}}i=J[l+24>>2]}if(i){xj(i)}a=J[l+48>>2];if(a){while(1){c=J[a>>2];xj(a);a=c;if(a){continue}break}}a=J[l+40>>2];J[l+40>>2]=0;if(a){xj(a)}a=J[l+64>>2];if(a){J[l+68>>2]=a;xj(a)}fa=l+96|0;break A}Va();C()}if((b|0)==-1){break z}a=N;c=J[a+16>>2];d=c+J[a>>2]|0;c=J[a+8>>2]-c|0;a=J[J[j+4>>2]+32>>2];I[a+38>>1]=L[a+38>>1];J[a>>2]=d;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=c;J[a+12>>2]=0;a=J[j+4>>2];c=L[a+36>>1];g=c<<8|c>>>8;if((g&65535)>>>0<=513){a=J[a+32>>2];c=J[a+16>>2];d=G+J[a+20>>2]|0;c=c+B|0;d=c>>>0<B>>>0?d+1|0:d;J[a+16>>2]=c;J[a+20>>2]=d}ua:{if(J[j+216>>2]==J[j+220>>2]){break ua}c=J[j+8>>2];a=J[c>>2];c=J[c+4>>2];va:{if((g&65535)>>>0>=513){if((a|0)==(c|0)){break ua}c=0;break va}if((a|0)==(c|0)){break ua}c=0;while(1){if(Ye(j,c)){c=c+3|0;a=J[j+8>>2];if(c>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break ua}break}break z}while(1){if(Ze(j,c)){c=c+3|0;a=J[j+8>>2];if(c>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break ua}break}break z}_e(e);c=J[j+216>>2];if((c|0)!=J[j+220>>2]){n=0;while(1){d=P(n,144);Ci((d+c|0)+4|0,J[j+8>>2]);a=J[A>>2];e=a+d|0;c=J[e+132>>2];e=J[e+136>>2];if((c|0)!=(e|0)){while(1){Ei((d+J[A>>2]|0)+4|0,J[c>>2]);c=c+4|0;if((e|0)!=(c|0)){continue}break}a=J[A>>2]}if(!Di((a+d|0)+4|0)){break z}n=n+1|0;c=J[j+216>>2];if(n>>>0<(J[j+220>>2]-c|0)/144>>>0){continue}break}}a=J[j+8>>2];$e(j+184|0,J[a+28>>2]-J[a+24>>2]>>2);u=J[j+216>>2];if((u|0)!=J[j+220>>2]){c=0;while(1){a=P(c,144)+u|0;d=J[a+60>>2]-J[a+56>>2]>>2;f=a+104|0;a=J[j+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(f,(a|0)<(d|0)?d:a);c=c+1|0;u=J[j+216>>2];if(c>>>0<(J[j+220>>2]-u|0)/144>>>0){continue}break}}u=af(j,b)}break c}u=0}fa=s- -64|0;return u|0}Ia();C()}function jf(a){a=a|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,N=0,O=0,Q=0,R=0,S=0;u=fa+-64|0;fa=u;J[a+132>>2]=0;if(J[a+148>>2]){c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}c=0;J[a+144>>2]=0;k=J[a+140>>2];a:{if(!k){break a}if(k>>>0>=4){b=k&-4;while(1){f=c<<2;J[f+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(f|4)>>2]=0;J[J[a+136>>2]+(f|8)>>2]=0;J[J[a+136>>2]+(f|12)>>2]=0;c=c+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=k&3;if(!b){break a}while(1){J[J[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;v=v+1|0;if((b|0)!=(v|0)){continue}break}}J[a+148>>2]=0}b:{c:{c=J[a+4>>2];v=K[c+36|0];b=v<<8|K[c+37|0];if(b>>>0<=513){d=J[c+32>>2];d:{if(b>>>0<=511){b=J[d+20>>2];e=J[d+16>>2];f=e+4|0;b=f>>>0<4?b+1|0:b;k=J[d+12>>2];if(M[d+8>>2]<f>>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break c}e=e+J[d>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[d+16>>2]=f;J[d+20>>2]=b;break d}if(!Re(1,u,d)){break c}c=J[a+4>>2];v=K[c+36|0];e=J[u>>2]}J[a+132>>2]=e}d=J[c+32>>2];e:{f:{g:{if((v&255)>>>0<=1){v=0;b=J[d+20>>2];f=J[d+16>>2];e=f+4|0;b=e>>>0<4?b+1|0:b;k=J[d+12>>2];if(M[d+8>>2]<e>>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break b}f=f+J[d>>2]|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[u+60>>2]=f;J[d+16>>2]=e;J[d+20>>2]=b;J[a+156>>2]=f;t=a+156|0;break g}v=0;if(!Re(1,u+60|0,d)){break b}c=J[a+4>>2];b=K[c+36|0];J[a+156>>2]=J[u+60>>2];t=a+156|0;if(b>>>0>1){break f}}d=J[c+32>>2];f=J[d+8>>2];k=J[d+12>>2];c=J[d+20>>2];e=J[d+16>>2];b=e+4|0;c=b>>>0<4?c+1|0:c;if(b>>>0>f>>>0&(c|0)>=(k|0)|(c|0)>(k|0)){break b}e=e+J[d>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[u+56>>2]=e;J[d+16>>2]=b;J[d+20>>2]=c;break e}if(!Re(1,u+56|0,J[c+32>>2])){break b}e=J[u+56>>2]}if(e>>>0>1431655765){break b}b=J[t>>2];c=P(e,3);if(b>>>0>c>>>0){break b}f=c>>>1|0;c=b>>31;c=nk(b-1|0,c-!b|0,b,c);k=ja;b=k>>>1|0;c=(k&1)<<31|c>>>1;if(!b&c>>>0<f>>>0){break b}E=J[a+4>>2];w=J[E+32>>2];c=J[w+8>>2];d=J[w+12>>2];b=J[w+20>>2];g=J[w+16>>2];if((d|0)<=(b|0)&g>>>0>=c>>>0|(b|0)>(d|0)){break b}j=J[w>>2];l=K[j+g|0];f=w;k=g+1|0;h=k?b:b+1|0;J[f+16>>2]=k;J[f+20>>2]=h;h:{if(K[E+36|0]<=1){f=c;c=b;b=g+5|0;c=b>>>0<5?c+1|0:c;if(b>>>0>f>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break b}f=k+j|0;t=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[u+52>>2]=t;J[w+16>>2]=b;J[w+20>>2]=c;break h}if(!Re(1,u+52|0,w)){break b}t=J[u+52>>2]}if(e>>>0<t>>>0|((t>>>0)/3|0)+t>>>0<e>>>0){break b}c=J[a+4>>2];d=J[c+32>>2];i:{if(K[c+36|0]<=1){c=J[d+20>>2];b=J[d+16>>2];f=b+4|0;c=f>>>0<4?c+1|0:c;k=J[d+12>>2];if(M[d+8>>2]<f>>>0&(k|0)<=(c|0)|(c|0)>(k|0)){break b}b=b+J[d>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[u+48>>2]=b;J[d+16>>2]=f;J[d+20>>2]=c;break i}if(!Re(1,u+48|0,d)){break b}b=J[u+48>>2]}if(b>>>0>t>>>0){break b}J[a+28>>2]=J[a+24>>2];c=ti(Cj(88));f=J[a+8>>2];J[a+8>>2]=c;if(f){Se(f);if(!J[a+8>>2]){break b}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,e);J[a+176>>2]=J[a+172>>2];Te(a+172|0,e);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];G=a+216|0;Ue(G);Ve(G,l);if(!vi(J[a+8>>2],e,J[a+156>>2]+b|0)){break b}c=J[a+156>>2];H[u|0]=1;Oe(a+120|0,b+c|0,u);e=J[a+4>>2];c=L[e+36>>1];c=(c<<8|c>>>8)&65535;j:{if(c>>>0<=513){d=J[e+32>>2];k:{if(c>>>0<=511){c=J[d+20>>2];e=J[d+16>>2];f=e+4|0;c=f>>>0<4?c+1|0:c;k=J[d+12>>2];if(M[d+8>>2]<f>>>0&(k|0)<=(c|0)|(c|0)>(k|0)){break b}e=e+J[d>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[d+16>>2]=f;J[d+20>>2]=c;break k}if(!Re(1,u+44|0,d)){break b}e=J[u+44>>2]}if(!e){break b}d=J[J[a+4>>2]+32>>2];k=J[d+8>>2];c=J[d+16>>2];f=k-c|0;c=J[d+12>>2]-(J[d+20>>2]+(c>>>0>k>>>0)|0)|0;if((c|0)<=0&e>>>0>f>>>0|(c|0)<0){break b}h=qg(u);d=J[J[a+4>>2]+32>>2];c=d;k=J[c+16>>2];f=(k+J[c>>2]|0)+e|0;c=J[c+8>>2]-k|0;I[h+38>>1]=L[d+38>>1];J[h>>2]=f;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=c-e;J[h+12>>2]=0;c=We(a,h);if((c|0)==-1){break b}E=c;O=c>>31;break j}E=-1;O=-1;if((We(a,J[e+32>>2])|0)==-1){break b}}A=a+232|0;kf(A,a);J[a+372>>2]=l;J[a+384>>2]=J[a+156>>2]+b;w=qg(u);h=w;d=0;k=fa-16|0;fa=k;l:{if(!Xe(A,h)){break l}b=J[h+20>>2];e=J[h+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;f=J[h+12>>2];if(M[h+8>>2]<c>>>0&(f|0)<=(b|0)|(b|0)>(f|0)){break l}e=e+J[h>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[h+16>>2]=c;J[h+20>>2]=b;if((e|0)<0){break l}c=e;e=J[A+152>>2];if((c|0)>=(e|0)){break l}J[k+12>>2]=0;c=J[A+156>>2];b=J[A+160>>2]-c>>2;m:{if(b>>>0<e>>>0){fb(A+156|0,e-b|0,k+12|0);break m}if(b>>>0<=e>>>0){break m}J[A+160>>2]=c+(e<<2)}d=he(A+168|0,h)}fa=k+16|0;n:{if(!d){break n}d=0;c=0;e=0;k=0;i=fa-96|0;fa=i;J[i+72>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+56>>2]=1065353216;J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;h=a;N=J[a+124>>2];o:{p:{q:{r:{s:{t:{if((t|0)<=0){break t}y=h+400|0;Q=h+232|0;B=J[h+216>>2]!=J[h+220>>2];x=1;while(1){f=k;k=f+1|0;u:{v:{w:{x:{y:{if(J[h+420>>2]!=-1){if(je(y)){break y}}if(!K[h+308|0]){break x}z:{o=J[h+296>>2];r=J[h+304>>2];a=o+(r>>>3|0)|0;l=J[h+300>>2];if(a>>>0>=l>>>0){break z}b=K[a|0];a=r+1|0;J[h+304>>2]=a;g=b>>>(r&7)&1;if(!g){break z}n=a>>>3|0;b=o+n|0;A:{if(b>>>0>=l>>>0){b=a;a=0;break A}j=K[b|0];b=r+2|0;J[h+304>>2]=b;n=b>>>3|0;a=j>>>(a&7)&1}j=n+o|0;if(j>>>0<l>>>0){j=K[j|0];J[h+304>>2]=b+1;b=j>>>(b&7)<<1&2}else{b=0}p=(a|b)<<1|g;J[h+416>>2]=p;break w}J[h+416>>2]=0;break x}p=J[h+420>>2];J[h+416>>2]=p;if(p){break w}}if((c|0)==(e|0)){b=-1;break s}p=-1;n=J[h+8>>2];o=J[n+24>>2];j=c-4|0;m=J[j>>2];d=-1;B:{if((m|0)==-1){break B}b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;d=-1;if((b|0)==-1){break B}d=J[J[n>>2]+(b<<2)>>2]}b=J[o+(d<<2)>>2];if((b|0)!=-1){a=b+1|0;p=(a>>>0)%3|0?a:b-2|0}if((m|0)==(p|0)){b=-1;break s}if((m|0)!=-1){b=-1;if(J[J[n+12>>2]+(m<<2)>>2]!=-1){break s}}l=J[n+12>>2];if((p|0)!=-1){b=-1;if(J[l+(p<<2)>>2]!=-1){break s}}q=P(f,3);a=q+1|0;J[l+(m<<2)>>2]=a;g=a<<2;J[g+l>>2]=m;r=q+2|0;J[l+(p<<2)>>2]=r;f=r<<2;J[f+l>>2]=p;l=-1;a=-1;C:{if((m|0)==-1){break C}D:{if((m>>>0)%3|0){b=m-1|0;break D}b=m+2|0;a=-1;if((b|0)==-1){break C}}a=J[J[n>>2]+(b<<2)>>2]}E:{if((p|0)==-1){break E}b=p+1|0;b=(b>>>0)%3|0?b:p-2|0;if((b|0)==-1){break E}l=J[J[n>>2]+(b<<2)>>2]}b=-1;if((a|0)==(d|0)|(d|0)==(l|0)){break s}b=J[n>>2];J[b+(q<<2)>>2]=d;J[b+g>>2]=l;J[b+f>>2]=a;if((a|0)!=-1){J[o+(a<<2)>>2]=r}b=J[h+120>>2]+(d>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(d)&a,J[R>>2]=S;J[j>>2]=q;p=J[c-4>>2];break v}b=-1;F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{switch(p-1|0){case 2:case 4:if((c|0)==(e|0)){break s}g=c-4|0;m=J[g>>2];r=J[h+8>>2];d=J[r+12>>2];if((m|0)!=-1&J[d+(m<<2)>>2]!=-1){break s}q=P(f,3);l=(p|0)==5;j=q+(l?2:1)|0;a=j<<2;J[a+d>>2]=m;J[d+(m<<2)>>2]=j;df(r+24|0,11472);d=J[h+8>>2];o=J[d+24>>2];if(J[d+28>>2]-o>>2>(N|0)){break s}n=J[d>>2];p=n+a|0;d=J[r+28>>2];b=J[r+24>>2];a=(d-b>>2)-1|0;J[p>>2]=a;if((b|0)!=(d|0)){J[o+(a<<2)>>2]=j}d=l?q:q+2|0;j=n+(l+q<<2)|0;Q:{if((m|0)==-1){J[n+(d<<2)>>2]=-1;b=-1;break Q}R:{S:{T:{if((m>>>0)%3|0){a=m-1|0;break T}a=m+2|0;if((a|0)==-1){break S}}a=J[n+(a<<2)>>2];J[n+(d<<2)>>2]=a;if((a|0)==-1){break R}J[o+(a<<2)>>2]=d;break R}J[n+(d<<2)>>2]=-1}a=m+1|0;a=(a>>>0)%3|0?a:m-2|0;b=-1;if((a|0)==-1){break Q}b=J[n+(a<<2)>>2]}J[j>>2]=b;J[g>>2]=q;break O;case 0:if((c|0)==(d|0)){break s}a=c-4|0;m=J[a>>2];J[i+68>>2]=a;l=J[i+44>>2];U:{if(!l){c=a;break U}o=J[i+40>>2];g=qk(l)>>>0>1;b=f&l+2147483647;V:{if(!g){break V}b=f;if(b>>>0<l>>>0){break V}b=(f>>>0)%(l>>>0)|0}j=b;b=J[o+(j<<2)>>2];if(!b){c=a;break U}b=J[b>>2];if(!b){c=a;break U}W:{if(!g){l=l-1|0;while(1){g=J[b+4>>2];X:{if((g|0)!=(f|0)){if((j|0)==(g&l)){break X}c=a;break U}if((f|0)==J[b+8>>2]){break W}}b=J[b>>2];if(b){continue}break}c=a;break U}while(1){g=J[b+4>>2];Y:{if((g|0)!=(f|0)){if(g>>>0>=l>>>0){g=(g>>>0)%(l>>>0)|0}if((g|0)==(j|0)){break Y}c=a;break U}if((f|0)==J[b+8>>2]){break W}}b=J[b>>2];if(b){continue}break}c=a;break U}if((a|0)!=(z|0)){J[a>>2]=J[b+12>>2];J[i+68>>2]=c;break U}g=z-d|0;c=g>>2;e=c+1|0;if(e>>>0>=1073741824){break M}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(g){if(g>>>0>=1073741824){break p}a=Cj(g<<2)}else{a=0}e=a+(c<<2)|0;J[e>>2]=J[b+12>>2];c=e+4|0;if((d|0)!=(z|0)){while(1){e=e-4|0;z=z-4|0;J[e>>2]=J[z>>2];if((d|0)!=(z|0)){continue}break}}z=a+(g<<2)|0;J[i+72>>2]=z;J[i+68>>2]=c;J[i+64>>2]=e;if(d){xj(d)}}if((c|0)==(e|0)){break G}j=c-4|0;n=J[j>>2];if((n|0)==(m|0)){break G}d=(n|0)==-1;q=J[h+8>>2];if(!d&J[J[q+12>>2]+(n<<2)>>2]!=-1){break G}r=J[q+12>>2];if((m|0)!=-1&J[r+(m<<2)>>2]!=-1){break G}p=P(f,3);f=p+2|0;J[r+(n<<2)>>2]=f;o=f<<2;J[o+r>>2]=n;a=p+1|0;J[r+(m<<2)>>2]=a;b=a<<2;J[b+r>>2]=m;if(d){break L}if((n>>>0)%3|0){l=n-1|0;break J}l=n+2|0;if((l|0)!=-1){break J}d=J[q>>2];a=-1;break I;case 6:break P;default:break s}}a=J[h+8>>2];df(a+24|0,11472);g=J[h+8>>2];p=P(f,3);q=J[a+28>>2];r=J[a+24>>2];o=q-r|0;n=o>>2;l=n-1|0;J[J[g>>2]+(p<<2)>>2]=l;df(g+24|0,11472);j=p+1|0;J[J[g>>2]+(j<<2)>>2]=(J[g+28>>2]-J[g+24>>2]>>2)-1;a=J[h+8>>2];df(a+24|0,11472);g=p+2|0;J[J[a>>2]+(g<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[h+8>>2];m=J[a+24>>2];if(J[a+28>>2]-m>>2>(N|0)){break s}Z:{_:{if((q|0)!=(r|0)){J[m+(l<<2)>>2]=p;b=0;if((o|0)==-4){break _}}J[m+(n<<2)>>2]=j;b=n+1|0;if((b|0)==-1){break Z}}J[m+(b<<2)>>2]=g}if((c|0)!=(z|0)){J[c>>2]=p;c=c+4|0;J[i+68>>2]=c;break N}g=c-d|0;b=g>>2;e=b+1|0;if(e>>>0>=1073741824){break K}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(g){if(g>>>0>=1073741824){break p}a=Cj(g<<2)}else{a=0}e=a+(b<<2)|0;J[e>>2]=p;z=a+(g<<2)|0;a=e+4|0;if((c|0)!=(d|0)){while(1){e=e-4|0;c=c-4|0;J[e>>2]=J[c>>2];if((c|0)!=(d|0)){continue}break}}J[i+72>>2]=z;J[i+68>>2]=a;J[i+64>>2]=e;if(d){xj(d)}c=a}d=e}lf(Q,J[c-4>>2]);g=J[h+40>>2];if((g|0)==J[h+36>>2]){break u}b=g-12|0;a=J[b+4>>2];l=(f^-1)+t|0;if(a>>>0>l>>>0){break G}if((a|0)!=(l|0)){break u}f=K[g-4|0];a=J[b>>2];J[h+40>>2]=b;if((a|0)<0){break G}g=c-4|0;j=J[g>>2];J[i+20>>2]=(a^-1)+t;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);b=J[i>>2];$:{if(f&1){a=-1;if((j|0)==-1){break $}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break $}a=-1;if((j|0)==-1){break $}a=j-1|0;if((j>>>0)%3|0){break $}a=j+2|0}J[b+12>>2]=a;b=J[h+40>>2];if((b|0)==J[h+36>>2]){break u}while(1){j=b-12|0;a=J[j+4>>2];if(a>>>0>l>>>0){break G}if((a|0)!=(l|0)){break u}f=K[b-4|0];a=J[j>>2];J[h+40>>2]=j;if((a|0)<0){break G}j=J[g>>2];J[i+20>>2]=(a^-1)+t;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);b=J[i>>2];aa:{if(f&1){a=-1;if((j|0)==-1){break aa}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break aa}a=-1;if((j|0)==-1){break aa}a=j-1|0;if((j>>>0)%3|0){break aa}a=j+2|0}J[b+12>>2]=a;b=J[h+40>>2];if((b|0)!=J[h+36>>2]){continue}break}break u}Ia();C()}l=-1;d=J[q>>2];J[d+(p<<2)>>2]=-1;g=-1;break H}Ia();C()}d=J[q>>2];a=J[d+(l<<2)>>2]}l=a;J[(p<<2)+d>>2]=a;a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;g=-1;if((a|0)==-1){break H}g=J[(a<<2)+d>>2]}J[b+d>>2]=g;ba:{if((m|0)==-1){J[d+o>>2]=-1;n=-1;a=-1;break ba}ca:{da:{ea:{if((m>>>0)%3|0){b=m-1|0;break ea}b=m+2|0;if((b|0)==-1){break da}}a=J[(b<<2)+d>>2];J[d+o>>2]=a;if((a|0)==-1){break ca}J[J[q+24>>2]+(a<<2)>>2]=f;break ca}J[d+o>>2]=-1}n=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ba}n=J[(b<<2)+d>>2];a=b}g=J[h+388>>2];f=l<<2;b=g+f|0;o=b;m=J[b>>2];b=n<<2;J[o>>2]=m+J[b+g>>2];g=b;b=J[q+24>>2];o=g+b|0;if((l|0)!=-1){J[b+f>>2]=J[o>>2]}b=a;while(1){if((b|0)==-1){break F}J[(b<<2)+d>>2]=l;g=b+1|0;b=(g>>>0)%3|0?g:b-2|0;f=-1;fa:{if((b|0)==-1){break fa}g=J[r+(b<<2)>>2];f=-1;if((g|0)==-1){break fa}b=g+1|0;f=(b>>>0)%3|0?b:g-2|0}b=f;if((a|0)!=(b|0)){continue}break}}b=-1;if(!(x&1)){break t}break s}J[o>>2]=-1;ga:{if(B){break ga}if((D|0)!=(F|0)){J[F>>2]=n;F=F+4|0;J[i+28>>2]=F;break ga}d=D-s|0;b=d>>2;f=b+1|0;if(f>>>0>=1073741824){break q}a=d>>>1|0;f=d>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(f){if(f>>>0>=1073741824){break p}a=Cj(f<<2)}else{a=0}b=a+(b<<2)|0;J[b>>2]=n;F=b+4|0;if((s|0)!=(D|0)){while(1){b=b-4|0;D=D-4|0;J[b>>2]=J[D>>2];if((s|0)!=(D|0)){continue}break}}D=a+(f<<2)|0;J[i+32>>2]=D;J[i+28>>2]=F;J[i+24>>2]=b;if(s){xj(s)}s=b}J[j>>2]=p}lf(Q,p);d=e}x=(k|0)<(t|0);if((k|0)!=(t|0)){continue}break}k=t}b=-1;x=J[h+8>>2];if(J[x+28>>2]-J[x+24>>2]>>2>(N|0)){break s}if((c|0)!=(e|0)){r=h+72|0;j=h+60|0;t=h+312|0;while(1){c=c-4|0;y=J[c>>2];J[i+68>>2]=c;ha:{ia:{ja:{if(L[h+270>>1]<=513){if(!K[h+364|0]){break ia}b=J[h+360>>2];a=J[h+352>>2]+(b>>>3|0)|0;if(a>>>0>=M[h+356>>2]){break ja}a=K[a|0];J[h+360>>2]=b+1;if(!(a>>>(b&7)&1)){break ja}break ia}if(je(t)){break ia}}ka:{la:{b=J[h+64>>2];f=J[h+68>>2];if((b|0)==f<<5){if((b+1|0)<0){break la}if(b>>>0<=1073741822){f=f<<6;b=(b&-32)+32|0;a=b>>>0<f>>>0?f:b}else{a=2147483647}Jc(j,a);b=J[h+64>>2]}J[h+64>>2]=b+1;f=J[h+60>>2]+(b>>>3&536870908)|0;a=J[f>>2];R=f,S=rk(b)&a,J[R>>2]=S;b=J[h+76>>2];if((b|0)!=J[h+80>>2]){J[b>>2]=y;J[h+76>>2]=b+4;break ha}s=J[r>>2];g=b-s|0;f=g>>2;d=f+1|0;if(d>>>0>=1073741824){break ka}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>d>>>0?a:d;if(g){if(g>>>0>=1073741824){break p}a=Cj(g<<2)}else{a=0}d=a+(f<<2)|0;J[d>>2]=y;f=d+4|0;if((b|0)!=(s|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(s|0)){continue}break}}J[h+80>>2]=a+(g<<2);J[h+76>>2]=f;J[h+72>>2]=d;if(!s){break ha}xj(s);break ha}Ia();C()}Ia();C()}q=J[h+8>>2];B=J[q>>2];if(((J[q+4>>2]-B>>2>>>0)/3|0)<=(k|0)){b=-1;break s}e=-1;b=-1;d=-1;s=J[q+24>>2];f=-1;ma:{if((y|0)==-1){break ma}a=y+1|0;a=(a>>>0)%3|0?a:y-2|0;f=-1;if((a|0)==-1){break ma}f=J[B+(a<<2)>>2]}o=J[s+(f<<2)>>2];na:{if((o|0)==-1){l=1;a=-1;break na}l=1;g=o+1|0;g=(g>>>0)%3|0?g:o-2|0;a=-1;if((g|0)==-1){break na}l=0;a=g+1|0;e=g;a=(a>>>0)%3|0?a:e-2|0;if((a|0)!=-1){a=J[B+(a<<2)>>2]}else{a=-1}}g=J[(a<<2)+s>>2];if((g|0)!=-1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((e|0)==(y|0)|(d|0)==(y|0)|((y|0)!=-1&J[J[q+12>>2]+(y<<2)>>2]!=-1|(d|0)==(e|0))){break s}if(!l&J[J[q+12>>2]+(e<<2)>>2]!=-1){break s}l=-1;s=J[q+12>>2];g=-1;oa:{if((d|0)==-1){break oa}if(J[s+(d<<2)>>2]!=-1){break s}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;g=-1;if((b|0)==-1){break oa}g=J[B+(b<<2)>>2]}b=P(k,3);J[i>>2]=b;J[s+(b<<2)>>2]=y;J[s+(y<<2)>>2]=b;b=J[i>>2]+1|0;J[s+(b<<2)>>2]=e;J[s+(e<<2)>>2]=b;b=J[i>>2]+2|0;J[s+(b<<2)>>2]=d;J[s+(d<<2)>>2]=b;b=J[i>>2];J[B+(b<<2)>>2]=a;o=b+1|0;s=B+(o<<2)|0;J[s>>2]=g;g=b+2|0;d=B+(g<<2)|0;J[d>>2]=f;f=J[h+120>>2];e=o?a:-1;b=f+(e>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(e)&a,J[R>>2]=S;l=(o|0)!=-1?J[s>>2]:l;b=f+(l>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(l)&a,J[R>>2]=S;b=-1;b=(g|0)!=-1?J[d>>2]:b;e=f+(b>>>3&536870908)|0;a=J[e>>2];R=e,S=rk(b)&a,J[R>>2]=S;H[i+88|0]=1;ff(j,i+88|0);df(r,i);k=k+1|0;e=J[i+64>>2]}if((c|0)!=(e|0)){continue}break}x=J[h+8>>2]}b=-1;if(((J[x+4>>2]-J[x>>2]>>2>>>0)/3|0)!=(k|0)){break s}b=J[x+28>>2]-J[x+24>>2]>>2;k=J[i+24>>2];f=J[i+28>>2];if((k|0)==(f|0)){break r}while(1){j=J[k>>2];a=J[x+24>>2];c=b-1|0;d=a+(c<<2)|0;if(J[d>>2]==-1){while(1){c=b-2|0;b=b-1|0;d=a+(c<<2)|0;if(J[d>>2]==-1){continue}break}}if(c>>>0>=j>>>0){J[i>>2]=x;d=J[d>>2];H[i+12|0]=1;J[i+8>>2]=d;J[i+4>>2]=d;if((d|0)!=-1){while(1){a=J[J[h+8>>2]>>2]+(d<<2)|0;if(J[a>>2]!=(c|0)){b=-1;break s}J[a>>2]=j;wd(i);d=J[i+8>>2];if((d|0)!=-1){continue}break}x=J[h+8>>2]}a=J[x+24>>2];e=a+(c<<2)|0;if((j|0)!=-1){J[a+(j<<2)>>2]=J[e>>2]}J[e>>2]=-1;g=1<<j;a=J[h+120>>2];e=a+(j>>>3&536870908)|0;d=a+(c>>>3&536870908)|0;a=1<<c;if(J[d>>2]&a){c=g|J[e>>2]}else{c=J[e>>2]&(g^-1)}J[e>>2]=c;J[d>>2]=J[d>>2]&(a^-1);b=b-1|0}k=k+4|0;if((f|0)!=(k|0)){continue}break}}k=J[i+24>>2]}if(k){xj(k)}a=J[i+48>>2];if(a){while(1){c=J[a>>2];xj(a);a=c;if(a){continue}break}}a=J[i+40>>2];J[i+40>>2]=0;if(a){xj(a)}a=J[i+64>>2];if(a){J[i+68>>2]=a;xj(a)}fa=i+96|0;break o}Ia();C()}Va();C()}if((b|0)==-1){break n}e=J[w+16>>2];c=e+J[w>>2]|0;a=J[w+8>>2]-e|0;e=J[J[h+4>>2]+32>>2];I[e+38>>1]=L[e+38>>1];J[e>>2]=c;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=a;J[e+12>>2]=0;c=J[h+4>>2];a=L[c+36>>1];e=a<<8|a>>>8;if((e&65535)>>>0<=513){c=J[c+32>>2];f=c;a=J[c+16>>2];c=O+J[c+20>>2]|0;a=a+E|0;c=a>>>0<E>>>0?c+1|0:c;J[f+16>>2]=a;J[f+20>>2]=c}pa:{if(J[h+216>>2]==J[h+220>>2]){break pa}a=J[h+8>>2];c=J[a>>2];a=J[a+4>>2];qa:{if((e&65535)>>>0>=513){if((a|0)==(c|0)){break pa}c=0;break qa}if((a|0)==(c|0)){break pa}c=0;while(1){if(Ye(h,c)){c=c+3|0;a=J[h+8>>2];if(c>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break pa}break}break n}while(1){if(Ze(h,c)){c=c+3|0;a=J[h+8>>2];if(c>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break pa}break}break n}_e(A);c=J[h+216>>2];if((c|0)!=J[h+220>>2]){t=0;while(1){f=P(t,144);Ci((f+c|0)+4|0,J[h+8>>2]);a=J[G>>2];e=a+f|0;c=J[e+132>>2];e=J[e+136>>2];if((c|0)!=(e|0)){while(1){Ei((f+J[G>>2]|0)+4|0,J[c>>2]);c=c+4|0;if((e|0)!=(c|0)){continue}break}a=J[G>>2]}if(!Di((a+f|0)+4|0)){break n}t=t+1|0;c=J[h+216>>2];if(t>>>0<(J[h+220>>2]-c|0)/144>>>0){continue}break}}a=J[h+8>>2];$e(h+184|0,J[a+28>>2]-J[a+24>>2]>>2);v=J[h+216>>2];if((v|0)!=J[h+220>>2]){c=0;while(1){a=P(c,144)+v|0;e=J[a+60>>2]-J[a+56>>2]>>2;f=a+104|0;a=J[h+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(f,(a|0)<(e|0)?e:a);c=c+1|0;v=J[h+216>>2];if(c>>>0<(J[h+220>>2]-v|0)/144>>>0){continue}break}}v=af(h,b)}break b}v=0}fa=u- -64|0;return v|0}function Qe(a){a=a|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,N=0,O=0,Q=0;t=fa+-64|0;fa=t;J[a+132>>2]=0;if(J[a+148>>2]){d=J[a+144>>2];if(d){while(1){b=J[d>>2];xj(d);d=b;if(b){continue}break}}d=0;J[a+144>>2]=0;j=J[a+140>>2];a:{if(!j){break a}if(j>>>0>=4){b=j&-4;while(1){c=d<<2;J[c+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(c|4)>>2]=0;J[J[a+136>>2]+(c|8)>>2]=0;J[J[a+136>>2]+(c|12)>>2]=0;d=d+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=j&3;if(!b){break a}while(1){J[J[a+136>>2]+(d<<2)>>2]=0;d=d+1|0;w=w+1|0;if((b|0)!=(w|0)){continue}break}}J[a+148>>2]=0}b:{c:{d=J[a+4>>2];w=K[d+36|0];b=w<<8|K[d+37|0];if(b>>>0<=513){f=J[d+32>>2];d:{if(b>>>0<=511){b=J[f+20>>2];e=J[f+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;j=J[f+12>>2];if(M[f+8>>2]<c>>>0&(j|0)<=(b|0)|(b|0)>(j|0)){break c}e=e+J[f>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+16>>2]=c;J[f+20>>2]=b;break d}if(!Re(1,t,f)){break c}d=J[a+4>>2];w=K[d+36|0];e=J[t>>2]}J[a+132>>2]=e}f=J[d+32>>2];e:{f:{g:{if((w&255)>>>0<=1){w=0;b=J[f+20>>2];c=J[f+16>>2];e=c+4|0;b=e>>>0<4?b+1|0:b;j=J[f+12>>2];if(M[f+8>>2]<e>>>0&(j|0)<=(b|0)|(b|0)>(j|0)){break b}c=c+J[f>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[t+60>>2]=c;J[f+16>>2]=e;J[f+20>>2]=b;J[a+156>>2]=c;l=a+156|0;break g}w=0;if(!Re(1,t+60|0,f)){break b}d=J[a+4>>2];b=K[d+36|0];J[a+156>>2]=J[t+60>>2];l=a+156|0;if(b>>>0>1){break f}}f=J[d+32>>2];c=J[f+8>>2];j=J[f+12>>2];d=J[f+20>>2];e=J[f+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;if(b>>>0>c>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){break b}e=e+J[f>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[t+56>>2]=e;J[f+16>>2]=b;J[f+20>>2]=d;break e}if(!Re(1,t+56|0,J[d+32>>2])){break b}e=J[t+56>>2]}if(e>>>0>1431655765){break b}b=J[l>>2];d=P(e,3);if(b>>>0>d>>>0){break b}c=d>>>1|0;d=b>>31;d=nk(b-1|0,d-!b|0,b,d);j=ja;b=j>>>1|0;d=(j&1)<<31|d>>>1;if(!b&d>>>0<c>>>0){break b}k=J[a+4>>2];x=J[k+32>>2];d=J[x+8>>2];f=J[x+12>>2];b=J[x+20>>2];m=J[x+16>>2];if((f|0)<=(b|0)&m>>>0>=d>>>0|(b|0)>(f|0)){break b}l=J[x>>2];g=K[l+m|0];c=x;j=m+1|0;B=j?b:b+1|0;J[c+16>>2]=j;J[c+20>>2]=B;h:{if(K[k+36|0]<=1){c=d;d=b;b=m+5|0;d=b>>>0<5?d+1|0:d;if(b>>>0>c>>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break b}c=j+l|0;l=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[t+52>>2]=l;J[x+16>>2]=b;J[x+20>>2]=d;break h}if(!Re(1,t+52|0,x)){break b}l=J[t+52>>2]}if(e>>>0<l>>>0|((l>>>0)/3|0)+l>>>0<e>>>0){break b}d=J[a+4>>2];f=J[d+32>>2];i:{if(K[d+36|0]<=1){d=J[f+20>>2];b=J[f+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;j=J[f+12>>2];if(M[f+8>>2]<c>>>0&(j|0)<=(d|0)|(d|0)>(j|0)){break b}b=b+J[f>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[t+48>>2]=b;J[f+16>>2]=c;J[f+20>>2]=d;break i}if(!Re(1,t+48|0,f)){break b}b=J[t+48>>2]}if(b>>>0>l>>>0){break b}J[a+28>>2]=J[a+24>>2];d=ti(Cj(88));c=J[a+8>>2];J[a+8>>2]=d;if(c){Se(c);if(!J[a+8>>2]){break b}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,e);J[a+176>>2]=J[a+172>>2];Te(a+172|0,e);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];E=a+216|0;Ue(E);Ve(E,g);if(!vi(J[a+8>>2],e,J[a+156>>2]+b|0)){break b}d=J[a+156>>2];H[t|0]=1;Oe(a+120|0,b+d|0,t);b=J[a+4>>2];d=L[b+36>>1];d=(d<<8|d>>>8)&65535;j:{if(d>>>0<=513){j=J[b+32>>2];k:{if(d>>>0<=511){d=J[j+20>>2];e=J[j+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;c=J[j+12>>2];if(M[j+8>>2]<b>>>0&(c|0)<=(d|0)|(d|0)>(c|0)){break b}e=e+J[j>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[j+16>>2]=b;J[j+20>>2]=d;break k}if(!Re(1,t+44|0,j)){break b}e=J[t+44>>2]}if(!e){break b}j=J[J[a+4>>2]+32>>2];c=J[j+8>>2];d=J[j+16>>2];b=c-d|0;d=J[j+12>>2]-(J[j+20>>2]+(d>>>0>c>>>0)|0)|0;if(b>>>0<e>>>0&(d|0)<=0|(d|0)<0){break b}f=qg(t);j=J[J[a+4>>2]+32>>2];c=J[j+16>>2];b=(c+J[j>>2]|0)+e|0;d=J[j+8>>2]-c|0;I[f+38>>1]=L[j+38>>1];J[f>>2]=b;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=d-e;J[f+12>>2]=0;d=We(a,f);if((d|0)==-1){break b}x=d;G=d>>31;break j}x=-1;G=-1;if((We(a,J[b+32>>2])|0)==-1){break b}}N=a+232|0;e=N;J[e+144>>2]=a;d=J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2];b=J[d>>2]+J[d+16>>2]|0;d=J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2];d=J[d+8>>2]-J[d+16>>2]|0;O=e,Q=L[J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],I[O+38>>1]=Q;J[e>>2]=b;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=d;J[e+12>>2]=0;J[a+372>>2]=g;B=qg(t);l:{if(!Xe(e,B)){break l}b=0;d=0;e=0;j=0;i=fa-96|0;fa=i;J[i+72>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+56>>2]=1065353216;J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;h=a;F=J[a+124>>2];m:{n:{o:{p:{q:{r:{if((l|0)<=0){break r}z=J[h+216>>2]!=J[h+220>>2];s=1;while(1){f=j;j=f+1|0;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{if(!K[h+308|0]){break G}u=J[h+296>>2];g=J[h+304>>2];a=u+(g>>>3|0)|0;p=J[h+300>>2];if(a>>>0>=p>>>0){break G}c=K[a|0];a=g+1|0;J[h+304>>2]=a;m=c>>>(g&7)&1;if(!m){break G}n=0;k=a>>>3|0;c=u+k|0;H:{if(c>>>0>=p>>>0){g=a;a=0;break H}c=K[c|0];g=g+2|0;J[h+304>>2]=g;k=g>>>3|0;a=c>>>(a&7)&1}c=k+u|0;if(c>>>0<p>>>0){c=K[c|0];J[h+304>>2]=g+1;n=c>>>(g&7)<<1&2}k=-1;a=m|(a|n)<<1;switch(a-1|0){case 6:break D;case 0:break E;case 2:case 4:break F;default:break q}}if((d|0)==(e|0)){k=-1;break q}g=-1;q=J[h+8>>2];u=J[q+24>>2];p=d-4|0;s=J[p>>2];c=-1;I:{if((s|0)==-1){break I}b=s+1|0;b=(b>>>0)%3|0?b:s-2|0;c=-1;if((b|0)==-1){break I}c=J[J[q>>2]+(b<<2)>>2]}b=J[u+(c<<2)>>2];if((b|0)!=-1){a=b+1|0;g=(a>>>0)%3|0?a:b-2|0}if((g|0)==(s|0)){k=-1;break q}if((s|0)!=-1){k=-1;if(J[J[q+12>>2]+(s<<2)>>2]!=-1){break q}}b=J[q+12>>2];if((g|0)!=-1){k=-1;if(J[b+(g<<2)>>2]!=-1){break q}}n=P(f,3);a=n+1|0;J[b+(s<<2)>>2]=a;m=a<<2;J[m+b>>2]=s;r=n+2|0;J[b+(g<<2)>>2]=r;f=r<<2;J[f+b>>2]=g;o=-1;a=-1;J:{if((s|0)==-1){break J}K:{if((s>>>0)%3|0){b=s-1|0;break K}b=s+2|0;a=-1;if((b|0)==-1){break J}}a=J[J[q>>2]+(b<<2)>>2]}L:{if((g|0)==-1){break L}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1){break L}o=J[J[q>>2]+(b<<2)>>2]}k=-1;if((a|0)==(c|0)|(c|0)==(o|0)){break q}b=J[q>>2];J[b+(n<<2)>>2]=c;J[b+m>>2]=o;J[b+f>>2]=a;if((a|0)!=-1){J[u+(a<<2)>>2]=r}b=J[h+120>>2]+(c>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(c)&a,J[O>>2]=Q;J[p>>2]=n;b=e;break s}if((d|0)==(e|0)){break q}m=d-4|0;n=J[m>>2];r=J[h+8>>2];b=J[r+12>>2];if((n|0)!=-1&J[b+(n<<2)>>2]!=-1){break q}o=P(f,3);p=(a|0)==5;g=o+(p?2:1)|0;a=g<<2;J[a+b>>2]=n;J[b+(n<<2)>>2]=g;df(r+24|0,11472);b=J[h+8>>2];u=J[b+24>>2];if(J[b+28>>2]-u>>2>(F|0)){break q}k=J[b>>2];q=k+a|0;c=J[r+28>>2];b=J[r+24>>2];a=(c-b>>2)-1|0;J[q>>2]=a;if((b|0)!=(c|0)){J[u+(a<<2)>>2]=g}c=p?o:o+2|0;g=k+(o+p<<2)|0;M:{if((n|0)==-1){J[k+(c<<2)>>2]=-1;b=-1;break M}N:{O:{P:{if((n>>>0)%3|0){a=n-1|0;break P}a=n+2|0;if((a|0)==-1){break O}}a=J[k+(a<<2)>>2];J[k+(c<<2)>>2]=a;if((a|0)==-1){break N}J[u+(a<<2)>>2]=c;break N}J[k+(c<<2)>>2]=-1}a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;b=-1;if((a|0)==-1){break M}b=J[k+(a<<2)>>2]}J[g>>2]=b;J[m>>2]=o;b=e;break y}if((b|0)==(d|0)){break q}a=d-4|0;q=J[a>>2];J[i+68>>2]=a;p=J[i+44>>2];Q:{if(!p){d=a;break Q}g=J[i+40>>2];k=qk(p)>>>0>1;c=f&p+2147483647;R:{if(!k){break R}c=f;if(c>>>0<p>>>0){break R}c=(f>>>0)%(p>>>0)|0}m=c;c=J[g+(m<<2)>>2];if(!c){d=a;break Q}g=J[c>>2];if(!g){d=a;break Q}S:{if(!k){k=p-1|0;while(1){c=J[g+4>>2];T:{if((c|0)!=(f|0)){if((m|0)==(c&k)){break T}d=a;break Q}if((f|0)==J[g+8>>2]){break S}}g=J[g>>2];if(g){continue}break}d=a;break Q}while(1){c=J[g+4>>2];U:{if((c|0)!=(f|0)){if(c>>>0>=p>>>0){c=(c>>>0)%(p>>>0)|0}if((c|0)==(m|0)){break U}d=a;break Q}if((f|0)==J[g+8>>2]){break S}}g=J[g>>2];if(g){continue}break}d=a;break Q}if((a|0)!=(y|0)){J[a>>2]=J[g+12>>2];J[i+68>>2]=d;break Q}c=y-b|0;d=c>>2;e=d+1|0;if(e>>>0>=1073741824){break C}a=c>>>1|0;c=c>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}e=a+(d<<2)|0;J[e>>2]=J[g+12>>2];d=e+4|0;if((b|0)!=(y|0)){while(1){e=e-4|0;y=y-4|0;J[e>>2]=J[y>>2];if((b|0)!=(y|0)){continue}break}}y=a+(c<<2)|0;J[i+72>>2]=y;J[i+68>>2]=d;J[i+64>>2]=e;if(b){xj(b)}}if((d|0)==(e|0)){break u}g=d-4|0;n=J[g>>2];if((n|0)==(q|0)){break u}b=(n|0)==-1;o=J[h+8>>2];if(!b&J[J[o+12>>2]+(n<<2)>>2]!=-1){break u}r=J[o+12>>2];if((q|0)!=-1&J[r+(q<<2)>>2]!=-1){break u}u=P(f,3);f=u+2|0;J[r+(n<<2)>>2]=f;p=f<<2;J[p+r>>2]=n;a=u+1|0;J[r+(q<<2)>>2]=a;c=a<<2;J[c+r>>2]=q;if(b){break B}if((n>>>0)%3|0){m=n-1|0;break x}m=n+2|0;if((m|0)!=-1){break x}a=J[o>>2];b=-1;break w}a=J[h+8>>2];df(a+24|0,11472);c=J[h+8>>2];q=P(f,3);r=J[a+28>>2];u=J[a+24>>2];p=r-u|0;o=p>>2;g=o-1|0;J[J[c>>2]+(q<<2)>>2]=g;df(c+24|0,11472);m=q+1|0;J[J[c>>2]+(m<<2)>>2]=(J[c+28>>2]-J[c+24>>2]>>2)-1;a=J[h+8>>2];df(a+24|0,11472);c=q+2|0;J[J[a>>2]+(c<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[h+8>>2];n=J[a+24>>2];if(J[a+28>>2]-n>>2>(F|0)){break q}V:{W:{if((r|0)!=(u|0)){J[n+(g<<2)>>2]=q;k=0;if((p|0)==-4){break W}}J[n+(o<<2)>>2]=m;k=o+1|0;if((k|0)==-1){break V}}J[n+(k<<2)>>2]=c}if((d|0)!=(y|0)){J[d>>2]=q;d=d+4|0;J[i+68>>2]=d;break y}m=d-b|0;e=m>>2;c=e+1|0;if(c>>>0>=1073741824){break A}a=m>>>1|0;c=m>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}e=a+(e<<2)|0;J[e>>2]=q;y=a+(c<<2)|0;a=e+4|0;if((b|0)!=(d|0)){while(1){e=e-4|0;d=d-4|0;J[e>>2]=J[d>>2];if((b|0)!=(d|0)){continue}break}}J[i+72>>2]=y;J[i+68>>2]=a;J[i+64>>2]=e;if(!b){break z}xj(b);break z}Ia();C()}m=-1;a=J[o>>2];J[a+(u<<2)>>2]=-1;k=-1;break v}Ia();C()}d=a;b=e}m=J[h+40>>2];if((m|0)==J[h+36>>2]){break s}c=m-12|0;a=J[c+4>>2];k=(f^-1)+l|0;if(a>>>0>k>>>0){break u}if((a|0)!=(k|0)){break s}f=K[m-4|0];a=J[c>>2];J[h+40>>2]=c;if((a|0)<0){break u}m=d-4|0;g=J[m>>2];J[i+20>>2]=(a^-1)+l;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);c=J[i>>2];X:{if(f&1){a=-1;if((g|0)==-1){break X}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break X}a=-1;if((g|0)==-1){break X}a=g-1|0;if((g>>>0)%3|0){break X}a=g+2|0}J[c+12>>2]=a;g=J[h+40>>2];if((g|0)==J[h+36>>2]){break s}while(1){c=g-12|0;a=J[c+4>>2];if(a>>>0>k>>>0){break u}if((a|0)!=(k|0)){break s}f=K[g-4|0];a=J[c>>2];J[h+40>>2]=c;if((a|0)<0){break u}g=J[m>>2];J[i+20>>2]=(a^-1)+l;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);c=J[i>>2];Y:{if(f&1){a=-1;if((g|0)==-1){break Y}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break Y}a=-1;if((g|0)==-1){break Y}a=g-1|0;if((g>>>0)%3|0){break Y}a=g+2|0}J[c+12>>2]=a;g=J[h+40>>2];if((g|0)!=J[h+36>>2]){continue}break}break s}a=J[o>>2];b=J[a+(m<<2)>>2]}m=b;J[(u<<2)+a>>2]=b;b=n+1|0;b=(b>>>0)%3|0?b:n-2|0;k=-1;if((b|0)==-1){break v}k=J[(b<<2)+a>>2]}J[a+c>>2]=k;Z:{if((q|0)==-1){J[a+p>>2]=-1;n=-1;c=-1;break Z}_:{$:{aa:{if((q>>>0)%3|0){b=q-1|0;break aa}b=q+2|0;if((b|0)==-1){break $}}b=J[(b<<2)+a>>2];J[a+p>>2]=b;if((b|0)==-1){break _}J[J[o+24>>2]+(b<<2)>>2]=f;break _}J[a+p>>2]=-1}n=-1;b=q+1|0;b=(b>>>0)%3|0?b:q-2|0;c=-1;if((b|0)==-1){break Z}n=J[(b<<2)+a>>2];c=b}b=J[o+24>>2];p=b+(n<<2)|0;if((m|0)!=-1){J[b+(m<<2)>>2]=J[p>>2]}b=c;while(1){if((b|0)==-1){break t}J[(b<<2)+a>>2]=m;k=b+1|0;b=(k>>>0)%3|0?k:b-2|0;f=-1;ba:{if((b|0)==-1){break ba}k=J[r+(b<<2)>>2];f=-1;if((k|0)==-1){break ba}b=k+1|0;f=(b>>>0)%3|0?b:k-2|0}b=f;if((c|0)!=(b|0)){continue}break}}k=-1;if(!(s&1)){break r}break q}J[p>>2]=-1;ca:{if(z){break ca}if((A|0)!=(D|0)){J[D>>2]=n;D=D+4|0;J[i+28>>2]=D;break ca}f=A-v|0;b=f>>2;c=b+1|0;if(c>>>0>=1073741824){break o}a=f>>>1|0;c=f>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}b=a+(b<<2)|0;J[b>>2]=n;D=b+4|0;if((v|0)!=(A|0)){while(1){b=b-4|0;A=A-4|0;J[b>>2]=J[A>>2];if((v|0)!=(A|0)){continue}break}}A=a+(c<<2)|0;J[i+32>>2]=A;J[i+28>>2]=D;J[i+24>>2]=b;if(v){xj(v)}v=b}J[g>>2]=u;b=e}s=(j|0)<(l|0);if((j|0)!=(l|0)){continue}break}j=l}k=-1;a=J[h+8>>2];if(J[a+28>>2]-J[a+24>>2]>>2>(F|0)){break q}if((d|0)!=(e|0)){u=h+72|0;m=h+60|0;p=h+312|0;while(1){d=d-4|0;o=J[d>>2];J[i+68>>2]=d;da:{ea:{fa:{if(L[h+270>>1]<=513){if(!K[h+364|0]){break ea}b=J[h+360>>2];a=J[h+352>>2]+(b>>>3|0)|0;if(a>>>0>=M[h+356>>2]){break fa}a=K[a|0];J[h+360>>2]=b+1;if(!(a>>>(b&7)&1)){break fa}break ea}if(je(p)){break ea}}ga:{ha:{b=J[h+64>>2];c=J[h+68>>2];if((b|0)==c<<5){if((b+1|0)<0){break ha}if(b>>>0<=1073741822){c=c<<6;b=(b&-32)+32|0;a=b>>>0<c>>>0?c:b}else{a=2147483647}Jc(m,a);b=J[h+64>>2]}J[h+64>>2]=b+1;c=J[h+60>>2]+(b>>>3&536870908)|0;a=J[c>>2];O=c,Q=rk(b)&a,J[O>>2]=Q;b=J[h+76>>2];if((b|0)!=J[h+80>>2]){J[b>>2]=o;J[h+76>>2]=b+4;break da}l=J[u>>2];v=b-l|0;c=v>>2;f=c+1|0;if(f>>>0>=1073741824){break ga}a=v>>>1|0;f=v>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(f){if(f>>>0>=1073741824){break n}a=Cj(f<<2)}else{a=0}g=a+(c<<2)|0;J[g>>2]=o;c=g+4|0;if((b|0)!=(l|0)){while(1){g=g-4|0;b=b-4|0;J[g>>2]=J[b>>2];if((b|0)!=(l|0)){continue}break}}J[h+80>>2]=a+(f<<2);J[h+76>>2]=c;J[h+72>>2]=g;if(!l){break da}xj(l);break da}Ia();C()}Ia();C()}r=J[h+8>>2];z=J[r>>2];if(((J[r+4>>2]-z>>2>>>0)/3|0)<=(j|0)){k=-1;break q}a=-1;k=-1;b=-1;v=J[r+24>>2];f=-1;ia:{if((o|0)==-1){break ia}e=o+1|0;e=(e>>>0)%3|0?e:o-2|0;f=-1;if((e|0)==-1){break ia}f=J[z+(e<<2)>>2]}l=J[v+(f<<2)>>2];ja:{if((l|0)==-1){g=1;e=-1;break ja}g=1;c=l+1|0;c=(c>>>0)%3|0?c:l-2|0;e=-1;if((c|0)==-1){break ja}g=0;a=c;e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;if((e|0)!=-1){e=J[z+(e<<2)>>2]}else{e=-1}}c=J[(e<<2)+v>>2];if((c|0)!=-1){b=c+1|0;b=(b>>>0)%3|0?b:c-2|0}if((a|0)==(o|0)|(b|0)==(o|0)|((o|0)!=-1&J[J[r+12>>2]+(o<<2)>>2]!=-1|(a|0)==(b|0))){break q}if(!g&J[J[r+12>>2]+(a<<2)>>2]!=-1){break q}g=-1;l=J[r+12>>2];v=-1;ka:{if((b|0)==-1){break ka}if(J[l+(b<<2)>>2]!=-1){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;v=-1;if((c|0)==-1){break ka}v=J[z+(c<<2)>>2]}c=P(j,3);J[i>>2]=c;J[l+(c<<2)>>2]=o;J[l+(o<<2)>>2]=c;c=J[i>>2]+1|0;J[l+(c<<2)>>2]=a;J[l+(a<<2)>>2]=c;a=J[i>>2]+2|0;J[l+(a<<2)>>2]=b;J[l+(b<<2)>>2]=a;a=J[i>>2];J[z+(a<<2)>>2]=e;k=a+1|0;l=z+(k<<2)|0;J[l>>2]=v;v=a+2|0;c=z+(v<<2)|0;J[c>>2]=f;f=J[h+120>>2];e=k?e:-1;b=f+(e>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(e)&a,J[O>>2]=Q;g=(k|0)!=-1?J[l>>2]:g;b=f+(g>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(g)&a,J[O>>2]=Q;b=-1;b=(v|0)!=-1?J[c>>2]:b;e=f+(b>>>3&536870908)|0;a=J[e>>2];O=e,Q=rk(b)&a,J[O>>2]=Q;H[i+88|0]=1;ff(m,i+88|0);df(u,i);j=j+1|0;e=J[i+64>>2]}if((d|0)!=(e|0)){continue}break}a=J[h+8>>2]}k=-1;if(((J[a+4>>2]-J[a>>2]>>2>>>0)/3|0)!=(j|0)){break q}k=J[a+28>>2]-J[a+24>>2]>>2;s=J[i+24>>2];c=J[i+28>>2];if((s|0)==(c|0)){break p}while(1){j=J[s>>2];d=J[a+24>>2];b=k-1|0;g=d+(b<<2)|0;if(J[g>>2]==-1){while(1){b=k-2|0;k=k-1|0;g=d+(b<<2)|0;if(J[g>>2]==-1){continue}break}}if(b>>>0>=j>>>0){J[i>>2]=a;g=J[g>>2];H[i+12|0]=1;J[i+8>>2]=g;J[i+4>>2]=g;if((g|0)!=-1){while(1){a=J[J[h+8>>2]>>2]+(g<<2)|0;if(J[a>>2]!=(b|0)){k=-1;break q}J[a>>2]=j;wd(i);g=J[i+8>>2];if((g|0)!=-1){continue}break}a=J[h+8>>2]}d=J[a+24>>2];e=d+(b<<2)|0;if((j|0)!=-1){J[d+(j<<2)>>2]=J[e>>2]}J[e>>2]=-1;f=1<<j;d=J[h+120>>2];e=d+(j>>>3&536870908)|0;j=d+(b>>>3&536870908)|0;d=1<<b;if(J[j>>2]&d){b=f|J[e>>2]}else{b=J[e>>2]&(f^-1)}J[e>>2]=b;J[j>>2]=J[j>>2]&(d^-1);k=k-1|0}s=s+4|0;if((c|0)!=(s|0)){continue}break}}s=J[i+24>>2]}if(s){xj(s)}a=J[i+48>>2];if(a){while(1){d=J[a>>2];xj(a);a=d;if(a){continue}break}}a=J[i+40>>2];J[i+40>>2]=0;if(a){xj(a)}a=J[i+64>>2];if(a){J[i+68>>2]=a;xj(a)}fa=i+96|0;a=k;break m}Ia();C()}Va();C()}b=a;if((a|0)==-1){break l}e=J[B+16>>2];d=e+J[B>>2]|0;a=J[B+8>>2]-e|0;e=J[J[h+4>>2]+32>>2];I[e+38>>1]=L[e+38>>1];J[e>>2]=d;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=a;J[e+12>>2]=0;d=J[h+4>>2];a=L[d+36>>1];e=a<<8|a>>>8;if((e&65535)>>>0<=513){d=J[d+32>>2];c=d;a=J[c+16>>2];d=G+J[c+20>>2]|0;a=a+x|0;d=a>>>0<x>>>0?d+1|0:d;J[c+16>>2]=a;J[c+20>>2]=d}la:{if(J[h+216>>2]==J[h+220>>2]){break la}a=J[h+8>>2];d=J[a>>2];a=J[a+4>>2];ma:{if((e&65535)>>>0>=513){if((a|0)==(d|0)){break la}d=0;break ma}if((a|0)==(d|0)){break la}d=0;while(1){if(Ye(h,d)){d=d+3|0;a=J[h+8>>2];if(d>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break la}break}break l}while(1){if(Ze(h,d)){d=d+3|0;a=J[h+8>>2];if(d>>>0<J[a+4>>2]-J[a>>2]>>2>>>0){continue}break la}break}break l}_e(N);d=J[h+216>>2];if((d|0)!=J[h+220>>2]){l=0;while(1){c=P(l,144);Ci((c+d|0)+4|0,J[h+8>>2]);a=J[E>>2];e=a+c|0;d=J[e+132>>2];e=J[e+136>>2];if((d|0)!=(e|0)){while(1){Ei((c+J[E>>2]|0)+4|0,J[d>>2]);d=d+4|0;if((e|0)!=(d|0)){continue}break}a=J[E>>2]}if(!Di((a+c|0)+4|0)){break l}l=l+1|0;d=J[h+216>>2];if(l>>>0<(J[h+220>>2]-d|0)/144>>>0){continue}break}}a=J[h+8>>2];$e(h+184|0,J[a+28>>2]-J[a+24>>2]>>2);w=J[h+216>>2];if((w|0)!=J[h+220>>2]){d=0;while(1){a=P(d,144)+w|0;e=J[a+60>>2]-J[a+56>>2]>>2;c=a+104|0;a=J[h+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(c,(a|0)<(e|0)?e:a);d=d+1|0;w=J[h+216>>2];if(d>>>0<(J[h+220>>2]-w|0)/144>>>0){continue}break}}w=af(h,b)}break b}w=0}fa=t- -64|0;return w|0}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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,I=0,L=0,M=0,N=0;A=c;c=0;m=fa-96|0;fa=m;l=m+16|0;Xi(l,0,76);J[m+92>>2]=-1;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;r=fa-16|0;fa=r;J[l+68>>2]=0;J[l+72>>2]=0;J[l>>2]=b;s=fa-16|0;fa=s;u=b;a=J[b+20>>2];a:{if((J[b+24>>2]-a|0)<=0){break a}a=J[a>>2];if((a|0)==-1){break a}c=J[J[u+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=J[u+100>>2];e=J[u+96>>2];J[s+8>>2]=0;J[s>>2]=0;J[s+4>>2]=0;f=a-e|0;b=(f|0)/12|0;e:{if((a|0)==(e|0)){break e}if(b>>>0>=357913942){break c}d=Cj(f);J[s>>2]=d;J[s+8>>2]=d+P(b,12);a=0;n=d;f=f-12|0;d=(f-((f>>>0)%12|0)|0)+12|0;f=Xi(n,0,d);J[s+4>>2]=d+f;if(K[c+84|0]){c=b>>>0<=1?1:b;h=c&1;if(b>>>0>=2){g=c&-2;c=0;while(1){d=P(a,12);b=d+e|0;i=J[b+4>>2];j=J[b>>2];d=d+f|0;J[d+8>>2]=J[b+8>>2];J[d>>2]=j;J[d+4>>2]=i;d=P(a|1,12);b=d+e|0;i=J[b+4>>2];j=J[b>>2];d=d+f|0;J[d+8>>2]=J[b+8>>2];J[d>>2]=j;J[d+4>>2]=i;a=a+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break e}b=P(a,12);a=b+e|0;c=J[a+4>>2];e=J[a>>2];b=b+f|0;J[b+8>>2]=J[a+8>>2];J[b>>2]=e;J[b+4>>2]=c;break e}h=b>>>0<=1?1:b;a=J[c+68>>2];c=0;while(1){d=P(c,12);b=d+e|0;g=J[a+(J[b>>2]<<2)>>2];i=J[a+(J[b+4>>2]<<2)>>2];d=d+f|0;J[d+8>>2]=J[a+(J[b+8>>2]<<2)>>2];J[d+4>>2]=i;J[d>>2]=g;c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=0;E=fa-16|0;fa=E;h=Cj(88);ti(h);B=fa-16|0;fa=B;J[h+80>>2]=0;J[h+84>>2]=0;a=J[h+76>>2];J[h+76>>2]=0;if(a){xj(a)}J[h+68>>2]=0;J[h+72>>2]=0;b=h- -64|0;a=J[b>>2];J[b>>2]=0;if(a){xj(a)}g=J[s+4>>2];b=J[s>>2];c=(g-b|0)/12|0;a=P(c,3);f=J[h>>2];e=J[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){ag(h,a-e|0);g=J[s+4>>2];b=J[s>>2];c=(g-b|0)/12|0;break f}if(a>>>0>=e>>>0){break f}J[h+4>>2]=f+(a<<2)}g:{if((b|0)==(g|0)){break g}e=c>>>0<=1?1:c;g=e&1;a=J[h>>2];if(c>>>0>=2){i=e&-2;c=0;while(1){e=P(d,12);j=e+a|0;f=b+e|0;J[j>>2]=J[f>>2];J[a+(e|4)>>2]=J[f+4>>2];J[j+8>>2]=J[f+8>>2];f=P(d|1,12);e=f+a|0;f=b+f|0;J[e>>2]=J[f>>2];J[e+4>>2]=J[f+4>>2];J[e+8>>2]=J[f+8>>2];d=d+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break g}c=P(d,12);a=c+a|0;b=b+c|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2]}J[B+12>>2]=-1;a=0;e=0;g=0;f=fa-32|0;fa=f;h:{i:{v=B+12|0;j:{if(!v){break j}c=J[h+4>>2];j=J[h>>2];d=c-j|0;i=d>>2;n=J[h+12>>2];b=J[h+16>>2]-n>>2;k:{if(i>>>0>b>>>0){Vb(h+12|0,i-b|0,13700);c=J[h+4>>2];j=J[h>>2];d=c-j|0;i=d>>2;break k}if(b>>>0<=i>>>0){break k}J[h+16>>2]=n+(i<<2)}J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;b=(c|0)==(j|0);if(!b){if((d|0)<0){break i}e=Cj(d);J[f+20>>2]=e;J[f+16>>2]=e;J[f+24>>2]=(i<<2)+e}l:{m:{n:{o:{p:{if(d){while(1){i=J[(a<<2)+j>>2];b=J[f+20>>2]-e>>2;q:{if(i>>>0<b>>>0){break q}J[f>>2]=0;d=i+1|0;if(d>>>0>b>>>0){fb(f+16|0,d-b|0,f);j=J[h>>2];c=J[h+4>>2];e=J[f+16>>2];break q}if(b>>>0<=d>>>0){break q}J[f+20>>2]=(d<<2)+e}b=(i<<2)+e|0;J[b>>2]=J[b>>2]+1;a=a+1|0;d=c-j|0;i=d>>2;if(a>>>0<i>>>0){continue}break}break p}d=0;if(!b){break o}break n}if((c|0)==(j|0)){d=0;break n}if(d>>>0>=2147483645){break m}}d=Cj(d<<1);Xi(d,255,i<<3)}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=J[f+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}q=Cj(a);J[f>>2]=q;J[f+8>>2]=(t<<2)+q;b=Xi(q,0,a);J[f+4>>2]=b+a;c=t>>>0<=1?1:t;n=c&3;a=0;if(c-1>>>0>=3){o=c&-4;while(1){c=g<<2;J[c+b>>2]=a;w=c|4;a=J[c+e>>2]+a|0;J[w+b>>2]=a;x=c|8;a=a+J[e+w>>2]|0;J[x+b>>2]=a;c=c|12;a=a+J[e+x>>2]|0;J[c+b>>2]=a;a=a+J[c+e>>2]|0;g=g+4|0;p=p+4|0;if((o|0)!=(p|0)){continue}break}}if(!n){break s}while(1){c=g<<2;J[c+b>>2]=a;g=g+1|0;a=J[c+e>>2]+a|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}}if(!i){break l}w=J[h+40>>2];x=J[h+12>>2];n=0;while(1){F=n<<2;a=F+j|0;k=-1;c=n+1|0;b=(c>>>0)%3|0?c:n-2|0;if((b|0)!=-1){k=J[(b<<2)+j>>2]}b=J[a>>2];t:{u:{if(!((n>>>0)%3|0)){p=-1;a=n+2|0;if((a|0)!=-1){p=J[(a<<2)+j>>2]}if(!((b|0)==(k|0)|(b|0)==(p|0))&(k|0)!=(p|0)){break u}w=w+1|0;J[h+40>>2]=w;c=n+3|0;break t}p=J[a-4>>2]}a=p<<2;z=J[a+e>>2];v:{w:{if((z|0)<=0){break w}a=J[a+q>>2];g=0;while(1){o=(a<<3)+d|0;y=J[o>>2];if((y|0)==-1){break w}x:{if((k|0)!=(y|0)){break x}o=J[o+4>>2];if((o|0)!=-1){y=J[(o<<2)+j>>2]}else{y=-1}if((y|0)==(b|0)){break x}while(1){y:{b=a;g=g+1|0;if((z|0)<=(g|0)){break y}a=b+1|0;G=(a<<3)+d|0;y=J[G>>2];I=(b<<3)+d|0;J[I+4>>2]=J[G+4>>2];J[I>>2]=y;if((y|0)!=-1){continue}}break}J[(b<<3)+d>>2]=-1;if((o|0)==-1){break w}J[x+F>>2]=o;J[x+(o<<2)>>2]=n;break v}a=a+1|0;g=g+1|0;if((z|0)!=(g|0)){continue}break}}a=k<<2;k=J[a+e>>2];if((k|0)<=0){break v}a=J[a+q>>2];g=0;while(1){b=(a<<3)+d|0;if(J[b>>2]==-1){J[b>>2]=p;J[b+4>>2]=n;break v}a=a+1|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}}n=c;if(n>>>0<i>>>0){continue}break}break l}break i}Ia();C()}J[v>>2]=t;if(q){xj(q)}if(d){xj(d)}a=J[f+16>>2];if(!a){break j}J[f+20>>2]=a;xj(a)}fa=f+32|0;w=(v|0)!=0;if(w){k=fa-32|0;fa=k;a=J[h>>2];g=J[h+4>>2];J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;if((a|0)==(g|0)){c=g}else{a=g-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=Cj(b<<2);J[k+24>>2]=b;J[k+20>>2]=0;J[k+16>>2]=c;ui(k+16|0,a);g=J[h>>2];c=J[h+4>>2]}J[k+8>>2]=0;J[k>>2]=0;while(1){z:{o=0;i=0;if((c|0)==(g|0)){break z}while(1){b=J[k+16>>2];A:{if(J[b+(i>>>3&536870908)>>2]>>>i&1){break A}c=J[k>>2];J[k+4>>2]=c;e=J[h+12>>2];a=i;while(1){B:{f=a+1|0;d=a;a=(f>>>0)%3|0?f:a-2|0;if((a|0)==-1){break B}a=J[e+(a<<2)>>2];if((a|0)==-1){break B}f=a+1|0;a=(f>>>0)%3|0?f:a-2|0;if((i|0)==(a|0)|(a|0)==-1){break B}if(!(J[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}j=d;C:{D:{E:{while(1){a=J[k+16>>2]+(j>>>3&536870908)|0;J[a>>2]=J[a>>2]|1<<j;a=j+1|0;f=(a>>>0)%3|0?a:j-2|0;g=J[h>>2];x=(j>>>0)%3|0;b=(x?-1:2)+j|0;n=J[k>>2];z=(n|0)==(c|0);F:{if(z){break F}v=J[(f<<2)+g>>2];q=J[h+12>>2];a=n;if((b|0)!=-1){e=q+(b<<2)|0;while(1){G:{if((v|0)!=J[a>>2]){break G}p=J[a+4>>2];t=J[e>>2];if((p|0)==(t|0)){break G}e=b;c=-1;a=-1;if((p|0)==-1){break C}break D}a=a+8|0;if((c|0)!=(a|0)){continue}break}break F}while(1){if((v|0)==J[a>>2]){t=-1;e=-1;p=J[a+4>>2];if((p|0)!=-1){break D}}a=a+8|0;if((c|0)!=(a|0)){continue}break}}b=J[(b<<2)+g>>2];H:{if(J[k+8>>2]!=(c|0)){J[c>>2]=b;J[c+4>>2]=f;c=c+8|0;J[k+4>>2]=c;break H}a=c-n|0;p=a>>3;e=p+1|0;if(e>>>0>=536870912){break i}g=a>>>2|0;g=a>>>0>=2147483640?536870911:e>>>0<g>>>0?g:e;if(g){if(g>>>0>=536870912){break E}e=Cj(g<<3)}else{e=0}a=e+(p<<3)|0;J[a>>2]=b;J[a+4>>2]=f;b=a+8|0;if(!z){while(1){c=c-8|0;f=J[c+4>>2];a=a-8|0;J[a>>2]=J[c>>2];J[a+4>>2]=f;if((c|0)!=(n|0)){continue}break}c=J[k>>2]}J[k+8>>2]=e+(g<<3);J[k+4>>2]=b;J[k>>2]=a;if(c){xj(c)}c=b}I:{J:{if(x){a=j-1|0;break J}a=j+2|0;if((a|0)==-1){break I}}a=J[J[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break I}j=a+((a>>>0)%3|0?-1:2)|0;if((d|0)==(j|0)){break I}if((j|0)!=-1){continue}}break}g=J[h>>2];break A}Va();C()}c=J[q+(p<<2)>>2];b=e;a=p}if((t|0)!=-1){J[q+(t<<2)>>2]=-1}if((c|0)!=-1){J[q+(c<<2)>>2]=-1}J[q+(b<<2)>>2]=-1;J[q+(a<<2)>>2]=-1;o=1}i=i+1|0;c=J[h+4>>2];if(i>>>0<c-g>>2>>>0){continue}break}if(o){continue}}break}a=J[k>>2];if(a){xj(a)}a=J[k+16>>2];if(a){xj(a)}fa=k+32|0;n=0;g=fa-32|0;fa=g;e=J[B+12>>2];J[h+36>>2]=e;p=h+24|0;b=J[h+24>>2];a=J[h+28>>2]-b>>2;K:{L:{if(a>>>0<e>>>0){Vb(p,e-a|0,13700);J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;break L}if(a>>>0>e>>>0){J[h+28>>2]=b+(e<<2)}J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;if(!e){break K}}if((e|0)<0){break i}a=(e-1>>>5|0)+1|0;b=Cj(a<<2);J[g+24>>2]=a;J[g+20>>2]=0;J[g+16>>2]=b;ui(g+16|0,e)}a=J[h>>2];b=J[h+4>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;M:{if((a|0)==(b|0)){a=b}else{a=b-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=Cj(b<<2);J[g+8>>2]=b;J[g+4>>2]=0;J[g>>2]=c;ui(g,a);b=J[h>>2];a=J[h+4>>2]}if(a-b>>>0<12){break M}N:{while(1){q=P(n,3);d=(q<<2)+b|0;f=J[d>>2];c=-1;i=q+1|0;if((i|0)!=-1){c=J[(i<<2)+b>>2]}O:{if((c|0)==(f|0)){break O}i=f;f=J[d+8>>2];if((i|0)==(f|0)|(c|0)==(f|0)){break O}k=0;i=J[g>>2];while(1){f=k+q|0;if(!(J[(f>>>3&536870908)+i>>2]>>>f&1)){a=J[(f<<2)+b>>2];c=1<<a;d=J[g+16>>2];b=a>>>5|0;i=J[d+(b<<2)>>2];t=c&i;if(t){c=J[h+28>>2];P:{if((c|0)!=J[h+32>>2]){J[c>>2]=-1;J[h+28>>2]=c+4;break P}i=J[p>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0<j>>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=Cj(j<<2)}else{b=0}d=b+(o<<2)|0;J[d>>2]=-1;o=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[h+32>>2]=b+(j<<2);J[h+28>>2]=o;J[h+24>>2]=d;if(!i){break P}xj(i)}c=J[h+52>>2];Q:{if((c|0)!=J[h+56>>2]){J[c>>2]=a;J[h+52>>2]=c+4;break Q}i=J[h+48>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0<j>>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=Cj(j<<2)}else{b=0}d=b+(o<<2)|0;J[d>>2]=a;a=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[h+56>>2]=b+(j<<2);J[h+52>>2]=a;J[h+48>>2]=d;if(!i){break Q}xj(i)}c=J[g+20>>2];a=J[g+24>>2];if((c|0)==a<<5){if((c+1|0)<0){break i}b=g+16|0;if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}Jc(b,a);c=J[g+20>>2]}J[g+20>>2]=c+1;d=J[g+16>>2];a=d+(c>>>3&536870908)|0;b=J[a>>2];M=a,N=rk(c)&b,J[M>>2]=N;c=1<<e;b=e>>>5|0;i=J[(b<<2)+d>>2];a=e;e=a+1|0}J[(b<<2)+d>>2]=c|i;o=J[h+24>>2]+(a<<2)|0;j=J[h+12>>2];b=J[h>>2];i=J[g>>2];c=f;R:{S:{T:{while(1){if((c|0)==-1){break T}d=(c>>>3&536870908)+i|0;J[d>>2]=J[d>>2]|1<<c;J[o>>2]=c;if(t){J[(c<<2)+b>>2]=a}v=c+1|0;c=(v>>>0)%3|0?v:c-2|0;d=-1;U:{if((c|0)==-1){break U}c=J[j+(c<<2)>>2];d=-1;if((c|0)==-1){break U}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0}c=d;if((f|0)!=(c|0)){continue}break}if((f|0)!=-1){break R}c=1;break S}if((f>>>0)%3|0){c=f-1|0;break S}c=f+2|0;if((c|0)==-1){break R}}c=J[j+(c<<2)>>2];if((c|0)==-1){break R}V:{if((c>>>0)%3|0){c=c-1|0;break V}c=c+2|0;if((c|0)==-1){break R}}f=J[h+12>>2];b=J[h>>2];while(1){d=(c>>>3&536870908)+i|0;J[d>>2]=J[d>>2]|1<<c;if(t){J[(c<<2)+b>>2]=a}W:{if((c>>>0)%3|0){c=c-1|0;break W}c=c+2|0;if((c|0)==-1){break R}}c=J[f+(c<<2)>>2];if((c|0)==-1){break R}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}}k=k+1|0;if((k|0)!=3){continue}break}b=J[h>>2];a=J[h+4>>2]}n=n+1|0;if(n>>>0<(a-b>>2>>>0)/3>>>0){continue}break}break M}Va();C()}c=0;J[h+44>>2]=0;a=J[g+16>>2];b=J[g+20>>2];if(b){e=b&31;b=(b>>>3&536870908)+a|0;d=a;i=0;while(1){if(!(J[d>>2]>>>c&1)){i=i+1|0;J[h+44>>2]=i}f=(c|0)==31;c=f?0:c+1|0;d=(f<<2)+d|0;if((b|0)!=(d|0)|(c|0)!=(e|0)){continue}break}}b=J[g>>2];if(b){xj(b);a=J[g+16>>2]}if(a){xj(a)}fa=g+32|0}fa=B+16|0;if(!w){J[E+8>>2]=0;Se(h);h=0}fa=E+16|0;a=h;break h}Ia();C()}b=J[s>>2];if(!b){break d}J[s+4>>2]=b;xj(b)}fa=s+16|0;break b}Ia();C()}c=J[l+4>>2];b=a;J[l+4>>2]=a;if(c){Se(c);b=J[l+4>>2]}X:{if(!b){break X}a=J[u+100>>2];c=J[u+96>>2];H[r+12|0]=0;Oe(l+56|0,(a-c|0)/12|0,r+12|0);a=J[u+100>>2];c=J[u+96>>2];if((a|0)==(c|0)){break X}while(1){if(!(J[J[l+56>>2]+(D>>>3&536870908)>>2]>>>D&1)){a=P(D,3);Fi(l,0,a);c=J[l+8>>2];e=J[l+12>>2];Fi(l,1,a+1|0);f=J[l+20>>2];d=J[l+24>>2];Fi(l,2,a+2|0);n=(c|0)==(e|0)?-1:0;a=d-f>>2;c=e-c>>2;e=a>>>0>c>>>0;c=J[l+36>>2]-J[l+32>>2]>>2>>>0>(e?a:c)>>>0?2:e?1:n;Y:{if(J[l+68>>2]<=0){break Y}J[r+12>>2]=J[l+76>>2];J[r+8>>2]=m;vg(r+8|0,r+12|0);a=J[((c<<2)+l|0)+44>>2];if((a|0)<0){a=-1}else{e=(a>>>0)/3|0;a=J[(J[J[l>>2]+96>>2]+P(e,12)|0)+(a-P(e,3)<<2)>>2]}J[r+12>>2]=a;J[r+8>>2]=m;vg(r+8|0,r+12|0);e=J[l+72>>2];J[l+72>>2]=e+2;if(!(e&1)){break Y}J[r+12>>2]=a;J[r+8>>2]=m;vg(r+8|0,r+12|0);J[l+72>>2]=J[l+72>>2]+1}d=0;e=fa-16|0;fa=e;J[l+68>>2]=J[l+68>>2]+1;a=P(c,12)+l|0;a=J[a+12>>2]-J[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;h=a>>>0<=1?1:a;c=J[((c<<2)+l|0)+44>>2];while(1){a=c;f=(a>>>0)/3|0;c=(a|0)==-1;g=c?-1:f;i=J[l+56>>2]+(g>>>3&536870908)|0;J[i>>2]=J[i>>2]|1<<g;J[l+72>>2]=J[l+72>>2]+1;Z:{_:{$:{aa:{ba:{if(!d){ca:{if((a|0)>=0){J[e+12>>2]=J[(J[J[l>>2]+96>>2]+P(f,12)|0)+((a>>>0)%3<<2)>>2];J[e+8>>2]=m;vg(e+8|0,e+12|0);break ca}J[e+12>>2]=-1;J[e+8>>2]=m;vg(e+8|0,e+12|0);if(c){break ba}}c=-1;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)>=0){g=(f>>>0)/3|0;f=J[(J[J[l>>2]+96>>2]+P(g,12)|0)+(f-P(g,3)<<2)>>2]}else{f=-1}J[e+12>>2]=f;J[e+8>>2]=m;vg(e+8|0,e+12|0);f=((a>>>0)%3|0?-1:2)+a|0;if((f|0)<0){break aa}c=(f>>>0)/3|0;c=J[(J[J[l>>2]+96>>2]+P(c,12)|0)+(f-P(c,3)<<2)>>2];break aa}c=(a|0)<0?-1:J[(J[J[l>>2]+96>>2]+P(f,12)|0)+((a>>>0)%3<<2)>>2];J[l+76>>2]=c;J[e+12>>2]=c;J[e+8>>2]=m;vg(e+8|0,e+12|0);if(d&1){c=-1;if((a|0)==-1){break Z}if((P(f,3)|0)!=(a|0)){a=a-1|0;break _}a=a+2|0;break $}c=-1;if((a|0)==-1){break Z}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break $}c=-1;J[e+12>>2]=-1;J[e+8>>2]=m;vg(e+8|0,e+12|0)}J[l+76>>2]=c;J[e+12>>2]=c;J[e+8>>2]=m;vg(e+8|0,e+12|0)}c=-1;if((a|0)==-1){break Z}}c=J[J[J[l+4>>2]+12>>2]+(a<<2)>>2]}d=d+1|0;if((h|0)!=(d|0)){continue}break}}fa=e+16|0;c=J[u+96>>2];a=J[u+100>>2]}D=D+1|0;if(D>>>0<(a-c|0)/12>>>0){continue}break}}fa=r+16|0;da:{if(b){a=J[A>>2];if(a){J[A+4>>2]=a;xj(a)}J[A>>2]=J[m>>2];J[A+4>>2]=J[m+4>>2];J[A+8>>2]=J[m+8>>2];L=J[m+84>>2];break da}a=J[m>>2];if(!a){break da}J[m+4>>2]=a;xj(a)}a=J[m+72>>2];if(a){xj(a)}a=J[m+48>>2];if(a){J[m+52>>2]=a;xj(a)}a=J[m+36>>2];if(a){J[m+40>>2]=a;xj(a)}a=J[m+24>>2];if(a){J[m+28>>2]=a;xj(a)}a=J[m+20>>2];J[m+20>>2]=0;if(a){Se(a)}fa=m+96|0;return L|0}function Wh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=b;a=0;b=0;a:{b:{switch(d-1|0){case 0:j=J[i+80>>2];h=K[c+24|0];c:{if((P(j,h)|0)!=(e|0)){break c}d=J[c+28>>2]!=1;b=K[c+84|0];if(!(d|!b)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break c}if(h){a=Cj(h);Xi(a,0,h)}d:{if(!j){b=1;break d}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=J[J[c>>2]>>2];m=J[c+48>>2];g=J[c+40>>2];b=nk(g,J[c+44>>2],K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;Vi(i,Vi(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break d}if(b){b=1;h=J[c>>2];e=J[c+48>>2];f=J[c+40>>2];i=J[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=J[h>>2];m=nk(f,i,c,0)+e|0;k=Vi(a,k+m|0,f);m=J[h>>2];n=nk(f,i,c|1,0)+e|0;Vi(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break d}c=J[h>>2];d=nk(g,0,f,i)+e|0;Vi(a,c+d|0,f);break d}b=1;h=J[c>>2];e=J[c+48>>2];g=J[c+68>>2];f=J[c+40>>2];i=J[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=J[h>>2];n=c<<2;l=nk(f,i,J[n+g>>2],0)+e|0;m=Vi(a,m+l|0,f);l=J[h>>2];n=nk(f,i,J[g+(n|4)>>2],0)+e|0;Vi(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break d}d=J[h>>2];c=nk(f,i,J[g+(c<<2)>>2],0)+e|0;Vi(a,c+d|0,f);break d}b=0;if(!h){d=0;while(1){if(!wg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break d}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break d}d=0;e=0;while(1){if(!wg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break d}Vi(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break c}xj(a)}break a;case 2:n=K[c+24|0];l=n<<1;j=J[i+80>>2];e:{if((P(l,j)|0)!=(e|0)){break e}i=J[c+28>>2]!=3;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);a=1;break e}f:{if(!n){e=0;break f}e=Cj(l);Xi(e,0,l)}g:{if(!j){a=1;break g}if(!i){o=J[c+68>>2];k=J[c>>2];b=J[c+48>>2];i=J[c+40>>2];m=J[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=J[k>>2];p=nk(i,m,J[o+(d<<2)>>2],0)+b|0;Vi((c<<1)+f|0,Vi(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break g}c=0;while(1){a=1;o=J[k>>2];p=nk(g,h,i,m)+b|0;Vi((c<<1)+f|0,Vi(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break g}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[k>>2];g=c<<2;n=nk(i,m,J[g+o>>2],0)+b|0;h=Vi(e,h+n|0,i);n=J[k>>2];g=nk(i,m,J[o+(g|4)>>2],0)+b|0;Vi(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break g}d=J[k>>2];b=nk(i,m,J[o+(c<<2)>>2],0)+b|0;Vi(e,b+d|0,i);break g}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=J[k>>2];l=nk(g,h,i,m)+b|0;d=Vi(e,d+l|0,i);l=J[k>>2];o=nk(i,m,g|1,h)+b|0;Vi(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break g}c=J[k>>2];b=nk(g,h,i,m)+b|0;Vi(e,b+c|0,i);break g}if(!n){d=0;while(1){if(!zg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break g}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break g}d=0;while(1){if(!zg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break g}Vi((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break e}xj(e)}b=a;break a;case 4:l=K[c+24|0];o=l<<2;j=J[i+80>>2];h:{if((P(o,j)|0)!=(e|0)){break h}i=J[c+28>>2]!=5;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break h}i:{if(!l){e=0;break i}e=Cj(o);Xi(e,0,o)}b=1;j:{if(!j){break j}if(!i){a=J[c+68>>2];m=J[c>>2];i=J[c+48>>2];k=J[c+40>>2];n=J[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=J[m>>2];p=nk(k,n,J[a+(d<<2)>>2],0)+i|0;Vi((c<<2)+f|0,Vi(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break j}c=0;while(1){d=J[m>>2];p=nk(g,h,k,n)+i|0;Vi((c<<2)+f|0,Vi(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break j}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[m>>2];g=c<<2;l=nk(k,n,J[g+a>>2],0)+i|0;h=Vi(e,h+l|0,k);l=J[m>>2];g=nk(k,n,J[a+(g|4)>>2],0)+i|0;Vi(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break j}d=J[m>>2];a=nk(k,n,J[a+(c<<2)>>2],0)+i|0;Vi(e,a+d|0,k);break j}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=J[m>>2];d=nk(g,h,k,n)+i|0;a=Vi(e,a+d|0,k);d=J[m>>2];o=nk(k,n,g|1,h)+i|0;Vi(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break j}a=J[m>>2];c=nk(g,h,k,n)+i|0;Vi(e,a+c|0,k);break j}b=0;if(!l){d=0;while(1){if(!Bg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break j}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break j}d=0;while(1){if(!Bg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break j}Vi((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break h}xj(e)}break a;case 1:j=J[i+80>>2];h=K[c+24|0];k:{if((P(j,h)|0)!=(e|0)){break k}d=J[c+28>>2]!=2;b=K[c+84|0];if(!(d|!b)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break k}if(h){a=Cj(h);Xi(a,0,h)}l:{if(!j){b=1;break l}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=J[J[c>>2]>>2];m=J[c+48>>2];g=J[c+40>>2];b=nk(g,J[c+44>>2],K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;Vi(i,Vi(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break l}if(b){b=1;h=J[c>>2];e=J[c+48>>2];f=J[c+40>>2];i=J[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=J[h>>2];m=nk(f,i,c,0)+e|0;k=Vi(a,k+m|0,f);m=J[h>>2];n=nk(f,i,c|1,0)+e|0;Vi(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break l}c=J[h>>2];d=nk(g,0,f,i)+e|0;Vi(a,c+d|0,f);break l}b=1;h=J[c>>2];e=J[c+48>>2];g=J[c+68>>2];f=J[c+40>>2];i=J[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=J[h>>2];n=c<<2;l=nk(f,i,J[n+g>>2],0)+e|0;m=Vi(a,m+l|0,f);l=J[h>>2];n=nk(f,i,J[g+(n|4)>>2],0)+e|0;Vi(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break l}d=J[h>>2];c=nk(f,i,J[g+(c<<2)>>2],0)+e|0;Vi(a,c+d|0,f);break l}b=0;if(!h){d=0;while(1){if(!xg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break l}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break l}d=0;e=0;while(1){if(!xg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break l}Vi(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break k}xj(a)}break a;case 3:n=K[c+24|0];l=n<<1;j=J[i+80>>2];m:{if((P(l,j)|0)!=(e|0)){break m}i=J[c+28>>2]!=4;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);a=1;break m}n:{if(!n){e=0;break n}e=Cj(l);Xi(e,0,l)}o:{if(!j){a=1;break o}if(!i){o=J[c+68>>2];k=J[c>>2];b=J[c+48>>2];i=J[c+40>>2];m=J[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=J[k>>2];p=nk(i,m,J[o+(d<<2)>>2],0)+b|0;Vi((c<<1)+f|0,Vi(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break o}c=0;while(1){a=1;o=J[k>>2];p=nk(g,h,i,m)+b|0;Vi((c<<1)+f|0,Vi(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break o}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[k>>2];g=c<<2;n=nk(i,m,J[g+o>>2],0)+b|0;h=Vi(e,h+n|0,i);n=J[k>>2];g=nk(i,m,J[o+(g|4)>>2],0)+b|0;Vi(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break o}d=J[k>>2];b=nk(i,m,J[o+(c<<2)>>2],0)+b|0;Vi(e,b+d|0,i);break o}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=J[k>>2];l=nk(g,h,i,m)+b|0;d=Vi(e,d+l|0,i);l=J[k>>2];o=nk(i,m,g|1,h)+b|0;Vi(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break o}c=J[k>>2];b=nk(g,h,i,m)+b|0;Vi(e,b+c|0,i);break o}if(!n){d=0;while(1){if(!Ag(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break o}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break o}d=0;while(1){if(!Ag(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break o}Vi((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break m}xj(e)}b=a;break a;case 5:l=K[c+24|0];o=l<<2;j=J[i+80>>2];p:{if((P(o,j)|0)!=(e|0)){break p}i=J[c+28>>2]!=6;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break p}q:{if(!l){e=0;break q}e=Cj(o);Xi(e,0,o)}b=1;r:{if(!j){break r}if(!i){a=J[c+68>>2];m=J[c>>2];i=J[c+48>>2];k=J[c+40>>2];n=J[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=J[m>>2];p=nk(k,n,J[a+(d<<2)>>2],0)+i|0;Vi((c<<2)+f|0,Vi(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break r}c=0;while(1){d=J[m>>2];p=nk(g,h,k,n)+i|0;Vi((c<<2)+f|0,Vi(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break r}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[m>>2];g=c<<2;l=nk(k,n,J[g+a>>2],0)+i|0;h=Vi(e,h+l|0,k);l=J[m>>2];g=nk(k,n,J[a+(g|4)>>2],0)+i|0;Vi(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break r}d=J[m>>2];a=nk(k,n,J[a+(c<<2)>>2],0)+i|0;Vi(e,a+d|0,k);break r}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=J[m>>2];d=nk(g,h,k,n)+i|0;a=Vi(e,a+d|0,k);d=J[m>>2];o=nk(k,n,g|1,h)+i|0;Vi(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break r}a=J[m>>2];c=nk(g,h,k,n)+i|0;Vi(e,a+c|0,k);break r}b=0;if(!l){d=0;while(1){if(!Cg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break r}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break r}d=0;while(1){if(!Cg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break r}Vi((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break p}xj(e)}break a;case 8:p=K[c+24|0];q=p<<2;k=J[i+80>>2];s:{if((P(q,k)|0)!=(e|0)){break s}i=J[c+28>>2];t:{if(!p){break t}a=Cj(q);d=a;m=q-4|0;l=(m>>>2|0)+1&7;if(l){e=0;while(1){J[d>>2]=-1073741824;d=d+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(m>>>0<28){break t}e=(p<<2)+a|0;while(1){J[d+24>>2]=-1073741824;J[d+28>>2]=-1073741824;J[d+16>>2]=-1073741824;J[d+20>>2]=-1073741824;J[d+8>>2]=-1073741824;J[d+12>>2]=-1073741824;J[d>>2]=-1073741824;J[d+4>>2]=-1073741824;d=d+32|0;if((e|0)!=(d|0)){continue}break}}u:{if(!k){b=1;break u}if((i|0)==9){r=J[c+68>>2];l=J[c>>2];i=J[c+48>>2];s=K[c+84|0];m=J[c+44>>2];c=J[c+40>>2];o=c;if(p){e=0;d=0;while(1){h=(e<<2)+f|0;g=J[l>>2];b=nk(c,m,s?d:J[r+(d<<2)>>2],0)+i|0;Vi(h,Vi(a,b+g|0,o),q);e=e+p|0;b=1;d=d+1|0;if((k|0)!=(d|0)){continue}break}break u}if(!s){b=1;d=0;if((k|0)!=1){f=k&-2;e=0;while(1){h=J[l>>2];g=d<<2;j=nk(c,m,J[g+r>>2],0)+i|0;h=Vi(a,h+j|0,o);j=J[l>>2];g=nk(c,m,J[r+(g|4)>>2],0)+i|0;Vi(h,j+g|0,o);d=d+2|0;e=e+2|0;if((f|0)!=(e|0)){continue}break}}if(!(k&1)){break u}e=J[l>>2];c=nk(c,m,J[r+(d<<2)>>2],0)+i|0;Vi(a,c+e|0,o);break u}f=k&1;b=1;if((k|0)!=1){k=k&-2;while(1){d=J[l>>2];e=nk(g,h,c,m)+i|0;d=Vi(a,d+e|0,o);e=J[l>>2];p=nk(c,m,g|1,h)+i|0;Vi(d,e+p|0,o);g=g+2|0;h=g>>>0<2?h+1|0:h;d=j;e=n+2|0;d=e>>>0<2?d+1|0:d;n=e;j=d;if((e|0)!=(k|0)|d){continue}break}}if(!f){break u}d=J[l>>2];c=nk(g,h,c,m)+i|0;Vi(a,c+d|0,o);break u}if(!p){d=0;while(1){if(!Rc(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break u}d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}break u}e=0;d=0;while(1){if(!Rc(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break u}Vi((e<<2)+f|0,a,q);e=e+p|0;d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}}if(!a){break s}xj(a)}a=b;break;default:break b}}b=a}return b|0}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=fa-48|0;fa=i;a:{b:{if((c|0)!=1){break b}c=J[a+4>>2];g=J[a+12>>2];J[i+40>>2]=0;a=i;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;e=a+8|0;c:{if((b|0)==-2){break c}l=J[J[J[c+4>>2]+8>>2]+(g<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){a=L[c+36>>1];j=(a<<8|a>>>8)&65535;a=0;h=fa-32|0;fa=h;d=J[J[J[c+4>>2]+8>>2]+(g<<2)>>2];d:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break d}k=ka[J[J[c>>2]+36>>2]](c)|0;f=ka[J[J[c>>2]+44>>2]](c,g)|0;if(!k|!f){break d}a=ka[J[J[c>>2]+40>>2]](c,g)|0;if(a){c=J[c+44>>2];J[h+12>>2]=a;J[h+8>>2]=c;J[h+20>>2]=f;J[h+16>>2]=f+12;c=h+8|0;a=0;e:{f:{switch(b-1|0){case 0:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=2612;break e;case 1:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=3376;break e;case 3:a=Cj(112);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3612;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;break e;case 2:a=Cj(92);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3860;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=j;break e;case 4:a=Cj(104);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=4088;b=J[c+4>>2];J[a+88>>2]=J[c>>2];J[a+92>>2]=b;b=J[c+12>>2];J[a+96>>2]=J[c+8>>2];J[a+100>>2]=b;break e;case 5:break f;default:break e}}a=Cj(128);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{b=J[e+28>>2];d=J[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=Cj(d);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(d&-4)+b;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=3264;b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4952;J[a>>2]=4324;b=J[c+4>>2];J[a+72>>2]=J[c>>2];J[a+76>>2]=b;b=J[c+12>>2];J[a+80>>2]=J[c+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4560;J[a+112>>2]=0;J[a+116>>2]=0;H[a+117|0]=0;H[a+118|0]=0;H[a+119|0]=0;H[a+120|0]=0;H[a+121|0]=0;H[a+122|0]=0;H[a+123|0]=0;H[a+124|0]=0;break g}}break d}a=J[c+44>>2];J[h+12>>2]=k;J[h+8>>2]=a;J[h+20>>2]=f;J[h+16>>2]=f+12;c=h+8|0;a=0;h:{i:{switch(b-1|0){case 0:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=4980;break h;case 1:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=5404;break h;case 3:a=Cj(112);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5628;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;break h;case 2:a=Cj(92);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5864;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=j;break h;case 4:a=Cj(104);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=6080;b=J[c+4>>2];J[a+88>>2]=J[c>>2];J[a+92>>2]=b;b=J[c+12>>2];J[a+96>>2]=J[c+8>>2];J[a+100>>2]=b;break h;case 5:break i;default:break h}}a=Cj(128);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;j:{b=J[e+28>>2];d=J[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=Cj(d);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(d&-4)+b;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=5348;b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6888;J[a>>2]=6304;b=J[c+4>>2];J[a+72>>2]=J[c>>2];J[a+76>>2]=b;b=J[c+12>>2];J[a+80>>2]=J[c+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=6524;J[a+112>>2]=0;J[a+116>>2]=0;H[a+117|0]=0;H[a+118|0]=0;H[a+119|0]=0;H[a+120|0]=0;H[a+121|0]=0;H[a+122|0]=0;H[a+123|0]=0;H[a+124|0]=0;break j}}}fa=h+32|0;d=a;if(a){break c}}d=Cj(44);J[d+4>>2]=l;J[d>>2]=3320;a=J[e+4>>2];J[d+8>>2]=J[e>>2];J[d+12>>2]=a;a=J[e+12>>2];J[d+16>>2]=J[e+8>>2];J[d+20>>2]=a;a=J[e+20>>2];J[d+24>>2]=J[e+16>>2];J[d+28>>2]=a;J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;c=J[e+24>>2];a=J[e+28>>2];if((c|0)!=(a|0)){b=a-c|0;if((b|0)<0){break a}e=Cj(b);J[d+32>>2]=e;J[d+40>>2]=(b&-4)+e;while(1){J[e>>2]=J[c>>2];e=e+4|0;c=c+4|0;if((a|0)!=(c|0)){continue}break}J[d+36>>2]=e}J[d>>2]=6916;break c}e=d;a=J[i+32>>2];if(!a){break b}J[i+36>>2]=a;xj(a)}fa=i+48|0;return e|0}Ia();C()}function wj(a){a=a|0;var 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;l=fa-16|0;fa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=J[4314];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+17296|0;d=J[a+17304>>2];a=J[d+8>>2];j:{if((b|0)==(a|0)){m=17256,n=rk(c)&g,J[m>>2]=n;break j}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4316];if(k>>>0>=h>>>0){break i}if(b){a=2<<c;a=(0-a|a)&b<<c;d=mk(0-a&a);a=d<<3;b=a+17296|0;e=J[a+17304>>2];a=J[e+8>>2];k:{if((b|0)==(a|0)){g=rk(d)&g;J[4314]=g;break k}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+17296|0;f=J[4319];a=1<<(k>>>3);l:{if(!(a&g)){J[4314]=a|g;a=b;break l}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[4319]=c;J[4316]=d;break a}j=J[4315];if(!j){break i}c=J[(mk(0-j&j)<<2)+17560>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break m}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0<f>>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=J[4315];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+17560>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<<g;a=(0-a|a)&j;if(!a){break i}a=J[(mk(a&0-a)<<2)+17560>>2]}if(!a){break o}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0<f>>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4316]-h>>>0<=f>>>0){break i}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[4316];if(a>>>0>=h>>>0){d=J[4319];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break s}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[4316]=b;J[4319]=c;a=d+8|0;break a}i=J[4317];if(i>>>0>h>>>0){b=i-h|0;J[4317]=b;c=J[4320];a=c+h|0;J[4320]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[4432]){c=J[4434]}else{J[4435]=-1;J[4436]=-1;J[4433]=4096;J[4434]=4096;J[4432]=l+12&-16^1431655768;J[4437]=0;J[4425]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[4424];if(d){c=J[4422];g=c+b|0;if(d>>>0<g>>>0|c>>>0>=g>>>0){break a}}t:{if(!(K[17700]&4)){u:{v:{w:{x:{d=J[4320];if(d){a=17704;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0<c+J[a+4>>2]>>>0){break x}a=J[a+8>>2];if(a){continue}break}}c=vj(0);if((c|0)==-1){break u}g=b;d=J[4433];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=J[4424];if(d){a=J[4422];f=a+g|0;if(d>>>0<f>>>0|a>>>0>=f>>>0){break u}}a=vj(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=vj(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=J[4434];c=c+(j-g|0)&0-c;if((vj(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}J[4425]=J[4425]|4}c=vj(b);a=vj(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=J[4422]+g|0;J[4422]=a;if(a>>>0>M[4423]){J[4423]=a}y:{e=J[4320];if(e){a=17704;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break y}a=J[a+8>>2];if(a){continue}break}break f}a=J[4318];if(!(a>>>0<=c>>>0?a:0)){J[4318]=c}a=0;J[4427]=g;J[4426]=c;J[4322]=-1;J[4323]=J[4432];J[4429]=0;while(1){d=a<<3;b=d+17296|0;J[d+17304>>2]=b;J[d+17308>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4317]=b;a=a+c|0;J[4320]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4321]=J[4436];break e}if(K[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[4320]=c;b=J[4317]+g|0;a=b-a|0;J[4317]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[4321]=J[4436];break e}d=0;break b}c=0;break c}if(M[4318]>c>>>0){J[4318]=c}b=c+g|0;a=17704;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break E}break}if(!(K[a+12|0]&8)){break D}}a=17704;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[4320]=i;a=J[4317]+a|0;J[4317]=a;J[i+4>>2]=a|1;break A}if(J[4319]==(g|0)){J[4319]=i;a=J[4316]+a|0;J[4316]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break A}f=J[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=J[g+8>>2];b=f>>>3|0;c=J[g+12>>2];if((c|0)==(d|0)){m=17256,n=J[4314]&rk(b),J[m>>2]=n;break F}J[d+12>>2]=c;J[c+8>>2]=d;break F}h=J[g+24>>2];c=J[g+12>>2];G:{if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break G}H:{f=g+20|0;b=J[f>>2];if(b){break H}f=g+16|0;b=J[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break F}d=J[g+28>>2];b=(d<<2)+17560|0;I:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break I}m=17260,n=J[4315]&rk(d),J[m>>2]=n;break F}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break F}J[c+20>>2]=b;J[b+24>>2]=c}g=e+g|0;f=J[g+4>>2];a=a+e|0}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+17296|0;c=J[4314];a=1<<(a>>>3);J:{if(!(c&a)){J[4314]=a|c;a=b;break J}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+17560|0;d=J[4315];c=1<<f;K:{if(!(d&c)){J[4315]=c|d;J[b>>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4317]=b;a=a+c|0;J[4320]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4321]=J[4436];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0<e+16>>>0?e:a;J[d+4>>2]=27;a=J[4429];J[d+16>>2]=J[4428];J[d+20>>2]=a;a=J[4427];J[d+8>>2]=J[4426];J[d+12>>2]=a;J[4428]=d+8;J[4427]=g;J[4426]=c;J[4429]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0<f>>>0){continue}break}if((d|0)==(e|0)){break e}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+17296|0;c=J[4314];a=1<<(f>>>3);L:{if(!(c&a)){J[4314]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+17560|0;d=J[4315];c=1<<a;M:{if(!(d&c)){J[4315]=c|d;J[b>>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break e}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[4317];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4317]=b;c=J[4320];a=c+h|0;J[4320]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4004]=48;a=0;break a}N:{if(!g){break N}b=J[d+28>>2];a=(b<<2)+17560|0;O:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break O}j=rk(b)&j;J[4315]=j;break N}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break N}J[c+20>>2]=a;J[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break P}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+17296|0;c=J[4314];a=1<<(f>>>3);Q:{if(!(c&a)){J[4314]=a|c;a=b;break Q}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+17560|0;R:{c=1<<a;S:{if(!(c&j)){J[4315]=c|j;J[b>>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break P}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=J[c+28>>2];a=(b<<2)+17560|0;U:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break U}m=17260,n=rk(b)&j,J[m>>2]=n;break T}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break T}J[d+20>>2]=a;J[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break V}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+17296|0;e=J[4319];a=1<<(k>>>3);W:{if(!(a&g)){J[4314]=a|g;a=b;break W}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[4319]=d;J[4316]=f}a=c+8|0}fa=l+16|0;return a|0}function Hi(a,b){var 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;m=fa-32|0;fa=m;o=Cj(12);J[o+8>>2]=0;J[o+4>>2]=b;J[o>>2]=0;s=o+12|0;b=s;a:{b:{c:{while(1){b=b-12|0;v=J[b+8>>2];j=J[b+4>>2];t=J[b>>2];if(t){if((v|0)>1e3){break a}J[m+24>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;d=1;c=J[a>>2];e=J[c+8>>2];h=J[c+12>>2];g=J[c+20>>2];f=J[c+16>>2];d:{if((h|0)<=(g|0)&f>>>0>=e>>>0|(g|0)>(h|0)){break d}e=K[f+J[c>>2]|0];h=c;c=g;f=f+1|0;c=f?c:c+1|0;J[h+16>>2]=f;J[h+20>>2]=c;Kj(m+16|0,e);if(e){c=J[a>>2];n=Jj(m+16|0);p=J[c+8>>2];g=J[c+12>>2];h=J[c+20>>2];f=J[c+16>>2];k=f+e|0;h=k>>>0<e>>>0?h+1|0:h;if((g|0)<=(h|0)&k>>>0>p>>>0|(g|0)<(h|0)){break d}Vi(n,f+J[c>>2]|0,e);d=J[c+20>>2];f=e;e=e+J[c+16>>2]|0;d=f>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d}j=Cj(24);c=j;J[c+4>>2]=0;J[c+8>>2]=0;c=c+16|0;J[c>>2]=0;J[c+4>>2]=0;J[j>>2]=j+4;J[j+12>>2]=c;e=fa-32|0;fa=e;h=t+12|0;c=m+16|0;u=tg(h,c);i=t+16|0;e:{if((u|0)==(i|0)){J[e+16>>2]=c;f:{g:{d=J[h+4>>2];h:{if(!d){f=h+4|0;c=f;break h}f=K[c+11|0];g=f<<24>>24<0;n=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=d;d=K[c+27|0];f=d<<24>>24<0;d=f?J[c+20>>2]:d;p=d>>>0<g>>>0;i:{j:{k:{l:{k=p?d:g;m:{if(k){f=f?J[c+16>>2]:c+16|0;q=bj(n,f,k);if(!q){if(d>>>0>g>>>0){break m}break l}if((q|0)>=0){break l}break m}if(d>>>0<=g>>>0){break k}}f=c;d=J[c>>2];if(d){continue}break h}d=bj(f,n,k);if(d){break j}}if(p){break i}break g}if((d|0)>=0){break g}}d=J[c+4>>2];if(d){continue}break}f=c+4|0}d=Cj(32);n=d+16|0;g=J[e+16>>2];n:{if(H[g+11|0]>=0){p=J[g+4>>2];J[n>>2]=J[g>>2];J[n+4>>2]=p;J[n+8>>2]=J[g+8>>2];break n}Gj(n,J[g>>2],J[g+4>>2])}J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[d+28>>2]=0;J[f>>2]=d;c=d;g=J[J[h>>2]>>2];if(g){J[h>>2]=g;c=J[f>>2]}oe(J[h+4>>2],c);J[h+8>>2]=J[h+8>>2]+1;c=1;break f}d=c;c=0}H[e+28|0]=c;J[e+24>>2]=d;d=J[e+24>>2];c=J[d+28>>2];J[d+28>>2]=j;if(!c){break e}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c);break e}if(!j){break e}jg(j+12|0,J[j+16>>2]);kg(j,J[j+4>>2]);xj(j)}fa=e+32|0;d=(i|0)!=(u|0)}if(H[m+27|0]<0){xj(J[m+16>>2])}if(d){break a}}if(!j){break a}J[m+16>>2]=0;if(!Ii(1,m+16|0,J[a>>2])){break a}q=0;w=J[m+16>>2];if(w){while(1){d=0;i=fa-32|0;fa=i;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;c=J[a>>2];f=J[c+8>>2];o:{p:{h=J[c+12>>2];g=J[c+20>>2];e=J[c+16>>2];q:{if((h|0)<=(g|0)&e>>>0>=f>>>0|(g|0)>(h|0)){break q}f=K[e+J[c>>2]|0];h=c;c=g;e=e+1|0;c=e?c:c+1|0;J[h+16>>2]=e;J[h+20>>2]=c;Kj(i+16|0,f);if(f){e=J[a>>2];n=Jj(i+16|0);p=J[e+8>>2];g=J[e+12>>2];c=J[e+20>>2];h=J[e+16>>2];k=h+f|0;c=k>>>0<f>>>0?c+1|0:c;if(k>>>0>p>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break q}Vi(n,h+J[e>>2]|0,f);c=J[e+20>>2];g=f;f=f+J[e+16>>2]|0;c=g>>>0>f>>>0?c+1|0:c;J[e+16>>2]=f;J[e+20>>2]=c}J[i+12>>2]=0;if(!Ii(1,i+12|0,J[a>>2])){break q}f=J[i+12>>2];if(!f){break q}e=J[a>>2];c=J[e+8>>2];h=J[e+16>>2];g=c-h|0;c=J[e+12>>2]-(J[e+20>>2]+(c>>>0<h>>>0)|0)|0;if((c|0)<=0&f>>>0>g>>>0|(c|0)<0){break q}J[i+8>>2]=0;J[i>>2]=0;J[i+4>>2]=0;if((f|0)<0){break p}d=Cj(f);J[i>>2]=d;c=d+f|0;J[i+8>>2]=c;l=Xi(d,0,f);J[i+4>>2]=c;h=J[e+12>>2];x=h;p=J[e+8>>2];c=J[e+20>>2];k=J[e+16>>2];g=f+k|0;c=g>>>0<f>>>0?c+1|0:c;u=g;n=c;r:{if((c|0)<=(h|0)&g>>>0<=p>>>0|(c|0)<(h|0)){Vi(l,J[e>>2]+k|0,f);d=J[e+20>>2];c=f+J[e+16>>2]|0;d=c>>>0<f>>>0?d+1|0:d;J[e+16>>2]=c;J[e+20>>2]=d;h=fa-48|0;fa=h;e=tg(j,i+16|0);if((e|0)!=(j+4|0)){c=J[e+4>>2];s:{if(!c){c=e;while(1){d=J[c+8>>2];f=J[d>>2]!=(c|0);c=d;if(f){continue}break}break s}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[j>>2]){J[j>>2]=d}J[j+8>>2]=J[j+8>>2]-1;f=J[j+4>>2];t:{u:{g=e;d=e;e=J[d>>2];if(e){c=J[g+4>>2];if(!c){break u}while(1){d=c;c=J[c>>2];if(c){continue}break}}e=J[d+4>>2];if(e){break u}e=0;k=1;break t}J[e+8>>2]=J[d+8>>2];k=0}l=J[d+8>>2];c=J[l>>2];v:{if((d|0)==(c|0)){J[l>>2]=e;if((d|0)==(f|0)){c=0;f=e;break v}c=J[l+4>>2];break v}J[l+4>>2]=e}r=!K[d+12|0];if((d|0)!=(g|0)){l=J[g+8>>2];J[d+8>>2]=l;J[l+(((g|0)!=J[J[g+8>>2]>>2])<<2)>>2]=d;l=J[g>>2];J[d>>2]=l;J[l+8>>2]=d;l=J[g+4>>2];J[d+4>>2]=l;if(l){J[l+8>>2]=d}H[d+12|0]=K[g+12|0];f=(f|0)==(g|0)?d:f}w:{if(r|!f){break w}if(k){while(1){e=K[c+12|0];x:{d=J[c+8>>2];if(J[d>>2]!=(c|0)){if(!e){H[c+12|0]=1;H[d+12|0]=0;e=J[d+4>>2];k=J[e>>2];J[d+4>>2]=k;if(k){J[k+8>>2]=d}J[e+8>>2]=J[d+8>>2];k=J[d+8>>2];J[(((d|0)!=J[k>>2])<<2)+k>>2]=e;J[e>>2]=d;J[d+8>>2]=e;d=c;c=J[c>>2];f=(c|0)==(f|0)?d:f;c=J[c+4>>2]}y:{z:{d=J[c>>2];A:{if(!(K[d+12|0]?0:d)){e=J[c+4>>2];if(K[e+12|0]?0:e){break A}H[c+12|0]=0;c=J[c+8>>2];B:{if((f|0)==(c|0)){c=f;break B}if(K[c+12|0]){break x}}H[c+12|0]=1;break w}e=J[c+4>>2];if(!e){break z}}if(K[e+12|0]){break z}d=c;break y}H[d+12|0]=1;H[c+12|0]=0;e=J[d+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[((J[e>>2]!=(c|0))<<2)+e>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;e=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[e+12|0]=1;d=J[c+4>>2];e=J[d>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[(((c|0)!=J[e>>2])<<2)+e>>2]=d;J[d>>2]=c;J[c+8>>2]=d;break w}if(!e){H[c+12|0]=1;H[d+12|0]=0;e=J[c+4>>2];J[d>>2]=e;if(e){J[e+8>>2]=d}J[c+8>>2]=J[d+8>>2];e=J[d+8>>2];J[(((d|0)!=J[e>>2])<<2)+e>>2]=c;J[c+4>>2]=d;J[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=J[d>>2]}e=J[c>>2];C:{if(!(!e|K[e+12|0])){d=c;break C}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((c|0)!=(f|0)?K[c+12|0]:0){break x}H[c+12|0]=1;break w}if(e){if(!K[e+12|0]){d=c;break C}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;e=J[d>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[((J[e>>2]!=(c|0))<<2)+e>>2]=d;J[d>>2]=c;J[c+8>>2]=d;e=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[e+12|0]=1;d=J[c>>2];e=J[d+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[(((c|0)!=J[e>>2])<<2)+e>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;break w}d=c;c=J[c+8>>2];c=J[(((d|0)==J[c>>2])<<2)+c>>2];continue}}H[e+12|0]=1}c=J[g+28>>2];if(c){J[g+32>>2]=c;xj(c)}if(H[g+27|0]<0){xj(J[g+16>>2])}xj(g)}J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;c=J[i+4>>2];d=J[i>>2];f=c-d|0;e=0;D:{E:{if((c|0)!=(d|0)){if((f|0)<0){break E}e=Cj(f);c=Xi(e,0,f);g=c+f|0;J[h+8>>2]=g;J[h+4>>2]=g;J[h>>2]=c;c=d}Vi(e,c,f);F:{if(H[i+27|0]>=0){J[h+24>>2]=J[i+24>>2];c=J[i+20>>2];J[h+16>>2]=J[i+16>>2];J[h+20>>2]=c;break F}Gj(h+16|0,J[i+16>>2],J[i+20>>2])}Ki(h+28|0,h);f=h+16|0;c=f;G:{H:{d=J[j+4>>2];I:{if(!d){e=j+4|0;c=e;break I}e=K[c+11|0];g=e<<24>>24<0;k=g?J[c>>2]:c;g=g?J[c+4>>2]:e;while(1){c=d;d=K[c+27|0];e=d<<24>>24<0;d=e?J[c+20>>2]:d;l=d>>>0<g>>>0;J:{K:{L:{M:{r=l?d:g;N:{if(r){e=e?J[c+16>>2]:c+16|0;y=bj(k,e,r);if(!y){if(d>>>0>g>>>0){break N}break M}if((y|0)>=0){break M}break N}if(d>>>0<=g>>>0){break L}}e=c;d=J[c>>2];if(d){continue}break I}d=bj(e,k,r);if(d){break K}}if(l){break J}break H}if((d|0)>=0){break H}}d=J[c+4>>2];if(d){continue}break}e=c+4|0}d=Cj(40);J[d+24>>2]=J[f+8>>2];g=J[f+4>>2];J[d+16>>2]=J[f>>2];J[d+20>>2]=g;J[f>>2]=0;J[f+4>>2]=0;J[f+8>>2]=0;Ki(d+28|0,f+12|0);J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[e>>2]=d;c=d;f=J[J[j>>2]>>2];if(f){J[j>>2]=f;c=J[e>>2]}oe(J[j+4>>2],c);J[j+8>>2]=J[j+8>>2]+1;c=1;break G}d=c;c=0}H[h+44|0]=c;J[h+40>>2]=d;c=J[h+28>>2];if(c){J[h+32>>2]=c;xj(c)}if(H[h+27|0]<0){xj(J[h+16>>2])}c=J[h>>2];if(c){J[h+4>>2]=c;xj(c)}fa=h+48|0;break D}Ia();C()}d=J[i>>2];if(!d){break r}}J[i+4>>2]=d;xj(d)}d=(n|0)<=(x|0)&p>>>0>=u>>>0|(n|0)<(x|0)}if(H[i+27|0]<0){xj(J[i+16>>2])}fa=i+32|0;break o}Ia();C()}if(!d){break a}q=q+1|0;if((w|0)!=(q|0)){continue}break}}J[m+12>>2]=0;if(!Ii(1,m+12|0,J[a>>2])){break a}c=J[a>>2];e=J[c+8>>2];f=J[c+16>>2];h=e-f|0;d=J[m+12>>2];c=J[c+12>>2]-(J[c+20>>2]+(e>>>0<f>>>0)|0)|0;if(h>>>0<d>>>0&(c|0)<=0|(c|0)<0){break a}if(d){q=0;h=((t|0)!=0)+v|0;while(1){O:{if(b>>>0<s>>>0){J[b+8>>2]=h;J[b+4>>2]=0;J[b>>2]=j;b=b+12|0;d=J[m+12>>2];break O}c=b-o|0;g=(c|0)/12|0;b=g+1|0;if(b>>>0>=357913942){break c}e=(s-o|0)/12|0;f=e<<1;e=e>>>0>=178956970?357913941:b>>>0<f>>>0?f:b;if(e){if(e>>>0>=357913942){break b}f=Cj(P(e,12))}else{f=0}b=f+P(g,12)|0;J[b+8>>2]=h;J[b+4>>2]=0;J[b>>2]=j;c=Wi(b+P((c|0)/-12|0,12)|0,o,c);s=f+P(e,12)|0;b=b+12|0;if(o){xj(o)}o=c}q=q+1|0;if(q>>>0<d>>>0){continue}break}}if((b|0)!=(o|0)){continue}break}z=1;break a}Ia();C()}Va();C()}if(o){xj(o)}fa=m+32|0;return z}function Fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=Q(0),q=0,r=0;e=fa-720|0;fa=e;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(L[b+38>>1]>=515){J[e+680>>2]=0;J[e+672>>2]=0;J[e+676>>2]=0;if((ka[J[J[a>>2]+24>>2]](a)|0)<=0){break d}while(1){c=ka[J[J[a>>2]+20>>2]](a,n)|0;d=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];if(J[d+28>>2]==9){f=J[e+672>>2];c=J[e+676>>2]-f>>2;k=K[d+24|0];j:{if(c>>>0<k>>>0){La(e+672|0,k-c|0);break j}if(c>>>0<=k>>>0){break j}J[e+676>>2]=f+(k<<2)}j=0;i=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];d=k<<2;f=J[b+16>>2];l=f+d|0;c=d>>>0>l>>>0?c+1|0:c;if(i>>>0<l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break b}Vi(J[e+672>>2],f+J[b>>2]|0,d);c=J[b+20>>2];f=d;d=d+J[b+16>>2]|0;c=f>>>0>d>>>0?c+1|0:c;i=d;J[b+16>>2]=d;J[b+20>>2]=c;l=J[b+12>>2];g=J[b+8>>2];h=d+4|0;f=h>>>0<4?c+1|0:c;d=f;if(g>>>0<h>>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}o=J[b>>2];f=o+i|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=d;if(g>>>0<=h>>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}d=K[h+o|0];h=i+5|0;c=h>>>0<5?c+1|0:c;J[b+16>>2]=h;J[b+20>>2]=c;if(d>>>0>31){break b}p=(x(2,f),D());J[e+20>>2]=-1;J[e+16>>2]=1880;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;c=J[e+672>>2];o=d-1|0;if(o>>>0<=29){J[e+20>>2]=d;k:{h=c+(k<<2)|0;l=h-c|0;f=l>>2;i=J[e+32>>2];d=J[e+24>>2];if(f>>>0<=i-d>>2>>>0){i=J[e+28>>2]-d|0;l=i>>2;i=f>>>0>l>>>0?c+i|0:h;g=i-c|0;if((c|0)!=(i|0)){Wi(d,c,g)}if(f>>>0>l>>>0){c=h-i|0;d=J[e+28>>2];if((h|0)!=(i|0)){Wi(d,i,c)}J[e+28>>2]=c+d;break k}J[e+28>>2]=d+g;break k}if(d){J[e+28>>2]=d;xj(d);J[e+32>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;i=0}l:{if((l|0)<0){break l}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(d>>>0>=1073741824){break l}i=d<<2;d=Cj(i);J[e+28>>2]=d;J[e+24>>2]=d;J[e+32>>2]=d+i;if((c|0)!=(h|0)){Vi(d,c,l)}J[e+28>>2]=d+(f<<2);break k}Ia();C()}N[e+36>>2]=p}m:{if(o>>>0>=30){break m}if(!Wa(e+16|0,J[J[a+60>>2]+((J[a+40>>2]-J[a+36>>2]|0)/24<<2)>>2])){break m}c=J[a+40>>2];n:{if((c|0)!=J[a+44>>2]){J[c>>2]=1880;d=J[e+20>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;d=J[e+28>>2];f=J[e+24>>2];if((d|0)!=(f|0)){d=d-f|0;if((d|0)<0){break i}g=Cj(d);J[c+12>>2]=g;J[c+8>>2]=g;J[c+16>>2]=(d&-4)+g;k=J[e+24>>2];d=J[e+28>>2];if((k|0)!=(d|0)){while(1){N[g>>2]=N[k>>2];g=g+4|0;k=k+4|0;if((d|0)!=(k|0)){continue}break}}J[c+12>>2]=g}N[c+20>>2]=N[e+36>>2];J[a+40>>2]=c+24;break n}d=0;o:{p:{q:{r:{j=J[a+40>>2];f=J[a+36>>2];i=(j-f|0)/24|0;c=i+1|0;if(c>>>0<178956971){h=(J[a+44>>2]-f|0)/24|0;l=h<<1;h=h>>>0>=89478485?178956970:c>>>0<l>>>0?l:c;if(h){if(h>>>0>=178956971){break r}d=Cj(P(h,24))}g=P(i,24)+d|0;J[g>>2]=1880;c=J[e+20>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+4>>2]=c;c=J[e+24>>2];i=J[e+28>>2];if((c|0)!=(i|0)){l=i-c|0;if((l|0)<0){break q}k=Cj(l);J[g+8>>2]=k;J[g+16>>2]=(l&-4)+k;while(1){N[k>>2]=N[c>>2];k=k+4|0;c=c+4|0;if((i|0)!=(c|0)){continue}break}J[g+12>>2]=k}c=P(h,24)+d|0;N[g+20>>2]=N[e+36>>2];d=g+24|0;if((f|0)==(j|0)){break p}while(1){g=g-24|0;J[g>>2]=1880;j=j-24|0;J[g+4>>2]=J[j+4>>2];J[g+8>>2]=J[j+8>>2];J[g+12>>2]=J[j+12>>2];J[g+16>>2]=J[j+16>>2];J[j+16>>2]=0;J[j+8>>2]=0;J[j+12>>2]=0;N[g+20>>2]=N[j+20>>2];if((f|0)!=(j|0)){continue}break}J[a+44>>2]=c;k=J[a+40>>2];J[a+40>>2]=d;j=J[a+36>>2];J[a+36>>2]=g;if((j|0)==(k|0)){break o}while(1){k=k-24|0;ka[J[J[k>>2]>>2]](k)|0;if((j|0)!=(k|0)){continue}break}break o}Ia();C()}Va();C()}Ia();C()}J[a+44>>2]=c;J[a+40>>2]=d;J[a+36>>2]=g}if(j){xj(j)}}j=1}J[e+16>>2]=1880;c=J[e+24>>2];if(c){J[e+28>>2]=c;xj(c)}if(!j){break c}}n=n+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(n|0)){continue}break}break d}k=ka[J[J[a>>2]+24>>2]](a)|0;J[e+712>>2]=0;J[e+704>>2]=0;J[e+708>>2]=0;if(k){if(k>>>0>=214748365){break h}c=P(k,20);d=Cj(c);J[e+704>>2]=d;J[e+712>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=e,r=Xi(d,0,c)+c|0,J[q+708>>2]=r;while(1){c=ka[J[J[a>>2]+20>>2]](a,m)|0;d=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];f=J[d+28>>2];c=f-1|0;if(c>>>0<=10){c=J[(c<<2)+13632>>2]}else{c=-1}h=(c|0)>0?c:0;if(h>>>0>4){break f}c=J[e+704>>2]+P(m,20)|0;i=K[d+24|0];J[c+16>>2]=i;J[c+12>>2]=h;J[c+8>>2]=f;J[c+4>>2]=g;J[c>>2]=d;g=g+i|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}c=ka[J[J[a>>2]+20>>2]](a,0)|0;m=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];H[m+84|0]=1;J[m+72>>2]=J[m+68>>2];h=J[b+12>>2];c=h;d=J[b+20>>2];f=J[b+8>>2];i=J[b+16>>2];if((c|0)<=(d|0)&f>>>0<=i>>>0|(c|0)<(d|0)){break f}n=J[b>>2];o=K[n+i|0];c=d;l=i+1|0;c=l?c:c+1|0;J[b+16>>2]=l;J[b+20>>2]=c;s:{switch(o|0){case 0:a=J[e+704>>2];if((J[e+708>>2]-a|0)!=20){break e}if(J[a+16>>2]!=3){break f}t:{if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}c=d;a=i+2|0;c=a>>>0<2?c+1|0:c;l=a;J[b+16>>2]=a;J[b+20>>2]=c;c=d;a=i+6|0;c=a>>>0<6?c+1|0:c;if(a>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}d=l+n|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=a;J[b+20>>2]=c;$a(m,d);j=e+672|0;J[j+20>>2]=0;J[j+12>>2]=0;J[j+16>>2]=0;J[j>>2]=0;J[j+4>>2]=0;J[j+20>>2]=d;d=qb(e+16|0,e+704|0);k=0;g=fa-32|0;fa=g;J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;f=J[b+12>>2];m=f;i=J[b+8>>2];c=J[b+20>>2];l=c;h=J[b+16>>2];a=h+4|0;c=a>>>0<4?c+1|0:c;u:{if(a>>>0>i>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break u}n=J[b>>2];f=n+h|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=a;J[b+20>>2]=c;v:{w:{switch(f-2|0){case 1:if((c|0)>=(m|0)&a>>>0>=i>>>0|(c|0)>(m|0)){break u}a=K[a+n|0];c=l;f=h+5|0;c=f>>>0<5?c+1|0:c;J[b+16>>2]=f;J[b+20>>2]=c;H[j+8|0]=a;if((a|0)==1){if(Ti(j,b,g+16|0)){break v}break u}aj(1846,23,J[3455]);break u;default:aj(1821,24,J[3455]);break u;case 0:break w}}if(!Ti(j,b,g+16|0)){break u}}J[g+8>>2]=J[g+16>>2];J[g>>2]=J[g+20>>2];c=fa-32|0;fa=c;a=J[j>>2];p=N[j+4>>2];J[c+24>>2]=1065353216;h=-1<<a^-1;a=h;if((a|0)>0){N[c+24>>2]=p/Q(a|0)}m=J[g+8>>2];n=J[g>>2];if((m|0)!=(n|0)){a=J[d+28>>2];while(1){b=J[m>>2];f=J[m+4>>2];p=N[c+24>>2];N[c+16>>2]=p*Q(J[m+8>>2]-h|0);N[c+12>>2]=p*Q(f-h|0);N[c+8>>2]=p*Q(b-h|0);b=a;i=J[d+16>>2];f=J[i>>2];if(!K[f+84|0]){b=J[J[f+68>>2]+(a<<2)>>2]}if(M[f+80>>2]>b>>>0){a=J[f+40>>2];Vi(J[J[f>>2]>>2]+P(a,b)|0,(c+8|0)+(J[i+4>>2]<<2)|0,a);n=J[g>>2];a=J[d+28>>2]}a=a+1|0;J[d+28>>2]=a;m=m+12|0;if((n|0)!=(m|0)){continue}break}}fa=c+32|0;k=1}a=J[g+16>>2];if(a){J[g+20>>2]=a;xj(a)}fa=g+32|0;Eb(d);j=1;if(k){break f}}j=0;break f;case 1:break s;default:break f}}if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}o=K[l+n|0];c=d;l=i+2|0;c=l>>>0<2?c+1|0:c;J[b+16>>2]=l;J[b+20>>2]=c;if(o>>>0>=7){J[e>>2]=o;cj(1698,e);break f}c=d;d=i+6|0;c=d>>>0<6?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}f=l+n|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;if(k){m=0;while(1){c=ka[J[J[a>>2]+20>>2]](a,m)|0;c=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];$a(c,f);H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];m=m+1|0;if((k|0)!=(m|0)){continue}break}}a=qb(e+672|0,e+704|0);x:{y:{switch(o|0){case 1:c=tb(e+16|0,g);b=ub(c,b,a,-1);sb(c);if(!b){break g}break x;case 2:c=xb(e+16|0,g);b=vb(c,b,a,-1);wb(c);if(!b){break g}break x;case 3:c=xb(e+16|0,g);b=yb(c,b,a,-1);wb(c);if(!b){break g}break x;case 4:c=Bb(e+16|0,g);b=zb(c,b,a,-1);Ab(c);if(!b){break g}break x;case 5:c=Bb(e+16|0,g);b=Cb(c,b,a,-1);Ab(c);if(!b){break g}break x;case 6:c=Bb(e+16|0,g);b=Db(c,b,a,-1);Ab(c);if(b){break x}break g;case 0:break y;default:break g}}c=tb(e+16|0,g);b=rb(c,b,a,-1);sb(c);if(!b){break g}}Eb(a);j=1;break f}Ia();C()}Ia();C()}Eb(a)}a=J[e+704>>2]}if(!a){break a}J[e+708>>2]=a;xj(a);break a}j=1;if(J[a+52>>2]==J[a+48>>2]){break b}while(1){if(!Gb(1,e+16|0,b)){break c}c=J[a+48>>2];d=J[e+16>>2];J[c+(m<<2)>>2]=d>>>1^0-(d&1);m=m+1|0;if(m>>>0<J[a+52>>2]-c>>2>>>0){continue}break}break b}j=0}a=J[e+672>>2];if(!a){break a}J[e+676>>2]=a;xj(a)}fa=e+720|0;return j|0}function gg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=fa-32|0;fa=h;J[b+32>>2]=d;J[b+40>>2]=c;J[b+4>>2]=e;cg(a,d,h+16|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}d=K[h+23|0];if((ka[J[J[b>>2]+8>>2]](b)|0)!=(d|0)){b=Cj(64);H[b+50|0]=0;c=K[1349]|K[1350]<<8;H[b+48|0]=c;H[b+49|0]=c>>>8;c=K[1345]|K[1346]<<8|(K[1347]<<16|K[1348]<<24);d=K[1341]|K[1342]<<8|(K[1343]<<16|K[1344]<<24);H[b+40|0]=d;H[b+41|0]=d>>>8;H[b+42|0]=d>>>16;H[b+43|0]=d>>>24;H[b+44|0]=c;H[b+45|0]=c>>>8;H[b+46|0]=c>>>16;H[b+47|0]=c>>>24;c=K[1337]|K[1338]<<8|(K[1339]<<16|K[1340]<<24);d=K[1333]|K[1334]<<8|(K[1335]<<16|K[1336]<<24);H[b+32|0]=d;H[b+33|0]=d>>>8;H[b+34|0]=d>>>16;H[b+35|0]=d>>>24;H[b+36|0]=c;H[b+37|0]=c>>>8;H[b+38|0]=c>>>16;H[b+39|0]=c>>>24;c=K[1329]|K[1330]<<8|(K[1331]<<16|K[1332]<<24);d=K[1325]|K[1326]<<8|(K[1327]<<16|K[1328]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1321]|K[1322]<<8|(K[1323]<<16|K[1324]<<24);d=K[1317]|K[1318]<<8|(K[1319]<<16|K[1320]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1313]|K[1314]<<8|(K[1315]<<16|K[1316]<<24);d=K[1309]|K[1310]<<8|(K[1311]<<16|K[1312]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1305]|K[1306]<<8|(K[1307]<<16|K[1308]<<24);d=K[1301]|K[1302]<<8|(K[1303]<<16|K[1304]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,50);xj(b);break a}c=K[h+21|0];H[b+36|0]=c;e=K[h+22|0];H[b+37|0]=e;if((c-3&255)>>>0<=253){b=Cj(32);H[b+22|0]=0;c=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);d=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1456]|K[1457]<<8|(K[1458]<<16|K[1459]<<24);d=K[1452]|K[1453]<<8|(K[1454]<<16|K[1455]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1448]|K[1449]<<8|(K[1450]<<16|K[1451]<<24);d=K[1444]|K[1445]<<8|(K[1446]<<16|K[1447]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-5;Gj(a+4|0,b,22);xj(b);break a}if(!((c|0)!=2|e>>>0<=(d?2:3)>>>0)){b=Cj(32);H[b+22|0]=0;c=K[1439]|K[1440]<<8|(K[1441]<<16|K[1442]<<24);d=K[1435]|K[1436]<<8|(K[1437]<<16|K[1438]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1433]|K[1434]<<8|(K[1435]<<16|K[1436]<<24);d=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1425]|K[1426]<<8|(K[1427]<<16|K[1428]<<24);d=K[1421]|K[1422]<<8|(K[1423]<<16|K[1424]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-5;Gj(a+4|0,b,22);xj(b);break a}c=e|c<<8;I[J[b+32>>2]+38>>1]=c;b:{if((c&65535)>>>0<259|I[h+26>>1]>=0){break b}i=fa-16|0;fa=i;e=Cj(36);c=e;J[c+4>>2]=0;J[c+8>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;c=c+16|0;J[c>>2]=0;J[c+4>>2]=0;J[e>>2]=e+4;J[e+32>>2]=0;J[e+12>>2]=c;J[i>>2]=0;d=J[b+32>>2];j=fa-16|0;fa=j;c=0;c:{if(!e){break c}J[i>>2]=d;J[j+12>>2]=0;c=0;if(!Ii(1,j+12|0,d)){break c}m=J[j+12>>2];if(m){while(1){d:{if(Ii(1,j+8|0,J[i>>2])){c=Cj(28);J[c+4>>2]=0;J[c+8>>2]=0;d=c+16|0;J[d>>2]=0;J[d+4>>2]=0;J[c>>2]=c+4;J[c+12>>2]=d;J[c+24>>2]=J[j+8>>2];if(Hi(i,c)){break d}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}c=0;break c}f=fa-16|0;fa=f;J[f+8>>2]=c;e:{if(!c){break e}d=J[e+28>>2];f:{if(d>>>0<M[e+32>>2]){J[f+8>>2]=0;J[d>>2]=c;J[e+28>>2]=d+4;break f}d=0;g:{h:{i:{g=J[e+24>>2];l=J[e+28>>2]-g>>2;c=l+1|0;if(c>>>0<1073741824){g=J[e+32>>2]-g|0;k=g>>>1|0;g=g>>>0>=2147483644?1073741823:c>>>0<k>>>0?k:c;if(g){if(g>>>0>=1073741824){break i}d=Cj(g<<2)}k=J[f+8>>2];J[f+8>>2]=0;c=(l<<2)+d|0;J[c>>2]=k;g=(g<<2)+d|0;l=c+4|0;d=J[e+28>>2];k=J[e+24>>2];if((d|0)==(k|0)){break h}while(1){d=d-4|0;o=J[d>>2];J[d>>2]=0;c=c-4|0;J[c>>2]=o;if((d|0)!=(k|0)){continue}break}J[e+32>>2]=g;g=J[e+28>>2];J[e+28>>2]=l;d=J[e+24>>2];J[e+24>>2]=c;if((d|0)==(g|0)){break g}while(1){g=g-4|0;c=J[g>>2];J[g>>2]=0;if(c){jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}if((d|0)!=(g|0)){continue}break}break g}Ia();C()}Va();C()}J[e+32>>2]=g;J[e+28>>2]=l;J[e+24>>2]=c}if(d){xj(d)}}c=J[f+8>>2];J[f+8>>2]=0;if(!c){break e}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}fa=f+16|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}}c=Hi(i,e)}fa=j+16|0;j:{if(c){d=J[b+4>>2];c=J[d+4>>2];J[d+4>>2]=e;if(c){fg(c)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break j}c=Cj(32);H[c+26|0]=0;d=K[1614]|K[1615]<<8;H[c+24|0]=d;H[c+25|0]=d>>>8;d=K[1610]|K[1611]<<8|(K[1612]<<16|K[1613]<<24);f=K[1606]|K[1607]<<8|(K[1608]<<16|K[1609]<<24);H[c+16|0]=f;H[c+17|0]=f>>>8;H[c+18|0]=f>>>16;H[c+19|0]=f>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);f=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[c+8|0]=f;H[c+9|0]=f>>>8;H[c+10|0]=f>>>16;H[c+11|0]=f>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1594]|K[1595]<<8|(K[1596]<<16|K[1597]<<24);f=K[1590]|K[1591]<<8|(K[1592]<<16|K[1593]<<24);H[c|0]=f;H[c+1|0]=f>>>8;H[c+2|0]=f>>>16;H[c+3|0]=f>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;J[a>>2]=-1;Gj(a+4|0,c,26);xj(c);J[i+8>>2]=0;fg(e)}fa=i+16|0;if(J[a>>2]){break a}if(H[a+15|0]>=0){break b}xj(J[a+4>>2])}if(!(ka[J[J[b>>2]+12>>2]](b)|0)){b=Cj(48);H[b+33|0]=0;H[b+32|0]=K[1419];c=K[1415]|K[1416]<<8|(K[1417]<<16|K[1418]<<24);d=K[1411]|K[1412]<<8|(K[1413]<<16|K[1414]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);d=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);d=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);d=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,33);xj(b);break a}if(!(ka[J[J[b>>2]+20>>2]](b)|0)){b=dg(h,1617);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}xj(J[b>>2]);break a}if(!(ka[J[J[b>>2]+24>>2]](b)|0)){b=dg(h,1352);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}xj(J[b>>2]);break a}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=h+32|0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=fa-16|0;fa=m;J[m+12>>2]=b;b=Cj(32);J[m>>2]=b;J[m+4>>2]=24;J[m+8>>2]=-2147483616;c=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+24|0]=0;l=fa-48|0;fa=l;f=J[m+12>>2];d=a;a=a+16|0;b=J[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>J[b+16>>2];c=e?c:b;b=J[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=J[c+16>>2]){break a}}J[l+28>>2]=0;J[l+32>>2]=0;x=l+24|0;J[l+24>>2]=x|4;a=l+16|0;J[a>>2]=0;J[a+4>>2]=0;J[l+8>>2]=f;J[l+12>>2]=a;t=l+8|0;a=t;w=fa-16|0;fa=w;u=d+12|0;c=J[u+4>>2];c:{d:{if(!c){o=u+4|0;d=o;break d}a=J[a>>2];while(1){d=c;b=J[c+16>>2];if((b|0)>(a|0)){o=d;c=J[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=J[d+4>>2];if(c){continue}break}o=d+4|0}g=Cj(32);b=J[t>>2];q=g+24|0;a=q;J[a>>2]=0;J[a+4>>2]=0;J[g+16>>2]=b;r=g+20|0;J[r>>2]=a;c=J[t+4>>2];y=t+8|0;if((c|0)!=(y|0)){while(1){p=fa-16|0;fa=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=K[f+27|0];h=b<<24>>24<0;i=K[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?J[k+4>>2]:i;b=h?J[f+20>>2]:b;s=i>>>0>b>>>0;v=s?b:i;if(v){j=j?J[k>>2]:k;h=h?J[f+16>>2]:f+16|0;z=bj(j,h,v);if(!z){if(b>>>0>i>>>0){break l}break k}if((z|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=J[f>>2];m:{a=f;n:{if((a|0)==J[r>>2]){break n}o:{if(!h){b=f;while(1){a=J[b+8>>2];i=J[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=J[b+4>>2];if(b){continue}break}}i=K[k+11|0];s=i<<24>>24;b=(s|0)<0;j=K[a+27|0];n=j<<24>>24<0;p:{i=b?J[k+4>>2]:i;j=n?J[a+20>>2]:j;v=i>>>0<j>>>0?i:j;if(v){b=bj(n?J[a+16>>2]:a+16|0,b?J[k>>2]:k,v);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){J[p+12>>2]=f;a=f;break e}J[p+12>>2]=a;a=a+4|0;break e}b=J[e>>2];if(!b){J[p+12>>2]=e;a=e;break e}h=(s|0)<0?J[k>>2]:k;f=e;while(1){a=b;b=K[b+27|0];e=b<<24>>24<0;b=e?J[a+20>>2]:b;k=b>>>0<i>>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?J[a+16>>2]:a+16|0;j=bj(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=J[a>>2];if(b){continue}break g}b=bj(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=J[a+4>>2];if(b){continue}break}break g}b=bj(h,j,v);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=J[f+4>>2];v:{if(!h){b=f;while(1){a=J[b+8>>2];j=J[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=J[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=K[a+27|0];b=j<<24>>24<0;y:{j=b?J[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=bj((n|0)<0?J[k>>2]:k,b?J[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0<j>>>0){break x}break w}if((b|0)>=0){break w}}if(!h){J[p+12>>2]=f;a=f+4|0;break e}J[p+12>>2]=a;break e}b=J[e>>2];if(!b){J[p+12>>2]=e;a=e;break e}h=(n|0)<0?J[k>>2]:k;f=e;while(1){a=b;b=K[b+27|0];e=b<<24>>24<0;b=e?J[a+20>>2]:b;k=b>>>0<i>>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?J[a+16>>2]:a+16|0;j=bj(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=J[a>>2];if(b){continue}break g}b=bj(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=J[a+4>>2];if(b){continue}break}}J[p+12>>2]=a;a=f;break e}J[p+12>>2]=f;J[a>>2]=f}f=a;a=J[a>>2];if(a){b=0}else{a=Cj(40);b=a+16|0;E:{if(H[c+27|0]>=0){e=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=e;J[b+8>>2]=J[c+24>>2];break E}Gj(b,J[c+16>>2],J[c+20>>2])}b=a+28|0;F:{if(H[c+39|0]>=0){e=J[c+32>>2];J[b>>2]=J[c+28>>2];J[b+4>>2]=e;J[b+8>>2]=J[c+36>>2];break F}Gj(b,J[c+28>>2],J[c+32>>2])}J[a+8>>2]=J[p+12>>2];J[a>>2]=0;J[a+4>>2]=0;J[f>>2]=a;b=a;e=J[J[r>>2]>>2];if(e){J[r>>2]=e;b=J[f>>2]}oe(J[r+4>>2],b);J[r+8>>2]=J[r+8>>2]+1;b=1}H[w+12|0]=b;J[w+8>>2]=a;fa=p+16|0;b=J[c+4>>2];G:{if(b){while(1){c=b;b=J[b>>2];if(b){continue}break G}}while(1){a=c;c=J[c+8>>2];if((a|0)!=J[c>>2]){continue}break}}if((c|0)!=(y|0)){continue}break}}J[g+8>>2]=d;J[g>>2]=0;J[g+4>>2]=0;J[o>>2]=g;c=g;a=J[J[u>>2]>>2];if(a){J[u>>2]=a;c=J[o>>2]}oe(J[u+4>>2],c);J[u+8>>2]=J[u+8>>2]+1;a=1}H[l+44|0]=a;J[l+40>>2]=g;fa=w+16|0;c=J[l+40>>2];ne(t|4,J[l+16>>2]);ne(x,J[l+28>>2])}f=fa-48|0;fa=f;d=f+8|0;g=fa-32|0;fa=g;o=g+32|0;b=o;a=g+21|0;H:{if((b|0)==(a|0)){break H}}e=b-a|0;I:{if((e|0)<=9){h=61;if((e|0)<(M[3672]<=1|0)){break I}}H[a|0]=49;b=a+1|0;h=0}J[g+12>>2]=h;J[g+8>>2]=b;h=fa-16|0;fa=h;e=fa-16|0;fa=e;J:{q=J[g+8>>2];g=q-a|0;if(g>>>0<=2147483631){K:{if(g>>>0<11){H[d+11|0]=g|K[d+11|0]&128;H[d+11|0]=K[d+11|0]&127;b=d;break K}t=e+8|0;if(g>>>0>=11){k=g+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}Aj(t,b+1|0);b=J[e+8>>2];J[d>>2]=b;J[d+8>>2]=J[d+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[d+8>>2]=J[d+8>>2]|-2147483648;J[d+4>>2]=g}while(1){if((a|0)!=(q|0)){H[b|0]=K[a|0];b=b+1|0;a=a+1|0;continue}break}H[e+7|0]=0;H[b|0]=K[e+7|0];fa=e+16|0;break J}eg();C()}fa=h+16|0;fa=o;J[f+32>>2]=m;L:{M:{a=c+20|0;d=J[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=K[m+11|0];c=b<<24>>24<0;e=c?J[m>>2]:m;b=c?J[m+4>>2]:b;while(1){c=d;d=K[c+27|0];g=d<<24>>24<0;d=g?J[c+20>>2]:d;o=d>>>0<b>>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?J[c+16>>2]:c+16|0;q=bj(e,g,h);if(!q){if(b>>>0<d>>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=J[c>>2];if(d){continue}break N}d=bj(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=J[c+4>>2];if(d){continue}break}g=c+4|0}d=Cj(40);e=d+16|0;b=J[f+32>>2];T:{if(H[b+11|0]>=0){o=J[b+4>>2];J[e>>2]=J[b>>2];J[e+4>>2]=o;J[e+8>>2]=J[b+8>>2];break T}Gj(e,J[b>>2],J[b+4>>2])}J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[d+36>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[g>>2]=d;c=d;b=J[J[a>>2]>>2];if(b){J[a>>2]=b;c=J[g>>2]}oe(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;a=1;break L}d=c;a=0}H[f+44|0]=a;J[f+40>>2]=d;a=J[f+40>>2];if(H[a+39|0]<0){xj(J[a+28>>2])}b=J[f+12>>2];J[a+28>>2]=J[f+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[f+16>>2];fa=f+48|0;fa=l+48|0;if(H[m+11|0]<0){xj(J[m>>2])}fa=m+16|0}function rb(a,b,c,d){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;j=J[b+8>>2];e=J[b+12>>2];g=J[b+20>>2];h=J[b+16>>2];k=h+4|0;g=k>>>0<4?g+1|0:g;a:{if(j>>>0<k>>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];e=h;j=J[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;J[b+16>>2]=g;J[b+20>>2]=h;if(M[a>>2]>32){break a}l=J[b+8>>2];k=J[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>l>>>0&(h|0)>=(k|0)|(h|0)>(k|0)){break a}h=J[b>>2]+g|0;g=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=g;h=J[b+20>>2];e=J[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;J[b+16>>2]=e;J[b+20>>2]=h;if(!g){return 1}if(d>>>0<g>>>0){break a}J[a+8>>2]=0;if(!ge(a+16|0,b)){break a}if(!ge(a+36|0,b)){break a}if(!ge(a+56|0,b)){break a}if(!ge(a+76|0,b)){break a}s=J[a+4>>2];h=c;b=0;g=0;e=fa-32|0;fa=e;d=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=Cj(c);J[e+8>>2]=b;g=b+c|0;J[e+16>>2]=g;Xi(b,0,c);J[e+12>>2]=g}c=J[d+120>>2];i=J[c>>2];if(i){J[c+4>>2]=i;xj(i);g=J[e+12>>2];b=J[e+8>>2];a=J[d+12>>2]}J[c+4>>2]=g;J[c>>2]=b;J[c+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=Cj(a);J[e+8>>2]=f;b=a+f|0;J[e+16>>2]=b;Xi(f,0,a);J[e+12>>2]=b}a=J[d+132>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);f=J[e+8>>2];b=J[e+12>>2]}J[a+4>>2]=b;J[a>>2]=f;J[a+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);a=J[e+24>>2]+J[e+28>>2]|0;b=(a>>>0)/341|0;a=J[J[e+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=s;c=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}while(1){b=J[e+12>>2];f=J[e+24>>2];k=a-1|0;c=f+k|0;i=(c>>>0)/341|0;c=J[b+(i<<2)>>2]+P(c-P(i,341)|0,12)|0;g=J[c+8>>2];i=J[c+4>>2];j=J[c>>2];J[e+28>>2]=k;c=J[e+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[e+16>>2]=J[e+16>>2]-4}c=0;if(j>>>0>s>>>0){break e}b=J[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=P(g,12);o=f+J[d+132>>2]|0;k=f+J[d+120>>2]|0;i=J[d>>2];l=a<<2;m=J[l+J[o>>2]>>2];f:{g:{if((i|0)==(m|0)){if(!j){break g}o=0;b=J[h+20>>2];g=J[h+16>>2];if((b|0)==(g|0)){a=J[d+8>>2];J[h+28>>2]=j+J[h+28>>2];J[d+8>>2]=a+j;break g}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;h:{if(c){break h}while(1){f=J[h+28>>2];b=a;c=P(i,20)+g|0;l=J[c>>2];if(!K[l+84|0]){f=J[J[l+68>>2]+(f<<2)>>2]}if(M[l+80>>2]<=f>>>0){break h}m=J[k>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=m;i:{if(g>>>0>3){break i}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break i}while(1){b=Vi(b,m+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0<M[c+16>>2]){continue}break}b=J[h+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+20>>2];b=a;g=J[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break g}j:{k:{l:{m:{if(j>>>0<=2){c=J[d+108>>2];J[c>>2]=a;f=1;b=J[d+12>>2];if(b>>>0>1){break m}break j}if(M[d+8>>2]>M[d+4>>2]){break e}b=J[d+120>>2];n=g+1|0;o=P(n,12);p=b+o|0;if((p|0)!=(k|0)){Nb(p,J[k>>2],J[k+4>>2]);b=J[d+120>>2]}b=l+J[b+o>>2]|0;J[b>>2]=J[b>>2]+(1<<i+(m^-1));b=S(j)^31;i=J[d+32>>2];m=32-i|0;n:{if((b|0)<=(m|0)){k=J[d+28>>2];if((k|0)==J[d+20>>2]){break l}m=J[k>>2];p=b+i|0;J[d+32>>2]=p;b=m<<i>>>32-b|0;if((p|0)!=32){break n}J[d+32>>2]=0;J[d+28>>2]=k+4;break n}k=J[d+28>>2];p=k+4|0;if((p|0)==J[d+20>>2]){break l}r=J[k>>2];J[d+28>>2]=p;m=b-m|0;J[d+32>>2]=m;b=J[k+4>>2]>>>32-m|r<<i>>>32-b}i=j>>>1|0;if(i>>>0<b>>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(f<<2)>>2]=a;b=J[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break j}i=j>>>1|0;b=0}o:{p:{b=i-b|0;c=j-b|0;q:{if((c|0)==(b|0)){c=b;break q}i=J[d+88>>2];if((i|0)==J[d+80>>2]){break p}j=J[i>>2];k=J[d+92>>2];m=k+1|0;J[d+92>>2]=m;j=j&-2147483648>>>k;r:{if((m|0)==32){J[d+92>>2]=0;J[d+88>>2]=i+4;if(j){break r}break p}if(!j){break p}}}i=c;c=b;break o}i=b}b=J[d+132>>2];j=b+f|0;f=J[j>>2];k=f+l|0;J[k>>2]=J[k>>2]+1;Nb(b+o|0,f,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;j=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((f|0)!=(j|0)?P(j-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}j=(b>>>0)/341|0;b=J[(j<<2)+f>>2]+P(b-P(j,341)|0,12)|0;J[b+8>>2]=g;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!i){break g}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((c|0)!=(f|0)?P(c-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+f>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=a;J[b>>2]=i;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}m=0;if(!j){break g}while(1){if(J[d+12>>2]){i=J[d+40>>2];p=J[o>>2];c=J[d+96>>2];r=J[d+108>>2];a=0;while(1){g=r+(a<<2)|0;J[c+(J[g>>2]<<2)>>2]=0;b=J[d>>2];f=J[g>>2]<<2;l=J[f+p>>2];s:{if((b|0)==(l|0)){break s}f=c+f|0;b=b-l|0;l=J[d+52>>2];q=32-l|0;if((b|0)<=(q|0)){n=J[d+48>>2];if((n|0)==(i|0)){c=0;break e}J[f>>2]=J[n>>2]<<l>>>32-b;b=b+J[d+52>>2]|0;J[d+52>>2]=b;if((b|0)!=32){break s}J[d+52>>2]=0;J[d+48>>2]=n+4;break s}n=J[d+48>>2];t=n+4|0;if((i|0)==(t|0)){c=0;break e}u=J[n>>2];J[d+48>>2]=t;q=b-q|0;J[d+52>>2]=q;J[f>>2]=J[n+4>>2]>>>32-q|u<<l>>>32-b}b=J[g>>2]<<2;g=b+c|0;J[g>>2]=J[g>>2]|J[b+J[k>>2]>>2];a=a+1|0;if(a>>>0<M[d+12>>2]){continue}break}}i=0;a=J[h+16>>2];t:{if((a|0)==J[h+20>>2]){break t}while(1){f=J[h+28>>2];c=P(i,20)+a|0;l=J[c>>2];if(!K[l+84|0]){f=J[J[l+68>>2]+(f<<2)>>2]}if(M[l+80>>2]<=f>>>0){break t}n=J[d+96>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=n;u:{if(g>>>0>3){break u}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break u}while(1){b=Vi(b,n+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0<M[c+16>>2]){continue}break}b=J[h+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+16>>2];if(i>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;m=m+1|0;if((j|0)!=(m|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}c=1}J[e+28>>2]=0;f=J[e+16>>2];a=J[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;f=J[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;v:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break v}}w:{if((a|0)==(f|0)){break w}while(1){xj(J[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=J[e+16>>2];b=J[e+12>>2];if((a|0)==(b|0)){break w}J[e+16>>2]=a+((b-a|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}i=c}return i}function ub(a,b,c,d){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;j=J[b+8>>2];l=J[b+12>>2];k=J[b+20>>2];i=J[b+16>>2];f=i+4|0;k=f>>>0<4?k+1|0:k;a:{if(f>>>0>j>>>0&(k|0)>=(l|0)|(k|0)>(l|0)){break a}i=i+J[b>>2]|0;J[a>>2]=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);i=J[b+20>>2];j=i;f=J[b+16>>2];i=f+4|0;l=i>>>0<4?j+1|0:j;J[b+16>>2]=i;J[b+20>>2]=l;if(M[a>>2]>32){break a}l=J[b+8>>2];k=J[b+12>>2];f=f+8|0;j=f>>>0<8?j+1|0:j;if((k|0)<=(j|0)&f>>>0>l>>>0|(k|0)<(j|0)){break a}i=J[b>>2]+i|0;f=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[a+4>>2]=f;j=J[b+20>>2];i=J[b+16>>2]+4|0;j=i>>>0<4?j+1|0:j;J[b+16>>2]=i;J[b+20>>2]=j;if(!f){return 1}if(d>>>0<f>>>0){break a}J[a+8>>2]=0;if(!ge(a+16|0,b)){break a}if(!ge(a+36|0,b)){break a}if(!ge(a+56|0,b)){break a}if(!ge(a+76|0,b)){break a}t=J[a+4>>2];i=c;b=0;c=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;c=b+d|0;J[e+16>>2]=c;Xi(b,0,d);J[e+12>>2]=c}g=J[f+120>>2];d=J[g>>2];if(d){J[g+4>>2]=d;xj(d);c=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[g+4>>2]=c;J[g>>2]=b;J[g+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;h=Cj(a);J[e+8>>2]=h;b=a+h|0;J[e+16>>2]=b;Xi(h,0,a);J[e+12>>2]=b}c=J[f+132>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);h=J[e+8>>2];b=J[e+12>>2]}J[c+4>>2]=b;J[c>>2]=h;J[c+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=t;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}while(1){j=J[e+12>>2];g=J[e+24>>2];d=a-1|0;c=g+d|0;b=(c>>>0)/341|0;b=J[j+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;n=J[b+8>>2];c=J[b+4>>2];m=J[b>>2];J[e+28>>2]=d;b=J[e+16>>2];if((((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)-(a+g|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(m>>>0>t>>>0){d=0;break e}d=0;b=J[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=J[f+120>>2];o=P(n,12);q=b+o|0;g=J[f>>2];h=a<<2;l=o+J[f+132>>2]|0;c=J[h+J[l>>2]>>2];f:{g:{if((g|0)==(c|0)){if(!m){break g}h=0;b=J[i+20>>2];c=J[i+16>>2];if((b|0)==(c|0)){a=J[f+8>>2];J[i+28>>2]=m+J[i+28>>2];J[f+8>>2]=a+m;break g}while(1){d=(b|0)==(c|0);a=b;g=0;b=c;h:{if(d){break h}while(1){d=J[i+28>>2];b=a;k=P(g,20)+c|0;l=J[k>>2];if(!K[l+84|0]){d=J[J[l+68>>2]+(d<<2)>>2]}if(M[l+80>>2]<=d>>>0){break h}j=J[q>>2]+(J[k+4>>2]<<2)|0;c=J[k+12>>2];b=j;i:{if(c>>>0>3){break i}a=0;b=J[i+12>>2];if(!J[k+16>>2]){break i}while(1){b=Vi(b,j+(a<<2)|0,c);c=J[k+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[k+16>>2]){continue}break}b=J[i+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,d)|0,b,a);g=g+1|0;a=J[i+20>>2];b=a;c=J[i+16>>2];if(g>>>0<(b-c|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;h=h+1|0;if((m|0)!=(h|0)){continue}break}break g}j:{k:{l:{m:{if(m>>>0<=2){c=J[f+108>>2];J[c>>2]=a;h=1;b=J[f+12>>2];if(b>>>0>1){break m}break j}if(M[f+8>>2]>M[f+4>>2]){break e}j=b;b=o+12|0;Nb(j+b|0,J[q>>2],J[q+4>>2]);b=h+J[b+J[f+120>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<g+(c^-1));k=S(m)^31;l=J[f+32>>2];g=32-l|0;n:{if((k|0)<=(g|0)){g=J[f+28>>2];if((g|0)==J[f+20>>2]){break l}c=J[g>>2];b=k+l|0;J[f+32>>2]=b;c=c<<l>>>32-k|0;if((b|0)!=32){break n}J[f+32>>2]=0;J[f+28>>2]=g+4;break n}j=J[f+28>>2];b=j+4|0;if((b|0)==J[f+20>>2]){break l}c=J[j>>2];J[f+28>>2]=b;b=k-g|0;J[f+32>>2]=b;c=J[j+4>>2]>>>32-b|c<<l>>>32-k}g=m>>>1|0;if(g>>>0<c>>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(h<<2)>>2]=a;b=J[f+12>>2];h=h+1|0;if(b>>>0>h>>>0){continue}break}break j}g=m>>>1|0;c=0}k=n+1|0;o:{p:{b=g-c|0;c=m-b|0;q:{if((c|0)==(b|0)){c=b;break q}l=J[f+88>>2];if((l|0)==J[f+80>>2]){break p}j=J[l>>2];g=J[f+92>>2];d=g+1|0;J[f+92>>2]=d;g=j&-2147483648>>>g;r:{if((d|0)==32){J[f+92>>2]=0;J[f+88>>2]=l+4;if(g){break r}break p}if(!g){break p}}}g=c;c=b;break o}g=b}l=J[f+132>>2];j=l+o|0;d=J[j>>2];b=d+h|0;J[b>>2]=J[b>>2]+1;Nb(l+P(k,12)|0,d,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;d=J[e+16>>2];h=J[e+12>>2];if((b|0)==(((d|0)!=(h|0)?P(d-h>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}d=(b>>>0)/341|0;b=J[(d<<2)+h>>2]+P(b-P(d,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!g){break g}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];h=J[e+12>>2];if((b|0)==(((c|0)!=(h|0)?P(c-h>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+h>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=a;J[b>>2]=g;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}r=0;if(!m){break g}while(1){if(J[f+12>>2]){u=J[f+40>>2];j=J[l>>2];s=J[f+96>>2];g=J[f+108>>2];a=0;while(1){n=(a<<2)+g|0;J[s+(J[n>>2]<<2)>>2]=0;d=J[f>>2];c=J[n>>2]<<2;b=J[c+j>>2];s:{if((d|0)==(b|0)){break s}o=c+s|0;p=d-b|0;h=J[f+52>>2];d=32-h|0;if((p|0)<=(d|0)){c=J[f+48>>2];if((c|0)==(u|0)){d=0;break e}J[o>>2]=J[c>>2]<<h>>>32-p;b=p+J[f+52>>2]|0;J[f+52>>2]=b;if((b|0)!=32){break s}J[f+52>>2]=0;J[f+48>>2]=c+4;break s}k=J[f+48>>2];b=k+4|0;if((u|0)==(b|0)){d=0;break e}c=J[k>>2];J[f+48>>2]=b;b=p-d|0;J[f+52>>2]=b;J[o>>2]=J[k+4>>2]>>>32-b|c<<h>>>32-p}c=J[n>>2]<<2;b=c+s|0;J[b>>2]=J[b>>2]|J[c+J[q>>2]>>2];a=a+1|0;if(a>>>0<M[f+12>>2]){continue}break}}g=0;a=J[i+16>>2];t:{if((a|0)==J[i+20>>2]){break t}while(1){d=J[i+28>>2];h=P(g,20)+a|0;k=J[h>>2];if(!K[k+84|0]){d=J[J[k+68>>2]+(d<<2)>>2]}if(M[k+80>>2]<=d>>>0){break t}j=J[f+96>>2]+(J[h+4>>2]<<2)|0;c=J[h+12>>2];b=j;u:{if(c>>>0>3){break u}a=0;b=J[i+12>>2];if(!J[h+16>>2]){break u}while(1){b=Vi(b,j+(a<<2)|0,c);c=J[h+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[h+16>>2]){continue}break}b=J[i+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,d)|0,b,a);g=g+1|0;a=J[i+16>>2];if(g>>>0<(J[i+20>>2]-a|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;r=r+1|0;if((m|0)!=(r|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}d=1}J[e+28>>2]=0;h=J[e+16>>2];a=J[e+12>>2];b=h-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;h=J[e+16>>2];b=h-a|0;if(b>>>0>8){continue}break}}c=170;v:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:J[e+24>>2]=c;break;default:break v}}w:{if((a|0)==(h|0)){break w}while(1){xj(J[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break w}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;g=d;break b}Ia();C()}Ia();C()}}return g}function zb(a,b,c,d){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;i=J[b+8>>2];j=J[b+12>>2];n=J[b+20>>2];e=J[b+16>>2];h=e+4|0;n=h>>>0<4?n+1|0:n;a:{if(i>>>0<h>>>0&(j|0)<=(n|0)|(j|0)<(n|0)){break a}e=e+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;h=J[b+16>>2];e=h+4|0;j=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=j;if(M[a>>2]>32){break a}j=J[b+8>>2];n=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>j>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}e=J[b>>2]+e|0;h=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];e=J[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=i;if(!h){return 1}if(d>>>0<h>>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}u=J[a+4>>2];d=c;b=0;c=0;f=fa-32|0;fa=f;g=a;a=J[a+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=Cj(e);J[f+8>>2]=b;c=b+e|0;J[f+16>>2]=c;Xi(b,0,e);J[f+12>>2]=c}h=J[g+628>>2];e=J[h>>2];if(e){J[h+4>>2]=e;xj(e);c=J[f+12>>2];b=J[f+8>>2];a=J[g+12>>2]}J[h+4>>2]=c;J[h>>2]=b;J[h+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;k=Cj(a);J[f+8>>2]=k;b=a+k|0;J[f+16>>2]=b;Xi(k,0,a);J[f+12>>2]=b}c=J[g+640>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);k=J[f+8>>2];b=J[f+12>>2]}J[c+4>>2]=b;J[c>>2]=k;J[c+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;a=(b>>>0)/341|0;a=J[J[f+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;c=1;a=J[f+28>>2]+1|0;J[f+28>>2]=a;e:{if(!a){break e}n=g+16|0;while(1){j=J[f+12>>2];h=J[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=J[j+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;q=J[b+8>>2];i=J[b+4>>2];o=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}c=0;if(o>>>0>u>>>0){break e}a=J[g+12>>2];k=(i|0)!=(a-1|0)?i+1|0:0;if(k>>>0>=a>>>0){break e}p=P(q,12);v=p+J[g+640>>2]|0;r=p+J[g+628>>2]|0;h=J[g>>2];l=k<<2;e=J[l+J[v>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!o){break g}c=J[d+16>>2];b=J[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;j=0;b=c;h:{if(e){break h}while(1){l=J[d+28>>2];b=a;i=P(j,20)+c|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break h}e=J[r>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break i}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[i+16>>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);a=J[d+20>>2];b=a;j=j+1|0;c=J[d+16>>2];if(j>>>0<(a-c|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;m=m+1|0;if((o|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(o>>>0<=2){c=J[g+616>>2];J[c>>2]=k;a=1;b=J[g+12>>2];if(b>>>0>1){break l}break j}if(M[g+8>>2]>M[g+4>>2]){break e}a=J[g+628>>2];j=q+1|0;m=P(j,12);b=a+m|0;if((b|0)!=(r|0)){Nb(b,J[r>>2],J[r+4>>2]);a=J[g+628>>2]}a=l+J[a+m>>2]|0;J[a>>2]=J[a>>2]+(1<<h+(e^-1));b=0;a=0;c=S(o)^31;if(!c){a=o>>>1|0;break k}while(1){b=je((a<<4)+n|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=o>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){k=(b-1|0)!=(k|0)?k+1|0:0;J[c+(a<<2)>>2]=k;a=a+1|0;b=J[g+12>>2];if(a>>>0<b>>>0){continue}break}break j}m:{n:{b=a-b|0;a=o-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[g+596>>2];if((i|0)==J[g+588>>2]){break n}h=J[i>>2];e=J[g+600>>2];c=e+1|0;J[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){J[g+600>>2]=0;J[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=J[g+640>>2];h=i+p|0;e=J[h>>2];b=e+l|0;J[b>>2]=J[b>>2]+1;Nb(i+m|0,e,J[h+4>>2]);if(a){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];b=J[f+12>>2];if((m|0)==(((b|0)!=(e|0)?P(e-b>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=J[e+(b<<2)>>2]+P(m-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=k;J[b>>2]=a;J[f+28>>2]=J[f+28>>2]+1}if(!c){break g}b=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];a=J[f+12>>2];if((b|0)==(((a|0)!=(e|0)?P(e-a>>2,341)-1|0:0)|0)){Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=J[e+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=j;J[a+4>>2]=k;J[a>>2]=c;a=J[f+28>>2]+1|0;J[f+28>>2]=a;break f}k=0;if(!o){break g}while(1){if(J[g+12>>2]){q=J[g+548>>2];i=J[v>>2];t=J[g+604>>2];h=J[g+616>>2];a=0;while(1){p=(a<<2)+h|0;J[t+(J[p>>2]<<2)>>2]=0;e=J[g>>2];c=J[p>>2]<<2;b=J[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+t|0;s=e-b|0;m=J[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=J[g+556>>2];if((c|0)==(q|0)){c=0;break e}J[l>>2]=J[c>>2]<<m>>>32-s;b=s+J[g+560>>2]|0;J[g+560>>2]=b;if((b|0)!=32){break q}J[g+560>>2]=0;J[g+556>>2]=c+4;break q}j=J[g+556>>2];b=j+4|0;if((q|0)==(b|0)){c=0;break e}c=J[j>>2];J[g+556>>2]=b;b=s-e|0;J[g+560>>2]=b;J[l>>2]=J[j+4>>2]>>>32-b|c<<m>>>32-s}c=J[p>>2]<<2;b=c+t|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0<M[g+12>>2]){continue}break}}j=0;a=J[d+16>>2];r:{if((a|0)==J[d+20>>2]){break r}while(1){l=J[d+28>>2];i=P(j,20)+a|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break r}e=J[g+604>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break s}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[i+16>>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);j=j+1|0;a=J[d+16>>2];if(j>>>0<(J[d+20>>2]-a|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;k=k+1|0;if((o|0)!=(k|0)){continue}break}}a=J[f+28>>2]}if(a){continue}break}c=1}J[f+28>>2]=0;k=J[f+16>>2];a=J[f+12>>2];b=k-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[f+12>>2]+4|0;J[f+12>>2]=a;k=J[f+16>>2];b=k-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:J[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(k|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}b=J[f+16>>2];a=J[f+12>>2];if((b|0)==(a|0)){break u}J[f+16>>2]=b+((a-b|0)+3&-4)}a=J[f+8>>2];if(a){xj(a)}fa=f+32|0;break b}Ia();C()}Ia();C()}g=c}return g}function Db(a,b,c,d){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;i=J[b+8>>2];k=J[b+12>>2];o=J[b+20>>2];e=J[b+16>>2];h=e+4|0;o=h>>>0<4?o+1|0:o;a:{if(i>>>0<h>>>0&(k|0)<=(o|0)|(k|0)<(o|0)){break a}e=e+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;h=J[b+16>>2];e=h+4|0;k=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];o=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(o|0)|(i|0)>(o|0)){break a}e=J[b>>2]+e|0;h=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];e=J[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=i;if(!h){return 1}if(d>>>0<h>>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}v=J[a+4>>2];d=c;b=0;c=0;f=fa-32|0;fa=f;g=a;a=J[a+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=Cj(e);J[f+8>>2]=b;c=b+e|0;J[f+16>>2]=c;Xi(b,0,e);J[f+12>>2]=c}h=J[g+628>>2];e=J[h>>2];if(e){J[h+4>>2]=e;xj(e);c=J[f+12>>2];b=J[f+8>>2];a=J[g+12>>2]}J[h+4>>2]=c;J[h>>2]=b;J[h+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=Cj(a);J[f+8>>2]=j;b=a+j|0;J[f+16>>2]=b;Xi(j,0,a);J[f+12>>2]=b}c=J[g+640>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);j=J[f+8>>2];b=J[f+12>>2]}J[c+4>>2]=b;J[c>>2]=j;J[c+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;a=(b>>>0)/341|0;a=J[J[f+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=v;c=1;a=J[f+28>>2]+1|0;J[f+28>>2]=a;e:{if(!a){break e}o=g+16|0;while(1){i=J[f+12>>2];h=J[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=J[i+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;q=J[b+8>>2];n=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}c=0;if(n>>>0>v>>>0){break e}a=J[g+628>>2];p=P(q,12);t=p+J[g+640>>2]|0;j=Si(g,n,t);if(j>>>0>=M[g+12>>2]){break e}r=a+p|0;h=J[g>>2];l=j<<2;e=J[l+J[t>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!n){break g}c=J[d+16>>2];b=J[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;k=0;b=c;h:{if(e){break h}while(1){l=J[d+28>>2];b=a;i=P(k,20)+c|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break h}e=J[r>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break i}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[i+16>>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);a=J[d+20>>2];b=a;k=k+1|0;c=J[d+16>>2];if(k>>>0<(a-c|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;m=m+1|0;if((n|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){c=J[g+616>>2];J[c>>2]=j;a=1;b=J[g+12>>2];if(b>>>0>1){break l}break j}if(M[g+8>>2]>M[g+4>>2]){break e}a=J[g+628>>2];k=q+1|0;m=P(k,12);b=a+m|0;if((b|0)!=(r|0)){Nb(b,J[r>>2],J[r+4>>2]);a=J[g+628>>2]}a=l+J[a+m>>2]|0;J[a>>2]=J[a>>2]+(1<<h+(e^-1));b=0;a=0;c=S(n)^31;if(!c){a=n>>>1|0;break k}while(1){b=je((a<<4)+o|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;J[c+(a<<2)>>2]=j;a=a+1|0;b=J[g+12>>2];if(a>>>0<b>>>0){continue}break}break j}m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[g+596>>2];if((i|0)==J[g+588>>2]){break n}h=J[i>>2];e=J[g+600>>2];c=e+1|0;J[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){J[g+600>>2]=0;J[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=J[g+640>>2];h=i+p|0;e=J[h>>2];b=e+l|0;J[b>>2]=J[b>>2]+1;Nb(i+m|0,e,J[h+4>>2]);if(a){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];b=J[f+12>>2];if((m|0)==(((b|0)!=(e|0)?P(e-b>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=J[e+(b<<2)>>2]+P(m-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=j;J[b>>2]=a;J[f+28>>2]=J[f+28>>2]+1}if(!c){break g}b=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];a=J[f+12>>2];if((b|0)==(((a|0)!=(e|0)?P(e-a>>2,341)-1|0:0)|0)){Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=J[e+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=k;J[a+4>>2]=j;J[a>>2]=c;a=J[f+28>>2]+1|0;J[f+28>>2]=a;break f}j=0;if(!n){break g}while(1){if(J[g+12>>2]){q=J[g+548>>2];i=J[t>>2];u=J[g+604>>2];h=J[g+616>>2];a=0;while(1){p=(a<<2)+h|0;J[u+(J[p>>2]<<2)>>2]=0;e=J[g>>2];c=J[p>>2]<<2;b=J[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+u|0;s=e-b|0;m=J[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=J[g+556>>2];if((c|0)==(q|0)){c=0;break e}J[l>>2]=J[c>>2]<<m>>>32-s;b=s+J[g+560>>2]|0;J[g+560>>2]=b;if((b|0)!=32){break q}J[g+560>>2]=0;J[g+556>>2]=c+4;break q}k=J[g+556>>2];b=k+4|0;if((q|0)==(b|0)){c=0;break e}c=J[k>>2];J[g+556>>2]=b;b=s-e|0;J[g+560>>2]=b;J[l>>2]=J[k+4>>2]>>>32-b|c<<m>>>32-s}c=J[p>>2]<<2;b=c+u|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0<M[g+12>>2]){continue}break}}k=0;a=J[d+16>>2];r:{if((a|0)==J[d+20>>2]){break r}while(1){l=J[d+28>>2];i=P(k,20)+a|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break r}e=J[g+604>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break s}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[i+16>>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);k=k+1|0;a=J[d+16>>2];if(k>>>0<(J[d+20>>2]-a|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;j=j+1|0;if((n|0)!=(j|0)){continue}break}}a=J[f+28>>2]}if(a){continue}break}c=1}J[f+28>>2]=0;j=J[f+16>>2];a=J[f+12>>2];b=j-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[f+12>>2]+4|0;J[f+12>>2]=a;j=J[f+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:J[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=J[f+16>>2];a=J[f+12>>2];if((b|0)==(a|0)){break u}J[f+16>>2]=b+((a-b|0)+3&-4)}a=J[f+8>>2];if(a){xj(a)}fa=f+32|0;break b}Ia();C()}Ia();C()}g=c}return g}function Cb(a,b,c,d){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;i=J[b+8>>2];k=J[b+12>>2];m=J[b+20>>2];f=J[b+16>>2];h=f+4|0;m=h>>>0<4?m+1|0:m;a:{if(i>>>0<h>>>0&(k|0)<=(m|0)|(k|0)<(m|0)){break a}f=f+J[b>>2]|0;J[a>>2]=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);f=J[b+20>>2];i=f;h=J[b+16>>2];f=h+4|0;k=f>>>0<4?i+1|0:i;J[b+16>>2]=f;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];m=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(m|0)|(i|0)>(m|0)){break a}f=f+J[b>>2]|0;h=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];f=J[b+16>>2]+4|0;i=f>>>0<4?i+1|0:i;J[b+16>>2]=f;J[b+20>>2]=i;if(!h){return 1}if(d>>>0<h>>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}u=J[a+4>>2];b=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;g=b+d|0;J[e+16>>2]=g;Xi(b,0,d);J[e+12>>2]=g}h=J[f+628>>2];d=J[h>>2];if(d){J[h+4>>2]=d;xj(d);g=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[h+4>>2]=g;J[h>>2]=b;J[h+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=Cj(a);J[e+8>>2]=j;b=a+j|0;J[e+16>>2]=b;Xi(j,0,a);J[e+12>>2]=b}d=J[f+640>>2];a=J[d>>2];if(a){J[d+4>>2]=a;xj(a);j=J[e+8>>2];b=J[e+12>>2]}J[d+4>>2]=b;J[d>>2]=j;J[d+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}m=f+16|0;while(1){k=J[e+12>>2];h=J[e+24>>2];g=a-1|0;d=h+g|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;q=J[b+8>>2];i=J[b+4>>2];n=J[b>>2];J[e+28>>2]=g;b=J[e+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(n>>>0>u>>>0){d=0;break e}d=0;a=J[f+12>>2];j=(i|0)!=(a-1|0)?i+1|0:0;if(j>>>0>=a>>>0){break e}a=J[f+628>>2];o=P(q,12);s=a+o|0;g=J[f>>2];l=j<<2;k=o+J[f+640>>2]|0;b=J[l+J[k>>2]>>2];f:{g:{if((g|0)==(b|0)){if(!n){break g}g=J[c+16>>2];b=J[c+20>>2];p=0;while(1){d=(b|0)==(g|0);a=b;j=0;b=g;h:{if(d){break h}while(1){d=J[c+28>>2];b=a;k=P(j,20)+g|0;i=J[k>>2];if(!K[i+84|0]){d=J[J[i+68>>2]+(d<<2)>>2]}if(M[i+80>>2]<=d>>>0){break h}h=J[s>>2]+(J[k+4>>2]<<2)|0;g=J[k+12>>2];b=h;i:{if(g>>>0>3){break i}a=0;b=J[c+12>>2];if(!J[k+16>>2]){break i}while(1){b=Vi(b,h+(a<<2)|0,g);g=J[k+12>>2];b=b+g|0;a=a+1|0;if(a>>>0<M[k+16>>2]){continue}break}b=J[c+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,d)|0,b,a);a=J[c+20>>2];b=a;j=j+1|0;g=J[c+16>>2];if(j>>>0<(a-g|0)/20>>>0){continue}break}}J[c+28>>2]=J[c+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){d=J[f+616>>2];J[d>>2]=j;a=1;b=J[f+12>>2];if(b>>>0>1){break l}break j}if(M[f+8>>2]>M[f+4>>2]){break e}d=a;a=o+12|0;Nb(d+a|0,J[s>>2],J[s+4>>2]);a=l+J[a+J[f+628>>2]>>2]|0;J[a>>2]=J[a>>2]+(1<<g+(b^-1));b=0;a=0;d=S(n)^31;if(!d){a=n>>>1|0;break k}while(1){b=je((a<<4)+m|0)|b<<1;a=a+1|0;if((d|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}d=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;J[d+(a<<2)>>2]=j;a=a+1|0;b=J[f+12>>2];if(a>>>0<b>>>0){continue}break}break j}k=q+1|0;m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[f+596>>2];if((i|0)==J[f+588>>2]){break n}h=J[i>>2];g=J[f+600>>2];d=g+1|0;J[f+600>>2]=d;g=h&-2147483648>>>g;p:{if((d|0)==32){J[f+600>>2]=0;J[f+596>>2]=i+4;if(g){break p}break n}if(!g){break n}}}d=a;a=b;break m}d=b}i=J[f+640>>2];h=i+o|0;g=J[h>>2];b=g+l|0;J[b>>2]=J[b>>2]+1;Nb(i+P(k,12)|0,g,J[h+4>>2]);if(a){h=J[e+28>>2]+J[e+24>>2]|0;g=J[e+16>>2];b=J[e+12>>2];if((h|0)==(((b|0)!=(g|0)?P(g-b>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+24>>2]+J[e+28>>2]|0;g=J[e+12>>2]}else{g=b}b=(h>>>0)/341|0;b=J[g+(b<<2)>>2]+P(h-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=j;J[b>>2]=a;J[e+28>>2]=J[e+28>>2]+1}if(!d){break g}b=J[e+28>>2]+J[e+24>>2]|0;g=J[e+16>>2];a=J[e+12>>2];if((b|0)==(((a|0)!=(g|0)?P(g-a>>2,341)-1|0:0)|0)){Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;g=J[e+12>>2]}else{g=a}a=(b>>>0)/341|0;a=J[g+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=k;J[a+4>>2]=j;J[a>>2]=d;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}p=0;if(!n){break g}while(1){if(J[f+12>>2]){v=J[f+548>>2];i=J[k>>2];t=J[f+604>>2];h=J[f+616>>2];a=0;while(1){j=h+(a<<2)|0;J[(J[j>>2]<<2)+t>>2]=0;g=J[f>>2];d=J[j>>2]<<2;b=J[d+i>>2];q:{if((g|0)==(b|0)){break q}q=d+t|0;r=g-b|0;o=J[f+560>>2];g=32-o|0;if((r|0)<=(g|0)){d=J[f+556>>2];if((d|0)==(v|0)){d=0;break e}J[q>>2]=J[d>>2]<<o>>>32-r;b=J[f+560>>2]+r|0;J[f+560>>2]=b;if((b|0)!=32){break q}J[f+560>>2]=0;J[f+556>>2]=d+4;break q}l=J[f+556>>2];b=l+4|0;if((b|0)==(v|0)){d=0;break e}d=J[l>>2];J[f+556>>2]=b;b=r-g|0;J[f+560>>2]=b;J[q>>2]=J[l+4>>2]>>>32-b|d<<o>>>32-r}d=J[j>>2]<<2;b=d+t|0;J[b>>2]=J[b>>2]|J[d+J[s>>2]>>2];a=a+1|0;if(a>>>0<M[f+12>>2]){continue}break}}j=0;a=J[c+16>>2];r:{if((a|0)==J[c+20>>2]){break r}while(1){d=J[c+28>>2];l=P(j,20)+a|0;i=J[l>>2];if(!K[i+84|0]){d=J[J[i+68>>2]+(d<<2)>>2]}if(M[i+80>>2]<=d>>>0){break r}h=J[f+604>>2]+(J[l+4>>2]<<2)|0;g=J[l+12>>2];b=h;s:{if(g>>>0>3){break s}a=0;b=J[c+12>>2];if(!J[l+16>>2]){break s}while(1){b=Vi(b,h+(a<<2)|0,g);g=J[l+12>>2];b=b+g|0;a=a+1|0;if(a>>>0<M[l+16>>2]){continue}break}b=J[c+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,d)|0,b,a);j=j+1|0;a=J[c+16>>2];if(j>>>0<(J[c+20>>2]-a|0)/20>>>0){continue}break}}J[c+28>>2]=J[c+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}d=1}J[e+28>>2]=0;j=J[e+16>>2];a=J[e+12>>2];b=j-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;j=J[e+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}g=170;t:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break u}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}g=d}return g}function vb(a,b,c,d){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;j=J[b+8>>2];e=J[b+12>>2];g=J[b+20>>2];h=J[b+16>>2];l=h+4|0;g=l>>>0<4?g+1|0:g;a:{if(j>>>0<l>>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];e=h;j=J[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;J[b+16>>2]=g;J[b+20>>2]=h;if(M[a>>2]>32){break a}k=J[b+8>>2];l=J[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>k>>>0&(h|0)>=(l|0)|(h|0)>(l|0)){break a}h=J[b>>2]+g|0;g=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=g;h=J[b+20>>2];e=J[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;J[b+16>>2]=e;J[b+20>>2]=h;if(!g){return 1}if(d>>>0<g>>>0){break a}J[a+8>>2]=0;if(!he(a+16|0,b)){break a}if(!ge(a+32|0,b)){break a}if(!ge(a+52|0,b)){break a}if(!ge(a+72|0,b)){break a}r=J[a+4>>2];h=c;b=0;g=0;e=fa-32|0;fa=e;d=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=Cj(c);J[e+8>>2]=b;g=b+c|0;J[e+16>>2]=g;Xi(b,0,c);J[e+12>>2]=g}c=J[d+116>>2];i=J[c>>2];if(i){J[c+4>>2]=i;xj(i);g=J[e+12>>2];b=J[e+8>>2];a=J[d+12>>2]}J[c+4>>2]=g;J[c>>2]=b;J[c+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=Cj(a);J[e+8>>2]=f;b=a+f|0;J[e+16>>2]=b;Xi(f,0,a);J[e+12>>2]=b}a=J[d+128>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);f=J[e+8>>2];b=J[e+12>>2]}J[a+4>>2]=b;J[a>>2]=f;J[a+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);a=J[e+24>>2]+J[e+28>>2]|0;b=(a>>>0)/341|0;a=J[J[e+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=r;c=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}t=d+16|0;while(1){b=J[e+12>>2];f=J[e+24>>2];l=a-1|0;c=f+l|0;i=(c>>>0)/341|0;c=J[b+(i<<2)>>2]+P(c-P(i,341)|0,12)|0;g=J[c+8>>2];i=J[c+4>>2];j=J[c>>2];J[e+28>>2]=l;c=J[e+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[e+16>>2]=J[e+16>>2]-4}c=0;if(j>>>0>r>>>0){break e}b=J[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=P(g,12);o=f+J[d+128>>2]|0;l=f+J[d+116>>2]|0;i=J[d>>2];k=a<<2;n=J[k+J[o>>2]>>2];f:{if((i|0)==(n|0)){if(!j){break f}o=0;b=J[h+20>>2];g=J[h+16>>2];if((b|0)==(g|0)){a=J[d+8>>2];J[h+28>>2]=j+J[h+28>>2];J[d+8>>2]=a+j;break f}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;g:{if(c){break g}while(1){f=J[h+28>>2];b=a;c=P(i,20)+g|0;k=J[c>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break g}n=J[l>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=n;h:{if(g>>>0>3){break h}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break h}while(1){b=Vi(b,n+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0<M[c+16>>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+20>>2];b=a;g=J[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break f}i:{j:{k:{l:{if(j>>>0<=2){c=J[d+104>>2];J[c>>2]=a;f=1;b=J[d+12>>2];if(b>>>0>1){break l}break i}if(M[d+8>>2]>M[d+4>>2]){break e}b=J[d+116>>2];m=g+1|0;o=P(m,12);q=b+o|0;if((q|0)!=(l|0)){Nb(q,J[l>>2],J[l+4>>2]);b=J[d+116>>2]}b=k+J[b+o>>2]|0;J[b>>2]=J[b>>2]+(1<<i+(n^-1));J[e+4>>2]=0;ke(t,S(j)^31,e+4|0);b=j>>>1|0;i=J[e+4>>2];if(b>>>0<i>>>0){break e}b=b-i|0;c=j-b|0;m:{if((c|0)==(b|0)){c=b;break m}i=J[d+84>>2];if((i|0)==J[d+76>>2]){break k}j=J[i>>2];l=J[d+88>>2];n=l+1|0;J[d+88>>2]=n;j=j&-2147483648>>>l;n:{if((n|0)==32){J[d+88>>2]=0;J[d+84>>2]=i+4;if(j){break n}break k}if(!j){break k}}}i=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(f<<2)>>2]=a;b=J[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break i}i=b}b=J[d+128>>2];j=b+f|0;f=J[j>>2];l=f+k|0;J[l>>2]=J[l>>2]+1;Nb(b+o|0,f,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;j=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((f|0)!=(j|0)?P(j-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}j=(b>>>0)/341|0;b=J[(j<<2)+f>>2]+P(b-P(j,341)|0,12)|0;J[b+8>>2]=g;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!i){break f}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((c|0)!=(f|0)?P(c-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+f>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=m;J[b+4>>2]=a;J[b>>2]=i;J[e+28>>2]=J[e+28>>2]+1;break f}n=0;if(!j){break f}while(1){if(J[d+12>>2]){i=J[d+36>>2];q=J[o>>2];c=J[d+92>>2];u=J[d+104>>2];a=0;while(1){g=(a<<2)+u|0;J[c+(J[g>>2]<<2)>>2]=0;b=J[d>>2];f=J[g>>2]<<2;k=J[f+q>>2];o:{if((b|0)==(k|0)){break o}f=c+f|0;b=b-k|0;k=J[d+48>>2];p=32-k|0;if((b|0)<=(p|0)){m=J[d+44>>2];if((m|0)==(i|0)){c=0;break e}J[f>>2]=J[m>>2]<<k>>>32-b;b=b+J[d+48>>2]|0;J[d+48>>2]=b;if((b|0)!=32){break o}J[d+48>>2]=0;J[d+44>>2]=m+4;break o}m=J[d+44>>2];s=m+4|0;if((i|0)==(s|0)){c=0;break e}v=J[m>>2];J[d+44>>2]=s;p=b-p|0;J[d+48>>2]=p;J[f>>2]=J[m+4>>2]>>>32-p|v<<k>>>32-b}b=J[g>>2]<<2;g=b+c|0;J[g>>2]=J[g>>2]|J[b+J[l>>2]>>2];a=a+1|0;if(a>>>0<M[d+12>>2]){continue}break}}i=0;a=J[h+16>>2];p:{if((a|0)==J[h+20>>2]){break p}while(1){f=J[h+28>>2];c=P(i,20)+a|0;k=J[c>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break p}m=J[d+92>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=m;q:{if(g>>>0>3){break q}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break q}while(1){b=Vi(b,m+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0<M[c+16>>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+16>>2];if(i>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;n=n+1|0;if((j|0)!=(n|0)){continue}break}}a=J[e+28>>2];if(a){continue}break}c=1}J[e+28>>2]=0;f=J[e+16>>2];a=J[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;f=J[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;r:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break r}}s:{if((a|0)==(f|0)){break s}while(1){xj(J[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=J[e+16>>2];b=J[e+12>>2];if((a|0)==(b|0)){break s}J[e+16>>2]=a+((b-a|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}i=c}return i}function yb(a,b,c,d){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;i=J[b+8>>2];k=J[b+12>>2];n=J[b+20>>2];h=J[b+16>>2];f=h+4|0;n=f>>>0<4?n+1|0:n;a:{if((k|0)<=(n|0)&f>>>0>i>>>0|(k|0)<(n|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];i=h;f=J[b+16>>2];h=f+4|0;k=h>>>0<4?i+1|0:i;J[b+16>>2]=h;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];n=J[b+12>>2];f=f+8|0;i=f>>>0<8?i+1|0:i;if(f>>>0>k>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}h=J[b>>2]+h|0;f=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=f;i=J[b+20>>2];h=J[b+16>>2]+4|0;i=h>>>0<4?i+1|0:i;J[b+16>>2]=h;J[b+20>>2]=i;if(!f){return 1}if(d>>>0<f>>>0){break a}J[a+8>>2]=0;if(!he(a+16|0,b)){break a}if(!ge(a+32|0,b)){break a}if(!ge(a+52|0,b)){break a}if(!ge(a+72|0,b)){break a}u=J[a+4>>2];h=c;b=0;c=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;c=b+d|0;J[e+16>>2]=c;Xi(b,0,d);J[e+12>>2]=c}j=J[f+116>>2];d=J[j>>2];if(d){J[j+4>>2]=d;xj(d);c=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[j+4>>2]=c;J[j>>2]=b;J[j+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;g=Cj(a);J[e+8>>2]=g;b=a+g|0;J[e+16>>2]=b;Xi(g,0,a);J[e+12>>2]=b}c=J[f+128>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);g=J[e+8>>2];b=J[e+12>>2]}J[c+4>>2]=b;J[c>>2]=g;J[c+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}n=f+16|0;while(1){i=J[e+12>>2];j=J[e+24>>2];d=a-1|0;c=j+d|0;b=(c>>>0)/341|0;b=J[i+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;o=J[b+8>>2];c=J[b+4>>2];m=J[b>>2];J[e+28>>2]=d;b=J[e+16>>2];if((((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)-(a+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(m>>>0>u>>>0){d=0;break e}d=0;b=J[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=J[f+116>>2];p=P(o,12);r=b+p|0;j=J[f>>2];g=a<<2;k=p+J[f+128>>2]|0;c=J[g+J[k>>2]>>2];f:{if((j|0)==(c|0)){if(!m){break f}b=J[h+20>>2];c=J[h+16>>2];if((b|0)==(c|0)){a=J[f+8>>2];J[h+28>>2]=m+J[h+28>>2];J[f+8>>2]=a+m;break f}while(1){i=(b|0)==(c|0);a=b;j=0;b=c;g:{if(i){break g}while(1){g=J[h+28>>2];b=a;l=P(j,20)+c|0;k=J[l>>2];if(!K[k+84|0]){g=J[J[k+68>>2]+(g<<2)>>2]}if(M[k+80>>2]<=g>>>0){break g}i=J[r>>2]+(J[l+4>>2]<<2)|0;c=J[l+12>>2];b=i;h:{if(c>>>0>3){break h}a=0;b=J[h+12>>2];if(!J[l+16>>2]){break h}while(1){b=Vi(b,i+(a<<2)|0,c);c=J[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[l+16>>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,g)|0,b,a);j=j+1|0;a=J[h+20>>2];b=a;c=J[h+16>>2];if(j>>>0<(b-c|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((m|0)!=(d|0)){continue}break}break f}i:{j:{k:{l:{if(m>>>0<=2){c=J[f+104>>2];J[c>>2]=a;g=1;b=J[f+12>>2];if(b>>>0>1){break l}break i}if(M[f+8>>2]>M[f+4>>2]){break e}i=b;b=p+12|0;Nb(i+b|0,J[r>>2],J[r+4>>2]);b=g+J[b+J[f+116>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<<j+(c^-1));J[e+4>>2]=0;ke(n,S(m)^31,e+4|0);c=m>>>1|0;b=J[e+4>>2];if(c>>>0<b>>>0){break e}l=o+1|0;b=c-b|0;c=m-b|0;m:{if((c|0)==(b|0)){c=b;break m}k=J[f+84>>2];if((k|0)==J[f+76>>2]){break k}i=J[k>>2];j=J[f+88>>2];d=j+1|0;J[f+88>>2]=d;j=i&-2147483648>>>j;n:{if((d|0)==32){J[f+88>>2]=0;J[f+84>>2]=k+4;if(j){break n}break k}if(!j){break k}}}j=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(g<<2)>>2]=a;b=J[f+12>>2];g=g+1|0;if(b>>>0>g>>>0){continue}break}break i}j=b}k=J[f+128>>2];i=k+p|0;d=J[i>>2];b=d+g|0;J[b>>2]=J[b>>2]+1;Nb(k+P(l,12)|0,d,J[i+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;d=J[e+16>>2];g=J[e+12>>2];if((b|0)==(((d|0)!=(g|0)?P(d-g>>2,341)-1|0:0)|0)){Mb(e+8|0);g=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}d=(b>>>0)/341|0;b=J[(d<<2)+g>>2]+P(b-P(d,341)|0,12)|0;J[b+8>>2]=o;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!j){break f}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];g=J[e+12>>2];if((b|0)==(((c|0)!=(g|0)?P(c-g>>2,341)-1|0:0)|0)){Mb(e+8|0);g=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+g>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=l;J[b+4>>2]=a;J[b>>2]=j;J[e+28>>2]=J[e+28>>2]+1;break f}s=0;if(!m){break f}while(1){if(J[f+12>>2]){v=J[f+36>>2];i=J[k>>2];t=J[f+92>>2];j=J[f+104>>2];a=0;while(1){o=(a<<2)+j|0;J[t+(J[o>>2]<<2)>>2]=0;d=J[f>>2];c=J[o>>2]<<2;b=J[c+i>>2];o:{if((d|0)==(b|0)){break o}p=c+t|0;q=d-b|0;g=J[f+48>>2];d=32-g|0;if((q|0)<=(d|0)){c=J[f+44>>2];if((c|0)==(v|0)){d=0;break e}J[p>>2]=J[c>>2]<<g>>>32-q;b=q+J[f+48>>2]|0;J[f+48>>2]=b;if((b|0)!=32){break o}J[f+48>>2]=0;J[f+44>>2]=c+4;break o}l=J[f+44>>2];b=l+4|0;if((v|0)==(b|0)){d=0;break e}c=J[l>>2];J[f+44>>2]=b;b=q-d|0;J[f+48>>2]=b;J[p>>2]=J[l+4>>2]>>>32-b|c<<g>>>32-q}c=J[o>>2]<<2;b=c+t|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0<M[f+12>>2]){continue}break}}j=0;a=J[h+16>>2];p:{if((a|0)==J[h+20>>2]){break p}while(1){g=J[h+28>>2];l=P(j,20)+a|0;i=J[l>>2];if(!K[i+84|0]){g=J[J[i+68>>2]+(g<<2)>>2]}if(M[i+80>>2]<=g>>>0){break p}d=J[f+92>>2]+(J[l+4>>2]<<2)|0;c=J[l+12>>2];b=d;q:{if(c>>>0>3){break q}a=0;b=J[h+12>>2];if(!J[l+16>>2]){break q}while(1){b=Vi(b,d+(a<<2)|0,c);c=J[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0<M[l+16>>2]){continue}break}b=J[h+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,g)|0,b,a);j=j+1|0;a=J[h+16>>2];if(j>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;s=s+1|0;if((m|0)!=(s|0)){continue}break}}a=J[e+28>>2];if(a){continue}break}d=1}J[e+28>>2]=0;g=J[e+16>>2];a=J[e+12>>2];b=g-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;g=J[e+16>>2];b=g-a|0;if(b>>>0>8){continue}break}}c=170;r:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:J[e+24>>2]=c;break;default:break r}}s:{if((a|0)==(g|0)){break s}while(1){xj(J[a>>2]);a=a+4|0;if((g|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break s}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;j=d;break b}Ia();C()}Ia();C()}}return j}function af(a,b){var 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;h=fa-32|0;fa=h;g=J[J[a+4>>2]+44>>2];c=J[a+8>>2];d=J[c>>2];c=J[c+4>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;d=(c-d>>2>>>0)/3|0;c=J[g+96>>2];f=(J[g+100>>2]-c|0)/12|0;a:{if(d>>>0>f>>>0){e=d-f|0;i=J[g+104>>2];c=J[g+100>>2];if(e>>>0<=(i-c|0)/12>>>0){b:{if(!e){break b}d=c;f=P(e,12)-12|0;i=((f>>>0)/12|0)+1&3;if(i){while(1){l=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=l;J[d+8>>2]=J[h+24>>2];d=d+12|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}c=P(e,12)+c|0;if(f>>>0<36){break b}while(1){f=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=f;J[d+8>>2]=J[h+24>>2];J[d+20>>2]=J[h+24>>2];f=J[h+20>>2];J[d+12>>2]=J[h+16>>2];J[d+16>>2]=f;J[d+32>>2]=J[h+24>>2];f=J[h+20>>2];J[d+24>>2]=J[h+16>>2];J[d+28>>2]=f;f=J[h+20>>2];J[d+36>>2]=J[h+16>>2];J[d+40>>2]=f;J[d+44>>2]=J[h+24>>2];d=d+48|0;if((d|0)!=(c|0)){continue}break}}J[g+100>>2]=c;break a}c:{f=J[g+96>>2];n=(c-f|0)/12|0;d=n+e|0;if(d>>>0<357913942){f=(i-f|0)/12|0;i=f<<1;i=f>>>0>=178956970?357913941:d>>>0<i>>>0?i:d;if(i){if(i>>>0>=357913942){break c}l=Cj(P(i,12))}f=P(n,12)+l|0;d=f;e=P(e,12);n=e-12|0;q=((n>>>0)/12|0)+1&3;if(q){while(1){r=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=r;J[d+8>>2]=J[h+24>>2];d=d+12|0;j=j+1|0;if((q|0)!=(j|0)){continue}break}}e=e+f|0;if(n>>>0>=36){while(1){j=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=j;J[d+8>>2]=J[h+24>>2];J[d+20>>2]=J[h+24>>2];j=J[h+20>>2];J[d+12>>2]=J[h+16>>2];J[d+16>>2]=j;J[d+32>>2]=J[h+24>>2];j=J[h+20>>2];J[d+24>>2]=J[h+16>>2];J[d+28>>2]=j;j=J[h+20>>2];J[d+36>>2]=J[h+16>>2];J[d+40>>2]=j;J[d+44>>2]=J[h+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}j=J[g+96>>2];if((j|0)!=(c|0)){while(1){c=c-12|0;n=J[c+4>>2];f=f-12|0;d=f;J[d>>2]=J[c>>2];J[d+4>>2]=n;J[d+8>>2]=J[c+8>>2];if((c|0)!=(j|0)){continue}break}c=J[g+96>>2]}J[g+104>>2]=P(i,12)+l;J[g+100>>2]=e;J[g+96>>2]=f;if(c){xj(c)}break a}Ia();C()}Va();C()}if(d>>>0>=f>>>0){break a}J[g+100>>2]=c+P(d,12)}d:{if(J[a+216>>2]==J[a+220>>2]){j=J[a+4>>2];c=J[j+44>>2];d=J[c+100>>2];f=J[c+96>>2];if((d|0)!=(f|0)){c=(d-f|0)/12|0;o=c>>>0<=1?1:c;c=0;while(1){d=J[a+8>>2];i=f+P(c,12)|0;g=P(c,3);e:{f:{if((g|0)==-1){e=J[(J[d>>2]+(g<<2)|0)+4>>2];k=-1;g=1;break f}e=-1;k=J[J[d>>2]+(g<<2)>>2];l=g+1|0;if((l|0)==-1){g=0;break f}e=J[J[d>>2]+(l<<2)>>2];g=g+2|0;m=-1;if((g|0)==-1){break e}}m=J[J[d>>2]+(g<<2)>>2]}J[i+8>>2]=m;J[i+4>>2]=e;J[i>>2]=k;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[J[j+4>>2]+80>>2]=b;c=1;break d}d=0;J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;l=J[a+8>>2];c=J[l>>2];g=J[l+4>>2];J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;b=0;g:{h:{i:{j:{k:{l:{if((c|0)!=(g|0)){c=g-c|0;if((c|0)<0){break l}b=Cj(c);J[h>>2]=b;J[h+8>>2]=(c&-4)+b;u=h,v=Xi(b,0,c)+c|0,J[u+4>>2]=v}c=J[l+24>>2];if((J[l+28>>2]-c|0)<4){break h}f=0;while(1){g=J[(p<<2)+c>>2];m:{if((g|0)==-1){break m}n:{if(J[J[a+120>>2]+(p>>>3&536870908)>>2]>>>p&1){break n}n=J[a+216>>2];c=J[a+220>>2];if((n|0)==(c|0)){break n}e=g+2|0;i=(g>>>0)%3|0;q=i?g-1|0:e;c=(c-n|0)/144|0;r=c>>>0<=1?1:c;j=0;t=(i|0)!=0|(e|0)!=-1;while(1){s=g<<2;i=P(j,144)+n|0;c=J[s+J[J[i+68>>2]>>2]>>2];o:{if(!(J[J[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break o}c=-1;p:{if(!t){break p}e=J[J[l+12>>2]+(q<<2)>>2];c=-1;if((e|0)==-1){break p}c=e-1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((g|0)==(c|0)){break o}e=s;s=J[i+32>>2];i=J[e+s>>2];while(1){e=0;if((c|0)==-1){break g}if((i|0)!=J[s+(c<<2)>>2]){g=c;break n}q:{r:{if((c>>>0)%3|0){e=c-1|0;break r}e=c+2|0;m=-1;if((e|0)==-1){break q}}c=J[J[l+12>>2]+(e<<2)>>2];m=-1;if((c|0)==-1){break q}m=c-1|0;if((c>>>0)%3|0){break q}m=c+2|0}c=m;if((g|0)!=(c|0)){continue}break}}j=j+1|0;if((r|0)!=(j|0)){continue}break}}i=k-f|0;e=i>>2;J[(g<<2)+b>>2]=e;s:{if(k>>>0<o>>>0){J[k>>2]=g;k=k+4|0;J[h+20>>2]=k;break s}c=e+1|0;if(c>>>0>=1073741824){break k}d=o-f|0;k=d>>>1|0;c=d>>>0>=2147483644?1073741823:c>>>0<k>>>0?k:c;if(c){if(c>>>0>=1073741824){break j}d=Cj(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=g;m=c<<2;c=Wi(d,f,i);o=m+c|0;J[h+24>>2]=o;k=e+4|0;J[h+20>>2]=k;J[h+16>>2]=c;if(f){xj(f);l=J[a+8>>2]}f=c}if((g|0)==-1){break m}t:{if((g>>>0)%3|0){c=g-1|0;break t}c=g+2|0;if((c|0)==-1){break m}}c=J[J[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=g;if((c|0)==(g|0)){break m}while(1){i=c;u:{v:{c=J[a+220>>2];j=J[a+216>>2];if((c|0)==(j|0)){break v}c=(c-j|0)/144|0;n=c>>>0<=1?1:c;c=0;while(1){q=J[(j+P(c,144)|0)+32>>2];r=i<<2;if(J[q+r>>2]==J[q+(e<<2)>>2]){c=c+1|0;if((n|0)!=(c|0)){continue}break v}break}j=k-d|0;e=j>>2;J[b+r>>2]=e;if(k>>>0<o>>>0){J[k>>2]=i;k=k+4|0;J[h+20>>2]=k;f=d;break u}c=e+1|0;if(c>>>0>=1073741824){break i}f=o-d|0;k=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0<k>>>0?k:c;if(c){if(c>>>0>=1073741824){break j}f=Cj(c<<2)}else{f=0}e=f+(e<<2)|0;J[e>>2]=i;m=c<<2;c=Wi(f,d,j);o=m+c|0;J[h+24>>2]=o;k=e+4|0;J[h+20>>2]=k;J[h+16>>2]=c;if(!d){d=c;break u}xj(d);l=J[a+8>>2];d=c;break u}J[(i<<2)+b>>2]=J[(e<<2)+b>>2]}if((i|0)==-1){break m}w:{if((i>>>0)%3|0){c=i-1|0;break w}c=i+2|0;if((c|0)==-1){break m}}c=J[J[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=i;if((c|0)!=(g|0)){continue}break}}p=p+1|0;c=J[l+24>>2];if((p|0)<J[l+28>>2]-c>>2){continue}break}break h}Ia();C()}Ia();C()}Va();C()}Ia();C()}i=J[a+4>>2];a=J[i+44>>2];c=J[a+100>>2];a=J[a+96>>2];x:{if((c|0)==(a|0)){break x}g=(c-a|0)/12|0;f=g>>>0<=1?1:g;l=f&1;c=0;if(g>>>0>=2){j=f&-2;g=0;while(1){e=P(c,12);f=e+b|0;o=J[f>>2];p=J[f+4>>2];e=a+e|0;J[e+8>>2]=J[f+8>>2];J[e>>2]=o;J[e+4>>2]=p;e=P(c|1,12);f=e+b|0;o=J[f>>2];p=J[f+4>>2];e=a+e|0;J[e+8>>2]=J[f+8>>2];J[e>>2]=o;J[e+4>>2]=p;c=c+2|0;g=g+2|0;if((j|0)!=(g|0)){continue}break}}if(!l){break x}g=P(c,12);c=g+b|0;f=J[c>>2];e=J[c+4>>2];a=a+g|0;J[a+8>>2]=J[c+8>>2];J[a>>2]=f;J[a+4>>2]=e}J[J[i+4>>2]+80>>2]=k-d>>2;e=1}c=e;if(b){xj(b)}if(!d){break d}J[h+20>>2]=d;xj(d)}fa=h+32|0;return c}function Ic(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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,I=0,K=0,L=0,M=0,N=0,O=0;g=fa+-64|0;fa=g;J[a+8>>2]=e;x=a+32|0;f=J[x>>2];d=J[a+36>>2]-f>>2;a:{b:{if(d>>>0<e>>>0){La(x,e-d|0);J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g>>2]=0;break b}if(d>>>0>e>>>0){J[a+36>>2]=f+(e<<2)}J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g>>2]=0;d=0;if(!e){break a}}fb(g+16|0,e,g);h=J[g+28>>2];d=J[g+32>>2]}J[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}J[g+32>>2]=(e<<2)+h;break c}fb(g+16|12,e-d|0,g)}J[g>>2]=0;f=J[g+40>>2];d=J[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}J[g+44>>2]=f+(e<<2);break d}fb(g+40|0,e-d|0,g)}J[g>>2]=0;f=J[g+52>>2];d=J[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}J[g+56>>2]=f+(e<<2);break e}fb(g+52|0,e-d|0,g)}f:{if(J[a+8>>2]<=0){break f}i=J[g+16>>2];j=J[a+32>>2];h=0;while(1){d=h<<2;f=J[d+i>>2];m=J[a+16>>2];g:{if((f|0)>(m|0)){J[d+j>>2]=m;break g}d=d+j|0;m=J[a+12>>2];if((m|0)>(f|0)){J[d>>2]=m;break g}J[d>>2]=f}h=h+1|0;d=J[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=J[b+i>>2]+J[j+i>>2]|0;J[f>>2]=i;h:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break h}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}G=J[a+52>>2];t=J[a+48>>2];y=Cj(16);d=y;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;r=Cj(d);J[g>>2]=r;J[g+8>>2]=d+r;Xi(r,0,d)}z=1;d=J[a+56>>2];A=J[d>>2];d=J[d+4>>2]-A|0;j:{if((d|0)<8){break j}v=d>>2;H=(v|0)<=2?2:v;I=v>>>0<=1?1:v;B=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;z=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(I|0)){o:{p:{f=J[(m<<2)+A>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;w=j?f-1|0:d;s=1<<w;n=J[t>>2];N=n+(w>>>3&536870908)|0;i=0;O=(j|0)!=0|(d|0)!=-1;d=f;q:{while(1){r:{if(J[n+(d>>>3&536870908)>>2]>>>d&1){break r}j=J[J[J[t+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}l=J[G>>2];h=J[t+28>>2];p=J[l+(J[h+(j<<2)>>2]<<2)>>2];if((p|0)>=(m|0)){break r}q=j+1|0;q=J[l+(J[h+(((q>>>0)%3|0?q:j-2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break r}h=J[l+(J[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(m|0)){break r}s:{if(!e){break s}j=J[(g+16|0)+P(i,12)>>2];l=P(e,h);q=P(e,q);p=P(e,p);h=0;o=0;if(F){while(1){J[j+(h<<2)>>2]=(J[(h+l<<2)+c>>2]+J[(h+q<<2)+c>>2]|0)-J[(h+p<<2)+c>>2];u=h|1;J[j+(u<<2)>>2]=(J[(l+u<<2)+c>>2]+J[(q+u<<2)+c>>2]|0)-J[(p+u<<2)+c>>2];h=h+2|0;o=o+2|0;if((B|0)!=(o|0)){continue}break}}if(!D){break s}J[j+(h<<2)>>2]=(J[(h+l<<2)+c>>2]+J[(h+q<<2)+c>>2]|0)-J[(h+p<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|J[n+(j>>>3&536870908)>>2]>>>j&1){break t}j=J[J[J[t+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(J[n+(h>>>3&536870908)>>2]>>>h&1){break t}j=J[J[J[t+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if((d|0)==-1&k){if(!O|s&J[N>>2]){break v}d=J[J[J[t+64>>2]+12>>2]+(w<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){Xi(r,0,L)}d=j-1|0;q=(d<<2)+y|0;d=P(d,12)+a|0;u=d;w=J[d- -64>>2];k=0;d=J[g>>2];f=0;while(1){i=J[q>>2];J[q>>2]=i+1;if(i>>>0>=w>>>0){break j}w:{if(J[J[u+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}n=J[(g+16|0)+P(k,12)>>2];i=0;h=0;p=0;if(!M){while(1){l=h<<2;o=l+d|0;J[o>>2]=J[l+n>>2]+J[o>>2];o=l|4;s=o+d|0;J[s>>2]=J[n+o>>2]+J[s>>2];o=l|8;s=o+d|0;J[s>>2]=J[n+o>>2]+J[s>>2];l=l|12;o=l+d|0;J[o>>2]=J[l+n>>2]+J[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break w}while(1){l=h<<2;p=l+d|0;J[p>>2]=J[l+n>>2]+J[p>>2];h=h+1|0;i=i+1|0;if((E|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=P(e,m);if(!f){break o}if(!e){break l}h=0;d=0;if(F){break n}break m}i=P(e,m)}if(J[a+8>>2]<=0){break k}k=(P(m-1|0,e)<<2)+c|0;j=J[x>>2];h=0;while(1){d=h<<2;f=J[d+k>>2];n=J[a+16>>2];x:{if((f|0)>(n|0)){J[d+j>>2]=n;break x}d=d+j|0;n=J[a+12>>2];if((n|0)>(f|0)){J[d>>2]=n;break x}J[d>>2]=f}h=h+1|0;f=J[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=J[i+k>>2]+J[j+i>>2]|0;J[f>>2]=i;y:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break y}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}break k}yc();C()}while(1){j=h<<2;k=j+r|0;J[k>>2]=J[k>>2]/(f|0);j=(j|4)+r|0;J[j>>2]=J[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((B|0)!=(d|0)){continue}break}}if(!D){break l}d=(h<<2)+r|0;J[d>>2]=J[d>>2]/(f|0)}if(J[a+8>>2]<=0){break k}j=J[x>>2];h=0;while(1){d=h<<2;f=J[d+r>>2];k=J[a+16>>2];z:{if((f|0)>(k|0)){J[d+j>>2]=k;break z}d=d+j|0;k=J[a+12>>2];if((k|0)>(f|0)){J[d>>2]=k;break z}J[d>>2]=f}h=h+1|0;f=J[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=J[i+k>>2]+J[j+i>>2]|0;J[f>>2]=i;A:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break A}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}m=m+1|0;z=(v|0)<=(m|0);if((m|0)!=(H|0)){continue}break}}a=J[g>>2];if(a){xj(a)}xj(y);a=J[g+52>>2];if(a){J[g+56>>2]=a;xj(a)}a=J[g+40>>2];if(a){J[g+44>>2]=a;xj(a)}a=J[g+28>>2];if(a){J[g+32>>2]=a;xj(a)}a=J[g+16>>2];if(a){J[g+20>>2]=a;xj(a)}fa=g- -64|0;return z|0}Ia();C()}function kd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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,K=0,L=0,M=0;h=fa+-64|0;fa=h;J[a+8>>2]=e;w=a+32|0;f=J[w>>2];d=J[a+36>>2]-f>>2;a:{b:{if(d>>>0<e>>>0){La(w,e-d|0);J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h>>2]=0;break b}if(d>>>0>e>>>0){J[a+36>>2]=f+(e<<2)}J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h>>2]=0;d=0;if(!e){break a}}fb(h+16|0,e,h);i=J[h+28>>2];d=J[h+32>>2]}J[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}J[h+32>>2]=(e<<2)+i;break c}fb(h+16|12,e-d|0,h)}J[h>>2]=0;f=J[h+40>>2];d=J[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}J[h+44>>2]=f+(e<<2);break d}fb(h+40|0,e-d|0,h)}J[h>>2]=0;f=J[h+52>>2];d=J[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}J[h+56>>2]=f+(e<<2);break e}fb(h+52|0,e-d|0,h)}f:{if(J[a+8>>2]<=0){break f}g=J[h+16>>2];j=J[a+32>>2];i=0;while(1){d=i<<2;f=J[d+g>>2];m=J[a+16>>2];g:{if((f|0)>(m|0)){J[d+j>>2]=m;break g}d=d+j|0;m=J[a+12>>2];if((m|0)>(f|0)){J[d>>2]=m;break g}J[d>>2]=f}i=i+1|0;d=J[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=J[b+g>>2]+J[g+j>>2]|0;J[f>>2]=g;h:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break h}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}G=J[a+52>>2];z=J[a+48>>2];x=Cj(16);d=x;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=Cj(d);J[h>>2]=t;J[h+8>>2]=d+t;Xi(t,0,d)}y=1;d=J[a+56>>2];A=J[d>>2];d=J[d+4>>2]-A|0;j:{if((d|0)<8){break j}v=d>>2;H=(v|0)<=2?2:v;I=v>>>0<=1?1:v;B=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;y=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(I|0)){o:{p:{f=J[(m<<2)+A>>2];if((f|0)==-1){break p}n=J[z+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=J[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=J[G>>2];r=J[z>>2];i=p+(J[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=J[r+(o<<2)>>2]}o=J[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=J[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=J[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=J[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=J[(h+16|0)+P(j,12)>>2];u:{if(!e){break u}l=P(e,l);r=P(e,i);p=P(e,o);i=0;s=0;if(F){while(1){J[g+(i<<2)>>2]=(J[(i+l<<2)+c>>2]+J[(i+r<<2)+c>>2]|0)-J[(i+p<<2)+c>>2];o=i|1;J[g+(o<<2)>>2]=(J[(l+o<<2)+c>>2]+J[(o+r<<2)+c>>2]|0)-J[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((B|0)!=(s|0)){continue}break}}if(!D){break u}J[g+(i<<2)>>2]=(J[(i+l<<2)+c>>2]+J[(i+r<<2)+c>>2]|0)-J[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=J[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=J[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if((d|0)==-1&k){if(!u){break x}d=J[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){Xi(t,0,L)}d=g-1|0;r=(d<<2)+x|0;d=P(d,12)+a|0;o=d;s=J[d- -64>>2];k=0;d=J[h>>2];f=0;while(1){j=J[r>>2];J[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(J[J[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=J[(h+16|0)+P(k,12)>>2];l=0;i=0;p=0;if(!M){while(1){n=i<<2;q=n+d|0;J[q>>2]=J[j+n>>2]+J[q>>2];q=n|4;u=q+d|0;J[u>>2]=J[j+q>>2]+J[u>>2];q=n|8;u=q+d|0;J[u>>2]=J[j+q>>2]+J[u>>2];n=n|12;q=n+d|0;J[q>>2]=J[j+n>>2]+J[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break y}while(1){n=i<<2;p=n+d|0;J[p>>2]=J[j+n>>2]+J[p>>2];i=i+1|0;l=l+1|0;if((E|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=P(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(F){break n}break m}g=P(e,m)}if(J[a+8>>2]<=0){break k}k=(P(m-1|0,e)<<2)+c|0;j=J[w>>2];i=0;while(1){d=i<<2;f=J[d+k>>2];l=J[a+16>>2];z:{if((f|0)>(l|0)){J[d+j>>2]=l;break z}d=d+j|0;l=J[a+12>>2];if((l|0)>(f|0)){J[d>>2]=l;break z}J[d>>2]=f}i=i+1|0;f=J[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=J[g+k>>2]+J[g+j>>2]|0;J[f>>2]=g;A:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break A}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}break k}yc();C()}while(1){j=i<<2;k=j+t|0;J[k>>2]=J[k>>2]/(f|0);j=(j|4)+t|0;J[j>>2]=J[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((B|0)!=(d|0)){continue}break}}if(!D){break l}d=(i<<2)+t|0;J[d>>2]=J[d>>2]/(f|0)}if(J[a+8>>2]<=0){break k}j=J[w>>2];i=0;while(1){d=i<<2;f=J[d+t>>2];k=J[a+16>>2];B:{if((f|0)>(k|0)){J[d+j>>2]=k;break B}d=d+j|0;k=J[a+12>>2];if((k|0)>(f|0)){J[d>>2]=k;break B}J[d>>2]=f}i=i+1|0;f=J[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=J[g+k>>2]+J[g+j>>2]|0;J[f>>2]=g;C:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break C}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}m=m+1|0;y=(v|0)<=(m|0);if((m|0)!=(H|0)){continue}break}}a=J[h>>2];if(a){xj(a)}xj(x);a=J[h+52>>2];if(a){J[h+56>>2]=a;xj(a)}a=J[h+40>>2];if(a){J[h+44>>2]=a;xj(a)}a=J[h+28>>2];if(a){J[h+32>>2]=a;xj(a)}a=J[h+16>>2];if(a){J[h+20>>2]=a;xj(a)}fa=h- -64|0;return y|0}Ia();C()}function qj(a,b,c,d,e,f){a=a|0;b=+b;c=c|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,w=0,x=0,y=0,z=0,B=0,C=0;m=fa-560|0;fa=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1142;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1145;break a}s=e&1;y=s?1148:1143;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;pj(a,32,c,g,e&-65537);lj(a,y,s);d=f&32;lj(a,b!=b?d?1205:1293:d?1268:1297,3);pj(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=ij(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<<d;d=0}else{n=(1<<d)-1&j>>>32-d;d=j<<d}x=x+d|0;j=n+p|0;d=pk(x,d>>>0>x>>>0?j+1|0:j,1e9,0);B=g,C=x-nk(d,ja,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0<g>>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<<n^-1;d=0;h=i;while(1){x=d;d=J[h>>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0<g>>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0<i>>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=oj((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;pj(a,32,c,p,e);lj(a,y,s);pj(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=oj(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0<g>>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}lj(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){lj(a,1647,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=oj(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0<g>>>0){continue}break}}lj(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0<j>>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=oj(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0<g>>>0){continue}break}break t}lj(a,g,1);g=g+1|0;if(!(k|l)){break t}lj(a,1647,1)}f=j-g|0;lj(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}pj(a,48,l+18|0,18,0);lj(a,t,u-t|0);break o}g=l}pj(a,48,g+9|0,9,0)}pj(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=oj((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+14288|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(m+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(m+16|0)|0;d=i}f=d+f|0;pj(a,32,c,f,e);lj(a,k,q);pj(a,48,c,f,e^65536);lj(a,m+16|0,i);pj(a,48,d-i|0,0,0);lj(a,l,g);pj(a,32,c,f,e^8192);n=(c|0)<(f|0)?f:c}fa=m+560|0;return n|0}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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,I=0,L=0,M=0,N=0,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;a:{b:{if((e|0)!=2){break b}J[a+8>>2]=2;J[a- -64>>2]=f;N=a+32|0;e=J[N>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(N,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}j=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;Z=d>>>0<=1?1:d;_=a+68|0;d=0;while(1){f=J[a+56>>2];e=J[f>>2];if(J[f+4>>2]-e>>2>>>0<=d>>>0){break a}l=fa-80|0;fa=l;f=-1;d:{e:{e=J[e+(d<<2)>>2];if((e|0)==-1){break e}j=J[o+32>>2];g=e+1|0;g=(g>>>0)%3|0?g:e-2|0;if((g|0)!=-1){f=J[J[j>>2]+(g<<2)>>2]}n=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){n=J[J[j>>2]+(e<<2)>>2]}j=J[o+36>>2];e=J[j>>2];j=J[j+4>>2]-e>>2;if(j>>>0<=f>>>0|j>>>0<=n>>>0){break e}f:{g:{h:{i:{j:{k:{i=J[e+(n<<2)>>2];f=J[e+(f<<2)>>2];if((i|0)>=(d|0)|(f|0)>=(d|0)){break k}j=(i<<3)+c|0;u=J[j+4>>2];g=(f<<3)+c|0;e=J[g+4>>2];z=J[j>>2];j=J[g>>2];if(!((z|0)!=(j|0)|(e|0)!=(u|0))){J[o+8>>2]=j;J[o+12>>2]=e;break j}n=J[J[o+4>>2]+(d<<2)>>2];J[l+72>>2]=0;J[l+76>>2]=0;g=l- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[l+56>>2]=0;J[l+60>>2]=0;g=J[o>>2];if(!K[g+84|0]){n=J[J[g+68>>2]+(n<<2)>>2]}Xc(g,n,H[g+24|0],l+56|0);n=J[J[o+4>>2]+(f<<2)>>2];J[l+48>>2]=0;J[l+52>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;J[l+32>>2]=0;J[l+36>>2]=0;g=J[o>>2];if(!K[g+84|0]){n=J[J[g+68>>2]+(n<<2)>>2]}Xc(g,n,H[g+24|0],l+32|0);n=J[J[o+4>>2]+(i<<2)>>2];J[l+24>>2]=0;J[l+28>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;g=J[o>>2];if(!K[g+84|0]){n=J[J[g+68>>2]+(n<<2)>>2]}Xc(g,n,H[g+24|0],l+8|0);g=J[l+16>>2];v=J[l+40>>2];A=g-v|0;O=J[l+44>>2];g=J[l+20>>2]-(O+(g>>>0<v>>>0)|0)|0;G=g;i=nk(A,g,A,g);m=ja;g=J[l+8>>2];B=J[l+32>>2];D=g-B|0;P=J[l+36>>2];g=J[l+12>>2]-(P+(g>>>0<B>>>0)|0)|0;I=g;k=i;i=nk(D,g,D,g);g=k+i|0;k=ja+m|0;k=g>>>0<i>>>0?k+1|0:k;i=J[l+24>>2];E=J[l+48>>2];F=i-E|0;Q=J[l+52>>2];i=J[l+28>>2]-(Q+(i>>>0<E>>>0)|0)|0;L=i;h=g;g=nk(F,i,F,i);q=h+g|0;h=ja+k|0;r=g>>>0>q>>>0?h+1|0:h;if(!(r|q)){break k}n=0;w=pk(-1,2147483647,q,r);f=j>>31;S=f;h=f>>31;R=j;g=h;m=j^g;j=m-g|0;f=(f^g)-((g>>>0>m>>>0)+g|0)|0;g=f;f=e>>31;T=f;M=e;e=f>>31;m=M^e;h=m-e|0;k=f>>31;e=(k^f)-((e>>>0>m>>>0)+k|0)|0;f=(g|0)==(e|0)&h>>>0<j>>>0|e>>>0<g>>>0;j=f?j:h;i=ja;e=f?g:e;if((i|0)==(e|0)&j>>>0>w>>>0|e>>>0>i>>>0){break f}j=J[l+64>>2];U=J[l+68>>2];e=nk(j-v|0,U-((j>>>0<v>>>0)+O|0)|0,A,G);f=ja;g=J[l+56>>2];V=J[l+60>>2];i=nk(g-B|0,V-((g>>>0<B>>>0)+P|0)|0,D,I);e=i+e|0;h=ja+f|0;m=J[l+72>>2];W=J[l+76>>2];f=nk(m-E|0,W-((m>>>0<E>>>0)+Q|0)|0,F,L);x=f+e|0;e=ja+(e>>>0<i>>>0?h+1|0:h)|0;e=f>>>0>x>>>0?e+1|0:e;w=e;f=e;e=e>>31;i=e;h=e^x;e=h-e|0;i=(f^i)-((h>>>0<i>>>0)+i|0)|0;f=z;z=f-R|0;f=(f>>31)-((f>>>0<R>>>0)+S|0)|0;X=f;y=f>>31;p=y^z;k=p-y|0;h=f>>31;f=(h^f)-((p>>>0<y>>>0)+h|0)|0;p=f;y=u-M|0;f=(u>>31)-((u>>>0<M>>>0)+T|0)|0;u=f;s=f>>31;t=s^y;Y=t-s|0;h=f>>31;f=(h^f)-((s>>>0>t>>>0)+h|0)|0;h=(p|0)==(f|0)&k>>>0>Y>>>0|f>>>0<p>>>0;f=pk(-1,2147483647,h?k:Y,h?p:f);h=ja;if((h|0)==(i|0)&e>>>0>f>>>0|h>>>0<i>>>0){break f}f=e;e=i;h=I>>31;p=h^D;i=p-h|0;h=(h^I)-((h>>>0>p>>>0)+h|0)|0;k=G>>31;s=k^A;t=s-k|0;k=(k^G)-((k>>>0>s>>>0)+k|0)|0;p=(h|0)==(k|0)&i>>>0>t>>>0|h>>>0>k>>>0;i=p?i:t;h=p?h:k;k=L>>31;p=i;s=k^F;t=s-k|0;k=(k^L)-((k>>>0>s>>>0)+k|0)|0;i=(h|0)==(k|0)&i>>>0>t>>>0|h>>>0>k>>>0;i=pk(-1,2147483647,i?p:t,i?h:k);h=ja;if((h|0)==(e|0)&f>>>0>i>>>0|e>>>0>h>>>0){break f}i=1;f=0;k=ok(nk(x,w,A,G),ja,q,r);h=k+v|0;e=ja+O|0;e=h>>>0<k>>>0?e+1|0:e;k=j-h|0;e=U-((h>>>0>j>>>0)+e|0)|0;k=nk(k,e,k,e);v=ja;h=ok(nk(x,w,D,I),ja,q,r);j=h+B|0;e=ja+P|0;e=h>>>0>j>>>0?e+1|0:e;h=g-j|0;e=V-((g>>>0<j>>>0)+e|0)|0;j=nk(h,e,h,e);e=j+k|0;h=ja+v|0;h=e>>>0<j>>>0?h+1|0:h;k=e;g=ok(nk(x,w,F,L),ja,q,r);j=g+E|0;e=ja+Q|0;e=g>>>0>j>>>0?e+1|0:e;g=m-j|0;e=W-((j>>>0>m>>>0)+e|0)|0;g=nk(g,e,g,e);j=g+k|0;e=ja+h|0;j=nk(j,g>>>0>j>>>0?e+1|0:e,q,r);e=ja;m=e;if(!e&j>>>0<=1){break i}h=j;g=m;while(1){e=f<<1|i>>>31;i=i<<1;f=e;k=!g&h>>>0>7|(g|0)!=0;h=(g&3)<<30|h>>>2;g=g>>>2|0;if(k){continue}break}break h}g=o;if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){J[o+8>>2]=0;J[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;J[g+8>>2]=J[e>>2];J[o+12>>2]=J[e+4>>2]}n=1;break f}f=m;i=j;if(j-1|0){break g}}while(1){e=pk(j,m,i,f);h=f+ja|0;e=e+i|0;h=e>>>0<i>>>0?h+1|0:h;i=(h&1)<<31|e>>>1;f=h>>>1|0;e=nk(i,f,i,f);g=ja;if((m|0)==(g|0)&e>>>0>j>>>0|g>>>0>m>>>0){continue}break}}e=J[o+20>>2];if(!e){break f}j=e-1|0;m=J[J[o+16>>2]+(j>>>3&536870908)>>2];J[o+20>>2]=j;n=1;e=nk(x,w,y,u);h=ja;g=e;e=nk(q,r,M,T);g=g+e|0;h=ja+h|0;h=e>>>0>g>>>0?h+1|0:h;e=nk(i,f,z,X);j=m>>>j&1;m=j?0-e|0:e;g=m+g|0;k=h;h=ja;k=k+(j?0-(h+((e|0)!=0)|0)|0:h)|0;$=o,aa=ok(g,g>>>0<m>>>0?k+1|0:k,q,r),J[$+12>>2]=aa;e=nk(x,w,z,X);m=ja;g=e;e=nk(q,r,R,S);g=g+e|0;h=ja+m|0;h=e>>>0>g>>>0?h+1|0:h;e=nk(i,f,y,u);f=0-e|0;i=ja;k=(j?i:0-(((e|0)!=0)+i|0)|0)+h|0;i=g;g=j?e:f;f=i+g|0;$=o,aa=ok(f,f>>>0<g>>>0?k+1|0:k,q,r),J[$+8>>2]=aa}fa=l+80|0;e=n;break d}yc();C()}j=e;if(!e){return 0}l:{if(J[a+8>>2]<=0){break l}i=J[N>>2];e=0;while(1){f=e<<2;g=J[f+_>>2];m=J[a+16>>2];m:{if((g|0)>(m|0)){J[f+i>>2]=m;break m}f=f+i|0;m=J[a+12>>2];if((m|0)>(g|0)){J[f>>2]=m;break m}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break l}e=d<<3;m=e+c|0;n=b+e|0;while(1){g=f<<2;e=g+m|0;g=J[g+n>>2]+J[g+i>>2]|0;J[e>>2]=g;n:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break n}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)<J[a+8>>2]){continue}break}}d=d+1|0;if((Z|0)!=(d|0)){continue}break}}return j|0}yc();C()}function Wc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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,I=0,L=0,M=0,N=0,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;a:{b:{if((e|0)!=2){break b}J[a+8>>2]=2;J[a- -64>>2]=f;N=a+32|0;e=J[N>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(N,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}o=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}n=a+60|0;d=d>>>2|0;Z=d>>>0<=1?1:d;_=a+68|0;d=0;while(1){e=J[a+56>>2];i=J[e>>2];if(J[e+4>>2]-i>>2>>>0<=d>>>0){break a}l=fa-80|0;fa=l;f=-1;i=J[i+(d<<2)>>2];e=-1;d:{if((i|0)==-1){break d}e=i+1|0;f=(e>>>0)%3|0?e:i-2|0;e=i-1|0;if((i>>>0)%3|0){break d}e=i+2|0}g=J[n+36>>2];i=J[g>>2];e:{f:{g:{h:{i:{g=J[g+4>>2]-i>>2;k=f<<2;f=J[J[n+32>>2]+28>>2];j=J[k+f>>2];if(g>>>0<=j>>>0){break i}e=J[f+(e<<2)>>2];if(e>>>0>=g>>>0){break i}f=J[i+(j<<2)>>2];j:{k:{j=J[i+(e<<2)>>2];if((d|0)<=(f|0)|(j|0)>=(d|0)){break k}i=(j<<3)+c|0;u=J[i+4>>2];g=(f<<3)+c|0;e=J[g+4>>2];z=J[i>>2];i=J[g>>2];if(!((z|0)!=(i|0)|(e|0)!=(u|0))){J[n+8>>2]=i;J[n+12>>2]=e;break j}o=J[J[n+4>>2]+(d<<2)>>2];J[l+72>>2]=0;J[l+76>>2]=0;g=l- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[l+56>>2]=0;J[l+60>>2]=0;g=J[n>>2];if(!K[g+84|0]){o=J[J[g+68>>2]+(o<<2)>>2]}Xc(g,o,H[g+24|0],l+56|0);o=J[J[n+4>>2]+(f<<2)>>2];J[l+48>>2]=0;J[l+52>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;J[l+32>>2]=0;J[l+36>>2]=0;g=J[n>>2];if(!K[g+84|0]){o=J[J[g+68>>2]+(o<<2)>>2]}Xc(g,o,H[g+24|0],l+32|0);o=J[J[n+4>>2]+(j<<2)>>2];J[l+24>>2]=0;J[l+28>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;g=J[n>>2];if(!K[g+84|0]){o=J[J[g+68>>2]+(o<<2)>>2]}Xc(g,o,H[g+24|0],l+8|0);g=J[l+16>>2];v=J[l+40>>2];A=g-v|0;O=J[l+44>>2];g=J[l+20>>2]-(O+(g>>>0<v>>>0)|0)|0;G=g;j=nk(A,g,A,g);m=ja;g=J[l+8>>2];B=J[l+32>>2];D=g-B|0;P=J[l+36>>2];g=J[l+12>>2]-(P+(g>>>0<B>>>0)|0)|0;I=g;k=j;j=nk(D,g,D,g);g=k+j|0;k=ja+m|0;k=g>>>0<j>>>0?k+1|0:k;j=J[l+24>>2];E=J[l+48>>2];F=j-E|0;Q=J[l+52>>2];j=J[l+28>>2]-(Q+(j>>>0<E>>>0)|0)|0;L=j;h=g;g=nk(F,j,F,j);q=h+g|0;h=ja+k|0;r=g>>>0>q>>>0?h+1|0:h;if(!(r|q)){break k}o=0;w=pk(-1,2147483647,q,r);f=i>>31;S=f;h=f>>31;R=i;g=h;m=i^g;i=m-g|0;f=(f^g)-((g>>>0>m>>>0)+g|0)|0;g=f;f=e>>31;T=f;M=e;e=f>>31;m=M^e;h=m-e|0;k=f>>31;e=(k^f)-((e>>>0>m>>>0)+k|0)|0;f=(g|0)==(e|0)&h>>>0<i>>>0|e>>>0<g>>>0;i=f?i:h;j=ja;e=f?g:e;if((j|0)==(e|0)&i>>>0>w>>>0|e>>>0>j>>>0){break e}i=J[l+64>>2];U=J[l+68>>2];e=nk(i-v|0,U-((i>>>0<v>>>0)+O|0)|0,A,G);f=ja;g=J[l+56>>2];V=J[l+60>>2];j=nk(g-B|0,V-((g>>>0<B>>>0)+P|0)|0,D,I);e=j+e|0;h=ja+f|0;m=J[l+72>>2];W=J[l+76>>2];f=nk(m-E|0,W-((m>>>0<E>>>0)+Q|0)|0,F,L);x=f+e|0;e=ja+(e>>>0<j>>>0?h+1|0:h)|0;e=f>>>0>x>>>0?e+1|0:e;w=e;f=e;e=e>>31;j=e;h=e^x;e=h-e|0;j=(f^j)-((h>>>0<j>>>0)+j|0)|0;f=z;z=f-R|0;f=(f>>31)-((f>>>0<R>>>0)+S|0)|0;X=f;y=f>>31;p=y^z;k=p-y|0;h=f>>31;f=(h^f)-((p>>>0<y>>>0)+h|0)|0;p=f;y=u-M|0;f=(u>>31)-((u>>>0<M>>>0)+T|0)|0;u=f;s=f>>31;t=s^y;Y=t-s|0;h=f>>31;f=(h^f)-((s>>>0>t>>>0)+h|0)|0;h=(p|0)==(f|0)&k>>>0>Y>>>0|f>>>0<p>>>0;f=pk(-1,2147483647,h?k:Y,h?p:f);h=ja;if((h|0)==(j|0)&e>>>0>f>>>0|h>>>0<j>>>0){break e}f=e;e=j;h=I>>31;p=h^D;j=p-h|0;h=(h^I)-((h>>>0>p>>>0)+h|0)|0;k=G>>31;s=k^A;t=s-k|0;k=(k^G)-((k>>>0>s>>>0)+k|0)|0;p=(h|0)==(k|0)&j>>>0>t>>>0|h>>>0>k>>>0;j=p?j:t;h=p?h:k;k=L>>31;p=j;s=k^F;t=s-k|0;k=(k^L)-((k>>>0>s>>>0)+k|0)|0;j=(h|0)==(k|0)&j>>>0>t>>>0|h>>>0>k>>>0;j=pk(-1,2147483647,j?p:t,j?h:k);h=ja;if((h|0)==(e|0)&f>>>0>j>>>0|e>>>0>h>>>0){break e}j=1;f=0;k=ok(nk(x,w,A,G),ja,q,r);h=k+v|0;e=ja+O|0;e=h>>>0<k>>>0?e+1|0:e;k=i-h|0;e=U-((h>>>0>i>>>0)+e|0)|0;k=nk(k,e,k,e);v=ja;h=ok(nk(x,w,D,I),ja,q,r);i=h+B|0;e=ja+P|0;e=h>>>0>i>>>0?e+1|0:e;h=g-i|0;e=V-((g>>>0<i>>>0)+e|0)|0;i=nk(h,e,h,e);e=i+k|0;h=ja+v|0;h=e>>>0<i>>>0?h+1|0:h;k=e;g=ok(nk(x,w,F,L),ja,q,r);i=g+E|0;e=ja+Q|0;e=g>>>0>i>>>0?e+1|0:e;g=m-i|0;e=W-((i>>>0>m>>>0)+e|0)|0;g=nk(g,e,g,e);i=g+k|0;e=ja+h|0;i=nk(i,g>>>0>i>>>0?e+1|0:e,q,r);e=ja;m=e;if(!e&i>>>0<=1){break h}h=i;g=m;while(1){e=f<<1|j>>>31;j=j<<1;f=e;k=!g&h>>>0>7|(g|0)!=0;h=(g&3)<<30|h>>>2;g=g>>>2|0;if(k){continue}break}break g}g=n;if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){J[n+8>>2]=0;J[n+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;J[g+8>>2]=J[e>>2];J[n+12>>2]=J[e+4>>2]}o=1;break e}yc();C()}f=m;j=i;if(i-1|0){break f}}while(1){e=pk(i,m,j,f);h=f+ja|0;e=e+j|0;h=e>>>0<j>>>0?h+1|0:h;j=(h&1)<<31|e>>>1;f=h>>>1|0;e=nk(j,f,j,f);g=ja;if((m|0)==(g|0)&e>>>0>i>>>0|g>>>0>m>>>0){continue}break}}e=J[n+20>>2];if(!e){break e}i=e-1|0;m=J[J[n+16>>2]+(i>>>3&536870908)>>2];J[n+20>>2]=i;o=1;e=nk(x,w,y,u);h=ja;g=e;e=nk(q,r,M,T);g=g+e|0;h=ja+h|0;h=e>>>0>g>>>0?h+1|0:h;e=nk(j,f,z,X);i=m>>>i&1;m=i?0-e|0:e;g=m+g|0;k=h;h=ja;k=k+(i?0-(h+((e|0)!=0)|0)|0:h)|0;$=n,aa=ok(g,g>>>0<m>>>0?k+1|0:k,q,r),J[$+12>>2]=aa;e=nk(x,w,z,X);m=ja;g=e;e=nk(q,r,R,S);g=g+e|0;h=ja+m|0;h=e>>>0>g>>>0?h+1|0:h;e=nk(j,f,y,u);f=0-e|0;j=ja;k=(i?j:0-(((e|0)!=0)+j|0)|0)+h|0;j=g;g=i?e:f;f=j+g|0;$=n,aa=ok(f,f>>>0<g>>>0?k+1|0:k,q,r),J[$+8>>2]=aa}fa=l+80|0;if(!o){return 0}l:{if(J[a+8>>2]<=0){break l}g=J[N>>2];e=0;while(1){f=e<<2;i=J[f+_>>2];j=J[a+16>>2];m:{if((i|0)>(j|0)){J[f+g>>2]=j;break m}f=f+g|0;j=J[a+12>>2];if((j|0)>(i|0)){J[f>>2]=j;break m}J[f>>2]=i}e=e+1|0;i=J[a+8>>2];if((e|0)<(i|0)){continue}break}f=0;if((i|0)<=0){break l}e=d<<3;j=e+c|0;m=b+e|0;while(1){i=f<<2;e=i+j|0;i=J[i+m>>2]+J[g+i>>2]|0;J[e>>2]=i;n:{if((i|0)>J[a+16>>2]){k=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break n}k=i+J[a+20>>2]|0}J[e>>2]=k}f=f+1|0;if((f|0)<J[a+8>>2]){continue}break}}d=d+1|0;if((Z|0)!=(d|0)){continue}break}}return o|0}yc();C()}function kj(a,b,c,d,e,f,g){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;j=fa-80|0;fa=j;J[j+76>>2]=b;y=j+55|0;t=j+56|0;a:{b:{c:{d:{e:while(1){k=b;if((q^2147483647)<(h|0)){break d}q=h+q|0;f:{g:{h:{h=k;i=K[h|0];if(i){while(1){i:{b=i&255;j:{if(!b){b=h;break j}if((b|0)!=37){break i}i=h;while(1){if(K[i+1|0]!=37){b=i;break j}h=h+1|0;m=K[i+2|0];b=i+2|0;i=b;if((m|0)==37){continue}break}}h=h-k|0;x=q^2147483647;if((h|0)>(x|0)){break d}if(a){lj(a,k,h)}if(h){continue e}J[j+76>>2]=b;h=b+1|0;r=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){r=H[b+1|0]-48|0;u=1;h=b+3|0}J[j+76>>2]=h;o=0;i=H[h|0];b=i-32|0;k:{if(b>>>0>31){n=h;break k}n=h;b=1<<b;if(!(b&75913)){break k}while(1){n=h+1|0;J[j+76>>2]=n;o=b|o;i=H[h+1|0];b=i-32|0;if(b>>>0>=32){break k}h=n;b=1<<b;if(b&75913){continue}break}}l:{if((i|0)==42){m:{if(!(K[n+2|0]!=36|H[n+1|0]-48>>>0>=10)){J[((H[n+1|0]<<2)+e|0)-192>>2]=10;i=n+3|0;u=1;b=J[((H[n+1|0]<<3)+d|0)-384>>2];break m}if(u){break h}i=n+1|0;if(!a){J[j+76>>2]=i;u=0;s=0;break l}b=J[c>>2];J[c>>2]=b+4;u=0;b=J[b>>2]}J[j+76>>2]=i;s=b;if((b|0)>=0){break l}s=0-s|0;o=o|8192;break l}s=mj(j+76|0);if((s|0)<0){break d}i=J[j+76>>2]}h=0;l=-1;n:{if(K[i|0]!=46){b=i;w=0;break n}if(K[i+1|0]==42){o:{if(!(K[i+3|0]!=36|H[i+2|0]-48>>>0>=10)){J[((H[i+2|0]<<2)+e|0)-192>>2]=10;b=i+4|0;l=J[((H[i+2|0]<<3)+d|0)-384>>2];break o}if(u){break h}b=i+2|0;l=0;if(!a){break o}i=J[c>>2];J[c>>2]=i+4;l=J[i>>2]}J[j+76>>2]=b;w=(l^-1)>>>31|0;break n}J[j+76>>2]=i+1;l=mj(j+76|0);b=J[j+76>>2];w=1}while(1){p=h;n=28;m=b;h=H[b|0];if(h-123>>>0<4294967238){break c}b=m+1|0;h=K[(h+P(p,58)|0)+13759|0];if(h-1>>>0<8){continue}break}J[j+76>>2]=b;p:{q:{if((h|0)!=27){if(!h){break c}if((r|0)>=0){J[(r<<2)+e>>2]=h;i=(r<<3)+d|0;h=J[i+4>>2];J[j+64>>2]=J[i>>2];J[j+68>>2]=h;break q}if(!a){break f}nj(j- -64|0,h,c,g);break p}if((r|0)>=0){break c}}h=0;if(!a){continue e}}i=o&-65537;o=o&8192?i:o;r=0;v=1132;n=t;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{h=H[m|0];h=p?(h&15)==3?h&-33:h:h;switch(h-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(h-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((h|0)==83){break w}break g}i=J[j+64>>2];m=J[j+68>>2];v=1132;break z}h=0;I:{switch(p&255){case 0:J[J[j+64>>2]>>2]=q;continue e;case 1:J[J[j+64>>2]>>2]=q;continue e;case 2:k=J[j+64>>2];J[k>>2]=q;J[k+4>>2]=q>>31;continue e;case 3:I[J[j+64>>2]>>1]=q;continue e;case 4:H[J[j+64>>2]]=q;continue e;case 6:J[J[j+64>>2]>>2]=q;continue e;case 7:break I;default:continue e}}k=J[j+64>>2];J[k>>2]=q;J[k+4>>2]=q>>31;continue e}l=l>>>0<=8?8:l;o=o|8;h=120}k=t;i=J[j+64>>2];m=J[j+68>>2];if(i|m){z=h&32;while(1){k=k-1|0;H[k|0]=z|K[(i&15)+14288|0];A=!m&i>>>0>15|(m|0)!=0;p=m;m=m>>>4|0;i=(p&15)<<28|i>>>4;if(A){continue}break}}if(!(J[j+64>>2]|J[j+68>>2])|!(o&8)){break y}v=(h>>>4|0)+1132|0;r=2;break y}h=t;k=J[j+68>>2];m=k;i=J[j+64>>2];if(k|i){while(1){h=h-1|0;H[h|0]=i&7|48;p=!m&i>>>0>7|(m|0)!=0;k=m;m=k>>>3|0;i=(k&7)<<29|i>>>3;if(p){continue}break}}k=h;if(!(o&8)){break y}h=t-k|0;l=(h|0)<(l|0)?l:h+1|0;break y}i=J[j+64>>2];h=J[j+68>>2];m=h;if((h|0)<0){k=0-(m+((i|0)!=0)|0)|0;m=k;i=0-i|0;J[j+64>>2]=i;J[j+68>>2]=k;r=1;v=1132;break z}if(o&2048){r=1;v=1133;break z}r=o&1;v=r?1134:1132}k=oj(i,m,t)}if((l|0)<0?w:0){break d}o=w?o&-65537:o;h=J[j+64>>2];i=J[j+68>>2];if(!(l|(h|i)!=0)){k=t;l=0;break g}h=!(h|i)+(t-k|0)|0;l=(h|0)<(l|0)?l:h;break g}n=l>>>0>=2147483647?2147483647:l;p=n;o=(n|0)!=0;h=J[j+64>>2];k=h?h:1649;h=k;J:{K:{L:{M:{if(!(h&3)|!n){break M}while(1){if(!K[h|0]){break L}p=p-1|0;o=(p|0)!=0;h=h+1|0;if(!(h&3)){break M}if(p){continue}break}}if(!o){break K}if(!(!K[h|0]|p>>>0<4)){while(1){m=J[h>>2];if((m^-1)&m-16843009&-2139062144){break L}h=h+4|0;p=p-4|0;if(p>>>0>3){continue}break}}if(!p){break K}}while(1){if(!K[h|0]){break J}h=h+1|0;p=p-1|0;if(p){continue}break}}h=0}h=h?h-k|0:n;n=h+k|0;if((l|0)>=0){o=i;l=h;break g}o=i;l=h;if(K[n|0]){break d}break g}if(l){i=J[j+64>>2];break u}h=0;pj(a,32,s,0,o);break t}J[j+12>>2]=0;J[j+8>>2]=J[j+64>>2];i=j+8|0;J[j+64>>2]=i;l=-1}h=0;N:{while(1){k=J[i>>2];if(!k){break N}m=sj(j+4|0,k);k=(m|0)<0;if(!(k|m>>>0>l-h>>>0)){i=i+4|0;h=h+m|0;if(l>>>0>h>>>0){continue}break N}break}if(k){break b}}n=61;if((h|0)<0){break c}pj(a,32,s,h,o);if(!h){h=0;break t}n=0;i=J[j+64>>2];while(1){k=J[i>>2];if(!k){break t}k=sj(j+4|0,k);n=k+n|0;if(n>>>0>h>>>0){break t}lj(a,j+4|0,k);i=i+4|0;if(h>>>0>n>>>0){continue}break}}pj(a,32,s,h,o^8192);h=(h|0)<(s|0)?s:h;continue e}if((l|0)<0?w:0){break d}n=61;h=ka[f|0](a,O[j+64>>3],s,l,o,h)|0;if((h|0)>=0){continue e}break c}H[j+55|0]=J[j+64>>2];l=1;k=y;o=i;break g}i=K[h+1|0];h=h+1|0;continue}}if(a){break a}if(!u){break f}h=1;while(1){a=J[(h<<2)+e>>2];if(a){nj((h<<3)+d|0,a,c,g);q=1;h=h+1|0;if((h|0)!=10){continue}break a}break}q=1;if(h>>>0>=10){break a}while(1){if(J[(h<<2)+e>>2]){break h}h=h+1|0;if((h|0)!=10){continue}break}break a}n=28;break c}m=n-k|0;i=(l|0)>(m|0)?l:m;if((i|0)>(r^2147483647)){break d}n=61;l=i+r|0;h=(l|0)<(s|0)?s:l;if((x|0)<(h|0)){break c}pj(a,32,h,l,o);lj(a,v,r);pj(a,48,h,l,o^65536);pj(a,48,i,m,0);lj(a,k,m);pj(a,32,h,l,o^8192);continue}break}q=0;break a}n=61}J[4004]=n}q=-1}fa=j+80|0;return q}function Bb(a,b){var c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+5|0]=0;H[d+6|0]=0;H[d+7|0]=0;H[d+8|0]=0;H[d+9|0]=0;H[d+10|0]=0;H[d+11|0]=0;H[d+12|0]=0;c=d+16|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+48|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+80|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+112|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+144|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+176|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+208|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+240|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+272|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+304|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+336|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+368|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+400|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+432|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+464|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;d=d+496|0;J[d>>2]=0;J[d+4>>2]=0;H[d+5|0]=0;H[d+6|0]=0;H[d+7|0]=0;H[d+8|0]=0;H[d+9|0]=0;H[d+10|0]=0;H[d+11|0]=0;H[d+12|0]=0;J[a+528>>2]=0;J[a+532>>2]=0;H[a+533|0]=0;H[a+534|0]=0;H[a+535|0]=0;H[a+536|0]=0;H[a+537|0]=0;H[a+538|0]=0;H[a+539|0]=0;H[a+540|0]=0;J[a+544>>2]=0;J[a+548>>2]=0;J[a+560>>2]=0;J[a+552>>2]=0;J[a+556>>2]=0;J[a+564>>2]=0;J[a+568>>2]=0;J[a+580>>2]=0;J[a+572>>2]=0;J[a+576>>2]=0;J[a+584>>2]=0;J[a+588>>2]=0;J[a+600>>2]=0;J[a+592>>2]=0;J[a+596>>2]=0;J[a+612>>2]=0;J[a+604>>2]=0;J[a+608>>2]=0;g=a+628|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+616>>2]=0;J[a+620>>2]=0;J[a+624>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=Cj(d);J[a+604>>2]=c;f=c+d|0;J[a+612>>2]=f;Xi(c,0,d);J[a+624>>2]=0;J[a+616>>2]=0;J[a+620>>2]=0;J[a+608>>2]=f;c=Cj(d);J[a+616>>2]=c;f=c+d|0;J[a+624>>2]=f;Xi(c,0,d);J[a+620>>2]=f;c=Cj(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;Xi(c,0,d);J[e+4>>2]=f;d=b<<5|1}Hb(g,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;xj(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=Cj(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;Xi(c,0,b);J[e+4>>2]=f}Hb(a+640|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;xj(b)}fa=e+16|0;return a}function zg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=I[b>>1];if((e|0)<0){break b}I[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e+32768>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>32767){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];i=e+32768|0;h=i>>>0<32768?h+1|0:h;if(!h&i>>>0>65535|h){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>32767|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(32767)|m<Q(-32768)|m!=m){break d}n=Q(R(m));if(n==Q(Infinity)){break d}e=(b<<1)+d|0;if(n<Q(2147483648)){i=~~m}else{i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(32767)|m<Q(-32768)|(Q(R(m))==Q(Infinity)|m!=m)){break d}if(m<Q(0)|m>Q(1)){break d}e=(b<<1)+d|0;l=V(+m*32767+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}Xi((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=32767|l<-32768|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<1)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=32767|l<-32768|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<1)+d|0;l=V(l*32767+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}Xi((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}Xi((e<<1)+d|0,0,(c&255)-e<<1)}return j}Xi((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Bg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>2147483647|k){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m<Q(-2147483648)|m!=m){break d}n=Q(R(m));if(n==Q(Infinity)){break d}e=(b<<2)+d|0;if(n<Q(2147483648)){i=~~m}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m<Q(-2147483648)|(Q(R(m))==Q(Infinity)|m!=m)){break d}if(m<Q(0)|m>Q(1)){break d}e=(b<<2)+d|0;l=V(+m*2147483647+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}Xi((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=V(l*2147483647+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}Xi((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}Xi((e<<2)+d|0,0,(c&255)-e<<2)}return j}Xi((e<<2)+d|0,0,(c&255)-e<<2);return 1}function Ag(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=H[b|0];if((e|0)<0){break b}I[(g<<1)+d>>1]=e&255;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=I[b>>1];if((e|0)<0){break b}I[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>65535|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>65535|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];l=J[e>>2];g=l;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-l|0;if(!K[a+32|0]){l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(65535)|m<Q(0)|(Q(R(m))==Q(Infinity)|m!=m)){break d}e=(b<<1)+d|0;if(m<Q(4294967296)&m>=Q(0)){i=~~m>>>0}else{i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(65535)|m<Q(0)|(Q(R(m))==Q(Infinity)|m!=m)){break d}if(m>Q(1)){break d}e=(b<<1)+d|0;j=V(+m*65535+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=1;if(c>>>0<=e>>>0){break d}Xi((e<<1)+d|0,0,c-e<<1)}return l;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];l=J[e>>2];g=l;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-l|0;if(!K[a+32|0]){l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=65535|j<0|(R(j)==Infinity|j!=j)){break g}e=(b<<1)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=65535|j<0|(R(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<1)+d|0;j=V(j*65535+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=1;if(c>>>0<=e>>>0){break g}Xi((e<<1)+d|0,0,c-e<<1)}return l;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}Xi((e<<1)+d|0,0,(c&255)-e<<1)}return l}Xi((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Xc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;J[j>>2]=e;J[j+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0<f>>>0?e:f)){break d}if(K[a+32|0]){break a}e=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=N[g>>2];if(k>=Q(0x8000000000000000)|k<Q(-0x8000000000000000)|k!=k){break a}n=Q(R(k));if(n==Q(Infinity)){break a}e=(b<<3)+d|0;e:{if(n<Q(0x8000000000000000)){j=Q(R(k))>=Q(1)?~~(k>Q(0)?Q(T(Q(V(Q(k*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(k-Q(~~k>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0<h>>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0<f>>>0?e:f)){break f}if(K[a+32|0]){break a}e=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=O[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=R(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=R(l)>=1?~~(l>0?T(V(l*2.3283064365386963e-10),4294967295):W((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0<h>>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}Xi(d,0,a<<3)}}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=J[a+8>>2];switch(J[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=K[a+24|0];c=Cj(f);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;H[a+c|0]=J[k>>2];H[(a|1)+c|0]=J[k+4>>2];H[(a|2)+c|0]=J[k+8>>2];H[(a|3)+c|0]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[a+c|0]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=K[a+24|0];c=Cj(f);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;H[a+c|0]=J[k>>2];H[(a|1)+c|0]=J[k+4>>2];H[(a|2)+c|0]=J[k+8>>2];H[(a|3)+c|0]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[a+c|0]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=K[a+24|0];i=h<<1;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;I[f+c>>1]=J[k>>2];I[(f|2)+c>>1]=J[k+4>>2];I[(f|4)+c>>1]=J[k+8>>2];I[(f|6)+c>>1]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){I[(a<<1)+c>>1]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<1;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;I[f+c>>1]=J[k>>2];I[(f|2)+c>>1]=J[k+4>>2];I[(f|4)+c>>1]=J[k+8>>2];I[(f|6)+c>>1]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){I[(a<<1)+c>>1]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<2;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;J[f+c>>2]=J[k>>2];J[(f|4)+c>>2]=J[k+4>>2];J[(f|8)+c>>2]=J[k+8>>2];J[(f|12)+c>>2]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){J[(a<<2)+c>>2]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<2;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;J[f+c>>2]=J[k>>2];J[(f|4)+c>>2]=J[k+4>>2];J[(f|8)+c>>2]=J[k+8>>2];J[(f|12)+c>>2]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){J[(a<<2)+c>>2]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i)}xj(c);c=1}return c|0}function Cg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(J[b+4>>2]){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(J[b+4>>2]){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];k=J[e>>2];g=k;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-k|0;if(!K[a+32|0]){k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(4294967296)|m<Q(0)|(Q(R(m))==Q(Infinity)|m!=m)){break d}e=(b<<2)+d|0;if(m<Q(4294967296)&m>=Q(0)){i=~~m>>>0}else{i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(4294967296)|m<Q(0)|(Q(R(m))==Q(Infinity)|m!=m)){break d}if(m>Q(1)){break d}e=(b<<2)+d|0;j=V(+m*4294967295+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=1;if(c>>>0<=e>>>0){break d}Xi((e<<2)+d|0,0,c-e<<2)}return k;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];k=J[e>>2];g=k;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-k|0;if(!K[a+32|0]){k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=4294967295|j<0|(R(j)==Infinity|j!=j)){break g}e=(b<<2)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=4294967295|j<0|(R(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<2)+d|0;j=V(j*4294967295+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=1;if(c>>>0<=e>>>0){break g}Xi((e<<2)+d|0,0,c-e<<2)}return k;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi((e<<2)+d|0,0,(c&255)-e<<2)}return k}Xi((e<<2)+d|0,0,(c&255)-e<<2);return 1}function Ef(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}h=J[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0<e>>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}f=e+(d<<2)|0;J[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(h|0)){continue}break}}J[a+56>>2]=e+(g<<2);J[a+52>>2]=d;J[a+48>>2]=f;if(!h){break f}xj(h)}J[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=J[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=J[J[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=J[J[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=J[a+36>>2];h=d+(c>>>3&536870908)|0;g=J[h>>2];f=1<<c;if(!(g&f)){J[h>>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Ff(f,c,d);d=J[a+36>>2]}f=d+i|0;d=J[f>>2];c=1<<e;if(!(d&c)){J[f>>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Ff(d,e,c)}c=-1;c=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:c;f=J[a+36>>2]+(c>>>3&536870908)|0;d=J[f>>2];e=1<<c;if(!(d&e)){J[f>>2]=d|e;Ff(a+8|0,c,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){e=P(d,12)+a|0;b=J[e+52>>2];if((b|0)==J[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=J[b>>2];J[e+52>>2]=b;J[a+84>>2]=d;if((c|0)==-1){break e}f=J[a+24>>2];b=(c>>>0)/3|0;j:{if(J[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;J[b>>2]=J[b>>2]|1<<k;d=-1;l:{m:{n:{o:{p:{q:{r:{s:{d=(c|0)!=-1?J[J[J[a+4>>2]>>2]+(c<<2)>>2]:d;f=J[a+36>>2]+(d>>>3&536870908)|0;e=J[f>>2];b=1<<d;if(!(e&b)){J[f>>2]=b|e;i=J[(J[J[a+16>>2]+96>>2]+P(k,12)|0)+((c>>>0)%3<<2)>>2];l=J[J[a+20>>2]+4>>2];f=J[l+4>>2];t:{if((f|0)!=J[l+8>>2]){J[f>>2]=i;J[l+4>>2]=f+4;break t}j=J[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=Cj(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(j|0)){continue}break}}J[l+8>>2]=e+(h<<2);J[l+4>>2]=g;J[l>>2]=b;if(!j){break t}xj(j)}j=J[a+12>>2];f=J[j+4>>2];u:{if((f|0)!=J[j+8>>2]){J[f>>2]=c;J[j+4>>2]=f+4;break u}i=J[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=Cj(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(i|0)){continue}break}}J[j+8>>2]=e+(h<<2);J[j+4>>2]=g;J[j>>2]=b;if(!i){break u}xj(i)}b=J[a+12>>2];J[J[b+12>>2]+(d<<2)>>2]=J[b+24>>2];J[b+24>>2]=J[b+24>>2]+1}if((c|0)==-1){break k}g=J[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=J[J[g+12>>2]+(b<<2)>>2]}v:{w:{if((P(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=J[J[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=J[J[a+24>>2]+(b>>>3&268435452)>>2]&1<<b;if(d){break q}l=(b|0)!=0;break p}l=1;if(!d){break p}break k}Ia();C()}Ia();C()}if(!b){break o}break k}b=d?-1:e;x:{if(J[J[a+24>>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=J[J[g>>2]+(c<<2)>>2];if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;e=J[b>>2];J[b>>2]=e+1;k=(e|0)<=0?2:1}if(J[a+84>>2]>=(k|0)&l){break m}j=P(k,12)+a|0;b=J[j+52>>2];y:{if((b|0)!=J[j+56>>2]){J[b>>2]=c;J[j+52>>2]=b+4;break y}i=J[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[j+48>>2]=d;J[j+52>>2]=c;J[j+56>>2]=e+(g<<2);if(!i){break y}xj(i)}if(J[a+84>>2]<=(k|0)){break x}J[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=J[a+88>>2]+(c<<2)|0;c=J[b>>2];J[b>>2]=c+1;b=(c|0)<=0?2:1}if(J[a+84>>2]<(b|0)){break l}c=f}f=J[a+24>>2];continue}break}k=P(b,12)+a|0;c=J[k+52>>2];z:{if((c|0)!=J[k+56>>2]){J[c>>2]=f;J[k+52>>2]=c+4;break z}i=J[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[k+48>>2]=d;J[k+52>>2]=f;J[k+56>>2]=e+(g<<2);if(!i){break z}xj(i)}d=J[a+84>>2];if((d|0)<=(b|0)){break j}J[a+84>>2]=b;d=b;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}Va();C()}Ia();C()}Ia();C()}Ia();C()}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=fa-96|0;fa=n;o=J[a+4>>2];d=J[o+32>>2];i=J[d+8>>2];j=J[d+12>>2];e=j;c=J[d+20>>2];f=J[d+16>>2];a:{if((e|0)<=(c|0)&f>>>0>=i>>>0|(c|0)>(e|0)){break a}p=J[d>>2];g=K[p+f|0];h=f+1|0;e=h?c:c+1|0;J[d+16>>2]=h;J[d+20>>2]=e;if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}m=K[h+p|0];h=f+2|0;e=h>>>0<2?c+1|0:c;J[d+16>>2]=h;J[d+20>>2]=e;l=g<<24>>24;b:{if((l|0)>=0){k=J[a+216>>2];if(g>>>0>=(J[a+220>>2]-k|0)/144>>>0){break a}k=k+P(g,144)|0;if(J[k>>2]<0){break b}break a}if(J[a+212>>2]>=0){break a}k=a+212|0}J[k>>2]=b;c:{d:{e:{f:{g:{h:{k=L[o+36>>1];i:{if(((k<<8|k>>>8)&65535)>>>0>=258){if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}e=K[h+p|0];f=f+3|0;c=f>>>0<3?c+1|0:c;J[d+16>>2]=f;J[d+20>>2]=c;if(e>>>0>1){break a}d=e>>>0<2?e:0;if(!m){break i}if(!d){break h}break a}if(m){break g}d=0}if((l|0)<0){e=a+184|0}else{c=J[a+216>>2]+P(g,144)|0;H[c+100|0]=0;e=c+104|0}if((d|0)!=1){break e}c=fa-112|0;fa=c;h=J[J[a+4>>2]+44>>2];d=Cj(120);J[d>>2]=12220;J[d+4>>2]=0;J[d+116>>2]=0;J[d+112>>2]=e;J[d+108>>2]=h;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=12432;f=d- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;f=J[a+8>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;i=c+32|0;J[i>>2]=0;J[i+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;g=c- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=12432;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=f;g=J[f>>2];j=J[f+4>>2];H[c+111|0]=0;m=i;i=c+111|0;Oe(m,(j-g>>2>>>0)/3|0,i);g=J[c+12>>2];j=J[g+28>>2];g=J[g+24>>2];H[c+111|0]=0;Oe(c+44|0,j-g>>2,i);J[c+28>>2]=d;J[c+24>>2]=h;J[c+20>>2]=e;J[c+16>>2]=f;f=d+8|0;e=c+8|0;Pe(f,e);j:{if((e|0)==(f|0)){J[d+92>>2]=J[e+84>>2];break j}bb(d+56|0,J[e+48>>2],J[e+52>>2]);bb(d+68|0,J[e+60>>2],J[e- -64>>2]);bb(d+80|0,J[e+72>>2],J[e+76>>2]);J[d+92>>2]=J[e+84>>2];Nb(d+96|0,J[e+88>>2],J[e+92>>2])}J[c+8>>2]=12432;e=J[c+96>>2];if(e){J[c+100>>2]=e;xj(e)}e=J[c+80>>2];if(e){J[c+84>>2]=e;xj(e)}e=J[c+68>>2];if(e){J[c+72>>2]=e;xj(e)}e=J[c+56>>2];if(e){J[c+60>>2]=e;xj(e)}J[c+8>>2]=12668;e=J[c+44>>2];if(e){xj(e)}e=J[c+32>>2];if(e){xj(e)}fa=c+112|0;break d}if((l|0)>=0){break f}break a}if((l|0)<0){break a}}e=J[a+216>>2];c=J[o+44>>2];d=Cj(80);J[d>>2]=12980;J[d+4>>2]=0;J[d+76>>2]=0;J[d+68>>2]=c;J[d+8>>2]=11920;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;e=e+P(g,144)|0;f=e+104|0;J[d+72>>2]=f;J[d- -64>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[n+24>>2]=c;c=n;J[c+68>>2]=0;J[c+72>>2]=0;J[c+60>>2]=0;J[c+64>>2]=0;J[c+52>>2]=0;J[c+56>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+28>>2]=d;h=J[c+28>>2];J[c+8>>2]=J[c+24>>2];J[c+12>>2]=h;J[c+20>>2]=f;f=e+4|0;J[c+16>>2]=f;J[c+36>>2]=0;J[c+40>>2]=0;J[c+32>>2]=11920;e=J[c+20>>2];J[c>>2]=J[c+16>>2];J[c+4>>2]=e;e=c+32|0;Me(e,f,c);c=d+8|0;Pe(c,e);if((c|0)!=(e|0)){bb(d+56|0,J[e+48>>2],J[e+52>>2])}Ne(e);break c}c=fa+-64|0;fa=c;h=J[J[a+4>>2]+44>>2];d=Cj(80);J[d>>2]=12688;J[d+4>>2]=0;J[d+76>>2]=0;J[d+72>>2]=e;J[d+68>>2]=h;J[d+8>>2]=12852;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d- -64>>2]=0;i=d+56|0;f=i;J[f>>2]=0;J[f+4>>2]=0;f=J[a+8>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;g=c+24|0;J[g>>2]=0;J[g+4>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c>>2]=12852;J[c+4>>2]=f;j=J[f>>2];l=J[f+4>>2];H[c+63|0]=0;m=g;g=c+63|0;Oe(m,(l-j>>2>>>0)/3|0,g);j=J[c+4>>2];l=J[j+28>>2];j=J[j+24>>2];H[c+63|0]=0;Oe(c+36|0,l-j>>2,g);J[c+20>>2]=d;J[c+16>>2]=h;J[c+12>>2]=e;J[c+8>>2]=f;Pe(d+8|0,c);bb(i,J[c+48>>2],J[c+52>>2]);J[c>>2]=12852;e=J[c+48>>2];if(e){J[c+52>>2]=e;xj(e)}J[c>>2]=12668;e=J[c+36>>2];if(e){xj(e)}e=J[c+24>>2];if(e){xj(e)}fa=c- -64|0}if(!d){break a}}d=_b(Cj(64),d);c=J[a+4>>2];a=d;d=b;k:{l:{if((d|0)>=0){h=c+8|0;b=J[c+12>>2];i=J[c+8>>2];e=b-i>>2;m:{if((e|0)>(d|0)){break m}f=d+1|0;if(d>>>0>=e>>>0){ac(h,f-e|0);break m}if(e>>>0<=f>>>0){break m}f=i+(f<<2)|0;if((f|0)!=(b|0)){while(1){b=b-4|0;e=J[b>>2];J[b>>2]=0;if(e){ka[J[J[e>>2]+4>>2]](e)}if((b|0)!=(f|0)){continue}break}}J[c+12>>2]=f}c=J[h>>2]+(d<<2)|0;b=J[c>>2];J[c>>2]=a;if(b){break l}break k}b=a;if(!a){break k}}ka[J[J[b>>2]+4>>2]](b)}q=(d^-1)>>>31|0}fa=n+96|0;return q|0}function tj(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[uj(14304,14496,e+12|0)>>2];break a}if(a>>>0>=4294967292){ca();C()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=uj(14496,14688,e+8|0)-14496>>2;while(1){d=J[(g<<2)+14496>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0<a>>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+14304>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}fa=e+16|0;return d}function We(a,b){var 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;j=fa-16|0;fa=j;a:{b:{c:{d:{if(K[J[a+4>>2]+36|0]<=1){k=-1;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];if(M[b+8>>2]<e>>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break c}d=d+J[b>>2]|0;l=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+12>>2]=l;J[b+16>>2]=e;J[b+20>>2]=c;break d}k=-1;if(!Re(1,j+12|0,b)){break c}l=J[j+12>>2]}e:{f:{g:{h:{i:{if(!l){break i}c=J[a+8>>2];if((J[c+4>>2]-J[c>>2]>>2>>>0)/3>>>0<l>>>0){break c}c=L[J[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0>=258){j:{while(1){if(!Re(1,j+8|0,b)){break c}c=J[j+8>>2];if(!Re(1,j+8|0,b)){break c}f=c+f|0;c=J[j+8>>2];if(f>>>0<c>>>0){break c}g=f-c|0;c=J[a+40>>2];k:{if((c|0)!=J[a+44>>2]){J[c+4>>2]=f;J[c>>2]=g;J[a+40>>2]=c+12;l=J[j+12>>2];break k}m=J[a+36>>2];d=c-m|0;o=(d|0)/12|0;e=o+1|0;if(e>>>0>=357913942){break j}c=o<<1;h=o>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(h){if(h>>>0>=357913942){break b}i=Cj(P(h,12))}else{i=0}e=i+P(o,12)|0;J[e+4>>2]=f;J[e>>2]=g;c=Wi(e+P((d|0)/-12|0,12)|0,m,d);J[a+44>>2]=i+P(h,12);J[a+40>>2]=e+12;J[a+36>>2]=c;if(!m){break k}xj(m)}p=p+1|0;if(l>>>0>p>>>0){continue}break}k=0;rg(b,0,0);if(l){while(1){e=K[b+36|0];c=L[J[a+4>>2]+36>>1];l:{m:{if(((c<<8|c>>>8)&65535)>>>0<=513){if(!e){break l}p=0;c=J[b+32>>2];n=c>>>3|0;g=J[b+24>>2];e=n+g|0;d=J[b+28>>2];n:{if(e>>>0>=d>>>0){f=c;break n}e=K[e|0];f=c+1|0;J[b+32>>2]=f;n=f>>>3|0;p=e>>>(c&7)&1}if(d>>>0>g+n>>>0){break m}break l}if(!e){break l}p=0;f=J[b+32>>2];c=J[b+24>>2]+(f>>>3|0)|0;if(c>>>0>=M[b+28>>2]){break l}p=K[c|0]>>>(f&7)&1}J[b+32>>2]=f+1}c=J[a+36>>2]+P(k,12)|0;H[c+8|0]=K[c+8|0]&254|p&1;k=k+1|0;if((k|0)!=(l|0)){continue}break}}H[b+36|0]=0;f=J[b+20>>2];e=0;d=J[b+32>>2]+7|0;e=d>>>0<7?1:e;c=e>>>3|0;e=(e&7)<<29|d>>>3;d=e+J[b+16>>2]|0;c=c+f|0;J[b+16>>2]=d;J[b+20>>2]=d>>>0<e>>>0?c+1|0:c;break i}Ia();C()}while(1){d=J[b+8>>2];c=J[b+12>>2];g=c;c=J[b+20>>2];e=c;h=J[b+16>>2];f=h+4|0;c=f>>>0<4?c+1|0:c;i=f;if(f>>>0>d>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}m=J[b>>2];f=m+h|0;o=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=c;c=e;f=h+8|0;c=f>>>0<8?c+1|0:c;if(d>>>0<f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}i=i+m|0;i=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if(d>>>0<=f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=K[f+m|0];c=h+9|0;e=c>>>0<9?e+1|0:e;J[b+16>>2]=c;J[b+20>>2]=e;f=d&1;c=J[a+40>>2];o:{if((c|0)!=J[a+44>>2]){H[c+8|0]=f;J[c+4>>2]=i;J[c>>2]=o;J[a+40>>2]=c+12;l=J[j+12>>2];break o}m=J[a+36>>2];d=c-m|0;h=(d|0)/12|0;e=h+1|0;if(e>>>0>=357913942){break h}c=h<<1;g=h>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(g){if(g>>>0>=357913942){break b}e=Cj(P(g,12))}else{e=0}h=e+P(h,12)|0;H[h+8|0]=f;J[h+4>>2]=i;J[h>>2]=o;c=Wi(h+P((d|0)/-12|0,12)|0,m,d);J[a+44>>2]=e+P(g,12);J[a+40>>2]=h+12;J[a+36>>2]=c;if(!m){break o}xj(m)}n=n+1|0;if(l>>>0>n>>>0){continue}break}}J[j+8>>2]=0;c=L[J[a+4>>2]+36>>1];c=(c<<8|c>>>8)&65535;p:{if(c>>>0<=511){k=-1;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;f=J[b+12>>2];if(M[b+8>>2]<e>>>0&(f|0)<=(c|0)|(c|0)>(f|0)){break c}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break p}if((c|0)!=512){break e}k=-1;if(!Re(1,j+8|0,b)){break c}f=J[j+8>>2]}if(!f){break e}c=L[J[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0<258){break f}n=0;l=0;while(1){if(!Re(1,j+4|0,b)){break c}l=J[j+4>>2]+l|0;c=J[a+52>>2];q:{if((c|0)!=J[a+56>>2]){J[c>>2]=l;J[a+52>>2]=c+4;break q}i=J[a+48>>2];g=c-i|0;e=g>>2;d=e+1|0;if(d>>>0>=1073741824){break g}c=g>>>1|0;d=g>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=Cj(d<<2)}else{c=0}e=c+(e<<2)|0;J[e>>2]=l;c=Wi(c,i,g);J[a+56>>2]=c+(d<<2);J[a+52>>2]=e+4;J[a+48>>2]=c;if(!i){break q}xj(i)}n=n+1|0;if((n|0)!=(f|0)){continue}break}break e}Ia();C()}Ia();C()}k=0;while(1){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];if(M[b+8>>2]<e>>>0&(g|0)<=(c|0)|(c|0)>(g|0)){k=-1;break c}d=d+J[b>>2]|0;g=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;c=J[a+52>>2];r:{if((c|0)!=J[a+56>>2]){J[c>>2]=g;J[a+52>>2]=c+4;break r}h=J[a+48>>2];i=c-h|0;e=i>>2;d=e+1|0;if(d>>>0>=1073741824){break a}c=i>>>1|0;d=i>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=Cj(d<<2)}else{c=0}e=c+(e<<2)|0;J[e>>2]=g;c=Wi(c,h,i);J[a+56>>2]=c+(d<<2);J[a+52>>2]=e+4;J[a+48>>2]=c;if(!h){break r}xj(h)}k=k+1|0;if((k|0)!=(f|0)){continue}break}}k=J[b+16>>2]}fa=j+16|0;return k}Va();C()}Ia();C()}function Rc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(H[b|0]);N[(h<<2)+d>>2]=i?Q(j/Q(127)):j;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(K[b|0]);N[(h<<2)+d>>2]=i?Q(j/Q(255)):j;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(I[b>>1]);N[(h<<2)+d>>2]=i?Q(j/Q(32767)):j;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(L[b>>1]);N[(h<<2)+d>>2]=i?Q(j/Q(65535)):j;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(J[b>>2]);N[(h<<2)+d>>2]=i?Q(j*Q(4.656612873077393e-10)):j;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(M[b>>2]);N[(h<<2)+d>>2]=i?Q(j*Q(2.3283064365386963e-10)):j;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(+M[b>>2]+ +J[b+4>>2]*4294967296);N[(h<<2)+d>>2]=i?Q(j*Q(10842021724855044e-35)):j;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(+M[b>>2]+ +M[b+4>>2]*4294967296);N[(h<<2)+d>>2]=i?Q(j*Q(5.421010862427522e-20)):j;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=N[b>>2];b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=O[b>>3];b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=K[b|0]?Q(1):Q(0);b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}Xi(d,0,a<<2)}return l}function Vf(a){a=a|0;var 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;e=fa-32|0;fa=e;k=J[a+32>>2];b=L[a+36>>1];a:{b:{if(((b<<8|b>>>8)&65535)>>>0<=513){b=J[k+8>>2];d=J[k+12>>2];c=b;b=J[k+20>>2];f=b;g=J[k+16>>2];h=g+4|0;b=h>>>0<4?b+1|0:b;if(c>>>0<h>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break a}l=J[k>>2];i=l+g|0;n=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[k+16>>2]=h;J[k+20>>2]=b;i=c;c=d;b=f;d=g+8|0;b=d>>>0<8?b+1|0:b;if(d>>>0>i>>>0&(b|0)>=(c|0)|(b|0)>(c|0)){break a}c=h+l|0;J[e+24>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[k+16>>2]=d;J[k+20>>2]=b;break b}if(!Wf(1,e+28|0,k)){break a}if(!Wf(1,e+24|0,J[a+32>>2])){break a}n=J[e+28>>2]}if(n>>>0>1431655765){break a}d=J[a+32>>2];b=d;g=J[b+8>>2];c=J[b+16>>2];h=J[b+12>>2];b=J[b+20>>2];f=ok(g-c|0,h-(b+(c>>>0>g>>>0)|0)|0,3,0);if(!ja&f>>>0<n>>>0|((b|0)>=(h|0)&c>>>0>=g>>>0|(b|0)>(h|0))){break a}g=K[c+J[d>>2]|0];c=c+1|0;b=c?b:b+1|0;J[d+16>>2]=c;J[d+20>>2]=b;c:{d:{if(!g){k=0;c=fa-32|0;fa=c;J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;e:{f:{b=P(n,3);if(b){if(b>>>0>=1073741824){break f}d=P(n,12);k=Cj(d);Xi(k,0,d)}b=pe(b,1,J[a+32>>2],k);g:{h:{if(!(!n|!b)){d=0;while(1){i:{g=J[(d<<2)+k>>2];b=g>>>1|0;j:{if(g&1){if((b|0)>(j|0)){break i}b=0-b|0;break j}if((j^2147483647)>>>0<b>>>0){break i}}g=b+j|0;J[c>>2]=g;h=J[(d+1<<2)+k>>2];b=h>>>1|0;k:{if(h&1){if((b|0)>(g|0)){break i}b=0-b|0;break k}if((g^2147483647)>>>0<b>>>0){break i}}g=b+g|0;J[c+4>>2]=g;h=J[(d+2<<2)+k>>2];b=h>>>1|0;l:{if(h&1){if((b|0)>(g|0)){break i}b=0-b|0;break l}if((g^2147483647)>>>0<b>>>0){break i}}d=d+3|0;j=b+g|0;J[c+8>>2]=j;Xf(J[a+44>>2]+96|0,c);b=1;o=o+1|0;if((o|0)!=(n|0)){continue}break h}break}b=0;break h}if(!k){break g}}xj(k)}fa=c+32|0;break e}Ia();C()}if(!b){break a}k=J[e+24>>2];break d}k=J[e+24>>2];if(k>>>0<=255){if(!n){break d}while(1){m:{J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d=J[a+32>>2];b=d;g=J[b+16>>2];f=J[b+8>>2];c=J[b+20>>2];i=J[b+12>>2];b=i;if(f>>>0<=g>>>0&(c|0)>=(b|0)|(b|0)<(c|0)){break m}j=J[d>>2];l=K[j+g|0];b=c;h=g+1|0;b=h?b:b+1|0;J[d+16>>2]=h;J[d+20>>2]=b;J[e+8>>2]=l;l=f>>>0<g>>>0&(c|0)>=(i|0)|(c|0)>(i|0);f=l?g:f;i=l?c:i;if((f|0)==(h|0)&(i|0)==(b|0)){break m}l=K[h+j|0];b=c;h=g+2|0;b=h>>>0<2?b+1|0:b;J[d+16>>2]=h;J[d+20>>2]=b;J[e+12>>2]=l;if((f|0)==(h|0)&(b|0)==(i|0)){break m}h=K[h+j|0];b=c;c=g+3|0;b=c>>>0<3?b+1|0:b;J[d+16>>2]=c;J[d+20>>2]=b;J[e+16>>2]=h;Xf(J[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}if(k>>>0<=65535){if(!n){break d}while(1){n:{J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;j=J[a+32>>2];b=j;c=J[b+8>>2];d=J[b+12>>2];h=J[b+16>>2];b=J[b+20>>2];g=b;f=h+2|0;b=f>>>0<2?b+1|0:b;if(c>>>0<f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}l=J[j>>2];i=l+h|0;i=K[i|0]|K[i+1|0]<<8;J[j+16>>2]=f;J[j+20>>2]=b;J[e+8>>2]=i;b=g;i=h+4|0;b=i>>>0<4?b+1|0:b;if(c>>>0<i>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}f=f+l|0;f=K[f|0]|K[f+1|0]<<8;J[j+16>>2]=i;J[j+20>>2]=b;J[e+12>>2]=f;f=c;b=g;c=h+6|0;b=c>>>0<6?b+1|0:b;if(c>>>0>f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}d=i+l|0;d=K[d|0]|K[d+1|0]<<8;J[j+16>>2]=c;J[j+20>>2]=b;J[e+16>>2]=d;Xf(J[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}o:{if(k>>>0>2097151){break o}b=L[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break o}if(!n){break d}while(1){p:{J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;if(!Wf(1,e+4|0,J[a+32>>2])){break p}J[e+8>>2]=J[e+4>>2];if(!Wf(1,e+4|0,J[a+32>>2])){break p}J[e+12>>2]=J[e+4>>2];if(!Wf(1,e+4|0,J[a+32>>2])){break p}J[e+16>>2]=J[e+4>>2];Xf(J[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}if(!n){break d}while(1){J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;j=J[a+32>>2];b=j;c=J[b+8>>2];d=J[b+12>>2];h=J[b+16>>2];b=J[b+20>>2];g=b;f=h+4|0;b=f>>>0<4?b+1|0:b;if(c>>>0<f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}l=J[j>>2];i=l+h|0;i=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[j+16>>2]=f;J[j+20>>2]=b;J[e+8>>2]=i;b=g;i=h+8|0;b=i>>>0<8?b+1|0:b;if(c>>>0<i>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}f=f+l|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[j+16>>2]=i;J[j+20>>2]=b;J[e+12>>2]=f;f=c;b=g;c=h+12|0;b=c>>>0<12?b+1|0:b;if(c>>>0>f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}d=i+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+16>>2]=c;J[j+20>>2]=b;J[e+16>>2]=d;Xf(J[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break}}J[J[a+4>>2]+80>>2]=k;m=1;break a}m=0}fa=e+32|0;return m|0}function wg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0),m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){return 0}e=H[b|0];if((e|0)<0){break b}H[d+g|0]=e;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if((e+128&65535)>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>127){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e+128>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>127){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];h=e+128|0;i=h>>>0<128?i+1|0:i;if(!i&h>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>127|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=K[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break d}l=N[b>>2];if(l>=Q(127)|l<Q(-128)|l!=l){break d}m=Q(R(l));if(m==Q(Infinity)){break d}e=d+g|0;e:{f:{if(K[a+32|0]){if(l<Q(0)|l>Q(1)){break d}j=V(+l*127+.5);if(!(R(j)<2147483648)){break f}h=~~j;break e}if(!(m<Q(2147483648))){break f}h=~~l;break e}h=-2147483648}H[e|0]=h;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}Xi(d+e|0,0,c-e|0)}return k;case 9:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}j=O[b>>3];if(j>=127|j<-128|(R(j)==Infinity|j!=j)){break b}e=d+g|0;if(K[a+32|0]){if(j<0|j>1){break b}j=V(j*127+.5)}g:{if(R(j)<2147483648){h=~~j;break g}h=-2147483648}H[e|0]=h;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi(d+e|0,0,(c&255)-e|0)}return k}Xi(d+e|0,0,(c&255)-e|0);return 1}function xg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){return 0}e=H[b|0];if((e|0)<0){break b}H[d+g|0]=e;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=K[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break d}l=N[b>>2];if(l>=Q(255)|l<Q(0)|(Q(R(l))==Q(Infinity)|l!=l)){break d}e=d+g|0;e:{f:{if(K[a+32|0]){if(l>Q(1)){break d}j=V(+l*255+.5);if(!(j<4294967296&j>=0)){break f}h=~~j>>>0;break e}if(!(l<Q(4294967296)&l>=Q(0))){break f}h=~~l>>>0;break e}h=0}H[e|0]=h;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}Xi(d+e|0,0,c-e|0)}return k;case 9:e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}j=O[b>>3];if(j>=255|j<0|(R(j)==Infinity|j!=j)){break b}e=d+g|0;if(K[a+32|0]){if(j>1){break b}j=V(j*255+.5)}g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}H[e|0]=h;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0<f>>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0<f>>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi(d+e|0,0,(c&255)-e|0)}return k}Xi(d+e|0,0,(c&255)-e|0);return 1}function Ib(a){a=a|0;var 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=Q(0),w=0;p=fa-16|0;fa=p;a:{if(!(J[a+60>>2]!=J[a- -64>>2]|J[a+48>>2]!=J[a+52>>2])){j=1;break a}j=1;if((ka[J[J[a>>2]+24>>2]](a)|0)<=0){break a}while(1){b:{b=ka[J[J[a>>2]+20>>2]](a,w)|0;c:{d:{e:{f=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(b<<2)>>2];switch(J[f+28>>2]-1|0){case 8:break d;case 0:case 2:case 4:break e;default:break c}}b=K[f+24|0];f:{if(!b){n=0;j=0;break f}j=0;b=b<<2;n=Cj(b);Xi(n,0,b);b=K[f+24|0];if(!b){break f}b=b<<2;j=Cj(b);Xi(j,0,b)}g:{h:{i:{switch(J[f+28>>2]-1|0){case 4:i=0;h=0;d=0;b=0;k=0;e=K[f+24|0];j:{if(!e){g=0;break j}e=e<<2;h=Cj(e);Xi(h,0,e);g=Cj(e);Xi(g,0,e)}k:{if(J[f+80>>2]){while(1){o=J[f>>2];c=J[o>>2];m=J[f+48>>2];e=J[f+40>>2];l=nk(e,J[f+44>>2],d,b);m=m+l|0;s=c+m|0;c=e;m=Vi(h,s,c);l=K[f+24|0];if(l){t=J[a+48>>2];e=0;while(1){r=e<<2;s=J[r+m>>2];if((s|0)<0){break k}J[g+r>>2]=s+J[t+(e+u<<2)>>2];e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[o>>2]+P(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}k=1}if(g){xj(g)}if(h){xj(h)}if(k){break h}break g;case 2:g=0;e=0;d=0;b=0;c=K[f+24|0];if(c){c=c<<1;e=Cj(c);Xi(e,0,c);g=Cj(c);Xi(g,0,c)}if(J[f+80>>2]){while(1){l=J[f>>2];h=J[l>>2];i=J[f+48>>2];c=J[f+40>>2];k=nk(c,J[f+44>>2],d,b);i=i+k|0;k=Vi(e,h+i|0,c);o=K[f+24|0];l:{if(!o){break l}m=J[a+48>>2];h=0;if((o|0)!=1){t=o&254;i=0;while(1){r=h<<1;I[r+g>>1]=L[k+r>>1]+L[m+(h+u<<2)>>1];r=h|1;s=r<<1;I[s+g>>1]=L[k+s>>1]+L[m+(r+u<<2)>>1];h=h+2|0;i=i+2|0;if((t|0)!=(i|0)){continue}break}}if(!(o&1)){break l}i=h<<1;I[i+g>>1]=L[i+k>>1]+L[m+(h+u<<2)>>1]}Vi(J[l>>2]+P(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}if(g){xj(g)}if(e){xj(e)}break h;case 0:break i;default:break h}}h=0;e=0;d=0;b=0;c=K[f+24|0];if(c){e=Cj(c);Xi(e,0,c);h=Cj(c);Xi(h,0,c)}if(J[f+80>>2]){while(1){t=J[f>>2];g=J[t>>2];i=J[f+48>>2];c=J[f+40>>2];k=nk(c,J[f+44>>2],d,b);i=i+k|0;k=Vi(e,g+i|0,c);o=K[f+24|0];m:{if(!o){break m}m=J[a+48>>2];g=0;if((o|0)!=1){r=o&254;i=0;while(1){H[g+h|0]=K[g+k|0]+K[m+(g+u<<2)|0];l=g|1;H[l+h|0]=K[k+l|0]+K[m+(l+u<<2)|0];g=g+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!(o&1)){break m}H[g+h|0]=K[g+k|0]+K[m+(g+u<<2)|0]}Vi(J[t>>2]+P(d,c)|0,h,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}if(h){xj(h)}if(e){xj(e)}}u=K[f+24|0]+u|0;i=1}if(j){xj(j)}if(n){xj(n)}if(i){break c}j=0;break a}e=J[J[a+60>>2]+(q<<2)>>2];h=J[a+36>>2];g=J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2];J[p+12>>2]=J[f+56>>2];b=Cj(32);J[p>>2]=b;J[p+4>>2]=24;J[p+8>>2]=-2147483616;d=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);c=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);c=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);c=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;H[b+24|0]=0;d=Jb(g,p+12|0,p);if(H[p+11|0]<0){xj(J[p>>2])}b=q+1|0;n:{if(d){ab(f,e);break n}g=h+P(q,24)|0;q=J[g+4>>2];c=K[f+24|0];h=c<<2;d=Cj(h);J[p>>2]=1065353216;v=N[g+20>>2];q=-1<<q^-1;if((q|0)>0){N[p>>2]=v/Q(q|0)}if((q|0)<=0){break b}o:{if(!J[e+80>>2]){break o}if(!c){n=0;j=0;while(1){Vi(J[J[f+64>>2]>>2]+j|0,d,h);j=h+j|0;n=n+1|0;if(n>>>0<M[e+80>>2]){continue}break}break o}o=J[J[e>>2]>>2]+J[e+48>>2]|0;t=c&254;r=c&1;i=0;k=0;j=0;while(1){q=J[g+8>>2];v=N[p>>2];n=0;m=0;if((c|0)!=1){while(1){l=n<<2;s=o+(j<<2)|0;N[l+d>>2]=Q(v*Q(J[s>>2]))+N[l+q>>2];l=l|4;N[l+d>>2]=Q(v*Q(J[s+4>>2]))+N[l+q>>2];n=n+2|0;j=j+2|0;m=m+2|0;if((t|0)!=(m|0)){continue}break}}if(r){n=n<<2;N[n+d>>2]=Q(v*Q(J[o+(j<<2)>>2]))+N[n+q>>2];j=j+1|0}Vi(J[J[f+64>>2]>>2]+k|0,d,h);k=h+k|0;i=i+1|0;if(i>>>0<M[e+80>>2]){continue}break}}xj(d)}q=b}j=1;w=w+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(w|0)){continue}break a}break}xj(d);j=0}fa=p+16|0;return j|0}function se(a,b,c){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;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;d=L[b+38>>1];a:{b:{if(!d){break b}c:{if(d>>>0<=511){h=J[b+8>>2];f=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];i=d+4|0;e=i>>>0<4?e+1|0:e;if(h>>>0<i>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}d=d+J[b>>2]|0;l=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+12>>2]=l;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;break c}if(!te(1,j+12|0,b)){break b}d=J[b+16>>2];e=J[b+20>>2];l=J[j+12>>2]}f=J[b+8>>2];i=f-d|0;d=J[b+12>>2]-((d>>>0>f>>>0)+e|0)|0;if(i>>>0<l>>>6>>>0&(d|0)<=0|(d|0)<0){break b}e=J[j>>2];d=J[j+4>>2]-e>>2;d:{if(d>>>0<l>>>0){La(j,l-d|0);l=J[j+12>>2];break d}if(d>>>0<=l>>>0){break d}J[j+4>>2]=e+(l<<2)}i=1;if(!l){break a}d=J[b+16>>2];e=J[b+20>>2];r=J[j>>2];k=J[b+8>>2];o=J[b+12>>2];h=0;while(1){i=0;if((e|0)>=(o|0)&d>>>0>=k>>>0|(e|0)>(o|0)){break a}i=J[b>>2];p=K[i+d|0];d=d+1|0;e=d?e:e+1|0;J[b+16>>2]=d;J[b+20>>2]=e;f=p>>>2|0;m=0;e:{f:{g:{h:{s=p&3;switch(s|0){case 0:break f;case 3:break h;default:break g}}f=f+h|0;i=0;if(f>>>0>=l>>>0){break a}Xi(r+(h<<2)|0,0,(p&252)+4|0);h=f;break e}while(1){if((d|0)==(k|0)&(e|0)==(o|0)){break b}l=K[d+i|0];d=d+1|0;e=d?e:e+1|0;J[b+16>>2]=d;J[b+20>>2]=e;f=l<<(m<<3|6)|f;m=m+1|0;if((s|0)!=(m|0)){continue}break}}J[r+(h<<2)>>2]=f}l=J[j+12>>2];h=h+1|0;if(l>>>0>h>>>0){continue}break}d=j+16|0;o=J[j>>2];f=J[j+16>>2];e=J[j+20>>2]-f|0;i:{if(e>>>0<=4194303){La(d,1048576-(e>>>2|0)|0);break i}if((e|0)==4194304){break i}J[j+20>>2]=f+4194304}e=j+28|0;h=J[e>>2];f=J[j+32>>2]-h>>3;j:{if(f>>>0<l>>>0){ue(e,l-f|0);h=J[e>>2];break j}if(f>>>0>l>>>0){J[j+32>>2]=(l<<3)+h}if(!l){break b}}k=J[d>>2];d=0;i=0;while(1){e=o+(d<<2)|0;j=J[e>>2];m=(d<<3)+h|0;f=i;J[m+4>>2]=f;J[m>>2]=j;e=J[e>>2];i=e+f|0;if(i>>>0>1048576){break b}k:{if(f>>>0>=i>>>0){break k}m=0;j=e&7;if(j){while(1){J[k+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((j|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break k}while(1){e=k+(f<<2)|0;J[e>>2]=d;J[e+28>>2]=d;J[e+24>>2]=d;J[e+20>>2]=d;J[e+16>>2]=d;J[e+12>>2]=d;J[e+8>>2]=d;J[e+4>>2]=d;f=f+8|0;if((i|0)!=(f|0)){continue}break}}d=d+1|0;if((l|0)!=(d|0)){continue}break}n=(i|0)==1048576}i=n}l:{if(!i|(J[g+20>>2]?0:a)){break l}i=0;n=fa-16|0;fa=n;m:{n:{if(L[b+38>>1]<=511){h=J[b+8>>2];f=J[b+12>>2];j=f;e=J[b+20>>2];k=J[b+16>>2];d=k+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>h>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break m}k=k+J[b>>2]|0;f=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[b+16>>2]=d;J[b+20>>2]=e;break n}if(!ve(1,n+8|0,b)){break m}d=J[b+16>>2];e=J[b+20>>2];h=J[b+8>>2];j=J[b+12>>2];f=J[n+8>>2];k=J[n+12>>2]}l=h-d|0;h=j-((d>>>0>h>>>0)+e|0)|0;if((h|0)==(k|0)&f>>>0>l>>>0|h>>>0<k>>>0){break m}e=e+k|0;h=d+f|0;e=h>>>0<f>>>0?e+1|0:e;J[b+16>>2]=h;J[b+20>>2]=e;if((f|0)<=0){break m}b=J[b>>2]+d|0;J[g+48>>2]=b;d=f-1|0;e=d+b|0;h=K[e|0];o:{if(h>>>0<=63){J[g+52>>2]=d;b=K[e|0]&63;break o}p:{switch((h>>>6|0)-1|0){case 0:if(f>>>0<2){break m}d=f-2|0;J[g+52>>2]=d;b=b+d|0;b=K[b+1|0]<<8&16128|K[b|0];break o;case 1:if(f>>>0<3){break m}d=f-3|0;J[g+52>>2]=d;b=b+d|0;b=K[b+1|0]<<8|K[b+2|0]<<16&4128768|K[b|0];break o;default:break p}}d=f-4|0;J[g+52>>2]=d;b=b+d|0;b=(K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24))&1073741823}J[g+56>>2]=b+4194304;i=b>>>0<1069547520}fa=n+16|0;if(!i){break l}if(!a){t=1;break l}b=J[g+52>>2];f=J[g+56>>2];d=J[g+36>>2];e=J[g+48>>2];h=J[g+24>>2];while(1){q:{if(f>>>0>4194303){break q}while(1){if((b|0)<=0){break q}b=b-1|0;J[g+52>>2]=b;f=K[b+e|0]|f<<8;J[g+56>>2]=f;if(f>>>0<4194304){continue}break}}i=f&1048575;k=J[h+(i<<2)>>2];n=d+(k<<3)|0;f=(P(J[n>>2],f>>>20|0)+i|0)-J[n+4>>2]|0;J[g+56>>2]=f;J[(q<<2)+c>>2]=k;t=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;return t}function cg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=fa-48|0;fa=e;f=L[6701]|L[6702]<<16;d=L[6699]|L[6700]<<16;I[e+38>>1]=d;I[e+40>>1]=d>>>16;I[e+42>>1]=f;I[e+44>>1]=f>>>16;d=J[3349];J[e+32>>2]=J[3348];J[e+36>>2]=d;d=J[3347];J[e+24>>2]=J[3346];J[e+28>>2]=d;d=J[3345];J[e+16>>2]=J[3344];J[e+20>>2]=d;g=J[b+8>>2];i=J[b+12>>2];h=J[b+20>>2];d=J[b+16>>2];f=d+5|0;h=f>>>0<5?h+1|0:h;a:{b:{if(g>>>0<f>>>0&(h|0)>=(i|0)|(h|0)>(i|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}c:{d:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break d}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break c}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}f=d+J[b>>2]|0;d=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=K[f+4|0];d=J[b+20>>2];f=J[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;J[b+16>>2]=f;J[b+20>>2]=d;if(bj(c,1287,5)){d=Cj(32);H[d+17|0]=0;H[d+16|0]=K[1531];c=K[1527]|K[1528]<<8|(K[1529]<<16|K[1530]<<24);b=K[1523]|K[1524]<<8|(K[1525]<<16|K[1526]<<24);H[d+8|0]=b;H[d+9|0]=b>>>8;H[d+10|0]=b>>>16;H[d+11|0]=b>>>24;H[d+12|0]=c;H[d+13|0]=c>>>8;H[d+14|0]=c>>>16;H[d+15|0]=c>>>24;c=K[1519]|K[1520]<<8|(K[1521]<<16|K[1522]<<24);b=K[1515]|K[1516]<<8|(K[1517]<<16|K[1518]<<24);H[d|0]=b;H[d+1|0]=b>>>8;H[d+2|0]=b>>>16;H[d+3|0]=b>>>24;H[d+4|0]=c;H[d+5|0]=c>>>8;H[d+6|0]=c>>>16;H[d+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,d,17);xj(d);break b}g=J[b+12>>2];if((g|0)<=(d|0)&M[b+8>>2]<=f>>>0|(d|0)>(g|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}e:{f:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break f}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break e}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+5|0]=K[f+J[b>>2]|0];g=J[b+20>>2];d=J[b+16>>2]+1|0;g=d?g:g+1|0;J[b+16>>2]=d;J[b+20>>2]=g;f=J[b+12>>2];if((f|0)<=(g|0)&M[b+8>>2]<=d>>>0|(g|0)>(f|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}g:{h:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break h}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break g}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+6|0]=K[d+J[b>>2]|0];h=J[b+20>>2];d=J[b+16>>2]+1|0;h=d?h:h+1|0;J[b+16>>2]=d;J[b+20>>2]=h;f=J[b+12>>2];if((f|0)<=(h|0)&M[b+8>>2]<=d>>>0|(f|0)<(h|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}i:{j:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break j}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break i}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+7|0]=K[d+J[b>>2]|0];g=J[b+20>>2];d=J[b+16>>2]+1|0;g=d?g:g+1|0;J[b+16>>2]=d;J[b+20>>2]=g;f=J[b+12>>2];if((f|0)<=(g|0)&M[b+8>>2]<=d>>>0|(g|0)>(f|0)){c=dg(e,e+16|0);J[a>>2]=-2;b=a+4|0;if(H[c+11|0]>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break b}Gj(b,J[c>>2],J[c+4>>2]);if(H[c+11|0]>=0){break b}xj(J[c>>2]);break b}H[c+8|0]=K[d+J[b>>2]|0];d=J[b+20>>2];g=J[b+16>>2];f=g+1|0;i=f?d:d+1|0;J[b+16>>2]=f;J[b+20>>2]=i;i=J[b+8>>2];h=J[b+12>>2];g=g+3|0;d=g>>>0<3?d+1|0:d;if(g>>>0>i>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){c=dg(e,e+16|0);J[a>>2]=-2;b=a+4|0;if(H[c+11|0]>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break b}Gj(b,J[c>>2],J[c+4>>2]);if(H[c+11|0]>=0){break b}xj(J[c>>2]);break b}d=c;c=J[b>>2]+f|0;I[d+10>>1]=K[c|0]|K[c+1|0]<<8;g=J[b+20>>2];c=J[b+16>>2]+2|0;g=c>>>0<2?g+1|0:g;J[b+16>>2]=c;J[b+20>>2]=g;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}fa=e+48|0;return}eg();C()}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=fa-96|0;fa=e;f=J[a+16>>2];H[e+92|0]=1;J[e+88>>2]=b;J[e+84>>2]=b;J[e+80>>2]=f;j=J[a+20>>2];d=J[j>>2];a:{b:{f=J[J[f+28>>2]+(b<<2)>>2];if(f>>>0<J[j+4>>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(f<<2)>>2]<<2)>>2];f=J[a+4>>2];if(!K[f+84|0]){d=J[J[f+68>>2]+(d<<2)>>2]}J[e+72>>2]=0;J[e+76>>2]=0;j=e- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;Xc(f,d,H[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!J[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=J[a+20>>2];b=J[n>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[n+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;Xc(b,d,H[b+24|0],e+32|0);d=J[a+20>>2];b=J[d>>2];f=J[J[J[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(f<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Xc(b,d,H[b+24|0],e+8|0);g=J[e+8>>2];b=J[e+56>>2];d=g-b|0;p=J[e+60>>2];t=J[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[e+40>>2];f=J[e+64>>2];n=h-f|0;u=J[e+68>>2];x=J[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=nk(d,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[e+16>>2];g=h-f|0;u=J[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=J[e+32>>2];h=k-b|0;v=J[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=nk(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=J[e+48>>2];f=J[e+72>>2];d=k-f|0;t=J[e+76>>2];w=J[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=nk(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0<l>>>0?b+1|0:b;l=J[e+24>>2];p=l-f|0;f=J[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=nk(p,f,h,v);l=k-q|0;q=b-(ja+(k>>>0<q>>>0)|0)|0;b=nk(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=nk(p,f,n,x);r=s+d|0;b=ja+b|0;s=r>>>0<s>>>0?b+1|0:b;b=J[e+88>>2];f=J[e+80>>2];d:{if(K[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[e+88>>2]=b;if((b|0)!=-1){break e}}b=J[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[e+92|0]=0;J[e+88>>2]=d;break d}if((b|0)!=J[e+84>>2]){break d}J[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[e+88>>2]=d}b=J[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0<g>>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0<j>>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0<f>>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0<j>>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0<a>>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=ok(o,n,a,b);l=ok(l,q,a,b);r=ok(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=e+96|0;return}yc();C()}yc();C()}yc();C()}function Bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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;J[a+8>>2]=e;r=a+32|0;g=J[r>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0<e>>>0){La(r,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2);d=e}v=e<<2;f=e>>>0>1073741823?-1:v;m=Xi(Cj(f),0,f);p=Xi(Cj(f),0,f);b:{if((d|0)<=0){break b}i=J[a+32>>2];while(1){d=h<<2;f=J[d+m>>2];g=J[a+16>>2];c:{if((f|0)>(g|0)){J[d+i>>2]=g;break c}d=d+i|0;g=J[a+12>>2];if((g|0)>(f|0)){J[d>>2]=g;break c}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){g=f<<2;d=g+c|0;g=J[b+g>>2]+J[g+i>>2]|0;J[d>>2]=g;d:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break d}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];w=J[f>>2];f=J[f+4>>2]-w|0;if((f|0)>=5){D=J[a+52>>2];s=J[a+48>>2];u=f>>>2|0;E=u>>>0<=2?2:u;x=e&-2;y=e&1;F=e&-4;z=e&3;A=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(u|0)){g=J[(n<<2)+w>>2];t=(e|0)<=0;if(!t){Xi(m,0,v)}if((g|0)==-1){i=P(e,n);break f}B=J[s>>2];l=0;f=g;while(1){i:{if(J[(f>>>3&536870908)+B>>2]>>>f&1){break i}i=J[J[J[s+64>>2]+12>>2]+(f<<2)>>2];if((i|0)==-1){break i}j=J[D>>2];h=J[s+28>>2];o=J[j+(J[h+(i<<2)>>2]<<2)>>2];if((o|0)>=(n|0)){break i}k=i+1|0;k=J[j+(J[h+(((k>>>0)%3|0?k:i-2|0)<<2)>>2]<<2)>>2];if((k|0)>=(n|0)){break i}i=J[j+(J[h+(i+((i>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((i|0)>=(n|0)){break i}j:{if(t){break j}i=P(e,i);j=P(e,k);o=P(e,o);h=0;q=0;if(A){while(1){J[(h<<2)+p>>2]=(J[(h+i<<2)+c>>2]+J[(h+j<<2)+c>>2]|0)-J[(h+o<<2)+c>>2];k=h|1;J[(k<<2)+p>>2]=(J[(i+k<<2)+c>>2]+J[(j+k<<2)+c>>2]|0)-J[(k+o<<2)+c>>2];h=h+2|0;q=q+2|0;if((x|0)!=(q|0)){continue}break}}if(y){J[(h<<2)+p>>2]=(J[(h+i<<2)+c>>2]+J[(h+j<<2)+c>>2]|0)-J[(h+o<<2)+c>>2]}if(t){break j}o=0;h=0;i=0;if(e>>>0>3){while(1){j=h<<2;k=j+m|0;J[k>>2]=J[j+p>>2]+J[k>>2];k=j|4;q=k+m|0;J[q>>2]=J[k+p>>2]+J[q>>2];k=j|8;q=k+m|0;J[q>>2]=J[k+p>>2]+J[q>>2];j=j|12;k=j+m|0;J[k>>2]=J[j+p>>2]+J[k>>2];h=h+4|0;i=i+4|0;if((F|0)!=(i|0)){continue}break}}if(!z){break j}while(1){i=h<<2;j=i+m|0;J[j>>2]=J[i+p>>2]+J[j>>2];h=h+1|0;o=o+1|0;if((z|0)!=(o|0)){continue}break}}l=l+1|0}k:{l:{if((f>>>0)%3|0){h=f-1|0;break l}h=f+2|0;i=-1;if((h|0)==-1){break k}}i=-1;if(J[(h>>>3&536870908)+B>>2]>>>h&1){break k}f=J[J[J[s+64>>2]+12>>2]+(h<<2)>>2];i=-1;if((f|0)==-1){break k}i=f-1|0;if((f>>>0)%3|0){break k}i=f+2|0}f=i;if((g|0)!=(f|0)&(f|0)!=-1){continue}break}i=P(e,n);if(!l){break f}if(t){break g}h=0;f=0;if(!A){break h}while(1){g=h<<2;j=g+m|0;J[j>>2]=J[j>>2]/(l|0);g=(g|4)+m|0;J[g>>2]=J[g>>2]/(l|0);h=h+2|0;f=f+2|0;if((x|0)!=(f|0)){continue}break}break h}yc();C()}if(!y){break g}f=(h<<2)+m|0;J[f>>2]=J[f>>2]/(l|0)}if((d|0)<=0){break e}l=J[r>>2];h=0;while(1){d=h<<2;f=J[d+m>>2];g=J[a+16>>2];m:{if((f|0)>(g|0)){J[d+l>>2]=g;break m}d=d+l|0;g=J[a+12>>2];if((g|0)>(f|0)){J[d>>2]=g;break m}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[h+g>>2]+J[g+l>>2]|0;J[d>>2]=g;n:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break n}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}g=(P(n-1|0,e)<<2)+c|0;l=J[r>>2];h=0;while(1){d=h<<2;f=J[d+g>>2];j=J[a+16>>2];o:{if((f|0)>(j|0)){J[d+l>>2]=j;break o}d=d+l|0;j=J[a+12>>2];if((j|0)>(f|0)){J[d>>2]=j;break o}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[h+g>>2]+J[g+l>>2]|0;J[d>>2]=g;p:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break p}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}xj(p);xj(m);return 1}function gd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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;J[a+8>>2]=e;r=a+32|0;f=J[r>>2];j=J[a+36>>2]-f>>2;a:{if(j>>>0<e>>>0){La(r,e-j|0);d=J[a+8>>2];break a}d=e;if(e>>>0>=j>>>0){break a}J[a+36>>2]=f+(e<<2);d=e}u=e<<2;f=e>>>0>1073741823?-1:u;m=Xi(Cj(f),0,f);p=Xi(Cj(f),0,f);b:{if((d|0)<=0){break b}i=J[a+32>>2];while(1){f=h<<2;j=J[f+m>>2];d=J[a+16>>2];c:{if((j|0)>(d|0)){J[f+i>>2]=d;break c}f=f+i|0;d=J[a+12>>2];if((d|0)>(j|0)){J[f>>2]=d;break c}J[f>>2]=j}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){j=f<<2;d=j+c|0;j=J[b+j>>2]+J[j+i>>2]|0;J[d>>2]=j;d:{if((j|0)>J[a+16>>2]){j=j-J[a+20>>2]|0}else{if((j|0)>=J[a+12>>2]){break d}j=j+J[a+20>>2]|0}J[d>>2]=j}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];v=J[f>>2];f=J[f+4>>2]-v|0;if((f|0)>=5){D=J[a+52>>2];w=J[a+48>>2];t=f>>>2|0;E=t>>>0<=2?2:t;x=e&-2;y=e&1;F=e&-4;z=e&3;A=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(t|0)){j=J[(n<<2)+v>>2];s=(e|0)<=0;if(!s){Xi(m,0,u)}if((j|0)==-1){g=P(e,n);break f}B=J[w+12>>2];q=0;f=j;while(1){h=J[(f<<2)+B>>2];i:{if((h|0)==-1){break i}o=J[D>>2];l=J[w>>2];k=J[o+(J[l+(h<<2)>>2]<<2)>>2];i=h+1|0;i=(i>>>0)%3|0?i:h-2|0;if((i|0)!=-1){g=J[l+(i<<2)>>2]}else{g=-1}j:{k:{if((h>>>0)%3|0){h=h-1|0;break k}h=h+2|0;i=-1;if((h|0)==-1){break j}}i=J[l+(h<<2)>>2]}if((k|0)>=(n|0)){break i}g=J[(g<<2)+o>>2];if((g|0)>=(n|0)){break i}i=J[o+(i<<2)>>2];if((i|0)>=(n|0)){break i}l:{if(s){break l}l=P(e,i);o=P(e,g);k=P(e,k);h=0;i=0;if(A){while(1){J[(h<<2)+p>>2]=(J[(h+l<<2)+c>>2]+J[(h+o<<2)+c>>2]|0)-J[(h+k<<2)+c>>2];g=h|1;J[(g<<2)+p>>2]=(J[(g+l<<2)+c>>2]+J[(g+o<<2)+c>>2]|0)-J[(g+k<<2)+c>>2];h=h+2|0;i=i+2|0;if((x|0)!=(i|0)){continue}break}}if(y){J[(h<<2)+p>>2]=(J[(h+l<<2)+c>>2]+J[(h+o<<2)+c>>2]|0)-J[(h+k<<2)+c>>2]}if(s){break l}o=0;h=0;k=0;if(e>>>0>3){while(1){l=h<<2;i=l+m|0;J[i>>2]=J[l+p>>2]+J[i>>2];g=l|4;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];g=l|8;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];g=l|12;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];h=h+4|0;k=k+4|0;if((F|0)!=(k|0)){continue}break}}if(!z){break l}while(1){g=h<<2;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];h=h+1|0;o=o+1|0;if((z|0)!=(o|0)){continue}break}}q=q+1|0}m:{n:{if((f>>>0)%3|0){h=f-1|0;break n}h=f+2|0;g=-1;if((h|0)==-1){break m}}f=J[(h<<2)+B>>2];g=-1;if((f|0)==-1){break m}g=f-1|0;if((f>>>0)%3|0){break m}g=f+2|0}f=g;if((j|0)!=(f|0)&(f|0)!=-1){continue}break}g=P(e,n);if(!q){break f}if(s){break g}h=0;f=0;if(!A){break h}while(1){i=h<<2;j=i+m|0;J[j>>2]=J[j>>2]/(q|0);j=(i|4)+m|0;J[j>>2]=J[j>>2]/(q|0);h=h+2|0;f=f+2|0;if((x|0)!=(f|0)){continue}break}break h}yc();C()}if(!y){break g}f=(h<<2)+m|0;J[f>>2]=J[f>>2]/(q|0)}if((d|0)<=0){break e}k=J[r>>2];h=0;while(1){f=h<<2;j=J[f+m>>2];d=J[a+16>>2];o:{if((j|0)>(d|0)){J[f+k>>2]=d;break o}f=f+k|0;d=J[a+12>>2];if((d|0)>(j|0)){J[f>>2]=d;break o}J[f>>2]=j}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[g+j>>2]+J[g+k>>2]|0;J[d>>2]=g;p:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break p}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}f=(P(n-1|0,e)<<2)+c|0;k=J[r>>2];h=0;while(1){j=h<<2;i=J[j+f>>2];d=J[a+16>>2];q:{if((i|0)>(d|0)){J[j+k>>2]=d;break q}j=j+k|0;d=J[a+12>>2];if((d|0)>(i|0)){J[j>>2]=d;break q}J[j>>2]=i}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[g+j>>2]+J[g+k>>2]|0;J[d>>2]=g;r:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break r}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}xj(p);xj(m);return 1}function Mb(a){var 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;f=fa-32|0;fa=f;a:{b=J[a+16>>2];b:{if(b>>>0>=341){J[a+16>>2]=b-341;b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];c:{if((b|0)!=J[a+12>>2]){d=b;break c}k=J[a>>2];if(k>>>0<c>>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=Wi(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=Cj(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break c}xj(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}c=J[a+8>>2];b=J[a+4>>2];l=c-b|0;h=l>>2;g=J[a+12>>2];d=J[a>>2];e=g-d|0;if(h>>>0<e>>2>>>0){if((c|0)!=(g|0)){n=f,o=Cj(4092),J[n+8>>2]=o;d=a;f:{g:{b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){e=b;break h}c=J[d+4>>2];h=J[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=Wi(g+c|0,c,a)+a|0;J[d+8>>2]=e;J[d+4>>2]=g+J[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=Cj(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=l;J[d+8>>2]=e;J[d+4>>2]=a;J[d>>2]=j;if(!h){break h}xj(h);e=J[d+8>>2]}J[e>>2]=J[f+8>>2];J[d+8>>2]=J[d+8>>2]+4;break f}Va();C()}break b}n=f,o=Cj(4092),J[n+8>>2]=o;Ob(a,f+8|0);b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];k:{if((b|0)!=J[a+12>>2]){d=b;break k}k=J[a>>2];if(k>>>0<c>>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=Wi(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=Cj(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break k}xj(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}J[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=Cj(e);J[f+8>>2]=g;j=e+g|0;J[f+20>>2]=j;d=(h<<2)+g|0;J[f+12>>2]=d;i=Cj(4092);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;J[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=Cj(b);J[f+8>>2]=e;j=b+e|0;J[f+20>>2]=j;d=e+(d&-4)|0;J[f+12>>2]=d;xj(g);b=J[a+4>>2];c=J[a+8>>2];g=e}J[d>>2]=i;i=d+4|0;J[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;Ob(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}j=J[f+20>>2];i=J[f+16>>2];d=J[f+12>>2];g=J[f+8>>2];e=c;b=J[a+8>>2]}c=J[a>>2];J[a>>2]=g;J[f+8>>2]=c;J[a+4>>2]=d;J[f+12>>2]=e;J[a+8>>2]=i;J[f+16>>2]=b;d=J[a+12>>2];J[a+12>>2]=j;J[f+20>>2]=d;if((b|0)!=(e|0)){J[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}xj(c)}fa=f+32|0;return}Va();C()}function Qc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=0;a:{b:{if((e|0)!=2){break b}J[a+64>>2]=f;J[a+72>>2]=2;e=Cj(8);d=J[a+68>>2];J[a+68>>2]=e;if(d){xj(d)}J[a+8>>2]=2;w=a+32|0;e=J[w>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(w,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}h=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;A=d>>>0<=1?1:d;d=0;while(1){e=J[a+56>>2];h=J[e>>2];if(J[e+4>>2]-h>>2>>>0<=d>>>0){break a}q=Q(0);g=fa-48|0;fa=g;e=-1;h=J[h+(d<<2)>>2];f=-1;d:{if((h|0)==-1){break d}e=h+1|0;e=(e>>>0)%3|0?e:h-2|0;f=h-1|0;if((h>>>0)%3|0){break d}f=h+2|0}j=J[a+52>>2];h=J[j>>2];e:{f:{j=J[j+4>>2]-h>>2;l=e<<2;e=J[J[a+48>>2]+28>>2];r=J[l+e>>2];if(j>>>0<=r>>>0){break f}e=J[e+(f<<2)>>2];if(e>>>0>=j>>>0){break f}j=J[h+(e<<2)>>2];f=J[h+(r<<2)>>2];g:{if(!((j|0)>=(d|0)|(f|0)>=(d|0))){e=J[a+72>>2];h=(P(e,j)<<2)+c|0;m=Q(J[h+4>>2]);e=(P(e,f)<<2)+c|0;p=Q(J[e+4>>2]);x=Q(J[e>>2]);n=Q(J[h>>2]);if(!(x!=n|m!=p)){h=+m>2147483647;e=J[a+68>>2];if(Q(R(m))<Q(2147483648)){f=~~m}else{f=-2147483648}J[e+4>>2]=m<Q(-2147483648)?-2147483648:h?-2147483648:f;h=+n>2147483647;if(Q(R(n))<Q(2147483648)){f=~~n}else{f=-2147483648}J[e>>2]=n<Q(-2147483648)?-2147483648:h?-2147483648:f;f=1;break g}e=J[J[a+64>>2]+(d<<2)>>2];J[g+40>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;h=J[a+60>>2];if(!K[h+84|0]){e=J[J[h+68>>2]+(e<<2)>>2]}Rc(h,e,H[h+24|0],g+32|0);f=J[J[a+64>>2]+(f<<2)>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g+16|0);f=J[J[a+64>>2]+(j<<2)>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g);o=N[g+24>>2];s=Q(N[g+8>>2]-o);t=N[g+20>>2];u=Q(N[g+4>>2]-t);z=N[g+16>>2];v=Q(N[g>>2]-z);y=Q(Q(s*s)+Q(Q(u*u)+Q(Q(v*v)+Q(0))));h:{if(J[a+88>>2]>=258){i=Q(0);if(!(y>Q(0))){break h}}i=Q(N[g+40>>2]-o);o=Q(N[g+36>>2]-t);t=Q(N[g+32>>2]-z);q=Q(Q(Q(s*i)+Q(Q(u*o)+Q(Q(v*t)+Q(0))))/y);i=Q(i-Q(s*q));s=Q(i*i);i=Q(o-Q(u*q));o=Q(i*i);i=Q(t-Q(v*q));i=Q(Y(Q(Q(s+Q(o+Q(Q(i*i)+Q(0))))/y)))}f=J[a+80>>2];if(f){e=f-1|0;h=J[J[a+76>>2]+(e>>>3&536870908)>>2];J[a+80>>2]=e;m=Q(m-p);o=Q(Q(m*q)+p);n=Q(n-x);p=Q(n*i);e=h>>>e&1;p=Q(o+(e?p:Q(-p)));i=Q(i*m);k=V(+Q(Q(Q(n*q)+x)+(e?Q(-i):i))+.5);i:{if(k<-2147483648|k!=k|k>2147483647){e=J[a+68>>2];J[e>>2]=-2147483648;break i}e=J[a+68>>2];if(R(k)<2147483648){h=~~k}else{h=-2147483648}J[e>>2]=h}k=V(+p+.5);j=k>2147483647;if(R(k)<2147483648){h=~~k}else{h=-2147483648}J[e+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:h}f=(f|0)!=0;break g}j:{if((d|0)>(f|0)){e=J[a+72>>2];h=P(f,e);break j}if((d|0)<=0){f=1;if(J[a+72>>2]<=0){break g}h=J[a+68>>2];e=0;while(1){J[h+(e<<2)>>2]=0;e=e+1|0;if((e|0)<J[a+72>>2]){continue}break}break g}e=J[a+72>>2];h=P(e,d-1|0)}f=1;if((e|0)<=0){break g}j=J[a+68>>2];e=0;while(1){J[j+(e<<2)>>2]=J[(e+h<<2)+c>>2];e=e+1|0;if((e|0)<J[a+72>>2]){continue}break}}fa=g+48|0;break e}yc();C()}h=f;if(!h){return 0}k:{if(J[a+8>>2]<=0){break k}r=J[a+68>>2];j=J[w>>2];e=0;while(1){f=e<<2;g=J[f+r>>2];l=J[a+16>>2];l:{if((g|0)>(l|0)){J[f+j>>2]=l;break l}f=f+j|0;l=J[a+12>>2];if((l|0)>(g|0)){J[f>>2]=l;break l}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break k}e=d<<3;r=e+c|0;l=b+e|0;while(1){g=f<<2;e=g+r|0;g=J[g+l>>2]+J[g+j>>2]|0;J[e>>2]=g;m:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break m}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)<J[a+8>>2]){continue}break}}d=d+1|0;if((A|0)!=(d|0)){continue}break}}return h|0}yc();C()}function od(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=0,z=Q(0),A=0;a:{b:{if((e|0)!=2){break b}J[a+64>>2]=f;J[a+72>>2]=2;e=Cj(8);d=J[a+68>>2];J[a+68>>2]=e;if(d){xj(d)}J[a+8>>2]=2;v=a+32|0;e=J[v>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(v,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}h=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;A=d>>>0<=1?1:d;d=0;while(1){f=J[a+56>>2];e=J[f>>2];if(J[f+4>>2]-e>>2>>>0<=d>>>0){break a}q=Q(0);g=fa-48|0;fa=g;h=-1;d:{e:{e=J[e+(d<<2)>>2];if((e|0)==-1){break e}j=J[a+48>>2];f=e+1|0;f=(f>>>0)%3|0?f:e-2|0;if((f|0)!=-1){h=J[J[j>>2]+(f<<2)>>2]}f=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){f=J[J[j>>2]+(e<<2)>>2]}e=J[a+52>>2];j=J[e>>2];e=J[e+4>>2]-j>>2;if(e>>>0<=h>>>0|e>>>0<=f>>>0){break e}e=J[j+(h<<2)>>2];j=J[j+(f<<2)>>2];f:{if(!((d|0)<=(e|0)|(j|0)>=(d|0))){f=J[a+72>>2];h=(P(f,j)<<2)+c|0;l=Q(J[h+4>>2]);f=(P(e,f)<<2)+c|0;o=Q(J[f+4>>2]);w=Q(J[f>>2]);m=Q(J[h>>2]);if(!(w!=m|l!=o)){h=+l>2147483647;e=J[a+68>>2];if(Q(R(l))<Q(2147483648)){f=~~l}else{f=-2147483648}J[e+4>>2]=l<Q(-2147483648)?-2147483648:h?-2147483648:f;h=+m>2147483647;if(Q(R(m))<Q(2147483648)){f=~~m}else{f=-2147483648}J[e>>2]=m<Q(-2147483648)?-2147483648:h?-2147483648:f;h=1;break f}f=J[J[a+64>>2]+(d<<2)>>2];J[g+40>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;h=J[a+60>>2];if(!K[h+84|0]){f=J[J[h+68>>2]+(f<<2)>>2]}Rc(h,f,H[h+24|0],g+32|0);f=J[J[a+64>>2]+(e<<2)>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g+16|0);h=J[J[a+64>>2]+(j<<2)>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){h=J[J[e+68>>2]+(h<<2)>>2]}Rc(e,h,H[e+24|0],g);n=N[g+24>>2];r=Q(N[g+8>>2]-n);s=N[g+20>>2];t=Q(N[g+4>>2]-s);z=N[g+16>>2];u=Q(N[g>>2]-z);x=Q(Q(r*r)+Q(Q(t*t)+Q(Q(u*u)+Q(0))));g:{if(J[a+88>>2]>=258){i=Q(0);if(!(x>Q(0))){break g}}i=Q(N[g+40>>2]-n);n=Q(N[g+36>>2]-s);s=Q(N[g+32>>2]-z);q=Q(Q(Q(r*i)+Q(Q(t*n)+Q(Q(u*s)+Q(0))))/x);i=Q(i-Q(r*q));r=Q(i*i);i=Q(n-Q(t*q));n=Q(i*i);i=Q(s-Q(u*q));i=Q(Y(Q(Q(r+Q(n+Q(Q(i*i)+Q(0))))/x)))}e=J[a+80>>2];if(e){f=e-1|0;h=J[J[a+76>>2]+(f>>>3&536870908)>>2];J[a+80>>2]=f;l=Q(l-o);n=Q(Q(l*q)+o);m=Q(m-w);o=Q(m*i);f=h>>>f&1;o=Q(n+(f?o:Q(-o)));i=Q(i*l);k=V(+Q(Q(Q(m*q)+w)+(f?Q(-i):i))+.5);h:{if(k<-2147483648|k!=k|k>2147483647){h=J[a+68>>2];J[h>>2]=-2147483648;break h}h=J[a+68>>2];if(R(k)<2147483648){f=~~k}else{f=-2147483648}J[h>>2]=f}k=V(+o+.5);j=k>2147483647;if(R(k)<2147483648){f=~~k}else{f=-2147483648}J[h+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:f}h=(e|0)!=0;break f}i:{if((d|0)>(e|0)){f=J[a+72>>2];e=P(e,f);break i}if((d|0)<=0){h=1;if(J[a+72>>2]<=0){break f}e=J[a+68>>2];f=0;while(1){J[e+(f<<2)>>2]=0;f=f+1|0;if((f|0)<J[a+72>>2]){continue}break}break f}f=J[a+72>>2];e=P(f,d-1|0)}h=1;if((f|0)<=0){break f}j=J[a+68>>2];f=0;while(1){J[j+(f<<2)>>2]=J[(e+f<<2)+c>>2];f=f+1|0;if((f|0)<J[a+72>>2]){continue}break}}fa=g+48|0;break d}yc();C()}if(!h){return 0}j:{if(J[a+8>>2]<=0){break j}y=J[a+68>>2];j=J[v>>2];e=0;while(1){f=e<<2;g=J[f+y>>2];p=J[a+16>>2];k:{if((g|0)>(p|0)){J[f+j>>2]=p;break k}f=f+j|0;p=J[a+12>>2];if((p|0)>(g|0)){J[f>>2]=p;break k}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break j}e=d<<3;y=e+c|0;p=b+e|0;while(1){g=f<<2;e=g+y|0;g=J[g+p>>2]+J[g+j>>2]|0;J[e>>2]=g;l:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break l}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)<J[a+8>>2]){continue}break}}d=d+1|0;if((A|0)!=(d|0)){continue}break}}return h|0}yc();C()}function ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=fa-704|0;fa=f;n=1;a:{b:{c:{d:{if(L[b+38>>1]<515){break d}n=0;c=J[b+20>>2];d=J[b+12>>2];g=J[b+16>>2];if((c|0)>=(d|0)&g>>>0>=M[b+8>>2]|(c|0)>(d|0)){break d}p=K[J[b>>2]+g|0];g=g+1|0;c=g?c:c+1|0;J[b+16>>2]=g;J[b+20>>2]=c;g=J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+80>>2];c=ka[J[J[a>>2]+24>>2]](a)|0;J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;if(c){if(c>>>0>=214748365){break c}c=P(c,20);d=Cj(c);J[f+32>>2]=d;J[f+40>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=f,r=Xi(d,0,c)+c|0,J[q+36>>2]=r}e:{if((ka[J[J[a>>2]+24>>2]](a)|0)>0){while(1){c=ka[J[J[a>>2]+20>>2]](a,l)|0;c=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];$a(c,g);H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];d=J[c+28>>2];if(d>>>0>9){break e}f:{g:{h:{e=1<<d;if(!(e&42)){if(e&84){break f}if((d|0)!=9){break e}d=K[c+24|0];e=Ya(f+48|0);i=P(d,J[3413]);Za(e,J[c+56>>2],d,6,0,i,i>>31);c=_a(Cj(96),e);J[f>>2]=c;H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];$a(c,g);c=J[a+64>>2];if(c>>>0>=M[a+68>>2]){break h}d=J[f>>2];J[f>>2]=0;J[c>>2]=d;c=c+4|0;J[a+64>>2]=c;break g}j=0;if(!K[c+24|0]){break f}while(1){d=J[a+52>>2];i=J[a+56>>2];i:{if(d>>>0<i>>>0){J[d>>2]=0;J[a+52>>2]=d+4;break i}e=d;d=J[a+48>>2];m=e-d|0;k=m>>2;e=k+1|0;if(e>>>0>=1073741824){break b}o=k<<2;i=i-d|0;k=i>>>1|0;e=i>>>0>=2147483644?1073741823:e>>>0<k>>>0?k:e;if(e){if(e>>>0>=1073741824){break a}i=Cj(e<<2)}else{i=0}k=o+i|0;J[k>>2]=0;o=e<<2;e=Wi(i,d,m);J[a+56>>2]=o+e;J[a+52>>2]=k+4;J[a+48>>2]=e;if(!d){break i}xj(d)}j=j+1|0;if(j>>>0<K[c+24|0]){continue}break}break f}c=0;j:{k:{l:{e=J[a+60>>2];i=J[a+64>>2]-e>>2;d=i+1|0;if(d>>>0<1073741824){e=J[a+68>>2]-e|0;j=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0<j>>>0?j:d;if(e){if(e>>>0>=1073741824){break l}c=Cj(e<<2)}j=J[f>>2];J[f>>2]=0;d=(i<<2)+c|0;J[d>>2]=j;e=(e<<2)+c|0;i=d+4|0;c=J[a+64>>2];j=J[a+60>>2];if((c|0)==(j|0)){break k}while(1){c=c-4|0;m=J[c>>2];J[c>>2]=0;d=d-4|0;J[d>>2]=m;if((c|0)!=(j|0)){continue}break}J[a+68>>2]=e;e=J[a+64>>2];J[a+64>>2]=i;c=J[a+60>>2];J[a+60>>2]=d;if((c|0)==(e|0)){break j}while(1){e=e-4|0;d=J[e>>2];J[e>>2]=0;if(d){pb(d)}if((c|0)!=(e|0)){continue}break}break j}Ia();C()}Va();C()}J[a+68>>2]=e;J[a+64>>2]=i;J[a+60>>2]=d}if(c){xj(c)}c=J[a+64>>2]}c=J[c-4>>2];d=J[f>>2];J[f>>2]=0;if(!d){break f}pb(d)}i=J[c+28>>2];d=i-1|0;if(d>>>0<=10){e=J[(d<<2)+13632>>2]}else{e=-1}d=J[f+32>>2]+P(l,20)|0;j=K[c+24|0];J[d+16>>2]=j;J[d+12>>2]=(e|0)>0?e:0;J[d+8>>2]=i;J[d+4>>2]=h;J[d>>2]=c;h=h+j|0;l=l+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(l|0)){continue}break}}a=qb(f,f+32|0);m:{n:{o:{switch(p|0){case 0:c=tb(f+48|0,h);b=rb(c,b,a,g);h=J[c+8>>2];sb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 1:c=tb(f+48|0,h);b=ub(c,b,a,g);h=J[c+8>>2];sb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 2:c=xb(f+48|0,h);b=vb(c,b,a,g);h=J[c+8>>2];wb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 3:c=xb(f+48|0,h);b=yb(c,b,a,g);h=J[c+8>>2];wb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 4:c=Bb(f+48|0,h);b=zb(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 5:c=Bb(f+48|0,h);b=Cb(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 6:break o;default:break m}}c=Bb(f+48|0,h);b=Db(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b|(h|0)!=(g|0)){break m}}n=1}b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a>>2];if(!b){break e}J[a+4>>2]=b;xj(b)}a=J[f+32>>2];if(!a){break d}J[f+36>>2]=a;xj(a)}fa=f+704|0;return n|0}Ia();C()}Ia();C()}Va();C()}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=fa-32|0;fa=e;a:{b:{switch(c-2|0){case 0:c=J[a+4>>2];f=J[a+12>>2];J[e+24>>2]=-1;J[e+16>>2]=-1;J[e+20>>2]=1065353216;J[e+8>>2]=-1;J[e+12>>2]=-1;if((b|0)==-2){break a}i=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){h=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];c:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break c}g=ka[J[J[c>>2]+36>>2]](c)|0;a=ka[J[J[c>>2]+44>>2]](c,f)|0;if(!g|!a){break c}f=ka[J[J[c>>2]+40>>2]](c,f)|0;d:{if(f){if((b|0)!=6){break c}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=f;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=f;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7192;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7716;a=d+96|0;break d}if((b|0)!=6){break c}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=g;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=g;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=8128;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=8520;a=d+96|0}J[a>>2]=0;J[a+4>>2]=0;H[a+5|0]=0;H[a+6|0]=0;H[a+7|0]=0;H[a+8|0]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0}if(d){break a}}d=Cj(28);J[d+4>>2]=i;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;J[d+24>>2]=J[e+24>>2];J[d>>2]=8908;break a;case 1:break b;default:break a}}c=J[a+4>>2];f=J[a+12>>2];J[e+24>>2]=-1;J[e+16>>2]=-1;J[e+20>>2]=1065353216;J[e+8>>2]=-1;J[e+12>>2]=-1;if((b|0)==-2){break a}i=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){h=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];e:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break e}g=ka[J[J[c>>2]+36>>2]](c)|0;a=ka[J[J[c>>2]+44>>2]](c,f)|0;if(!g|!a){break e}f=ka[J[J[c>>2]+40>>2]](c,f)|0;f:{if(f){if((b|0)!=6){break e}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=f;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=f;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9076;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9640;a=d+96|0;break f}if((b|0)!=6){break e}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=g;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=g;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=10080;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=10500;a=d+96|0}J[a>>2]=0;J[a+4>>2]=0;H[a+5|0]=0;H[a+6|0]=0;H[a+7|0]=0;H[a+8|0]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0}if(d){break a}}d=Cj(28);J[d+4>>2]=i;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;J[d+24>>2]=J[e+24>>2];J[d>>2]=10912}fa=e+32|0;return d|0}function Na(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){m=J[d+80>>2];u=fa-16|0;fa=u;g=J[a+4>>2];k=K[b+24|0];h=J[d+48>>2];n=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;d=c;N[c>>2]=Q(-1<<g^-1)/N[a+20>>2];c=Cj(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=N[d>>2];n=J[a+8>>2];v=J[b>>2];d=J[b+48>>2];g=J[b+40>>2];w=J[b+44>>2];if(!K[b+84|0]){f=J[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=J[v>>2];l=nk(g,w,J[f+(i<<2)>>2],0)+d|0;h=Vi(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));b:{if(Q(R(e))<Q(2147483648)){r=~~e;break b}r=-2147483648}J[l>>2]=r;j=j|4;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));c:{if(Q(R(e))<Q(2147483648)){j=~~e;break c}j=-2147483648}J[l+4>>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+h>>2]-N[b+n>>2]))+Q(.5))));d:{if(Q(R(e))<Q(2147483648)){b=~~e;break d}b=-2147483648}J[l>>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=J[v>>2];h=nk(g,w,i,l)+d|0;j=Vi(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));e:{if(Q(R(e))<Q(2147483648)){r=~~e;break e}r=-2147483648}J[h>>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));f:{if(Q(R(e))<Q(2147483648)){f=~~e;break f}f=-2147483648}J[h+4>>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+j>>2]-N[b+n>>2]))+Q(.5))));g:{if(Q(R(e))<Q(2147483648)){b=~~e;break g}b=-2147483648}J[h>>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}xj(c);fa=u+16|0;return 1}j=fa-16|0;fa=j;m=J[a+4>>2];i=K[b+24|0];g=J[d+48>>2];h=J[J[d>>2]>>2];d=j+8|0;J[d>>2]=1065353216;l=d;N[d>>2]=Q(-1<<m^-1)/N[a+20>>2];d=Cj(i<<2);m=J[c+4>>2];q=J[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=N[l>>2];h=J[a+8>>2];v=J[b>>2];l=J[b+48>>2];m=J[b+40>>2];w=J[b+44>>2];if(K[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=J[v>>2];g=nk(m,w,J[q+(c<<2)>>2],0)+l|0;p=Vi(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));i:{if(Q(R(e))<Q(2147483648)){r=~~e;break i}r=-2147483648}J[g>>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));j:{if(Q(R(e))<Q(2147483648)){f=~~e;break j}f=-2147483648}J[g+4>>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));k:{if(Q(R(e))<Q(2147483648)){b=~~e;break k}b=-2147483648}J[g>>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=J[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=J[v>>2];g=nk(m,w,J[s+(J[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=Vi(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));l:{if(Q(R(e))<Q(2147483648)){r=~~e;break l}r=-2147483648}J[g>>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));m:{if(Q(R(e))<Q(2147483648)){f=~~e;break m}f=-2147483648}J[g+4>>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));n:{if(Q(R(e))<Q(2147483648)){b=~~e;break n}b=-2147483648}J[g>>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}xj(d);fa=j+16|0;return 1}function Ve(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+4>>2];e=J[a>>2];f=(c-e|0)/144|0;if(f>>>0<b>>>0){e=a;b=b-f|0;h=J[a+8>>2];c=J[a+4>>2];a:{if(b>>>0<=(h-c|0)/144>>>0){b:{if(!b){break b}a=c;f=b&7;if(f){while(1){hf(a);a=a+144|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=P(b,144)+c|0;if((b-1&268435455)>>>0<7){break b}while(1){hf(a);hf(a+144|0);hf(a+288|0);hf(a+432|0);hf(a+576|0);hf(a+720|0);hf(a+864|0);hf(a+1008|0);a=a+1152|0;if((c|0)!=(a|0)){continue}break}}J[e+4>>2]=c;break a}c:{d:{e:{a=c;c=J[e>>2];i=(a-c|0)/144|0;a=i+b|0;if(a>>>0<29826162){c=(h-c|0)/144|0;f=c<<1;f=c>>>0>=14913080?29826161:a>>>0<f>>>0?f:a;if(f){if(f>>>0>=29826162){break e}g=Cj(P(f,144))}c=P(i,144)+g|0;a=c;h=b&7;if(h){while(1){hf(a);a=a+144|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}h=P(b,144)+c|0;if((b-1&268435455)>>>0>=7){while(1){hf(a);hf(a+144|0);hf(a+288|0);hf(a+432|0);hf(a+576|0);hf(a+720|0);hf(a+864|0);hf(a+1008|0);a=a+1152|0;if((h|0)!=(a|0)){continue}break}}b=P(f,144)+g|0;d=J[e+4>>2];f=J[e>>2];if((d|0)==(f|0)){break d}while(1){c=c-144|0;d=d-144|0;a=d;J[c>>2]=J[a>>2];J[c+4>>2]=J[a+4>>2];J[c+8>>2]=J[a+8>>2];J[c+12>>2]=J[a+12>>2];J[a+12>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[c+16>>2]=J[a+16>>2];J[c+20>>2]=J[a+20>>2];J[c+24>>2]=J[a+24>>2];J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;g=K[a+28|0];J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;H[c+28|0]=g;J[c+32>>2]=J[a+32>>2];J[c+36>>2]=J[a+36>>2];J[c+40>>2]=J[a+40>>2];J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[c+52>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+44>>2]=J[a+44>>2];J[c+48>>2]=J[a+48>>2];J[c+52>>2]=J[a+52>>2];J[a+52>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;g=c- -64|0;J[g>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+56>>2]=J[a+56>>2];J[c+60>>2]=J[a+60>>2];i=g;g=a- -64|0;J[i>>2]=J[g>>2];J[g>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[c+68>>2]=J[a+68>>2];g=J[a+72>>2];J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+72>>2]=g;J[c+76>>2]=J[a+76>>2];J[c+80>>2]=J[a+80>>2];J[c+84>>2]=J[a+84>>2];J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[c+96>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+88>>2]=J[a+88>>2];J[c+92>>2]=J[a+92>>2];J[c+96>>2]=J[a+96>>2];J[a+96>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;g=K[a+100|0];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;H[c+100|0]=g;J[c+104>>2]=J[a+104>>2];J[c+108>>2]=J[a+108>>2];J[c+112>>2]=J[a+112>>2];J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[c+116>>2]=J[a+116>>2];J[c+120>>2]=J[a+120>>2];J[c+124>>2]=J[a+124>>2];J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;g=J[a+128>>2];J[c+140>>2]=0;J[c+132>>2]=0;J[c+136>>2]=0;J[c+128>>2]=g;J[c+132>>2]=J[a+132>>2];J[c+136>>2]=J[a+136>>2];J[c+140>>2]=J[a+140>>2];J[a+140>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;if((a|0)!=(f|0)){continue}break}J[e+8>>2]=b;a=J[e+4>>2];J[e+4>>2]=h;d=J[e>>2];J[e>>2]=c;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=J[b+132>>2];if(c){J[a-8>>2]=c;xj(c)}c=J[a-28>>2];if(c){J[a-24>>2]=c;xj(c)}c=J[a-40>>2];if(c){J[a-36>>2]=c;xj(c)}bf(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}Ia();C()}Va();C()}J[e+8>>2]=b;J[e+4>>2]=h;J[e>>2]=c}if(d){xj(d)}}return}if(b>>>0<f>>>0){e=e+P(b,144)|0;if((e|0)!=(c|0)){while(1){b=c-144|0;d=J[b+132>>2];if(d){J[c-8>>2]=d;xj(d)}d=J[c-28>>2];if(d){J[c-24>>2]=d;xj(d)}d=J[c-40>>2];if(d){J[c-36>>2]=d;xj(d)}bf(c-140|0);c=b;if((e|0)!=(c|0)){continue}break}}J[a+4>>2]=e}}function le(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=fa-80|0;fa=f;e=J[c+36>>2];J[f+72>>2]=J[c+32>>2];J[f+76>>2]=e;g=J[c+28>>2];e=f- -64|0;J[e>>2]=J[c+24>>2];J[e+4>>2]=g;e=J[c+20>>2];J[f+56>>2]=J[c+16>>2];J[f+60>>2]=e;e=J[c+12>>2];J[f+48>>2]=J[c+8>>2];J[f+52>>2]=e;e=J[c+4>>2];J[f+40>>2]=J[c>>2];J[f+44>>2]=e;cg(a,f+40|0,f+24|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}if(K[f+31|0]){b=Cj(32);H[b+27|0]=0;c=K[1556]|K[1557]<<8|(K[1558]<<16|K[1559]<<24);H[b+23|0]=c;H[b+24|0]=c>>>8;H[b+25|0]=c>>>16;H[b+26|0]=c>>>24;c=K[1553]|K[1554]<<8|(K[1555]<<16|K[1556]<<24);d=K[1549]|K[1550]<<8|(K[1551]<<16|K[1552]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1545]|K[1546]<<8|(K[1547]<<16|K[1548]<<24);d=K[1541]|K[1542]<<8|(K[1543]<<16|K[1544]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1537]|K[1538]<<8|(K[1539]<<16|K[1540]<<24);d=K[1533]|K[1534]<<8|(K[1535]<<16|K[1536]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,27);xj(b);break a}i=fa-16|0;fa=i;b:{c:{switch(H[f+32|0]){case 0:e=Cj(44);J[e>>2]=0;J[e+4>>2]=0;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;e=bg(e);J[e>>2]=13544;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;case 1:e=Cj(44);J[e>>2]=0;J[e+4>>2]=0;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;e=bg(e);J[e>>2]=13452;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;default:break c}}g=Cj(32);H[g+28|0]=0;e=K[1585]|K[1586]<<8|(K[1587]<<16|K[1588]<<24);H[g+24|0]=e;H[g+25|0]=e>>>8;H[g+26|0]=e>>>16;H[g+27|0]=e>>>24;e=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);h=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+16|0]=h;H[g+17|0]=h>>>8;H[g+18|0]=h>>>16;H[g+19|0]=h>>>24;H[g+20|0]=e;H[g+21|0]=e>>>8;H[g+22|0]=e>>>16;H[g+23|0]=e>>>24;e=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);h=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g+8|0]=h;H[g+9|0]=h>>>8;H[g+10|0]=h>>>16;H[g+11|0]=h>>>24;H[g+12|0]=e;H[g+13|0]=e>>>8;H[g+14|0]=e>>>16;H[g+15|0]=e>>>24;e=K[1565]|K[1566]<<8|(K[1567]<<16|K[1568]<<24);h=K[1561]|K[1562]<<8|(K[1563]<<16|K[1564]<<24);H[g|0]=h;H[g+1|0]=h>>>8;H[g+2|0]=h>>>16;H[g+3|0]=h>>>24;H[g+4|0]=e;H[g+5|0]=e>>>8;H[g+6|0]=e>>>16;H[g+7|0]=e>>>24;J[i>>2]=-1;e=i|4;Gj(e,g,28);j=H[i+15|0];J[f>>2]=J[i>>2];h=f+4|0;d:{if((j|0)>=0){j=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=j;J[h+8>>2]=J[e+8>>2];J[f+16>>2]=0;break d}Gj(h,J[i+4>>2],J[i+8>>2]);e=H[i+15|0];J[f+16>>2]=0;if((e|0)>=0){break d}xj(J[i+4>>2])}xj(g)}fa=i+16|0;e=J[f>>2];e:{if(e){J[a>>2]=e;a=a+4|0;if(H[f+15|0]>=0){b=f|4;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break e}Gj(a,J[f+4>>2],J[f+8>>2]);break e}e=J[f+16>>2];J[f+16>>2]=0;gg(a,e,b,c,d);if(!J[a>>2]){if(H[a+15|0]<0){xj(J[a+4>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ka[J[J[e>>2]+4>>2]](e)}a=J[f+16>>2];J[f+16>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if(H[f+15|0]>=0){break a}xj(J[f+4>>2])}fa=f+80|0}function Di(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[a+56>>2]=J[a+52>>2];J[a+44>>2]=J[a+40>>2];b=J[a+64>>2];c=J[b+24>>2];if((c|0)==J[b+28>>2]){return 1}a:{b:{c:{while(1){g=i;i=J[(k<<2)+c>>2];d:{if((i|0)==-1){i=g;break d}b=J[a+56>>2];e:{if((b|0)!=J[a+60>>2]){J[b>>2]=g;J[a+56>>2]=b+4;break e}d=J[a+52>>2];e=b-d|0;h=e>>2;c=h+1|0;if(c>>>0>=1073741824){break c}f=e>>>1|0;f=e>>>0>=2147483644?1073741823:c>>>0<f>>>0?f:c;if(f){if(f>>>0>=1073741824){break b}e=Cj(f<<2)}else{e=0}c=e+(h<<2)|0;J[c>>2]=g;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+60>>2]=e+(f<<2);J[a+56>>2]=h;J[a+52>>2]=c;if(!d){break e}xj(d)}f:{g:{if(!(J[J[a+12>>2]+(k>>>3&536870908)>>2]>>>k&1)){break g}e=i+1|0;e=(e>>>0)%3|0?e:i-2|0;if((e|0)==-1|J[J[a>>2]+(e>>>3&536870908)>>2]>>>e&1){break g}e=J[J[J[a+64>>2]+12>>2]+(e<<2)>>2];if((e|0)==-1){break g}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break g}c=J[a+64>>2];f=J[a>>2];while(1){e=b;b=-1;d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;h:{if((d|0)==-1|J[f+(d>>>3&536870908)>>2]>>>d&1){break h}d=J[J[c+12>>2]+(d<<2)>>2];if((d|0)==-1){break h}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0}if((b|0)!=(i|0)){if((b|0)==-1){break f}continue}break}return 0}e=i}J[J[a+28>>2]+(e<<2)>>2]=g;b=J[a+44>>2];i:{if((b|0)!=J[a+48>>2]){J[b>>2]=e;J[a+44>>2]=b+4;break i}d=J[a+40>>2];i=b-d|0;h=i>>2;c=h+1|0;if(c>>>0>=1073741824){break a}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:c>>>0<f>>>0?f:c;if(f){if(f>>>0>=1073741824){break b}i=Cj(f<<2)}else{i=0}c=i+(h<<2)|0;J[c>>2]=e;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+48>>2]=i+(f<<2);J[a+44>>2]=h;J[a+40>>2]=c;if(!d){break i}xj(d)}i=g+1|0;b=J[a+64>>2];if((e|0)==-1){break d}j:{if((e>>>0)%3|0){c=e-1|0;break j}c=e+2|0;if((c|0)==-1){break d}}d=J[J[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1|(e|0)==(f|0)){break d}while(1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if(J[J[a>>2]+(b>>>3&536870908)>>2]>>>b&1){b=J[a+56>>2];k:{if((b|0)!=J[a+60>>2]){J[b>>2]=i;J[a+56>>2]=b+4;break k}d=J[a+52>>2];g=b-d|0;j=g>>2;c=j+1|0;if(c>>>0>=1073741824){break c}h=g>>>1|0;h=g>>>0>=2147483644?1073741823:c>>>0<h>>>0?h:c;if(h){if(h>>>0>=1073741824){break b}g=Cj(h<<2)}else{g=0}c=g+(j<<2)|0;J[c>>2]=i;j=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+60>>2]=g+(h<<2);J[a+56>>2]=j;J[a+52>>2]=c;if(!d){break k}xj(d)}d=i+1|0;b=J[a+44>>2];l:{if((b|0)!=J[a+48>>2]){J[b>>2]=f;J[a+44>>2]=b+4;break l}h=J[a+40>>2];g=b-h|0;l=g>>2;c=l+1|0;if(c>>>0>=1073741824){break a}j=g>>>1|0;j=g>>>0>=2147483644?1073741823:c>>>0<j>>>0?j:c;if(j){if(j>>>0>=1073741824){break b}g=Cj(j<<2)}else{g=0}c=g+(l<<2)|0;J[c>>2]=f;l=c+4|0;if((b|0)!=(h|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(h|0)){continue}break}}J[a+48>>2]=g+(j<<2);J[a+44>>2]=l;J[a+40>>2]=c;if(!h){break l}xj(h)}g=i;i=d}J[J[a+28>>2]+(f<<2)>>2]=g;b=J[a+64>>2];m:{if((f>>>0)%3|0){c=f-1|0;break m}c=f+2|0;if((c|0)==-1){break d}}d=J[J[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1){break d}if((e|0)!=(f|0)){continue}break}}k=k+1|0;c=J[b+24>>2];if(k>>>0<J[b+28>>2]-c>>2>>>0){continue}break}return 1}Ia();C()}Va();C()}Ia();C()}function Ae(a){a=a|0;var b=0,c=0,d=0,e=0;c=J[a+32>>2];d=J[c+16>>2];e=J[c+12>>2];b=J[c+20>>2];if(M[c+8>>2]>d>>>0&(e|0)>=(b|0)|(b|0)<(e|0)){e=K[J[c>>2]+d|0];d=d+1|0;b=d?b:b+1|0;J[c+16>>2]=d;J[c+20>>2]=b;b=J[a+48>>2];J[a+48>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(e|0){case 0:b=Cj(384);J[b>>2]=11432;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+376>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;break c;case 1:b=Cj(424);J[b>>2]=11484;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+392>>2]=0;J[b+396>>2]=0;J[b+384>>2]=0;J[b+388>>2]=0;J[b+376>>2]=0;J[b+380>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;c=b+400|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;J[b+416>>2]=-1;J[b+420>>2]=-1;break c;case 2:break d;default:break b}}b=Cj(440);J[b>>2]=11532;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+392>>2]=0;J[b+396>>2]=0;J[b+384>>2]=0;J[b+388>>2]=0;J[b+376>>2]=0;J[b+380>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;J[b+416>>2]=0;J[b+420>>2]=0;J[b+408>>2]=2;J[b+412>>2]=7;J[b+400>>2]=-1;J[b+404>>2]=-1;J[b+424>>2]=0;J[b+428>>2]=0;J[b+432>>2]=0;J[b+436>>2]=0}c=J[a+48>>2];J[a+48>>2]=b;if(!c){break a}ka[J[J[c>>2]+4>>2]](c)}b=J[a+48>>2];if(b){break a}return 0}a=ka[J[J[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,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=fa-96|0;fa=f;e=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=e;a:{if((b|0)==-1){break a}j=J[a+20>>2];d=J[j>>2];e=J[J[e>>2]+(b<<2)>>2];if(e>>>0>=J[j+4>>2]-d>>2>>>0){break a}e=J[J[a+8>>2]+(J[d+(e<<2)>>2]<<2)>>2];d=J[a+4>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;j=f- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;Xc(d,e,H[d+24|0],f+56|0);e=b+1|0;j=(e>>>0)%3|0?e:b-2|0;n=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){d=j;e=n;d:{if(!J[a+28>>2]){break d}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break d}e=b+2|0}if((d|0)==-1){break b}m=J[a+20>>2];b=J[m>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[m+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[(d<<2)+b>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;Xc(b,d,H[b+24|0],f+32|0);if((e|0)==-1){break c}d=J[a+20>>2];b=J[d>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[d+4>>2]-b>>2>>>0){break c}d=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Xc(b,d,H[b+24|0],f+8|0);g=J[f+8>>2];b=J[f+56>>2];d=g-b|0;p=J[f+60>>2];t=J[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;i=J[f+40>>2];e=J[f+64>>2];m=i-e|0;u=J[f+68>>2];x=J[f+44>>2]-(u+(e>>>0>i>>>0)|0)|0;g=nk(d,t,m,x);v=o-g|0;w=h-(ja+(g>>>0>o>>>0)|0)|0;h=v;i=J[f+16>>2];g=i-e|0;u=J[f+20>>2]-((e>>>0>i>>>0)+u|0)|0;k=J[f+32>>2];i=k-b|0;v=J[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=nk(g,u,i,v);o=h+b|0;h=ja+w|0;h=b>>>0>o>>>0?h+1|0:h;b=l;l=d;p=t;k=J[f+48>>2];e=J[f+72>>2];d=k-e|0;t=J[f+76>>2];w=J[f+52>>2]-(t+(e>>>0>k>>>0)|0)|0;l=nk(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0<l>>>0?b+1|0:b;l=J[f+24>>2];p=l-e|0;e=J[f+28>>2]-((e>>>0>l>>>0)+t|0)|0;q=nk(p,e,i,v);l=k-q|0;q=b-(ja+(k>>>0<q>>>0)|0)|0;b=nk(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=nk(p,e,m,x);r=s+d|0;b=ja+b|0;s=r>>>0<s>>>0?b+1|0:b;wd(f+80|0);b=J[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;e=b^r;d=e-b|0;b=(b^s)-((b>>>0>e>>>0)+b|0)|0;n=-1;e=2147483647;m=q>>31;g=m;i=g^l;j=i-g|0;m=(g^q)-((i>>>0<g>>>0)+g|0)|0;i=m;k=j^-1;g=i^2147483647;m=h;e:{f:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break e}b=b+i|0;a=d+j|0;b=a>>>0<j>>>0?b+1|0:b;e=a;g=h;a=g>>31;d=a;n=d^o;a=n-d|0;h=a;d=(d^g)-((d>>>0>n>>>0)+d|0)|0;a=a+e|0;d=d^2147483647;h=(d|0)==(b|0)&(h^-1)>>>0<e>>>0|b>>>0>d>>>0;a=h?-1:a;if(!(h&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break g}b=b+i|0;a=d+j|0;b=a>>>0<j>>>0?b+1|0:b;k=h;h=h>>31;g=h;i=g^o;h=i-g|0;j=(g^k)-((g>>>0>i>>>0)+g|0)|0;g=j^2147483647;d=a;a=h;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break g}b=b+j|0;n=a+d|0;b=n>>>0<a>>>0?b+1|0:b;e=b;if(!b&n>>>0<536870913){break e}}b=e>>>29|0;a=(e&536870911)<<3|n>>>29}o=ok(o,m,a,b);l=ok(l,q,a,b);r=ok(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=f+96|0;return}yc();C()}yc();C()}yc();C()}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=J[d>>2];i=J[e+60>>2];f=J[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=J[e>>2];J[e>>2]=0;g=J[d>>2];J[d>>2]=h;if(g){pb(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=J[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=J[c>>2];J[c>>2]=0;if(e){pb(e)}if((c|0)!=(d|0)){continue}break}}J[a+12>>2]=d;g=J[a+4>>2];b:{if(!g|(i|0)<0){break b}c=J[g+24>>2];d=J[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==J[J[c>>2]+24>>2]){d=c+4|0;i=J[g+28>>2];if((d|0)!=(i|0)){while(1){h=J[d>>2];J[d>>2]=0;e=J[c>>2];J[c>>2]=h;if(e){jg(e+12|0,J[e+16>>2]);kg(e,J[e+4>>2]);xj(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=J[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){jg(e+12|0,J[e+16>>2]);kg(e,J[e+4>>2]);xj(e)}if((c|0)!=(d|0)){continue}break}}J[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=P(f,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(J[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;Wi(f,c,d-c|0);J[e+24>>2]=d-4}c=J[a+24>>2];d=J[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break e}J[c>>2]=d-1}c=J[a+36>>2];d=J[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break f}J[c>>2]=d-1}c=J[a+48>>2];d=J[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+60>>2];d=J[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}i=a+(i|4)|0;f=J[i>>2];if((f|0)>(b|0)){J[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=J[a>>2];if((f|0)>=(b|0)){break a}J[a>>2]=b-1}}function xj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0<M[4318]){break a}a=a+b|0;if(J[4319]!=(d|0)){if(b>>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=17256,j=J[4314]&rk(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+17560|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=17260,j=J[4315]&rk(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4316]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4320]==(f|0)){J[4320]=d;a=J[4317]+a|0;J[4317]=a;J[d+4>>2]=a|1;if(J[4319]!=(d|0)){break a}J[4316]=0;J[4319]=0;return}if(J[4319]==(f|0)){J[4319]=d;a=J[4316]+a|0;J[4316]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=17256,j=J[4314]&rk(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+17560|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=17260,j=J[4315]&rk(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4319]!=(d|0)){break f}J[4316]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+17296|0;c=J[4314];a=1<<(a>>>3);k:{if(!(c&a)){J[4314]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=S(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+17560|0;l:{m:{c=J[4315];b=1<<e;n:{if(!(c&b)){J[4315]=b|c;J[g>>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4322]-1|0;J[4322]=a?a:-1}}function fd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,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[a+8>>2]=e;n=a+32|0;h=J[n>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0<e>>>0){La(n,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2);d=e}s=J[a+52>>2];p=J[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=Xi(Cj(h),0,h);b:{if((d|0)<=0){break b}g=J[a+32>>2];while(1){d=f<<2;h=J[d+m>>2];j=J[a+16>>2];c:{if((h|0)>(j|0)){J[d+g>>2]=j;break c}d=d+g|0;j=J[a+12>>2];if((j|0)>(h|0)){J[d>>2]=j;break c}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=J[b+h>>2]+J[g+h>>2]|0;J[d>>2]=h;d:{if((h|0)>J[a+16>>2]){i=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break d}i=h+J[a+20>>2]|0}J[d>>2]=i}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];q=J[f>>2];f=J[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;v=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=P(e,h);f=J[(h<<2)+q>>2];if((f|0)==-1){break f}f=J[J[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=J[s>>2];g=J[p>>2];k=J[j+(J[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=J[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=J[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=J[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=J[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=P(e,g);j=P(e,f);k=P(e,k);f=0;l=0;if((e|0)!=1){while(1){J[(f<<2)+m>>2]=(J[(f+g<<2)+c>>2]+J[(f+j<<2)+c>>2]|0)-J[(f+k<<2)+c>>2];i=f|1;J[(i<<2)+m>>2]=(J[(g+i<<2)+c>>2]+J[(j+i<<2)+c>>2]|0)-J[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!v){break i}J[(f<<2)+m>>2]=(J[(f+g<<2)+c>>2]+J[(f+j<<2)+c>>2]|0)-J[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=J[n>>2];f=0;while(1){d=f<<2;g=J[d+m>>2];k=J[a+16>>2];j:{if((g|0)>(k|0)){J[d+j>>2]=k;break j}d=d+j|0;k=J[a+12>>2];if((k|0)>(g|0)){J[d>>2]=k;break j}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+i>>2]+J[g+j>>2]|0;J[d>>2]=g;k:{if((g|0)>J[a+16>>2]){l=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break k}l=g+J[a+20>>2]|0}J[d>>2]=l}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}yc();C()}if((d|0)<=0){break e}k=(P(h-1|0,e)<<2)+c|0;j=J[n>>2];f=0;while(1){d=f<<2;g=J[d+k>>2];i=J[a+16>>2];l:{if((g|0)>(i|0)){J[d+j>>2]=i;break l}d=d+j|0;i=J[a+12>>2];if((i|0)>(g|0)){J[d>>2]=i;break l}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+i>>2]+J[g+j>>2]|0;J[d>>2]=g;m:{if((g|0)>J[a+16>>2]){l=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break m}l=g+J[a+20>>2]|0}J[d>>2]=l}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}xj(m);return 1}function Uf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=J[a+48>>2];J[a+52>>2]=e;a:{if((e|0)!=J[a+56>>2]){J[e>>2]=b;J[a+52>>2]=e+4;break a}d=Cj(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!e){break a}xj(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=J[J[a+4>>2]+28>>2];k=J[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-P(g,3)|0?-1:2)+b|0;j=J[c+(e<<2)>>2];if((j|0)==-1){return 0}b=J[a+36>>2];g=b+(k>>>3&536870908)|0;d=J[g>>2];c=1<<k;if(!(d&c)){J[g>>2]=c|d;Ff(a+8|0,k,i);b=J[a+36>>2]}d=(j>>>3&536870908)+b|0;c=J[d>>2];b=1<<j;if(!(c&b)){J[d>>2]=b|c;Ff(a+8|0,j,e)}f=J[a+52>>2];if((f|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=J[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=J[a+24>>2]+(c>>>3&268435452)|0;d=J[g>>2];c=1<<c;if(d&c){break c}J[g>>2]=c|d;h=J[a+4>>2];c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=J[a+36>>2]+(c>>>3&536870908)|0;i=J[j>>2];e=1<<c;if(i&e){break e}f:{g=J[J[h+40>>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}J[j>>2]=e|i;Ff(k,c,d);h=J[a+4>>2];break e}J[j>>2]=e|i;Ff(k,c,d);h=J[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|J[J[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=J[J[J[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<<c;f=J[a+24>>2];e=c>>>5|0;j=J[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(J[J[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=J[J[J[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=J[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=J[f+(e<<2)>>2];d=1<<d;if(!(j&d)){break i}}if(g){break j}d=1<<i;f=J[a+24>>2];e=i>>>5|0;j=J[f+(e<<2)>>2];if(!(d&j)){break d}}f=J[a+52>>2]-4|0;J[a+52>>2]=f;break b}if(g){b=c;break d}if(J[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=J[a+52>>2];J[h-4>>2]=b;if(J[a+56>>2]!=(h|0)){J[h>>2]=c;f=h+4|0;break c}m:{i=J[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=Cj(e<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;J[b>>2]=J[h>>2];if((h|0)!=(i|0)){continue}break}}J[a+56>>2]=d+(e<<2);J[a+52>>2]=f;J[a+48>>2]=b;if(!i){break b}xj(i);f=J[a+52>>2];break b}Ia();C()}Va();C()}J[(e<<2)+f>>2]=d|j;c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}J[a+52>>2]=f}if(J[a+48>>2]!=(f|0)){continue}break}}return 1}function xc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;J[a+8>>2]=e;m=a+32|0;h=J[m>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0<e>>>0){La(m,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2);d=e}s=J[a+52>>2];n=J[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=Xi(Cj(h),0,h);b:{if((d|0)<=0){break b}g=J[a+32>>2];while(1){d=f<<2;h=J[d+l>>2];i=J[a+16>>2];c:{if((h|0)>(i|0)){J[d+g>>2]=i;break c}d=d+g|0;i=J[a+12>>2];if((i|0)>(h|0)){J[d>>2]=i;break c}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=J[b+h>>2]+J[g+h>>2]|0;J[d>>2]=h;d:{if((h|0)>J[a+16>>2]){h=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break d}h=h+J[a+20>>2]|0}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];q=J[f>>2];f=J[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;v=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=P(e,h);f=J[(h<<2)+q>>2];if((f|0)==-1|J[J[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=J[J[J[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=J[s>>2];g=J[n+28>>2];k=J[i+(J[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=J[i+(J[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=J[i+(J[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=P(e,f);i=P(e,j);k=P(e,k);f=0;p=0;if((e|0)!=1){while(1){J[(f<<2)+l>>2]=(J[(f+g<<2)+c>>2]+J[(f+i<<2)+c>>2]|0)-J[(f+k<<2)+c>>2];j=f|1;J[(j<<2)+l>>2]=(J[(g+j<<2)+c>>2]+J[(i+j<<2)+c>>2]|0)-J[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!v){break g}J[(f<<2)+l>>2]=(J[(f+g<<2)+c>>2]+J[(f+i<<2)+c>>2]|0)-J[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=J[m>>2];f=0;while(1){d=f<<2;g=J[d+l>>2];k=J[a+16>>2];h:{if((g|0)>(k|0)){J[d+i>>2]=k;break h}d=d+i|0;k=J[a+12>>2];if((k|0)>(g|0)){J[d>>2]=k;break h}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+j>>2]+J[g+i>>2]|0;J[d>>2]=g;i:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break i}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}yc();C()}if((d|0)<=0){break e}k=(P(h-1|0,e)<<2)+c|0;i=J[m>>2];f=0;while(1){d=f<<2;g=J[d+k>>2];j=J[a+16>>2];j:{if((g|0)>(j|0)){J[d+i>>2]=j;break j}d=d+i|0;j=J[a+12>>2];if((j|0)>(g|0)){J[d>>2]=j;break j}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+j>>2]+J[g+i>>2]|0;J[d>>2]=g;k:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break k}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}xj(l);return 1}function ef(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=0,m=Q(0);i=J[c>>2];a:{b:{f=J[b+4>>2];if(!f){break b}g=qk(f);c:{if(g>>>0>=2){e=i;if(f>>>0<=e>>>0){e=(i>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(i|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(J[c+8>>2]!=(i|0)){continue}break}b=0;break a}e=f-1&i;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(i|0)&(g&h)!=(e|0)){break b}if(J[c+8>>2]!=(i|0)){continue}break}b=0;break a}c=Cj(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=i;J[c>>2]=0;m=Q(J[b+12>>2]+1>>>0);j=N[b+16>>2];d:{if(m>Q(j*Q(f>>>0))?0:f){break d}e=2;d=(f-1&f)!=0|f>>>0<3|f<<1;j=Q(W(Q(m/j)));e:{if(j<Q(4294967296)&j>=Q(0)){g=~~j>>>0;break e}g=0}d=d>>>0>g>>>0?d:g;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=tj(d);f=J[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;j=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(j<Q(4294967296)&j>=Q(0)){d=~~j>>>0;break h}d=0}i:{j:{if(g){break j}if(qk(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=tj(d)}e=d>>>0<e>>>0?e:d;if(f>>>0<=e>>>0){break g}}f=0;g=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}d=Cj(h<<2);e=J[b>>2];J[b>>2]=d;if(e){xj(e)}J[b+4>>2]=h;d=0;if(h>>>0>=4){e=h&-4;while(1){k=d<<2;J[k+J[b>>2]>>2]=0;J[J[b>>2]+(k|4)>>2]=0;J[J[b>>2]+(k|8)>>2]=0;J[J[b>>2]+(k|12)>>2]=0;d=d+4|0;g=g+4|0;if((e|0)!=(g|0)){continue}break}}e=h&3;if(e){while(1){J[J[b>>2]+(d<<2)>>2]=0;d=d+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=J[b+8>>2];if(!e){break k}d=b+8|0;f=J[e+4>>2];g=qk(h);if(g>>>0<2){break m}f=f>>>0>=h>>>0?(f>>>0)%(h>>>0)|0:f;J[J[b>>2]+(f<<2)>>2]=d;d=J[e>>2];if(!d){break k}if(g>>>0<=1){break l}while(1){g=J[d+4>>2];if(h>>>0<=g>>>0){g=(g>>>0)%(h>>>0)|0}o:{if((f|0)==(g|0)){e=d;break o}l=g<<2;k=l+J[b>>2]|0;if(!J[k>>2]){J[k>>2]=e;e=d;f=g;break o}J[e>>2]=J[d>>2];J[d>>2]=J[J[l+J[b>>2]>>2]>>2];J[J[l+J[b>>2]>>2]>>2]=d}d=J[e>>2];if(d){continue}break}break k}d=J[b>>2];J[b>>2]=0;if(d){xj(d)}J[b+4>>2]=0;break k}Va();C()}f=h-1&f;J[J[b>>2]+(f<<2)>>2]=d;d=J[e>>2];if(!d){break k}}k=h-1|0;while(1){g=k&J[d+4>>2];p:{if((g|0)==(f|0)){e=d;break p}l=g<<2;h=l+J[b>>2]|0;if(J[h>>2]){J[e>>2]=J[d>>2];J[d>>2]=J[J[l+J[b>>2]>>2]>>2];J[J[l+J[b>>2]>>2]>>2]=d;break p}J[h>>2]=e;e=d;f=g}d=J[e>>2];if(d){continue}break}}}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&i;break d}if(f>>>0>i>>>0){e=i;break d}e=(i>>>0)%(f>>>0)|0}e=J[b>>2]+(e<<2)|0;d=J[e>>2];q:{r:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[e>>2]=d;d=J[c>>2];if(!d){break q}d=J[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0<f>>>0){break s}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break r}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=fa-80|0;fa=f;e=J[c+36>>2];J[f+72>>2]=J[c+32>>2];J[f+76>>2]=e;g=J[c+28>>2];e=f- -64|0;J[e>>2]=J[c+24>>2];J[e+4>>2]=g;e=J[c+20>>2];J[f+56>>2]=J[c+16>>2];J[f+60>>2]=e;e=J[c+12>>2];J[f+48>>2]=J[c+8>>2];J[f+52>>2]=e;e=J[c+4>>2];J[f+40>>2]=J[c>>2];J[f+44>>2]=e;cg(a,f+40|0,f+24|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}if(K[f+31|0]!=1){b=Cj(32);H[b+20|0]=0;c=K[1483]|K[1484]<<8|(K[1485]<<16|K[1486]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1479]|K[1480]<<8|(K[1481]<<16|K[1482]<<24);d=K[1475]|K[1476]<<8|(K[1477]<<16|K[1478]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1471]|K[1472]<<8|(K[1473]<<16|K[1474]<<24);d=K[1467]|K[1468]<<8|(K[1469]<<16|K[1470]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,20);xj(b);break a}i=fa-16|0;fa=i;b:{c:{switch(K[f+32|0]){case 0:e=we(Cj(48));J[e>>2]=13160;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;case 1:e=we(Cj(52));J[e+48>>2]=0;J[e>>2]=11324;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;default:break c}}g=Cj(32);H[g+28|0]=0;e=K[1585]|K[1586]<<8|(K[1587]<<16|K[1588]<<24);H[g+24|0]=e;H[g+25|0]=e>>>8;H[g+26|0]=e>>>16;H[g+27|0]=e>>>24;e=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);h=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+16|0]=h;H[g+17|0]=h>>>8;H[g+18|0]=h>>>16;H[g+19|0]=h>>>24;H[g+20|0]=e;H[g+21|0]=e>>>8;H[g+22|0]=e>>>16;H[g+23|0]=e>>>24;e=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);h=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g+8|0]=h;H[g+9|0]=h>>>8;H[g+10|0]=h>>>16;H[g+11|0]=h>>>24;H[g+12|0]=e;H[g+13|0]=e>>>8;H[g+14|0]=e>>>16;H[g+15|0]=e>>>24;e=K[1565]|K[1566]<<8|(K[1567]<<16|K[1568]<<24);h=K[1561]|K[1562]<<8|(K[1563]<<16|K[1564]<<24);H[g|0]=h;H[g+1|0]=h>>>8;H[g+2|0]=h>>>16;H[g+3|0]=h>>>24;H[g+4|0]=e;H[g+5|0]=e>>>8;H[g+6|0]=e>>>16;H[g+7|0]=e>>>24;J[i>>2]=-1;e=i|4;Gj(e,g,28);j=H[i+15|0];J[f>>2]=J[i>>2];h=f+4|0;d:{if((j|0)>=0){j=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=j;J[h+8>>2]=J[e+8>>2];J[f+16>>2]=0;break d}Gj(h,J[i+4>>2],J[i+8>>2]);e=H[i+15|0];J[f+16>>2]=0;if((e|0)>=0){break d}xj(J[i+4>>2])}xj(g)}fa=i+16|0;e=J[f>>2];e:{if(e){J[a>>2]=e;a=a+4|0;if(H[f+15|0]>=0){b=f|4;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break e}Gj(a,J[f+4>>2],J[f+8>>2]);break e}e=J[f+16>>2];J[f+16>>2]=0;J[e+44>>2]=d;gg(a,e,b,c,d);if(!J[a>>2]){if(H[a+15|0]<0){xj(J[a+4>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ka[J[J[e>>2]+4>>2]](e)}a=J[f+16>>2];J[f+16>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if(H[f+15|0]>=0){break a}xj(J[f+4>>2])}fa=f+80|0}function Fi(a,b,c){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;j=P(b,12)+a|0;J[j+12>>2]=J[j+8>>2];m=(c|0)==-1?-1:(c>>>0)/3|0;d=1;k=c;a:{b:{c:{while(1){d:{l=d;if(!d){if((k|0)==-1){break d}if((Gi(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;d=(c>>>0)%3|0?c:k-2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}d=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}m=(c>>>0)/3|0}e:{d=J[a+56>>2]+(m>>>3&536870908)|0;h=J[d>>2];e=1<<m;if(h&e){break e}f=0;while(1){J[d>>2]=e|h;d=J[j+12>>2];f:{if((d|0)!=J[j+16>>2]){J[d>>2]=m;J[j+12>>2]=d+4;break f}n=J[j+8>>2];h=d-n|0;e=h>>2;i=e+1|0;if(i>>>0>=1073741824){break c}g=h>>>1|0;i=h>>>0>=2147483644?1073741823:i>>>0<g>>>0?g:i;if(i){if(i>>>0>=1073741824){break b}g=Cj(i<<2)}else{g=0}h=g+(e<<2)|0;J[h>>2]=m;e=h+4|0;if((d|0)!=(n|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(n|0)){continue}break}}J[j+8>>2]=h;J[j+12>>2]=e;J[j+16>>2]=g+(i<<2);if(!n){break f}xj(n)}g=f+1|0;g:{h:{i:{if(!f){break i}if(g&1){if((c|0)==-1){c=-1;break g}d=c+1|0;c=(d>>>0)%3|0?d:c-2|0;break i}k=l?k:c;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){d=c-1|0;break h}c=c+2|0}d=c;c=-1;if((d|0)==-1){break g}}c=J[J[J[a+4>>2]+12>>2]+(d<<2)>>2];h=-1;f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}j:{if((c|0)==-1){break j}i=((c>>>0)%3|0?-1:2)+c|0;if((i|0)<0){break j}e=(i>>>0)/3|0;h=J[(J[J[a>>2]+96>>2]+P(e,12)|0)+(i-P(e,3)<<2)>>2]}if((f|0)!=(h|0)){c=-1;break g}k:{l:{f=((d>>>0)%3|0?-1:2)+d|0;if((f|0)>=0){d=(f>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}d=-1;if((c|0)!=-1){break k}c=-1;break g}d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(f-P(d,3)<<2)>>2]}f=c+1|0;e=(f>>>0)%3|0?f:c-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}else{f=-1}if((f|0)!=(d|0)){c=-1;break g}f=g;m=(c>>>0)/3|0;d=J[a+56>>2]+(m>>>3&268435452)|0;h=J[d>>2];e=1<<m;if(!(h&e)){continue}}break}if(l|!(g&1)){break e}l=J[j+12>>2]-4|0;g=J[l>>2];d=J[a+56>>2]+(g>>>3&536870908)|0;c=J[d>>2];o=d,p=rk(g)&c,J[o>>2]=p;J[j+12>>2]=l;break a}d=0;if(l){continue}break a}break}k=-1;Gi(a,-1);break a}Ia();C()}Va();C()}J[((b<<2)+a|0)+44>>2]=k;b=J[j+12>>2];i=J[j+8>>2];m:{if((b|0)==(i|0)){break m}c=b-i|0;b=c>>2;b=b>>>0<=1?1:b;k=b&1;e=J[a+56>>2];d=0;if(c>>>0>=8){f=b&-2;c=0;while(1){l=d<<2;g=J[l+i>>2];b=e+(g>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(g)&a,J[o>>2]=p;g=J[i+(l|4)>>2];b=e+(g>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(g)&a,J[o>>2]=p;d=d+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!k){break m}c=J[i+(d<<2)>>2];b=e+(c>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(c)&a,J[o>>2]=p}}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=fa-32|0;fa=h;a:{if(L[b+38>>1]<=513){c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break a}f=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(f){break a}}b:{if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}c:{if(d){Hc(a+60|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<<e;j=je(c);g=J[a+60>>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+72|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<<e;j=je(c);g=J[a+72>>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+84|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<<e;j=je(c);g=J[a+84>>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+96|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<<e;j=je(c);g=J[a+96>>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=J[b+8>>2];f=J[b+12>>2];d=c;c=J[b+20>>2];i=c;g=J[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0<j>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=J[b>>2];k=m+g|0;l=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);J[b+16>>2]=j;J[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((d|0)<(l|0)){break a}J[a+16>>2]=d;J[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0<l>>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1;break a}}e=0}fa=h+32|0;return e|0}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=fa-32|0;fa=h;a:{if(L[b+38>>1]<=513){c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break a}f=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(f){break a}}b:{if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}c:{if(d){Hc(a+60|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<<e;j=je(c);g=J[a+60>>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+72|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<<e;j=je(c);g=J[a+72>>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+84|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<<e;j=je(c);g=J[a+84>>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+96|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<<e;j=je(c);g=J[a+96>>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=J[b+8>>2];f=J[b+12>>2];d=c;c=J[b+20>>2];i=c;g=J[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0<j>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=J[b>>2];k=m+g|0;l=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);J[b+16>>2]=j;J[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((d|0)<(l|0)){break a}J[a+16>>2]=d;J[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0<l>>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1;break a}}e=0}fa=h+32|0;return e|0}function Of(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=J[a+48>>2];J[a+52>>2]=f;a:{if((f|0)!=J[a+56>>2]){J[f>>2]=b;J[a+52>>2]=f+4;break a}d=Cj(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!f){break a}xj(f)}e=-1;d=J[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=J[J[d>>2]+(i<<2)>>2]}b:{h=b-P(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=J[J[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;g=J[f>>2];d=1<<e;if(!(g&d)){J[f>>2]=d|g;Ff(a+8|0,e,i);c=J[a+36>>2]}g=(j>>>3&536870908)+c|0;d=J[g>>2];c=1<<j;if(!(d&c)){J[g>>2]=c|d;Ff(a+8|0,j,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=J[a+24>>2]+(d>>>3&268435452)|0;g=J[f>>2];d=1<<d;if(g&d){break d}J[f>>2]=d|g;while(1){i=J[a+4>>2];e=J[J[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=J[a+36>>2]+(e>>>3&536870908)|0;f=J[h>>2];g=1<<e;if(f&g){break f}g:{d=J[J[i+24>>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=J[J[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}J[h>>2]=f|g;Ff(j,e,b);break f}J[h>>2]=f|g;Ff(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<<c;e=J[a+24>>2];f=c>>>5|0;i=J[e+(f<<2)>>2];break e}c=-1;g=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=J[e+(f<<2)>>2];d=1<<d;if(!(i&d)){break k}}if(!g){d=1<<h;e=J[a+24>>2];f=h>>>5|0;i=J[e+(f<<2)>>2];if(!(d&i)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(g){b=c;break e}if(J[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=J[a+52>>2];J[e-4>>2]=b;if(J[a+56>>2]!=(e|0)){J[e>>2]=c;c=e+4|0;break d}l:{h=J[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=Cj(f<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}J[a+56>>2]=d+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!h){break c}xj(h);c=J[a+52>>2];break c}Ia();C()}Va();C()}J[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+68>>2]=f;d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(m,J[d+(j<<2)>>2],g+16|0);i=J[g+20>>2];d=i>>31;h=J[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=J[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+16>>2]=J[a+108>>2];break b}f=J[a+108>>2];l=f>>31;h=ok(nk(f,l,h,h>>31),ja,e,d);J[g+16>>2]=h;d=ok(nk(f,l,i,i>>31),ja,e,d);J[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){J[g+24>>2]=f-d;break b}J[g+24>>2]=d-f}d=je(o);f=J[g+16>>2];c:{if(d){J[g+24>>2]=0-J[g+24>>2];e=0-J[g+20>>2]|0;J[g+20>>2]=e;f=0-f|0;J[g+16>>2]=f;break c}e=J[g+20>>2]}d:{if((f|0)>=0){f=J[a+108>>2];d=f+J[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+24>>2];f=d>>31;f=J[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+100>>2]+(d-(d^e)|0)|0}e=J[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=J[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=J[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}J[g+12>>2]=d;J[g+8>>2]=f;j:{if(J[a+8>>2]<=0){break j}i=J[a+32>>2];f=0;while(1){d=f<<2;e=J[d+(g+8|0)>>2];h=J[a+16>>2];k:{if((e|0)>(h|0)){J[d+i>>2]=h;break k}d=d+i|0;h=J[a+12>>2];if((h|0)>(e|0)){J[d>>2]=h;break k}J[d>>2]=e}f=f+1|0;e=J[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=J[f+k>>2]+J[f+i>>2]|0;J[e>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[e>>2]=f}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}fa=g+32|0;return 1}yc();C()}function cd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+68>>2]=f;d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(m,J[d+(j<<2)>>2],g+16|0);i=J[g+20>>2];d=i>>31;h=J[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=J[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+16>>2]=J[a+108>>2];break b}f=J[a+108>>2];l=f>>31;h=ok(nk(f,l,h,h>>31),ja,e,d);J[g+16>>2]=h;d=ok(nk(f,l,i,i>>31),ja,e,d);J[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){J[g+24>>2]=f-d;break b}J[g+24>>2]=d-f}d=je(o);f=J[g+16>>2];c:{if(d){J[g+24>>2]=0-J[g+24>>2];e=0-J[g+20>>2]|0;J[g+20>>2]=e;f=0-f|0;J[g+16>>2]=f;break c}e=J[g+20>>2]}d:{if((f|0)>=0){f=J[a+108>>2];d=f+J[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+24>>2];f=d>>31;f=J[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+100>>2]+(d-(d^e)|0)|0}e=J[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=J[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=J[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}J[g+12>>2]=d;J[g+8>>2]=f;j:{if(J[a+8>>2]<=0){break j}i=J[a+32>>2];f=0;while(1){d=f<<2;e=J[d+(g+8|0)>>2];h=J[a+16>>2];k:{if((e|0)>(h|0)){J[d+i>>2]=h;break k}d=d+i|0;h=J[a+12>>2];if((h|0)>(e|0)){J[d>>2]=h;break k}J[d>>2]=e}f=f+1|0;e=J[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=J[f+k>>2]+J[f+i>>2]|0;J[e>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[e>>2]=f}d=d+1|0;if((d|0)<J[a+8>>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}fa=g+32|0;return 1}yc();C()}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=fa-80|0;fa=h;a:{b:{if(K[J[a+28>>2]+36|0]<=1){d=J[b+20>>2];f=J[b+16>>2];c=f+4|0;d=c>>>0<4?d+1|0:d;g=J[b+12>>2];if(M[b+8>>2]<c>>>0&(g|0)<=(d|0)|(d|0)>(g|0)){break a}f=f+J[b>>2]|0;j=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=c;J[b+20>>2]=d;break b}if(!eb(1,h+76|0,b)){break a}j=J[h+76>>2]}if(!j){break a}d=J[b+8>>2];c=J[b+16>>2];d=nk(d-c|0,J[b+12>>2]-(J[b+20>>2]+(c>>>0>d>>>0)|0)|0,5,0);c=ja;if(d>>>0<j>>>0&(c|0)<=0|(c|0)<0){break a}c=J[a+4>>2];d=J[a+8>>2]-c>>2;c:{if(d>>>0<j>>>0){La(a+4|0,j-d|0);break c}if(d>>>0<=j>>>0){break c}J[a+8>>2]=c+(j<<2)}p=a+16|0;l=J[a+32>>2];while(1){i=J[b+12>>2];c=i;d=J[b+20>>2];e=J[b+8>>2];f=J[b+16>>2];if((c|0)<=(d|0)&e>>>0<=f>>>0|(c|0)<(d|0)){e=0;break a}n=J[b>>2];q=K[n+f|0];c=d;g=f+1|0;c=g?c:c+1|0;J[b+16>>2]=g;J[b+20>>2]=c;if(e>>>0<=g>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}g=K[g+n|0];c=d;k=f+2|0;c=k>>>0<2?c+1|0:c;J[b+16>>2]=k;J[b+20>>2]=c;if(e>>>0<=k>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}k=K[k+n|0];c=d;m=f+3|0;c=m>>>0<3?c+1|0:c;J[b+16>>2]=m;J[b+20>>2]=c;if(e>>>0<=m>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}e=K[m+n|0];c=d;d=f+4|0;c=d>>>0<4?c+1|0:c;J[b+16>>2]=d;J[b+20>>2]=c;if(q>>>0>4){e=0;break a}if((g-12&255)>>>0<245){e=0;break a}if(!k){e=0;break a}m=Ya(h+8|0);i=(e|0)!=0;d=g-1|0;if(d>>>0<=10){c=J[(d<<2)+13632>>2]}else{c=-1}d=P(c,k);Za(m,q,k,g,i,d,d>>31);d:{d=L[J[a+28>>2]+36>>1];e:{if(((d<<8|d>>>8)&65535)>>>0<=258){c=J[b+20>>2];f=J[b+16>>2];d=f+2|0;c=d>>>0<2?c+1|0:c;e=J[b+12>>2];if(M[b+8>>2]<d>>>0&(e|0)<=(c|0)|(c|0)>(e|0)){break d}f=f+J[b>>2]|0;e=K[f|0]|K[f+1|0]<<8;J[b+16>>2]=d;J[b+20>>2]=c;break e}if(!eb(1,h+4|0,b)){break d}e=J[h+4>>2]}J[h+68>>2]=e;d=_a(Cj(96),m);ka[J[J[l>>2]+8>>2]](l,J[l+12>>2]-J[l+8>>2]>>2,d);d=(J[l+12>>2]-J[l+8>>2]>>2)-1|0;f=d<<2;J[J[f+J[l+8>>2]>>2]+60>>2]=e;J[J[a+4>>2]+(o<<2)>>2]=d;e=J[a+16>>2];c=J[a+20>>2]-e>>2;f:{if((c|0)>(d|0)){break f}J[h>>2]=-1;d=d+1|0;if(d>>>0>c>>>0){fb(p,d-c|0,h);e=J[p>>2];break f}if(c>>>0<=d>>>0){break f}J[a+20>>2]=(d<<2)+e}J[e+f>>2]=o;e=1;o=o+1|0;if((o|0)!=(j|0)){continue}break a}break}e=0}fa=h+80|0;return e|0}function mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=ka[J[J[a>>2]+44>>2]](a)|0;a:{if((n|0)<=0){break a}i=J[b+4>>2]-J[b>>2]>>2;e=fa+-64|0;fa=e;f=Ya(e);d=P(J[3412],n);Za(f,J[J[a+8>>2]+56>>2],n&255,5,0,d,d>>31);f=_a(Cj(96),f);H[f+84|0]=1;J[f+72>>2]=J[f+68>>2];$a(f,i);J[f+60>>2]=J[J[a+8>>2]+60>>2];d=J[a+16>>2];J[a+16>>2]=f;if(d){pb(d)}fa=e- -64|0;h=J[a+16>>2];if(!J[h+80>>2]){break a}j=J[J[h>>2]>>2];if(!j){break a}m=J[c+12>>2];e=m;d=J[c+20>>2];g=J[c+8>>2];k=J[c+16>>2];if((e|0)<=(d|0)&g>>>0<=k>>>0|(d|0)>(e|0)){break a}l=P(i,n);i=j+J[h+48>>2]|0;h=J[c>>2];j=K[h+k|0];e=k+1|0;f=e?d:d+1|0;J[c+16>>2]=e;J[c+20>>2]=f;b:{c:{if(j){if(pe(l,n,c,i)){break c}break a}if((f|0)>=(m|0)&e>>>0>=g>>>0|(f|0)>(m|0)){break a}g=K[e+h|0];f=k+2|0;d=f>>>0<2?d+1|0:d;J[c+16>>2]=f;J[c+20>>2]=d;d=J[J[a+16>>2]+64>>2];d=J[d+4>>2]-J[d>>2]|0;if((g|0)==J[3412]){e=l<<2;if(e>>>0>d>>>0){break a}g=J[c+8>>2];k=J[c+12>>2];j=J[c+20>>2];d=J[c+16>>2];f=e+d|0;j=f>>>0<e>>>0?j+1|0:j;if(f>>>0>g>>>0&(j|0)>=(k|0)|(j|0)>(k|0)){break a}Vi(i,d+J[c>>2]|0,e);f=J[c+20>>2];d=e+J[c+16>>2]|0;f=d>>>0<e>>>0?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;break c}if(d>>>0<P(g,l)>>>0){break a}d=J[c+8>>2];f=J[c+16>>2];e=d-f|0;m=d>>>0<f>>>0;d=J[c+20>>2];k=J[c+12>>2]-(m+d|0)|0;m=nk(g,0,l,0)>>>0>e>>>0;e=ja;if(m&(e|0)>=(k|0)|(e|0)>(k|0)){break a}e=1;if(!l){break b}h=0;while(1){k=J[c+8>>2];j=J[c+12>>2];e=f+g|0;d=e>>>0<g>>>0?d+1|0:d;if(e>>>0>k>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){return 0}Vi(i+(h<<2)|0,J[c>>2]+f|0,g);d=J[c+20>>2];f=g+J[c+16>>2]|0;d=f>>>0<g>>>0?d+1|0:d;J[c+16>>2]=f;J[c+20>>2]=d;h=h+1|0;if((l|0)!=(h|0)){continue}break}}e=1;if(!l){break b}d=J[a+20>>2];if(d){e=0;if(ka[J[J[d>>2]+32>>2]](d)|0){break b}}g=0;h=0;d:{if((l|0)<=0){break d}if((l|0)!=1){f=l&-2;while(1){e=g<<2;d=J[e+i>>2];J[e+i>>2]=0-(d&1)^d>>>1;d=e|4;e=J[d+i>>2];J[d+i>>2]=0-(e&1)^e>>>1;g=g+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(l&1)){break d}d=g<<2;f=J[d+i>>2];J[d+i>>2]=0-(f&1)^f>>>1}e=0}d=e;f=J[a+20>>2];e:{if(!f){break e}if(!(ka[J[J[f>>2]+40>>2]](f,c)|0)){break a}if(d){break e}a=J[a+20>>2];if(!(ka[J[J[a>>2]+44>>2]](a,i,i,l,n,J[b>>2])|0)){break a}}o=1}return o|0}function Jc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=fa-32|0;fa=h;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=Cj(b<<2);J[h+24>>2]=b;J[h+20>>2]=0;J[h+16>>2]=c;b=J[a>>2];J[h+12>>2]=0;J[h+8>>2]=b;c=J[a+4>>2];J[h+4>>2]=c&31;J[h>>2]=b+(c>>>3&536870908);e=fa-32|0;fa=e;i=J[h+4>>2];g=J[h+12>>2];j=J[h>>2];d=J[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=J[h+20>>2];c=b+f|0;J[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){J[J[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<<g&-1>>>i-f;J[c>>2]=J[c>>2]&(i^-1)|i&J[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){Wi(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;J[g>>2]=J[g>>2]&(b^-1)|b&J[c+d>>2];break c}J[e+28>>2]=g;J[e+24>>2]=d;J[e+20>>2]=i;J[e+16>>2]=j;J[e+12>>2]=f;J[e+8>>2]=c;b=J[e+28>>2];c=J[e+24>>2];g=(J[e+20>>2]-b|0)+(J[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=J[e+12>>2];d=J[e+8>>2];break d}e:{if(!b){b=J[e+12>>2];break e}d=J[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=J[e+8>>2];m=J[l>>2]&(-1<<d&-1>>>j-i^-1);j=J[c>>2]&(-1<<b&-1>>>k-f);J[l>>2]=m|(b>>>0<d>>>0?j<<d-b:j>>>b-d|0);c=d+i|0;b=c&31;J[e+12>>2]=b;d=l+(c>>>3&536870908)|0;J[e+8>>2]=d;c=f-i|0;if((c|0)>0){J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|j>>>i+J[e+28>>2];J[e+12>>2]=c;b=c}g=g-f|0;c=J[e+24>>2]+4|0;J[e+24>>2]=c}i=-1<<b;f=32-b|0;if((g|0)>=32){j=i^-1;while(1){d=J[e+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<<b;J[e+8>>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>f;c=J[e+24>>2]+4|0;J[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=J[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=J[d>>2]&(i&-1>>>j-f^-1);i=J[c>>2]&-1>>>32-g;J[d>>2]=j|i<<b;b=b+f|0;c=b&31;J[e+12>>2]=c;d=(b>>>3&536870908)+d|0;J[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}J[d>>2]=J[d>>2]&(-1>>>32-b^-1)|i>>>f;J[e+12>>2]=b}J[e+4>>2]=b;J[e>>2]=d}fa=e+32|0;b=J[a>>2];J[a>>2]=J[h+16>>2];J[h+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[h+20>>2];J[h+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[h+24>>2];J[h+24>>2]=c;if(!b){break b}xj(b)}fa=h+32|0;return}Ia();C()}function qe(a,b){var 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;c=L[b+38>>1];a:{if(!c){break a}b:{if(c>>>0<=511){g=J[b+8>>2];e=J[b+12>>2];d=J[b+20>>2];c=J[b+16>>2];i=c+4|0;d=i>>>0<4?d+1|0:d;if(g>>>0<i>>>0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}c=c+J[b>>2]|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[a+12>>2]=f;d=J[b+20>>2];c=J[b+16>>2]+4|0;d=c>>>0<4?d+1|0:d;J[b+16>>2]=c;J[b+20>>2]=d;break b}if(!te(1,a+12|0,b)){break a}c=J[b+16>>2];d=J[b+20>>2];f=J[a+12>>2]}e=J[b+8>>2];i=e-c|0;c=J[b+12>>2]-(d+(c>>>0>e>>>0)|0)|0;if(i>>>0<f>>>6>>>0&(c|0)<=0|(c|0)<0){break a}d=J[a>>2];c=J[a+4>>2]-d>>2;c:{if(c>>>0<f>>>0){La(a,f-c|0);f=J[a+12>>2];break c}if(c>>>0<=f>>>0){break c}J[a+4>>2]=d+(f<<2)}if(!f){return 1}c=J[b+16>>2];d=J[b+20>>2];l=J[a>>2];i=J[b+8>>2];j=J[b+12>>2];g=0;while(1){if((d|0)>=(j|0)&c>>>0>=i>>>0|(d|0)>(j|0)){return 0}m=J[b>>2];k=K[m+c|0];c=c+1|0;d=c?d:d+1|0;J[b+16>>2]=c;J[b+20>>2]=d;e=k>>>2|0;h=0;d:{e:{f:{g:{n=k&3;switch(n|0){case 0:break e;case 3:break g;default:break f}}e=e+g|0;if(e>>>0>=f>>>0){return 0}Xi(l+(g<<2)|0,0,(k&252)+4|0);g=e;break d}while(1){if((c|0)==(i|0)&(d|0)==(j|0)){break a}f=K[c+m|0];c=c+1|0;d=c?d:d+1|0;J[b+16>>2]=c;J[b+20>>2]=d;e=f<<(h<<3|6)|e;h=h+1|0;if((n|0)!=(h|0)){continue}break}}J[l+(g<<2)>>2]=e}f=J[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;i=J[a>>2];d=J[a+16>>2];c=J[a+20>>2]-d|0;h:{if(c>>>0<=16383){La(b,4096-(c>>>2|0)|0);break h}if((c|0)==16384){break h}J[a+20>>2]=d+16384}c=a+28|0;g=J[c>>2];d=J[a+32>>2]-g>>3;i:{if(d>>>0<f>>>0){ue(c,f-d|0);g=J[c>>2];break i}if(d>>>0>f>>>0){J[a+32>>2]=(f<<3)+g}if(!f){break a}}d=J[b>>2];b=0;a=0;while(1){c=i+(b<<2)|0;h=J[c>>2];e=a;j=(b<<3)+g|0;J[j+4>>2]=a;J[j>>2]=h;c=J[c>>2];a=c+a|0;if(a>>>0>4096){break a}j:{if(a>>>0<=e>>>0){break j}h=0;j=c&7;if(j){while(1){J[d+(e<<2)>>2]=b;e=e+1|0;h=h+1|0;if((j|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break j}while(1){c=d+(e<<2)|0;J[c>>2]=b;J[c+28>>2]=b;J[c+24>>2]=b;J[c+20>>2]=b;J[c+16>>2]=b;J[c+12>>2]=b;J[c+8>>2]=b;J[c+4>>2]=b;e=e+8|0;if((e|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=b;b=J[b>>2]+7&-8;J[c>>2]=b+16;o=a;i=J[b>>2];d=J[b+4>>2];a=J[b+12>>2];m=a;g=fa-32|0;fa=g;a=a&2147483647;h=a;e=a-1006698496|0;a=a-1140785152|0;c=J[b+8>>2];b=c;a:{if((e|0)==(a|0)&b>>>0<b>>>0|a>>>0>e>>>0){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c;d=d&268435455;if((d|0)==134217728&(i|0)!=0|d>>>0>134217728){a=a+1073741824|0;b=b+1|0;a=b?a:a+1|0;break a}a=a+1073741824|0;if(i|(d|0)!=134217728){break a}d=b&1;b=d+b|0;a=b>>>0<d>>>0?a+1|0:a;break a}if(!(!b&(h|0)==2147418112?!(d|i):h>>>0<2147418112)){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c&524287|2146959360;break a}b=0;a=2146435072;if(h>>>0>1140785151){break a}a=0;n=h>>>16|0;if(n>>>0<15249){break a}b=i;a=d;e=m&65535|65536;h=e;l=c;f=c;j=n-15233|0;b:{if(j&64){c=b;e=j+-64|0;b=e&31;if((e&63)>>>0>=32){a=c<<b;f=0}else{a=(1<<b)-1&c>>>32-b|a<<b;f=c<<b}e=a;b=0;a=0;break b}if(!j){break b}k=f;f=j&31;if((j&63)>>>0>=32){c=k<<f;f=0}else{c=(1<<f)-1&k>>>32-f|e<<f;f=k<<f}e=c;p=f;k=b;c=64-j|0;f=c&31;if((c&63)>>>0>=32){c=0;b=a>>>f|0}else{c=a>>>f|0;b=((1<<f)-1&a)<<32-f|k>>>f}f=p|b;e=c|e;b=j&31;if((j&63)>>>0>=32){c=k<<b;b=0}else{c=(1<<b)-1&k>>>32-b|a<<b;b=k<<b}a=c}J[g+16>>2]=b;J[g+20>>2]=a;J[g+24>>2]=f;J[g+28>>2]=e;b=15361-n|0;c:{if(b&64){d=l;b=b+-64|0;a=b&31;if((b&63)>>>0>=32){c=0;i=h>>>a|0}else{c=h>>>a|0;i=((1<<a)-1&h)<<32-a|d>>>a}d=c;l=0;h=0;break c}if(!b){break c}e=l;a=64-b|0;c=a&31;if((a&63)>>>0>=32){a=e<<c;f=0}else{a=(1<<c)-1&e>>>32-c|h<<c;f=e<<c}e=i;i=b&31;if((b&63)>>>0>=32){c=0;e=d>>>i|0}else{c=d>>>i|0;e=((1<<i)-1&d)<<32-i|e>>>i}i=f|e;d=a|c;e=l;c=b&31;if((b&63)>>>0>=32){a=0;l=h>>>c|0}else{a=h>>>c|0;l=((1<<c)-1&h)<<32-c|e>>>c}h=a}J[g>>2]=i;J[g+4>>2]=d;J[g+8>>2]=l;J[g+12>>2]=h;b=J[g+8>>2];a=J[g+12>>2]<<4|b>>>28;b=b<<4;c=J[g>>2];h=J[g+4>>2];b=h>>>28|b;d=h&268435455;c=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((d|0)==134217728&(c|0)!=0|d>>>0>134217728){b=b+1|0;a=b?a:a+1|0;break a}if(c|(d|0)!=134217728){break a}c=b;b=b+(b&1)|0;a=c>>>0>b>>>0?a+1|0:a}fa=g+32|0;x(0,b|0);x(1,m&-2147483648|a);q=o,r=+z(),O[q>>3]=r}function Xd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h>>2];h=J[h+4>>2];J[g+36>>2]=d;J[g+32>>2]=f;J[g+24>>2]=i;J[g+28>>2]=h;Td(g+40|0,m,g+32|0,g+24|0);d=c+e|0;J[d>>2]=J[g+40>>2];J[d+4>>2]=J[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Sd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h>>2];h=J[h+4>>2];J[g+36>>2]=d;J[g+32>>2]=f;J[g+24>>2]=i;J[g+28>>2]=h;Td(g+40|0,m,g+32|0,g+24|0);d=c+e|0;J[d>>2]=J[g+40>>2];J[d+4>>2]=J[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Nd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=i;J[g+28>>2]=d;J[g+24>>2]=f;Jd(g+32|0,m,g+24|0,g+40|0);d=c+e|0;J[d>>2]=J[g+32>>2];J[d+4>>2]=J[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<<d;d=-2-e|0;J[a+84>>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=i;J[g+28>>2]=d;J[g+24>>2]=f;Jd(g+32|0,m,g+24|0,g+40|0);d=c+e|0;J[d>>2]=J[g+32>>2];J[d+4>>2]=J[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Xe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=fa-16|0;fa=f;c=J[a+4>>2];J[a+40>>2]=J[a>>2];J[a+44>>2]=c;c=J[a+36>>2];J[a+72>>2]=J[a+32>>2];J[a+76>>2]=c;d=J[a+28>>2];c=a- -64|0;J[c>>2]=J[a+24>>2];J[c+4>>2]=d;c=J[a+20>>2];J[a+56>>2]=J[a+16>>2];J[a+60>>2]=c;c=J[a+12>>2];J[a+48>>2]=J[a+8>>2];J[a+52>>2]=c;a:{b:{if(rg(a+40|0,1,f+8|0)){c=J[a+44>>2];J[a>>2]=J[a+40>>2];J[a+4>>2]=c;c=J[a+76>>2];J[a+32>>2]=J[a+72>>2];J[a+36>>2]=c;c=J[a+68>>2];J[a+24>>2]=J[a+64>>2];J[a+28>>2]=c;d=J[a+60>>2];h=d;c=J[a+56>>2];J[a+16>>2]=c;J[a+20>>2]=d;e=J[a+52>>2];d=J[a+48>>2];J[a+8>>2]=d;J[a+12>>2]=e;i=d-c|0;g=J[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=J[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break b}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0<d>>>0?e+1|0:e;J[a+16>>2]=c;J[a+20>>2]=e;c:{if(L[a+38>>1]<=513){c=J[a+4>>2];J[a+96>>2]=J[a>>2];J[a+100>>2]=c;c=J[a+36>>2];J[a+128>>2]=J[a+32>>2];J[a+132>>2]=c;c=J[a+28>>2];J[a+120>>2]=J[a+24>>2];J[a+124>>2]=c;c=J[a+20>>2];J[a+112>>2]=J[a+16>>2];J[a+116>>2]=c;c=J[a+12>>2];J[a+104>>2]=J[a+8>>2];J[a+108>>2]=c;d:{if(rg(a+96|0,1,f+8|0)){c=J[a+100>>2];J[a>>2]=J[a+96>>2];J[a+4>>2]=c;c=J[a+132>>2];J[a+32>>2]=J[a+128>>2];J[a+36>>2]=c;c=J[a+124>>2];J[a+24>>2]=J[a+120>>2];J[a+28>>2]=c;d=J[a+116>>2];h=d;c=J[a+112>>2];J[a+16>>2]=c;J[a+20>>2]=d;e=J[a+108>>2];d=J[a+104>>2];J[a+8>>2]=d;J[a+12>>2]=e;i=d-c|0;g=J[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=J[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break d}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0<d>>>0?e+1|0:e;J[a+16>>2]=c;J[a+20>>2]=e;break c}c=0;if(!he(a+80|0,a)){break a}}c=0;if(!cf(a)){break a}c=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=c;c=J[a+36>>2];J[b+32>>2]=J[a+32>>2];J[b+36>>2]=c;c=J[a+28>>2];J[b+24>>2]=J[a+24>>2];J[b+28>>2]=c;c=J[a+20>>2];J[b+16>>2]=J[a+16>>2];J[b+20>>2]=c;c=J[a+12>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=c;c=1}fa=f+16|0;return c}function ab(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!J[a+64>>2]){c=Cj(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(d){c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}xj(d);c=J[a+64>>2]}J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+16>>2]=d;J[a+20>>2]=c}a:{H[a+24|0]=K[b+24|0];J[a+28>>2]=J[b+28>>2];H[a+32|0]=K[b+32|0];c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;J[a+56>>2]=J[b+56>>2];c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;J[a+60>>2]=J[b+60>>2];c=J[b>>2];b:{if(!c){J[a>>2]=0;d=1;break b}g=J[a>>2];d=0;if(!g){break b}d=J[c>>2];c=J[c+4>>2]-d|0;og(g,d,c,0);d=1}c:{if(!d){break c}H[a+84|0]=K[b+84|0];J[a+80>>2]=J[b+80>>2];if((a|0)!=(b|0)){bb(a+68|0,J[b+68>>2],J[b+72>>2])}f=J[b+88>>2];d:{if(f){e=Cj(40);b=J[f>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=b;c=J[f+12>>2];b=J[f+8>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break a}b=Cj(c);J[e+12>>2]=b;J[e+8>>2]=b;J[e+16>>2]=b+c;c=J[f+8>>2];h=J[f+12>>2];e:{if((c|0)==(h|0)){break e}g=(c^-1)+h|0;d=h-c&7;if(d){while(1){H[b|0]=K[c|0];b=b+1|0;c=c+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}if(g>>>0<7){break e}while(1){H[b|0]=K[c|0];H[b+1|0]=K[c+1|0];H[b+2|0]=K[c+2|0];H[b+3|0]=K[c+3|0];H[b+4|0]=K[c+4|0];H[b+5|0]=K[c+5|0];H[b+6|0]=K[c+6|0];H[b+7|0]=K[c+7|0];b=b+8|0;c=c+8|0;if((h|0)!=(c|0)){continue}break}}J[e+12>>2]=b}b=J[f+36>>2];J[e+32>>2]=J[f+32>>2];J[e+36>>2]=b;b=J[f+28>>2];J[e+24>>2]=J[f+24>>2];J[e+28>>2]=b;b=J[a+88>>2];J[a+88>>2]=e;if(b){break d}break c}b=J[a+88>>2];J[a+88>>2]=0;if(!b){break c}}a=J[b+8>>2];if(a){J[b+12>>2]=a;xj(a)}xj(b)}return}Ia();C()}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=fa-32|0;fa=f;e=f+8|0;c=fa-80|0;fa=c;a=J[b+36>>2];J[c+72>>2]=J[b+32>>2];J[c+76>>2]=a;d=J[b+28>>2];a=c- -64|0;J[a>>2]=J[b+24>>2];J[a+4>>2]=d;a=J[b+20>>2];J[c+56>>2]=J[b+16>>2];J[c+60>>2]=a;a=J[b+12>>2];J[c+48>>2]=J[b+8>>2];J[c+52>>2]=a;a=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=a;cg(c+8|0,c+40|0,c+24|0);a=J[c+8>>2];a:{if(a){J[e>>2]=a;a=e+4|0;if(H[c+23|0]>=0){b=c+8|4;e=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=e;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[c+12>>2],J[c+16>>2]);if(H[c+23|0]>=0){break a}xj(J[c+12>>2]);break a}if(H[c+23|0]<0){xj(J[c+12>>2])}a=K[c+31|0];if(a>>>0>=2){b=Cj(32);H[b+26|0]=0;a=K[1512]|K[1513]<<8;H[b+24|0]=a;H[b+25|0]=a>>>8;a=K[1508]|K[1509]<<8|(K[1510]<<16|K[1511]<<24);d=K[1504]|K[1505]<<8|(K[1506]<<16|K[1507]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=a;H[b+21|0]=a>>>8;H[b+22|0]=a>>>16;H[b+23|0]=a>>>24;a=K[1500]|K[1501]<<8|(K[1502]<<16|K[1503]<<24);d=K[1496]|K[1497]<<8|(K[1498]<<16|K[1499]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=a;H[b+13|0]=a>>>8;H[b+14|0]=a>>>16;H[b+15|0]=a>>>24;a=K[1492]|K[1493]<<8|(K[1494]<<16|K[1495]<<24);d=K[1488]|K[1489]<<8|(K[1490]<<16|K[1491]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=a;H[b+5|0]=a>>>8;H[b+6|0]=a>>>16;H[b+7|0]=a>>>24;J[c+8>>2]=-1;a=c+8|4;Gj(a,b,26);d=H[c+23|0];J[e>>2]=J[c+8>>2];e=e+4|0;if((d|0)>=0){d=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=d;J[e+8>>2]=J[a+8>>2];xj(b);break a}Gj(e,J[c+12>>2],J[c+16>>2]);if(H[c+23|0]<0){xj(J[c+12>>2])}xj(b);break a}J[e>>2]=0;J[e+4>>2]=0;J[e+16>>2]=a;J[e+8>>2]=0;J[e+12>>2]=0}fa=c+80|0;a=J[f+24>>2];if(H[f+23|0]<0){xj(J[f+12>>2])}fa=f+32|0;return a|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;J[k+8>>2]=c;h=J[a+12>>2];d=J[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=J[a+16>>2];d=J[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=Xi(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{m=J[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=Cj(e<<2)}h=(g<<2)+j|0;f=l<<2;i=Xi(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;h=h-4|0;J[h>>2]=f;if((d|0)!=(m|0)){continue}break}J[a+16>>2]=e;e=J[a+12>>2];J[a+12>>2]=g;d=J[a+8>>2];J[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=J[e>>2];J[e>>2]=0;if(f){pb(f)}if((d|0)!=(e|0)){continue}break}break b}Ia();C()}Va();C()}J[a+16>>2]=e;J[a+12>>2]=g;J[a+8>>2]=i}if(d){xj(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=J[h>>2];J[h>>2]=0;if(c){pb(c)}if((d|0)!=(h|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}j=P(d,12)+a|0;d=J[j+24>>2];if((d|0)!=J[j+28>>2]){J[d>>2]=b;J[j+24>>2]=d+4;break g}i=J[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=Cj(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=b;d=Wi(d,i,g);J[j+20>>2]=d;J[j+24>>2]=f+4;J[j+28>>2]=d+(e<<2);if(!i){break g}xj(i)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;a=a+(b<<2)|0;b=J[a>>2];J[a>>2]=c;if(b){pb(b)}a=J[k+8>>2];J[k+8>>2]=0;if(a){pb(a)}fa=k+16|0;return}Ia();C()}Va();C()}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c;d=a;a:{if(J[a+12>>2]==(b|0)){break a}a=b;b=J[d+4>>2];e=J[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(H[b-1|0]<0){xj(J[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=a;J[d+4>>2]=e;c=J[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=J[d+4>>2];b:{if((a|0)!=J[d+8>>2]){c:{if(H[c+27|0]>=0){b=J[c+20>>2];J[a>>2]=J[c+16>>2];J[a+4>>2]=b;J[a+8>>2]=J[c+24>>2];break c}Gj(a,J[c+16>>2],J[c+20>>2])}J[d+4>>2]=a+12;break b}g=0;d:{e:{f:{a=J[d+4>>2];e=J[d>>2];f=(a-e|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(J[d+8>>2]-e|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0<k>>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=Cj(P(b,12))}h=P(b,12);b=P(f,12)+g|0;g:{if(H[c+27|0]>=0){f=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=f;J[b+8>>2]=J[c+24>>2];break g}Gj(b,J[c+16>>2],J[c+20>>2]);e=J[d>>2];a=J[d+4>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){a=a-12|0;h=J[a+4>>2];b=b-12|0;J[b>>2]=J[a>>2];J[b+4>>2]=h;J[b+8>>2]=J[a+8>>2];J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if((a|0)!=(e|0)){continue}break}J[d+8>>2]=g;a=J[d+4>>2];J[d+4>>2]=f;e=J[d>>2];J[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(H[a-1|0]<0){xj(J[b>>2])}a=b;if((e|0)!=(b|0)){continue}break}break d}Ia();C()}Va();C()}J[d+8>>2]=g;J[d+4>>2]=f;J[d>>2]=b}if(e){xj(e)}}b=J[c+4>>2];h:{if(b){while(1){a=b;b=J[b>>2];if(b){continue}break h}}while(1){a=J[c+8>>2];b=J[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=J[d>>2];if((J[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+P(i,12)|0;a=H[a+11|0]<0?J[a>>2]:a}return a|0}function Ze(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=fa-16|0;fa=i;J[i>>2]=b;f=-1;a:{if((b|0)==-1){J[i+4>>2]=-1;break a}f=b+1|0;J[i+4>>2]=(f>>>0)%3|0?f:b-2|0;if((b>>>0)%3|0){f=b-1|0;break a}f=b+2|0}J[i+8>>2]=f;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{j=J[(l<<2)+i>>2];if((j|0)!=-1){f=J[J[J[a+8>>2]+12>>2]+(j<<2)>>2];if((f|0)!=-1){break f}}f=0;g=J[a+216>>2];if((g|0)==J[a+220>>2]){break e}while(1){g=P(f,144)+g|0;d=J[g+136>>2];c=J[g+140>>2];g:{if(d>>>0<c>>>0){J[d>>2]=j;J[g+136>>2]=d+4;break g}e=d;d=J[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break d}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0<e>>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=Cj(h<<2)}else{c=0}e=m+c|0;J[e>>2]=j;c=Wi(c,d,k);J[g+132>>2]=c;J[g+136>>2]=e+4;J[g+140>>2]=c+(h<<2);if(!d){break g}xj(d)}f=f+1|0;g=J[a+216>>2];if(f>>>0<(J[a+220>>2]-g|0)/144>>>0){continue}break}break e}if((b|0)==-1|(f>>>0)/3>>>0<n>>>0){break e}f=0;if(J[a+220>>2]==J[a+216>>2]){break e}while(1){h:{if(!je(J[a+368>>2]+(f<<4)|0)){break h}g=J[a+216>>2]+P(f,144)|0;d=J[g+136>>2];c=J[g+140>>2];if(d>>>0<c>>>0){J[d>>2]=j;J[g+136>>2]=d+4;break h}e=d;d=J[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0<e>>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=Cj(h<<2)}else{c=0}e=m+c|0;J[e>>2]=j;c=Wi(c,d,k);J[g+132>>2]=c;J[g+136>>2]=e+4;J[g+140>>2]=c+(h<<2);if(!d){break h}xj(d)}f=f+1|0;if(f>>>0<(J[a+220>>2]-J[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}fa=i+16|0;return 1}Ia();C()}Va();C()}Ia();C()}function Ye(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=fa-16|0;fa=h;J[h>>2]=b;c=-1;a:{if((b|0)==-1){J[h+4>>2]=-1;break a}c=b+1|0;J[h+4>>2]=(c>>>0)%3|0?c:b-2|0;if((b>>>0)%3|0){c=b-1|0;break a}c=b+2|0}J[h+8>>2]=c;b:{c:{while(1){i=J[(k<<2)+h>>2];d:{if(!((i|0)==-1|J[J[J[a+8>>2]+12>>2]+(i<<2)>>2]==-1)){b=0;if(J[a+220>>2]==J[a+216>>2]){break d}while(1){e:{f:{if(!je(J[a+368>>2]+(b<<4)|0)){break f}c=J[a+216>>2]+P(b,144)|0;e=J[c+136>>2];d=J[c+140>>2];if(e>>>0<d>>>0){J[e>>2]=i;J[c+136>>2]=e+4;break f}f=e;e=J[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break e}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0<f>>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=Cj(g<<2)}else{d=0}f=l+d|0;J[f>>2]=i;d=Wi(d,e,j);J[c+132>>2]=d;J[c+136>>2]=f+4;J[c+140>>2]=d+(g<<2);if(!e){break f}xj(e)}b=b+1|0;if(b>>>0<(J[a+220>>2]-J[a+216>>2]|0)/144>>>0){continue}break d}break}Ia();C()}b=0;c=J[a+216>>2];if((c|0)==J[a+220>>2]){break d}while(1){c=P(b,144)+c|0;e=J[c+136>>2];d=J[c+140>>2];g:{if(e>>>0<d>>>0){J[e>>2]=i;J[c+136>>2]=e+4;break g}f=e;e=J[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break c}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0<f>>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=Cj(g<<2)}else{d=0}f=l+d|0;J[f>>2]=i;d=Wi(d,e,j);J[c+132>>2]=d;J[c+136>>2]=f+4;J[c+140>>2]=d+(g<<2);if(!e){break g}xj(e)}b=b+1|0;c=J[a+216>>2];if(b>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}k=k+1|0;if((k|0)!=3){continue}break}fa=h+16|0;return 1}Ia();C()}Va();C()}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=fa-16|0;fa=m;l=J[b+80>>2];e=K[c+24|0];a=P(l,e);a:{b:{c:{d:{b=J[c+28>>2];if(!(!K[c+84|0]|(b|0)!=1&(b|0)!=2)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;if(a){if((a|0)<0){break d}f=Cj(a);h=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=h;J[d+4>>2]=h;J[d>>2]=f;b=1;break a}if(e){f=Cj(e);Xi(f,0,e)}e:{i=J[d+4>>2];b=J[d>>2];g=i-b|0;f:{if(g>>>0<a>>>0){k=a-g|0;j=J[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=Xi(i,0,k)+k|0,J[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0<j>>>0?j:a;j=Cj(i);Xi(j+g|0,0,k);g=Wi(j,b,g);J[d+8>>2]=g+i;J[d+4>>2]=a+g;J[d>>2]=g;if(!b){break f}xj(b);break f}if(a>>>0>=g>>>0){break f}J[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!xg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!xg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){H[J[d>>2]+h|0]=K[a+f|0];H[(J[d>>2]+h|0)+1|0]=K[(a|1)+f|0];H[(J[d>>2]+h|0)+2|0]=K[(a|2)+f|0];H[(J[d>>2]+h|0)+3|0]=K[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){H[J[d>>2]+h|0]=K[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}Ia();C()}Ia();C()}if(!f){break a}}xj(f)}fa=m+16|0;return b&1}function Rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=fa-16|0;fa=m;l=J[b+80>>2];e=K[c+24|0];a=P(l,e);a:{b:{c:{d:{b=J[c+28>>2];if(!(!K[c+84|0]|(b|0)!=1&(b|0)!=2)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;if(a){if((a|0)<0){break d}f=Cj(a);h=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=h;J[d+4>>2]=h;J[d>>2]=f;b=1;break a}if(e){f=Cj(e);Xi(f,0,e)}e:{i=J[d+4>>2];b=J[d>>2];g=i-b|0;f:{if(g>>>0<a>>>0){k=a-g|0;j=J[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=Xi(i,0,k)+k|0,J[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0<j>>>0?j:a;j=Cj(i);Xi(j+g|0,0,k);g=Wi(j,b,g);J[d+8>>2]=g+i;J[d+4>>2]=a+g;J[d>>2]=g;if(!b){break f}xj(b);break f}if(a>>>0>=g>>>0){break f}J[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!wg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!wg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){H[J[d>>2]+h|0]=K[a+f|0];H[(J[d>>2]+h|0)+1|0]=K[(a|1)+f|0];H[(J[d>>2]+h|0)+2|0]=K[(a|2)+f|0];H[(J[d>>2]+h|0)+3|0]=K[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){H[J[d>>2]+h|0]=K[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}Ia();C()}Ia();C()}if(!f){break a}}xj(f)}fa=m+16|0;return b&1}function Td(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[b+16>>2];h=J[c+4>>2]-k|0;e=J[c>>2]-k|0;J[c>>2]=e;f=h;J[c+4>>2]=f;l=J[b+16>>2];f=f>>31;g=(h^f)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=P(j,l);f=(e<<1)-n|0;i=(P(g,j)|0)>=0;e=P(g,l);f=((i?0-f|0:f)+e|0)/2|0;J[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;J[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?3:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=2;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=3;break e}g=0-e|0;i=1}J[c>>2]=f;J[c+4>>2]=g;j=0}e=J[d>>2]+f|0;h=J[b+16>>2];k:{if((e|0)>(h|0)){e=e-J[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=J[b+4>>2]+e|0}c=J[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-J[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=J[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{o:{p:{d=4-i|0;switch((d>>>0<4?d:0-i|0)-1|0){case 2:break n;case 1:break o;case 0:break p;default:break m}}b=0-e|0;e=c;break m}b=0-c|0;e=0-e|0;break m}b=e;e=0-c|0}q:{if(m){c=b;break q}r:{s:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break r}d=1;c=-1;f=-1;if(e){break s}break r}d=-1;c=-1;f=-1;if((b|0)<=0){break r}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=P(f,h);d=d-e|0;f=(P(c,f)|0)>=0;g=f?0-d|0:d;d=P(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;J[b>>2]=e+k;J[b+4>>2]=c+k}function Pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=fa-32|0;fa=j;J[j+28>>2]=0;a:{b:{if(L[b+38>>1]<=513){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=J[b+12>>2];if(M[b+8>>2]<e>>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break b}if(!Gc(1,j+28|0,b)){break a}f=J[j+28>>2]}if(!f){break a}c=J[J[a+48>>2]+64>>2];if(J[c+4>>2]-J[c>>2]>>2>>>0<f>>>0){break a}Hc(a+76|0,f);c=j+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c:{if(!he(c,b)){break c}h=1;while(1){d=1<<i;e=je(c);g=J[a+76>>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=J[g>>2]&(d^-1)}else{d=d|J[g>>2]}h=e^1;J[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=J[b+8>>2];e=J[b+12>>2];g=e;e=J[b+20>>2];h=e;f=J[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=J[b>>2];d=l+f|0;k=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0<e>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(k|0)){break c}J[a+16>>2]=d;J[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0<k>>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break c}J[a+24>>2]=b-1}}fa=j+32|0;return m|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=fa-32|0;fa=j;J[j+28>>2]=0;a:{b:{if(L[b+38>>1]<=513){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=J[b+12>>2];if(M[b+8>>2]<e>>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break b}if(!Gc(1,j+28|0,b)){break a}f=J[j+28>>2]}if(!f){break a}c=J[a+48>>2];if(J[c+4>>2]-J[c>>2]>>2>>>0<f>>>0){break a}Hc(a+76|0,f);c=j+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c:{if(!he(c,b)){break c}h=1;while(1){d=1<<i;e=je(c);g=J[a+76>>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=J[g>>2]&(d^-1)}else{d=d|J[g>>2]}h=e^1;J[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=J[b+8>>2];e=J[b+12>>2];g=e;e=J[b+20>>2];h=e;f=J[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=J[b>>2];d=l+f|0;k=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0<e>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(k|0)){break c}J[a+16>>2]=d;J[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0<k>>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break c}J[a+24>>2]=b-1}}fa=j+32|0;return m|0}function xd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;h=J[m>>2];g=J[a+36>>2]-h>>2;a:{if(g>>>0<e>>>0){La(m,e-g|0);f=J[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}J[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=Xi(Cj(g),0,g);b:{if((f|0)<=0){break b}h=J[a+32>>2];while(1){f=i<<2;g=J[f+n>>2];j=J[a+16>>2];c:{if((g|0)>(j|0)){J[f+h>>2]=j;break c}f=f+h|0;j=J[a+12>>2];if((j|0)>(g|0)){J[f>>2]=j;break c}J[f>>2]=g}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=J[b+g>>2]+J[g+h>>2]|0;J[f>>2]=g;d:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break d}g=g+J[a+20>>2]|0}J[f>>2]=g}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=J[m>>2];i=0;while(1){f=i<<2;h=J[f+q>>2];k=J[a+16>>2];f:{if((h|0)>(k|0)){J[f+j>>2]=k;break f}f=f+j|0;k=J[a+12>>2];if((k|0)>(h|0)){J[f>>2]=k;break f}J[f>>2]=h}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=J[h+l>>2]+J[h+j>>2]|0;J[f>>2]=h;g:{if((h|0)>J[a+16>>2]){h=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break g}h=h+J[a+20>>2]|0}J[f>>2]=h}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}xj(n);return 1}function lf(a,b){var c=0,d=0,e=0,f=0,g=0;d=-1;f=-1;a:{if((b|0)==-1){break a}c=b+1|0;d=(c>>>0)%3|0?c:b-2|0;f=b-1|0;if((b>>>0)%3|0){break a}f=b+2|0}b:{c:{d:{e:{f:{g:{e=J[a+184>>2];switch(e|0){case 7:break d;case 3:break e;case 5:break f;case 0:case 1:break g;default:break b}}g=J[a+148>>2];c=-1;e=1;d=((d|0)!=-1?J[J[g>>2]+(d<<2)>>2]:c)<<2;c=J[a+156>>2];d=d+c|0;J[d>>2]=J[d>>2]+1;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+1;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+1;e=2;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+1;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+2;e=1;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+2;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+2;e=2;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0}J[c>>2]=J[c>>2]+e;e=J[a+184>>2]}h:{switch(e|0){case 0:case 5:f=J[a+156>>2];c=-1;i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;c=-1;if((b|0)==-1){break i}c=J[J[J[a+148>>2]>>2]+(b<<2)>>2]}if(J[f+(c<<2)>>2]<=5){J[a+188>>2]=5;return}J[a+188>>2]=0;return;default:break h}}J[a+188>>2]=-1}
function Ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=J[b+80>>2];b=K[c+24|0];g=P(j,b);a:{if(!b){break a}h=b<<2;f=Cj(h);a=f;k=b&7;if(k){while(1){J[a>>2]=-1073741824;a=a+4|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((b-1&1073741823)>>>0<7){break a}e=f+h|0;while(1){J[a+24>>2]=-1073741824;J[a+28>>2]=-1073741824;J[a+16>>2]=-1073741824;J[a+20>>2]=-1073741824;J[a+8>>2]=-1073741824;J[a+12>>2]=-1073741824;J[a>>2]=-1073741824;J[a+4>>2]=-1073741824;a=a+32|0;if((e|0)!=(a|0)){continue}break}}e=J[d>>2];a=J[d+4>>2]-e>>2;b:{if(a>>>0<g>>>0){La(d,g-a|0);break b}if(a>>>0<=g>>>0){break b}J[d+4>>2]=e+(g<<2)}c:{d:{e:{if(!j){i=1;break e}if(!b){a=0;while(1){if(!Rc(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break e}a=a+1|0;i=j>>>0<=a>>>0;if((a|0)!=(j|0)){continue}break}break e}n=b&252;k=b&3;o=b>>>0<4;e=0;b=0;while(1){if(!Rc(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],f)){break e}m=J[d>>2];i=0;a=0;l=0;if(!o){while(1){g=(e<<2)+m|0;h=a<<2;N[g>>2]=N[h+f>>2];N[g+4>>2]=N[(h|4)+f>>2];N[g+8>>2]=N[(h|8)+f>>2];N[g+12>>2]=N[(h|12)+f>>2];a=a+4|0;e=e+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(k){while(1){N[(e<<2)+m>>2]=N[(a<<2)+f>>2];a=a+1|0;e=e+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=b+1|0;i=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break d}if(!f){break c}}xj(f)}return i|0}function ec(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa-16|0;fa=e;h=1;i=ka[J[J[a>>2]+24>>2]](a)|0;a:{if((i|0)<=0){break a}l=a+48|0;h=0;while(1){b:{c:{if(!J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2]){break c}j=f<<2;g=J[j+J[a+36>>2]>>2];b=J[g+8>>2];k=Ub(g);if(!k){break c}g=J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2];J[e+12>>2]=J[b+56>>2];b=Cj(32);J[e>>2]=b;J[e+4>>2]=24;J[e+8>>2]=-2147483616;c=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+24|0]=0;b=Jb(g,e+12|0,e);if(H[e+11|0]<0){xj(J[e>>2])}if(!b){break c}ab(J[J[J[a+36>>2]+j>>2]+8>>2],k);break b}b=J[J[a+36>>2]+(f<<2)>>2];if(!(ka[J[J[b>>2]+24>>2]](b,l)|0)){break a}}f=f+1|0;h=(i|0)<=(f|0);if((f|0)!=(i|0)){continue}break}}fa=e+16|0;return h|0}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];a:{if(M[b+8>>2]<e>>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break a}d=d+J[b>>2]|0;h=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((h|0)<0){break a}Hc(a+76|0,h);c=k;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;b:{if(!he(c,b)){break b}if(h){g=1;while(1){d=1<<i;e=je(c);f=J[a+76>>2]+(i>>>3&536870908)|0;e=e^g;if(e&1){d=J[f>>2]&(d^-1)}else{d=d|J[f>>2]}g=e^1;J[f>>2]=d;i=i+1|0;if((h|0)!=(i|0)){continue}break}}i=0;c=J[b+8>>2];e=J[b+12>>2];f=e;e=J[b+20>>2];g=e;l=J[b+16>>2];d=l+4|0;e=d>>>0<4?e+1|0:e;h=d;if(d>>>0>c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}m=J[b>>2];d=m+l|0;j=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=e;d=c;c=g;e=l+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0<e>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break b}d=h+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(j|0)){break b}J[a+16>>2]=d;J[a+12>>2]=j;c=(d>>31)-((j>>31)+(d>>>0<j>>>0)|0)|0;b=d-j|0;if(!c&b>>>0>2147483646|c){break b}i=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break b}J[a+24>>2]=b-1}}fa=k+16|0;return i|0}function Vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=5&(f|0)!=6)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<2;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>2;e:{if(f>>>0<b>>>0){La(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Cg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Cg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;J[f>>2]=J[i+a>>2];J[f+4>>2]=J[(i|4)+a>>2];J[f+8>>2]=J[(i|8)+a>>2];J[f+12>>2]=J[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){J[(g<<2)+n>>2]=J[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=5&(f|0)!=6)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<2;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>2;e:{if(f>>>0<b>>>0){La(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Bg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Bg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;J[f>>2]=J[i+a>>2];J[f+4>>2]=J[(i|4)+a>>2];J[f+8>>2]=J[(i|8)+a>>2];J[f+12>>2]=J[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){J[(g<<2)+n>>2]=J[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=3&(f|0)!=4)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<1;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>1;e:{if(f>>>0<b>>>0){yg(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Ag(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Ag(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;I[f>>1]=L[i+a>>1];I[f+2>>1]=L[(i|2)+a>>1];I[f+4>>1]=L[(i|4)+a>>1];I[f+6>>1]=L[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){I[(g<<1)+n>>1]=L[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=3&(f|0)!=4)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<1;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>1;e:{if(f>>>0<b>>>0){yg(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!zg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!zg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;I[f>>1]=L[i+a>>1];I[f+2>>1]=L[(i|2)+a>>1];I[f+4>>1]=L[(i|4)+a>>1];I[f+6>>1]=L[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){I[(g<<1)+n>>1]=L[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function nf(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(J[a+168>>2]){case 0:case 1:e=J[a+148>>2];c=1;b=J[a+156>>2];g=b+(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)|0;J[g>>2]=J[g>>2]+1;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+1;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+1;c=2;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+1;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+2;c=1;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+2;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+2;c=2;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0}J[b>>2]=J[b>>2]+c}c=a;b=J[J[a+156>>2]+(((f|0)==-1?-1:J[J[J[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=J[a+180>>2];a=J[a+176>>2];J[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;f=J[b+4>>2];g=J[b>>2];e=f-g|0;c=(e|0)/20|0;a:{if((f|0)==(g|0)){break a}b:{if(c>>>0<214748365){f=Cj(e);J[a+20>>2]=f;J[a+16>>2]=f;J[a+24>>2]=f+P(c,20);c=J[b>>2];g=J[b+4>>2];if((c|0)==(g|0)){break a}b=f;while(1){e=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=e;J[b+16>>2]=J[c+16>>2];e=J[c+12>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=e;b=b+20|0;c=c+20|0;if((g|0)!=(c|0)){continue}break}g=0;J[a+28>>2]=0;J[a+20>>2]=b;if((b|0)!=(f|0)){b=(b-f|0)/20|0;e=b>>>0<=1?1:b;h=e&3;b=0;c=0;if(e-1>>>0>=3){i=e&-4;e=0;while(1){d=f+P(b,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|1,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|2,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|3,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;b=b+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}if(h){while(1){e=f+P(b,20)|0;e=P(J[e+16>>2],J[e+12>>2]);c=c>>>0>e>>>0?c:e;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}if(!c){J[a+12>>2]=0;return a}if((c|0)<0){break b}g=Cj(c);b=Xi(g,0,c);f=b+c|0;J[a+8>>2]=f;J[a+4>>2]=f;J[a>>2]=b}J[a+12>>2]=g;return a}Ia();C()}Ia();C()}J[a+28>>2]=0;J[a+12>>2]=0;return a}function hg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=J[a+32>>2];f=J[b+8>>2];h=J[b+12>>2];g=J[b+20>>2];c=J[b+16>>2];e=0;b:{if((h|0)<=(g|0)&c>>>0>=f>>>0|(g|0)>(h|0)){break b}f=K[J[b>>2]+c|0];e=b;b=g;c=c+1|0;b=c?b:b+1|0;J[e+16>>2]=c;J[e+20>>2]=b;c:{if(!f){break c}while(1){if(ka[J[J[a>>2]+16>>2]](a,d)|0){d=d+1|0;if((f|0)!=(d|0)){continue}break c}break}return 0}d=J[a+8>>2];b=J[a+12>>2];if((d|0)!=(b|0)){while(1){c=J[d>>2];if(!(ka[J[J[c>>2]+8>>2]](c,a,J[a+4>>2])|0)){break a}d=d+4|0;if((b|0)!=(d|0)){continue}break}}d:{if(!f){break d}d=0;while(1){b=J[J[a+8>>2]+(d<<2)>>2];if(!(ka[J[J[b>>2]+12>>2]](b,J[a+32>>2])|0)){break a}d=d+1|0;if((f|0)!=(d|0)){continue}break}if(!f){break d}i=a+20|0;b=0;while(1){d=0;j=b<<2;c=J[j+J[a+8>>2]>>2];k=ka[J[J[c>>2]+24>>2]](c)|0;if((k|0)>0){while(1){c=J[J[a+8>>2]+j>>2];c=ka[J[J[c>>2]+20>>2]](c,d)|0;e=J[a+20>>2];g=J[a+24>>2]-e>>2;e:{if(c>>>0<g>>>0){break e}h=c+1|0;if(h>>>0>g>>>0){La(i,h-g|0);e=J[i>>2];break e}if(g>>>0<=h>>>0){break e}J[a+24>>2]=(h<<2)+e}J[(c<<2)+e>>2]=b;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}}e=0;if(!(ka[J[J[a>>2]+28>>2]](a)|0)){break b}e=ka[J[J[a>>2]+32>>2]](a)|0}return e|0}return 0}function he(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;f=J[b+20>>2];d=J[b+12>>2];c=J[b+16>>2];a:{if((f|0)>=(d|0)&c>>>0>=M[b+8>>2]|(d|0)<(f|0)){break a}H[a+12|0]=K[c+J[b>>2]|0];c=J[b+20>>2];g=c;f=J[b+16>>2];e=f+1|0;c=e?c:c+1|0;J[b+16>>2]=e;J[b+20>>2]=c;b:{if(L[b+38>>1]<=513){d=J[b+8>>2];c=J[b+12>>2];h=c;c=g;f=f+5|0;c=f>>>0<5?c+1|0:c;if(d>>>0<f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}e=e+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;break b}if(!ie(1,i+12|0,b)){break a}f=J[b+16>>2];c=J[b+20>>2];d=J[b+8>>2];h=J[b+12>>2];e=J[i+12>>2]}g=d-f|0;d=h-(c+(d>>>0<f>>>0)|0)|0;if((d|0)<=0&e>>>0>g>>>0|(d|0)<0|(e|0)<=0){break a}j=J[b>>2]+f|0;J[a>>2]=j;c:{d:{h=e-1|0;g=h+j|0;d=K[g|0];e:{if(d>>>0<=63){J[a+4>>2]=h;g=K[g|0]&63;break e}f:{switch((d>>>6|0)-1|0){case 1:break d;case 0:break f;default:break a}}if(e>>>0<2){break a}d=e-2|0;J[a+4>>2]=d;d=d+j|0;g=K[d+1|0]<<8&16128|K[d|0]}J[a+8>>2]=g+4096;break c}if(e>>>0<3){break a}d=e-3|0;J[a+4>>2]=d;g=a;a=d+j|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];J[g+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=e+f|0;c=a>>>0<e>>>0?c+1|0:c;J[b+16>>2]=a;J[b+20>>2]=c;k=1}fa=i+16|0;return k}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Pi(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{b=c;c=J[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0<h>>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=Cj(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=Wi(j,c,i);J[a+88>>2]=f;J[a+84>>2]=b;J[a+92>>2]=b+(e<<2);if(c){xj(c)}break b}Ia();C()}Va();C()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function wi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0<e>>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=Cj(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}Ia();C()}function Vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=Cj(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){J[d>>2]=J[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[a+8>>2]=(h<<2)+k;J[a+4>>2]=g;J[a>>2]=f;if(i){xj(i)}return}Ia();C()}Va();C()}function re(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=fa-16|0;fa=h;a:{b:{if(L[b+38>>1]<=511){e=J[b+8>>2];c=J[b+12>>2];i=c;f=J[b+20>>2];d=J[b+16>>2];g=d+8|0;f=g>>>0<8?f+1|0:f;if(e>>>0<g>>>0&(c|0)<=(f|0)|(c|0)<(f|0)){break a}d=d+J[b>>2]|0;c=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=K[d+4|0]|K[d+5|0]<<8|(K[d+6|0]<<16|K[d+7|0]<<24);J[b+16>>2]=g;J[b+20>>2]=f;break b}if(!ve(1,h+8|0,b)){break a}g=J[b+16>>2];f=J[b+20>>2];e=J[b+8>>2];i=J[b+12>>2];c=J[h+8>>2];d=J[h+12>>2]}j=e-g|0;e=i-(f+(e>>>0<g>>>0)|0)|0;if((e|0)==(d|0)&c>>>0>j>>>0|d>>>0>e>>>0){break a}e=d+f|0;f=c+g|0;e=f>>>0<g>>>0?e+1|0:e;J[b+16>>2]=f;J[b+20>>2]=e;if((c|0)<=0){break a}b=J[b>>2]+g|0;J[a+40>>2]=b;g=c-1|0;e=b+g|0;f=K[e|0];c:{if(f>>>0<=63){J[a+44>>2]=g;b=K[e|0]&63;break c}d:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}c=c-2|0;J[a+44>>2]=c;b=b+c|0;b=K[b+1|0]<<8&16128|K[b|0];break c;case 1:if(c>>>0<3){break a}c=c-3|0;J[a+44>>2]=c;b=b+c|0;b=K[b+1|0]<<8|K[b+2|0]<<16&4128768|K[b|0];break c;default:break d}}c=c-4|0;J[a+44>>2]=c;b=b+c|0;b=(K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24))&1073741823}J[a+48>>2]=b+16384;k=b>>>0<4177920}fa=h+16|0;return k}function Ff(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=J[(J[J[a+8>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2];a:{h=J[J[a+12>>2]+4>>2];e=J[h+4>>2];if((e|0)!=J[h+8>>2]){J[e>>2]=j;J[h+4>>2]=e+4;break a}b:{i=J[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0<g>>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=Cj(g<<2)}else{f=0}d=k+f|0;J[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=j;J[h>>2]=d;if(i){xj(i)}break a}Ia();C()}Va();C()}c:{d:{h=J[a+4>>2];e=J[h+4>>2];e:{if((e|0)!=J[h+8>>2]){J[e>>2]=c;J[h+4>>2]=e+4;break e}i=J[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0<g>>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=Cj(g<<2)}else{f=0}d=f+(j<<2)|0;J[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=c;J[h>>2]=d;if(!i){break e}xj(i)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}Ia();C()}Va();C()}function Ba(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=J[a+8>>2];i=J[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}k=J[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=Cj(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=Vi(g,c,h)+h|0}d=Wi(e,k,j);c=i-b|0;b=Wi(g,b,c);J[a+8>>2]=e+f;J[a+4>>2]=b+c;J[a>>2]=d;if(k){xj(k)}return}Ia();C()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;Wi(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function Vi(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){_(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0<e>>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0<c>>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0<a>>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0<e>>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function xb(a,b){var c=0,d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+116|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;c=1;break a}c=b<<2;e=Cj(c);J[a+92>>2]=e;f=c+e|0;J[a+100>>2]=f;Xi(e,0,c);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;e=Cj(c);J[a+104>>2]=e;f=c+e|0;J[a+112>>2]=f;Xi(e,0,c);J[a+108>>2]=f;e=Cj(c);J[d>>2]=e;f=c+e|0;J[d+8>>2]=f;Xi(e,0,c);J[d+4>>2]=f;c=b<<5|1}Hb(g,c,d);e=J[d>>2];if(e){J[d+4>>2]=e;xj(e)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;e=Cj(b);J[d>>2]=e;f=b+e|0;J[d+8>>2]=f;Xi(e,0,b);J[d+4>>2]=f}Hb(a+128|0,c,d);b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}fa=d+16|0;return a}function tf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=11532;d=a+232|0;b=J[d+196>>2];if(b){J[d+200>>2]=b;xj(b)}c=J[d+184>>2];if(c){b=c;e=J[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;xj(f)}e=b;if((b|0)!=(c|0)){continue}break}b=J[d+184>>2]}J[d+188>>2]=c;xj(b)}b=J[d+156>>2];if(b){J[d+160>>2]=b;xj(b)}c=J[d+136>>2];J[d+136>>2]=0;if(c){e=c-4|0;b=J[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}b=J[a+144>>2];if(b){while(1){c=J[b>>2];xj(b);b=c;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function fb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=Cj(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=Wi(k,i,j);J[a+4>>2]=e;J[a>>2]=b;J[a+8>>2]=b+(g<<2);if(i){xj(i)}return}Ia();C()}Va();C()}function Kj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(K[a+11|0]>>>7|0){d=J[a+4>>2]}else{d=K[a+11|0]&127}if(d>>>0<b>>>0){h=fa-16|0;fa=h;b=b-d|0;if(b){g=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){d=J[a+4>>2]}else{d=K[a+11|0]&127}i=d+b|0;if(g-d>>>0<b>>>0){a:{e=fa-16|0;fa=e;c=i-g|0;if(c>>>0<=2147483631-g>>>0){if(K[a+11|0]>>>7|0){f=J[a>>2]}else{f=a}if(g>>>0<1073741799){J[e+12>>2]=g<<1;J[e>>2]=c+g;c=fa-16|0;fa=c;fa=c+16|0;c=e+12|0;c=J[(M[e>>2]<M[c>>2]?c:e)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Aj(e,c);c=J[e>>2];if(d){zj(c,f,d)}if((g|0)!=10){xj(f)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;fa=e+16|0;break a}eg();C()}}f=d;if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}f=f+d|0;e=fa-16|0;fa=e;H[e+15|0]=0;while(1){if(b){H[f|0]=K[e+15|0];b=b-1|0;f=f+1|0;continue}break}fa=e+16|0;Bj(a,i);H[h+15|0]=0;H[d+i|0]=K[h+15|0]}fa=h+16|0;return}if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}f=fa-16|0;fa=f;Bj(a,b);H[f+15|0]=0;H[b+d|0]=K[f+15|0];fa=f+16|0}function Ci(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;a:{b:{if(b){J[a+88>>2]=0;J[a+92>>2]=0;d=J[a+84>>2];J[a+84>>2]=0;if(d){xj(d)}J[a+76>>2]=0;J[a+80>>2]=0;d=J[a+72>>2];J[a+72>>2]=0;if(d){xj(d)}d=J[b>>2];c=J[b+4>>2];H[g+15|0]=0;Oe(a,c-d>>2,g+15|0);d=J[b+28>>2];c=J[b+24>>2];H[g+14|0]=0;Oe(a+12|0,d-c>>2,g+14|0);wi(a+28|0,J[b+4>>2]-J[b>>2]>>2,13756);c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;e=J[a+52>>2];c:{if(f>>>0<=J[a+60>>2]-e>>2>>>0){break c}if((c|0)<0){break b}d=J[a+56>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(e|0)){continue}break}}J[a+60>>2]=f;J[a+56>>2]=h;J[a+52>>2]=c;if(!e){break c}xj(e)}c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;e=J[a+40>>2];d:{if(f>>>0<=J[a+48>>2]-e>>2>>>0){break d}if((c|0)<0){break a}d=J[a+44>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(e|0)){continue}break}}J[a+48>>2]=f;J[a+44>>2]=h;J[a+40>>2]=c;if(!e){break d}xj(e)}H[a+24|0]=1;J[a+64>>2]=b}fa=g+16|0;return}Ia();C()}Ia();C()}function tb(a,b){var c=0,d=0,e=0,f=0,g=0;c=fa-16|0;fa=c;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+52>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+72>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+92>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+104>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;g=a+120|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+108>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;e=1;break a}e=b<<2;d=Cj(e);J[a+96>>2]=d;f=d+e|0;J[a+104>>2]=f;Xi(d,0,e);J[a+116>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0;J[a+100>>2]=f;d=Cj(e);J[a+108>>2]=d;f=d+e|0;J[a+116>>2]=f;Xi(d,0,e);J[a+112>>2]=f;d=Cj(e);J[c>>2]=d;f=d+e|0;J[c+8>>2]=f;Xi(d,0,e);J[c+4>>2]=f;e=b<<5|1}Hb(g,e,c);d=J[c>>2];if(d){J[c+4>>2]=d;xj(d)}J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;if(b){b=b<<2;d=Cj(b);J[c>>2]=d;f=b+d|0;J[c+8>>2]=f;Xi(d,0,b);J[c+4>>2]=f}Hb(a+132|0,e,c);b=J[c>>2];if(b){J[c+4>>2]=b;xj(b)}fa=c+16|0;return a}function oe(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function pk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=S(d)-S(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}ja=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>mk(d)|0;ja=0;break a}if(!(c-1&c)){break f}h=(S(c)+33|0)-S(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}ja=0;a=(b>>>0)/(d>>>0)|0;break a}e=S(d)-S(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=mk(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<<c)-1&b)<<32-c|a>>>c}ja=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<<f)-1&b)<<32-f|a>>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<<f;a=0}else{b=(1<<f)-1&a>>>32-f|b<<f;a=a<<f}if(h){f=d-1|0;g=c-1|0;m=(g|0)!=-1?f+1|0:f;while(1){j=e<<1|i>>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0<k>>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}ja=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ja=b}return a}function Jd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=J[b+16>>2];h=J[c+4>>2]-k|0;e=J[c>>2]-k|0;J[c>>2]=e;J[c+4>>2]=h;g=J[b+16>>2];f=h>>31;i=(f^h)-f|0;f=e>>31;l=g>>>0>=i+((f^e)-f|0)>>>0;a:{if(l){f=h;break a}b:{c:{if((e|0)>=0){f=1;i=1;if((h|0)>=0){break b}j=1;f=-1;i=-1;if(e){break c}break b}j=-1;f=-1;i=-1;if((h|0)<=0){break b}}f=(h|0)<=0?-1:1;i=j}j=P(g,i);e=(e<<1)-j|0;i=(P(f,i)|0)>=0;g=P(f,g);f=((i?0-e|0:e)+g|0)/2|0;J[c+4>>2]=f;m=c;c=(h<<1)-g|0;e=(j+(i?0-c|0:c)|0)/2|0;J[m>>2]=e;g=J[b+16>>2]}c=J[d+4>>2]+f|0;e=J[d>>2]+e|0;d:{if((g|0)<(e|0)){e=e-J[b+4>>2]|0;break d}if((0-g|0)<=(e|0)){break d}e=J[b+4>>2]+e|0}e:{if((c|0)>(g|0)){c=c-J[b+4>>2]|0;break e}if((0-g|0)<=(c|0)){break e}c=J[b+4>>2]+c|0}f:{if(l){g=c;break f}g:{h:{if((e|0)>=0){b=1;f=1;if((c|0)>=0){break g}d=1;b=-1;f=-1;if(e){break h}break g}d=-1;b=-1;f=-1;if((c|0)<=0){break g}}b=(c|0)<=0?-1:1;f=d}d=P(f,g);h=(e<<1)-d|0;f=(P(b,f)|0)>=0;b=P(b,g);g=((f?0-h|0:h)+b|0)/2|0;b=(c<<1)-b|0;e=(d+(f?0-b|0:b)|0)/2|0}c=a;J[c>>2]=e+k;J[c+4>>2]=g+k}function Df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=h;J[e>>2]=c;if(!d){break b}xj(d)}b=J[a+12>>2];c=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=J[d>>2];c=J[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){fb(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){c=1;break d}b=0;while(1){c=Ef(e,J[(b<<2)+d>>2]);if(!c){break d}f=J[a+116>>2];d=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-d>>2>>>0){continue}break}break d}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=Ef(e,P(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}fa=g+16|0;return c|0}Ia();C()}function Ka(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){e=J[c+8>>2];J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);f=a+8|0;d=K[b+24|0];h=J[a+8>>2];g=J[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){La(f,d-g|0);d=K[b+24|0];e=J[c+8>>2];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=J[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;J[g+f>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+(g|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+(g|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+(g|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;J[f+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function og(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}f=J[a+4>>2];b=J[a>>2];d=f-b|0;if(c>>>0>d>>>0){g=c-d|0;e=J[a+8>>2];if(g>>>0<=e-f>>>0){i=a,j=Xi(f,0,g)+g|0,J[i+4>>2]=j;break c}if((c|0)<0){break b}f=e-b|0;e=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0<e>>>0?e:c;e=Cj(f);Xi(e+d|0,0,g);d=Wi(e,b,d);J[a+8>>2]=d+f;J[a+4>>2]=c+d;J[a>>2]=d;if(!b){break c}xj(b);break c}if(c>>>0>=d>>>0){break c}J[a+4>>2]=b+c;break c}if((d|0)<0){break a}e=J[a+4>>2];f=J[a>>2];g=e-f|0;d:{if((d|0)<=0&c>>>0<=g>>>0|(d|0)<0){break d}if(c>>>0>g>>>0){d=c-g|0;h=J[a+8>>2];if(d>>>0<=h-e>>>0){i=a,j=Xi(e,0,d)+d|0,J[i+4>>2]=j;break d}if((c|0)<0){break b}e=h-f|0;h=e<<1;e=e>>>0>=1073741823?2147483647:c>>>0<h>>>0?h:c;h=Cj(e);Xi(h+g|0,0,d);d=Wi(h,f,g);J[a+8>>2]=d+e;J[a+4>>2]=c+d;J[a>>2]=d;if(!f){break d}xj(f);break d}if(c>>>0>=g>>>0){break d}J[a+4>>2]=c+f}if(!c){break c}Wi(J[a>>2],b,c)}b=J[a+28>>2];c=J[a+24>>2]+1|0;b=c?b:b+1|0;J[a+24>>2]=c;J[a+28>>2]=b;g=1;break a}Ia();C()}return g}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;n=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0<d>>>0){Vb(n,d-e|0,12420);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[n>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function xa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=J[d+80>>2];e=fa-48|0;fa=e;a=J[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<<a;J[e+20>>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;k=J[J[b>>2]>>2];l=J[b+48>>2];f=J[b+40>>2];i=J[b+44>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=nk(f,i,g,0);i=g;g=g+l|0;Vi(h,g+k|0,f);ya(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+j>>2]=J[e+12>>2];J[(f|4)+j>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0<J[c+4>>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=J[J[b>>2]>>2];i=J[b+48>>2];c=J[b+40>>2];f=nk(c,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;Vi(k,f+l|0,c);ya(e+16|0,k,e+12|0,e+8|0);c=d<<2;J[c+j>>2]=J[e+12>>2];J[(c|4)+j>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}fa=e+48|0;return m>>>0<29|0}function Oa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=fa-16|0;fa=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=Cj(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<<d^-1;if((d|0)>0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}Vi(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){Vi(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;Vi(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}Vi(J[J[c+64>>2]>>2]+b|0,f,e)}xj(f)}fa=k+16|0;return o|0}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+108>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0<e>>>0){Vb(m,e-f|0,12420);d=J[a+108>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+112>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+68>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0<e>>>0){Vb(m,e-f|0,12420);d=J[a+68>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+72>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=fa-16|0;fa=d;a:{f=J[a+4>>2];b:{if(f>>>0<b>>>0){e=b-f|0;c=J[a+8>>2];g=c<<5;c:{if(!(e>>>0>g>>>0|f>>>0>g-e>>>0)){J[a+4>>2]=b;h=f&31;b=J[a>>2]+(f>>>3&536870908)|0;break c}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0<c>>>0?c:b}else{b=2147483647}Jc(d,b);f=J[a+4>>2];J[d+4>>2]=f+e;i=J[a>>2];b=J[d>>2];d:{if((f|0)<=0){break d}c=f>>>5|0;if(f>>>0>=32){Wi(b,i,c<<2)}g=c<<2;b=g+b|0;h=f&31;if(h){c=-1>>>32-h|0;J[b>>2]=J[b>>2]&(c^-1)|J[i+g>>2]&c}i=J[a>>2]}J[a>>2]=J[d>>2];J[d>>2]=i;c=J[a+4>>2];J[a+4>>2]=J[d+4>>2];J[d+4>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[d+8>>2];J[d+8>>2]=c;if(!i){break c}xj(i)}if(!e){break b}if(h){c=32-h|0;a=c>>>0<e>>>0?c:e;J[b>>2]=J[b>>2]&(-1<<h&-1>>>c-a^-1);e=e-a|0;b=b+4|0}a=e>>>5|0;if(e>>>0>=32){Xi(b,0,a<<2)}if((e&-32)==(e|0)){break b}a=(a<<2)+b|0;J[a>>2]=J[a>>2]&(-1>>>32-(e&31)^-1);break b}J[a+4>>2]=b}fa=d+16|0;return}Ia();C()}function Qa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+12>>2];i=J[a+8>>2];d=e-i>>2;b=K[b+24|0];a:{if(d>>>0<b>>>0){La(a+8|0,b-d|0);i=J[a+8>>2];e=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;J[a+12>>2]=e}b=0;f=J[c+8>>2];h=J[c+12>>2];j=J[c+20>>2];e=e-i|0;d=J[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0<g>>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}Vi(i,d+J[c>>2]|0,e);d=J[c+20>>2];g=e;e=e+J[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;f=J[c+8>>2];h=J[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0<g>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=d;f=d;e=J[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;h=J[c+12>>2];if((f|0)>=(h|0)&d>>>0>=M[c+8>>2]|(f|0)>(h|0)){break b}f=K[d+J[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;if(f-1>>>0>29){break b}J[a+4>>2]=f;b=1}return b|0}function Ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0<c>>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;Wi(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=Cj(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}xj(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}Va();C()}function Pb(a,b){var c=0;a:{if(!he(a,b)){break a}if(!he(a+16|0,b)){break a}if(!he(a+32|0,b)){break a}if(!he(a+48|0,b)){break a}if(!he(a- -64|0,b)){break a}if(!he(a+80|0,b)){break a}if(!he(a+96|0,b)){break a}if(!he(a+112|0,b)){break a}if(!he(a+128|0,b)){break a}if(!he(a+144|0,b)){break a}if(!he(a+160|0,b)){break a}if(!he(a+176|0,b)){break a}if(!he(a+192|0,b)){break a}if(!he(a+208|0,b)){break a}if(!he(a+224|0,b)){break a}if(!he(a+240|0,b)){break a}if(!he(a+256|0,b)){break a}if(!he(a+272|0,b)){break a}if(!he(a+288|0,b)){break a}if(!he(a+304|0,b)){break a}if(!he(a+320|0,b)){break a}if(!he(a+336|0,b)){break a}if(!he(a+352|0,b)){break a}if(!he(a+368|0,b)){break a}if(!he(a+384|0,b)){break a}if(!he(a+400|0,b)){break a}if(!he(a+416|0,b)){break a}if(!he(a+432|0,b)){break a}if(!he(a+448|0,b)){break a}if(!he(a+464|0,b)){break a}if(!he(a+480|0,b)){break a}if(!he(a+496|0,b)){break a}c=he(a+512|0,b)}return c}function $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(!db(a,b)){break a}h=a+36|0;g=ka[J[J[a>>2]+24>>2]](a)|0;e=J[a+40>>2];d=J[a+36>>2];c=e-d>>2;b:{if(g>>>0>c>>>0){ac(h,g-c|0);break b}if(c>>>0<=g>>>0){break b}d=d+(g<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=J[e>>2];J[e>>2]=0;if(c){ka[J[J[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}J[a+40>>2]=d}c=1;if((g|0)<=0){break a}e=0;while(1){c:{c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break c}f=K[J[b>>2]+d|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;d=ka[J[J[a>>2]+48>>2]](a,f)|0;f=e<<2;i=f+J[a+36>>2]|0;c=J[i>>2];J[i>>2]=d;if(c){ka[J[J[c>>2]+4>>2]](c)}c=J[J[h>>2]+f>>2];if(!c){break c}if(!(k=c,l=ka[J[J[a>>2]+28>>2]](a)|0,m=ka[J[J[a>>2]+20>>2]](a,e)|0,j=J[J[c>>2]+8>>2],ka[j](k|0,l|0,m|0)|0)){break c}c=1;e=e+1|0;if((g|0)!=(e|0)){continue}break a}break}c=0}return c|0}function ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];i=c;k=J[b+16>>2];d=k+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}l=J[b>>2];f=k+l|0;e=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;c=i;f=k+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}d=d+l|0;j=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((e|0)>(j|0)){break a}J[a+16>>2]=j;J[a+12>>2]=e;d=j-e|0;e=(j>>31)-((e>>31)+(e>>>0>j>>>0)|0)|0;if(!e&d>>>0>2147483646|e){break a}d=d+1|0;J[a+20>>2]=d;e=d>>>1|0;J[a+24>>2]=e;J[a+28>>2]=0-e;if(!(d&1)){J[a+24>>2]=e-1}if(L[b+38>>1]<=513){if((c|0)>=(h|0)&f>>>0>=g>>>0|(c|0)>(h|0)){break a}g=K[f+l|0];c=i;i=k+9|0;c=i>>>0<9?c+1|0:c;J[b+16>>2]=i;J[b+20>>2]=c;if(g>>>0>1){break a}J[a+88>>2]=g}m=he(a+112|0,b)}return m|0}function Ei(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=J[a>>2];c=g+(b>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<<b;f=J[a+64>>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=J[J[f>>2]+(c<<2)>>2]}c=J[a+12>>2];h=(d>>>3&536870908)+c|0;J[h>>2]=J[h>>2]|1<<d;b:{c:{if(!e){d:{e:{if((b>>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=J[J[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;J[e>>2]=J[e>>2]|1<<d;d=-1;b=J[J[f+12>>2]+(b<<2)>>2];if((b|0)==-1){break b}H[a+24|0]=0;a=(b>>>3&536870908)+g|0;J[a>>2]=J[a>>2]|1<<b;a=b+1|0;a=(a>>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=J[J[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;J[a>>2]=J[a>>2]|1<<d;f:{g:{if((b>>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=J[J[f>>2]+(b<<2)>>2]}b=1<<a;a=c+(a>>>3&536870908)|0;c=J[a>>2];break c}a=c+536870908|0;b=J[c+536870908>>2];c=-2147483648}J[a>>2]=b|c}}function za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-2>>>0>28){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<<a)-2|0));c=J[J[c>>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f<Q(0)?h:n));e=Q(e+(e<Q(0)?h:n));h=Q(Q(f*f)+Q(Q(i*i)+Q(e*e)));if(!(+h<1e-6)){g=Q(Q(1)/Q(Y(h)));m=Q(f*g);l=Q(e*g);g=Q(i*g)}a=a+8|0;d=(B(m),v(2));H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(B(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(B(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Si(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(b>>>0<=63){b=0;a=J[a+12>>2];if(a>>>0<2){break a}b=a-1|0;e=b&3;d=J[c>>2];c=0;b:{if(a-2>>>0<3){a=1;b=0;break b}f=b&-4;b=0;a=1;while(1){g=a+3|0;h=a+2|0;i=a+1|0;b=M[d+(b<<2)>>2]>M[d+(a<<2)>>2]?a:b;b=M[d+(b<<2)>>2]>M[d+(i<<2)>>2]?i:b;b=M[d+(b<<2)>>2]>M[d+(h<<2)>>2]?h:b;b=M[d+(b<<2)>>2]>M[d+(g<<2)>>2]?g:b;a=a+4|0;j=j+4|0;if((f|0)!=(j|0)){continue}break}}if(!e){break a}while(1){b=M[d+(b<<2)>>2]>M[d+(a<<2)>>2]?a:b;a=a+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break a}b=J[a+580>>2];d=32-b|0;if((d|0)>=4){c=J[a+576>>2];if((c|0)==J[a+568>>2]){return 0}d=J[c>>2];e=b+4|0;J[a+580>>2]=e;b=d<<b>>>28|0;if((e|0)!=32){break a}J[a+580>>2]=0;J[a+576>>2]=c+4;return b}c=J[a+576>>2];e=c+4|0;if((e|0)==J[a+568>>2]){return 0}f=J[c>>2];J[a+576>>2]=e;J[a+580>>2]=b-28;a=60-b|0;b=J[c+4>>2]>>>a|f<<b>>>a-d}return b}function rf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11484;b=J[a+388>>2];if(b){J[a+392>>2]=b;xj(b)}d=J[a+368>>2];J[a+368>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=fa-32|0;fa=a;e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=Cj(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=f;J[a+20>>2]=e;g=e+f|0;break c}H[a+27|0]=e;f=a+16|0;g=e+f|0;if(!e){break b}}Vi(f,c,e)}H[g|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d:{c=tg(b,a+16|0);if((c|0)==(b+4|0)){break d}b=J[c+28>>2];e=J[c+32>>2];if((b|0)==(e|0)){break d}b=e-b|0;if(b&3){break d}e=b>>>2|0;f=J[a+4>>2];b=J[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){La(a,e-g|0);b=J[a>>2];f=J[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;J[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=J[c+28>>2];Vi(e,b,J[c+32>>2]-b|0);break d}yc();C()}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d>>2]=J[a>>2];J[d+4>>2]=J[a+4>>2];J[d+8>>2]=J[a+8>>2];if(H[a+27|0]<0){xj(J[a+16>>2])}fa=a+32|0;break a}eg();C()}}function of(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11432;d=J[a+368>>2];J[a+368>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=fa-16|0;fa=d;a:{e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=Cj(f);J[d+8>>2]=f|-2147483648;J[d>>2]=a;J[d+4>>2]=e;f=a+e|0;break c}H[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}Vi(a,c,e)}H[f|0]=0;c=K[d+11|0];e=c<<24>>24;b=J[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?J[d+4>>2]:a;f=c?J[d>>2]:d;while(1){c=K[b+27|0];g=c<<24>>24<0;c=g?J[b+20>>2]:c;i=c>>>0<a>>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?J[b+16>>2]:b+16|0;j=bj(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=bj(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=J[b>>2];if(b){continue}break}a=0}if((e|0)<0){xj(J[d>>2])}fa=d+16|0;break a}eg();C()}return a|0}function Pe(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0<c>>>0){if(d){xj(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=Cj(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}Wi(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0<c>>>0){if(d){xj(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=Cj(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}Wi(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}Ia();C()}Ia();C()}function wd(a){var b=0,c=0,d=0;b=J[a+8>>2];d=J[a>>2];a:{if(K[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=J[J[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}J[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;J[a+8>>2]=b;if((b|0)!=-1){break b}}c=J[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=J[J[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}H[a+12|0]=0;J[a+8>>2]=b;return}if((b|0)!=J[a+4>>2]){break a}J[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=J[J[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}J[a+8>>2]=c}}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=fa-32|0;fa=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ba(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[4004]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0<e>>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ba(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[4004]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}fa=f+32|0;return a|0}function Tf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+56>>2]-J[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}xj(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Uf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Uf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=J[c+12>>2];f=h;e=J[c+20>>2];j=J[c+8>>2];g=J[c+16>>2];a:{if((f|0)<=(e|0)&j>>>0<=g>>>0|(e|0)>(f|0)){break a}k=J[c>>2];i=H[k+g|0];d=e;f=g+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;if((i-7&255)>>>0<247){break a}b:{if((i|0)==-2){break b}if((d|0)>=(h|0)&f>>>0>=j>>>0|(d|0)>(h|0)){break a}d=H[f+k|0];g=g+2|0;e=g>>>0<2?e+1|0:e;J[c+16>>2]=g;J[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=ka[J[J[a>>2]+40>>2]](a,i,d)|0;d=J[a+20>>2];J[a+20>>2]=e;if(!d){break b}ka[J[J[d>>2]+4>>2]](d)}d=J[a+20>>2];if(d){if(!(ka[J[J[a>>2]+28>>2]](a,d)|0)){break a}}if(!(ka[J[J[a>>2]+36>>2]](a,b,c)|0)){break a}c=J[a+4>>2];if(!(!c|K[c+36|0]>1)){if(!(ka[J[J[a>>2]+48>>2]](a,J[b+4>>2]-J[b>>2]>>2)|0)){break a}}l=1}return l|0}function Nf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}xj(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Of(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0<J[f+4>>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Of(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];i=c;e=J[b+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}j=J[b>>2];f=e+j|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;k=L[b+38>>1];if(k>>>0<=513){c=i;d=e+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}J[b+16>>2]=d;J[b+20>>2]=c}if(!(f&1)){break a}e=S(f)^31;if(e-1>>>0>28){break a}J[a+8>>2]=e+1;i=-2<<e;e=i^-2;J[a+16>>2]=e;J[a+12>>2]=i^-1;J[a+24>>2]=e>>1;N[a+20>>2]=Q(2)/Q(e|0);if(k>>>0<=513){if((c|0)>=(h|0)&d>>>0>=g>>>0|(c|0)>(h|0)){break a}g=K[d+j|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(g>>>0>1){break a}J[a+72>>2]=g}l=he(a+96|0,b)}return l|0}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=J[b+8>>2];g=J[b+12>>2];c=J[b+20>>2];h=c;i=J[b+16>>2];e=i+4|0;c=e>>>0<4?c+1|0:c;a:{if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}j=J[b>>2];d=i+j|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;c=h;e=i+8|0;c=e>>>0<8?c+1|0:c;if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}J[b+16>>2]=e;J[b+20>>2]=c;if(!(d&1)){break a}d=S(d)^31;if(d-1>>>0>28){break a}J[a+8>>2]=d+1;k=-2<<d;d=k^-2;J[a+16>>2]=d;J[a+12>>2]=k^-1;J[a+24>>2]=d>>1;N[a+20>>2]=Q(2)/Q(d|0);if(L[b+38>>1]<=513){if((c|0)>=(g|0)&e>>>0>=f>>>0|(c|0)>(g|0)){break a}c=K[e+j|0];f=i+9|0;h=f>>>0<9?h+1|0:h;J[b+16>>2]=f;J[b+20>>2]=h;if(c>>>0>1){break a}J[a+72>>2]=c}l=he(a+96|0,b)}return l|0}function Wi(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Vi(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0<b>>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function nj(a,b,c,d){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:ka[d|0](a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function ac(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=J[a+8>>2];c=J[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{b:{c:{g=J[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>>1|0;e=d>>>0>=2147483644?1073741823:e>>>0<h>>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=Cj(e<<2)}d=(f<<2)+i|0;f=b<<2;b=Xi(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;d=d-4|0;J[d>>2]=b;if((c|0)!=(g|0)){continue}break}J[a+8>>2]=e;b=J[a+4>>2];J[a+4>>2]=f;c=J[a>>2];J[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=J[b>>2];J[b>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}Ia();C()}Va();C()}J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=b}if(c){xj(c)}}function Pj(a,b){var c=0,d=0,e=0;c=fa+-64|0;fa=c;d=J[a>>2];e=J[d-4>>2];d=J[d-8>>2];J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;H[c+55|0]=0;H[c+56|0]=0;H[c+57|0]=0;H[c+58|0]=0;H[c+59|0]=0;H[c+60|0]=0;H[c+61|0]=0;H[c+62|0]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+20>>2]=0;J[c+16>>2]=14972;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(Nj(e,b,0)){J[c+56>>2]=1;ka[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}ka[J[J[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(J[c+44>>2]){case 0:d=J[c+48>>2]==1?J[c+36>>2]==1?J[c+40>>2]==1?J[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[c+32>>2]!=1){if(J[c+48>>2]|J[c+36>>2]!=1|J[c+40>>2]!=1){break a}}d=J[c+24>>2]}fa=c- -64|0;return d}function ge(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+16>>2]=0;e=J[a>>2];J[a+4>>2]=e;J[a+12>>2]=e;e=J[b+8>>2];c=J[b+12>>2];h=c;d=J[b+20>>2];f=J[b+16>>2];g=f+4|0;d=g>>>0<4?d+1|0:d;a:{if(e>>>0<g>>>0&(d|0)>=(c|0)|(d|0)>(c|0)){break a}c=f+J[b>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=d;if(!c|c&3){break a}f=h-(d+(e>>>0<g>>>0)|0)|0;if(e-g>>>0<c>>>0&(f|0)<=0|(f|0)<0){break a}if(c>>>0>=4){La(a,c>>>2|0);h=J[b+12>>2];g=J[b+16>>2];d=J[b+20>>2];e=J[b+8>>2]}f=c+g|0;d=f>>>0<c>>>0?d+1|0:d;if(e>>>0<f>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}Vi(J[a>>2],J[b>>2]+g|0,c);d=J[b+20>>2];e=c+J[b+16>>2]|0;d=e>>>0<c>>>0?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;J[a+16>>2]=0;J[a+12>>2]=J[a>>2];i=1}return i}function Gi(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=J[J[J[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(c-P(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(b-P(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=J[J[a>>2]+96>>2];a=(b>>>0)/3|0;f=J[(c+P(a,12)|0)+(b-P(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c}
function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=Cj(72);J[c+4>>2]=0;J[c+8>>2]=0;J[c>>2]=2032;J[c+12>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c>>2]=2176;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+64>>2]=0;J[c+68>>2]=0;h=c;a:{if((b|0)>=0){g=a+8|0;c=J[a+12>>2];e=J[a+8>>2];f=c-e>>2;b:{if((f|0)>(b|0)){break b}d=b+1|0;if(b>>>0>=f>>>0){ac(g,d-f|0);break b}if(d>>>0>=f>>>0){break b}e=(d<<2)+e|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){ka[J[J[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}J[a+12>>2]=e}a=J[g>>2]+(b<<2)|0;c=J[a>>2];J[a>>2]=h;if(!c){break a}}ka[J[J[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function Xi(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=nk(b,0,1,1);f=ja;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=J[b+8>>2];e=J[b+12>>2];g=e;e=J[b+20>>2];k=e;h=J[b+16>>2];c=h+4|0;e=c>>>0<4?e+1|0:e;i=c;a:{if(c>>>0>d>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}j=J[b>>2];c=j+h|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=e;c=d;d=k;e=h+8|0;d=e>>>0<8?d+1|0:d;if(c>>>0<e>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}c=i+j|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=d;if((c|0)<(f|0)){break a}J[a+16>>2]=c;J[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0<f>>>0)|0)|0;b=c-f|0;if(!d&b>>>0>2147483646|d){break a}l=1;d=b+1|0;J[a+20>>2]=d;b=d>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(d&1){break a}J[a+24>>2]=b-1}return l|0}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=J[e>>2];a:{if(!d){break a}f=J[b>>2];b=e;while(1){g=(f|0)>J[d+16>>2];b=g?b:d;d=J[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)<J[b+16>>2]){break a}d=J[b+24>>2];if(!d){break a}f=b+20|0;b=K[c+11|0];e=b<<24>>24<0;g=e?J[c>>2]:c;b=e?J[c+4>>2]:b;while(1){e=K[d+27|0];h=e<<24>>24<0;e=h?J[d+20>>2]:e;j=e>>>0<b>>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?J[d+16>>2]:d+16|0;k=bj(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=bj(h,g,i);if(e){break d}}if(j){break c}return ug(f,c)}if((e|0)<0){break c}return ug(f,c)}d=d+4|0}d=J[d>>2];if(d){continue}break}}return ug(a,c)}function Ji(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=fa-16|0;fa=d;f=J[a+24>>2];k=J[a+28>>2];a:{if((f|0)!=(k|0)){while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;a=Li(J[f>>2],b,d);g=K[d+11|0];h=g<<24>>24;i=3;b:{c:{d:{if(!a){break d}i=0;a=K[c+11|0];e=a<<24>>24;j=(h|0)<0?J[d+4>>2]:g;if((j|0)!=(((e|0)<0?J[c+4>>2]:a)|0)){break d}a=(e|0)<0?J[c>>2]:c;e=(h|0)<0;e:{if(!e){e=d;if(!h){break e}while(1){if(K[e|0]!=K[a|0]){break d}a=a+1|0;e=e+1|0;g=g-1|0;if(g){continue}break}break e}if(!j){break e}if(bj(e?J[d>>2]:d,a,j)){break c}}l=J[f>>2];i=1}if((h|0)>=0){break b}}xj(J[d>>2])}f:{switch(i|0){case 0:case 3:break f;default:break a}}f=f+4|0;if((k|0)!=(f|0)){continue}break}}l=0}fa=d+16|0;return l}function bb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=J[a+8>>2];e=J[a>>2];if(h>>>0<=d-e>>2>>>0){d=J[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0<h>>>0?f:c;if((g|0)!=(b|0)){while(1){J[e>>2]=J[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){J[d>>2]=J[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}J[a+4>>2]=d;return}J[a+4>>2]=e;return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=Cj(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=Vi(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Oe(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;J[a+4>>2]=0;a:{b:{if(!b){break b}f=J[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){J[a+4>>2]=b;break c}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0<f>>>0?f:d}else{d=2147483647}Jc(e,d);f=J[a>>2];J[a>>2]=J[e>>2];J[e>>2]=f;d=J[a+4>>2];J[a+4>>2]=b;J[e+4>>2]=d;d=J[a+8>>2];J[a+8>>2]=J[e+8>>2];J[e+8>>2]=d;if(!f){break c}xj(f)}d=b>>>5|0;a=J[a>>2];if(K[c|0]){if(b>>>0>=32){Xi(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){Xi(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}fa=e+16|0;return}Ia();C()}function Fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=fa-32|0;fa=e;a:{b:{f=hj(c);if(f>>>0<2147483632){c:{d:{if(f>>>0>=11){a=(f|15)+1|0;g=Cj(a);J[e+24>>2]=a|-2147483648;J[e+16>>2]=g;J[e+20>>2]=f;a=f+g|0;break d}H[e+27|0]=f;g=e+16|0;a=f+g|0;if(!f){break c}}Vi(g,c,f)}H[a|0]=0;c=hj(d);if(c>>>0>=2147483632){break b}e:{f:{if(c>>>0>=11){f=(c|15)+1|0;a=Cj(f);J[e+8>>2]=f|-2147483648;J[e>>2]=a;J[e+4>>2]=c;g=a+c|0;break f}H[e+11|0]=c;g=c+e|0;a=e;if(!c){break e}}Vi(a,d,c)}H[g|0]=0;c=J[b+4>>2];a=-1;g:{if(!c){break g}c=Ji(c,e+16|0,e);a=-1;if(!c){break g}a=Oi(b,J[c+24>>2])}if(H[e+11|0]<0){xj(J[e>>2])}if(H[e+27|0]<0){xj(J[e+16>>2])}fa=e+32|0;break a}eg();C()}eg();C()}return a|0}function Ui(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=J[b>>2];h=J[b+8>>2];i=J[b+4>>2];j=J[b>>2];d=J[a>>2];b=J[d+4>>2];a=J[d+8>>2];if(b>>>0<a>>>0){J[b+8>>2]=h;J[b+4>>2]=i;J[b>>2]=j;J[d+4>>2]=b+12;return}a:{e=J[d>>2];g=(b-e|0)/12|0;c=g+1|0;if(c>>>0<357913942){f=(a-e|0)/12|0;a=f<<1;c=f>>>0>=178956970?357913941:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=357913942){break a}f=Cj(P(c,12))}else{f=0}a=f+P(g,12)|0;J[a+8>>2]=h;J[a+4>>2]=i;J[a>>2]=j;g=a+12|0;if((b|0)!=(e|0)){while(1){a=a-12|0;b=b-12|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2];if((b|0)!=(e|0)){continue}break}}J[d+8>>2]=f+P(c,12);J[d+4>>2]=g;J[d>>2]=a;if(e){xj(e)}return}Ia();C()}Va();C()}function fc(a,b){a=a|0;b=b|0;a=0;a:{switch(b|0){case 0:a=Cj(20);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;return a|0;case 1:a=Cj(24);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;return a|0;case 2:a=Cj(48);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;J[a+24>>2]=1880;J[a>>2]=11096;J[a+32>>2]=0;J[a+36>>2]=0;J[a+28>>2]=-1;J[a+40>>2]=0;J[a+44>>2]=0;return a|0;case 3:a=Cj(32);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;J[a+24>>2]=1032;J[a>>2]=7076;J[a+28>>2]=-1;break;default:break a}}return a|0}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=J[b>>2];b=J[b+4>>2];d=J[J[a+8>>2]+40>>2];j=d;m=Cj((d|0)<0?-1:d);i=b-f|0;e=1;a:{if((i|0)<4){break a}b=0;g=J[c+16>>2];k=d;f=g+d|0;d=0+J[c+20>>2]|0;d=f>>>0<k>>>0?d+1|0:d;h=J[c+12>>2];e=0;if(M[c+8>>2]<f>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}e=i>>2;i=(e|0)<=1?1:e;while(1){b:{g=Vi(m,J[c>>2]+g|0,j);J[c+16>>2]=f;J[c+20>>2]=d;Vi(J[J[J[a+8>>2]+64>>2]>>2]+b|0,g,j);l=l+1|0;if((i|0)==(l|0)){break b}b=b+j|0;d=n+J[c+20>>2]|0;g=J[c+16>>2];f=k+g|0;d=f>>>0<k>>>0?d+1|0:d;h=J[c+12>>2];if((d|0)<=(h|0)&M[c+8>>2]>=f>>>0|(d|0)<(h|0)){continue}}break}e=(e|0)<=(l|0)}xj(m);return e|0}function Ma(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;J[b>>2]=1;f=b+8|0;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){pg(f,d+4|0);c=J[f>>2]}c=c+d|0;d=J[a+4>>2];H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=J[a+8>>2];if((c|0)!=J[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=J[b+8>>2];e=J[b+12>>2]-c|0;if(e>>>0<=4294967291){pg(f,e+4|0);c=J[f>>2]}c=c+e|0;e=J[g>>2];H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;d=d+1|0;c=J[a+8>>2];if(d>>>0<J[a+12>>2]-c>>2>>>0){continue}break}}c=J[b+12>>2];b=J[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){pg(f,c+4|0);b=J[f>>2]}b=b+c|0;a=J[a+20>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function Nb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=J[a+8>>2];e=J[a>>2];if(g>>>0<=d-e>>2>>>0){f=J[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0<g>>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){Wi(e,b,i)}if(g>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=e+i;return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=Cj(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=Vi(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Xf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=J[a+4>>2];if((c|0)!=J[a+8>>2]){e=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=e;J[c+8>>2]=J[b+8>>2];J[a+4>>2]=c+12;return}a:{g=J[a>>2];d=(c-g|0)/12|0;e=d+1|0;if(e>>>0<357913942){f=d<<1;f=d>>>0>=178956970?357913941:e>>>0<f>>>0?f:e;if(f){if(f>>>0>=357913942){break a}e=Cj(P(f,12))}else{e=0}d=e+P(d,12)|0;h=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=h;J[d+8>>2]=J[b+8>>2];b=d+12|0;if((c|0)!=(g|0)){while(1){c=c-12|0;h=J[c+4>>2];d=d-12|0;J[d>>2]=J[c>>2];J[d+4>>2]=h;J[d+8>>2]=J[c+8>>2];if((c|0)!=(g|0)){continue}break}c=J[a>>2]}J[a+8>>2]=e+P(f,12);J[a+4>>2]=b;J[a>>2]=d;if(c){xj(c)}return}Ia();C()}Va();C()}function Od(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=fa-32|0;fa=f;g=e>>>0>1073741823?-1:e<<2;l=Xi(Cj(g),0,g);g=l;i=J[g>>2];g=J[g+4>>2];k=J[b+4>>2];J[f+24>>2]=J[b>>2];J[f+28>>2]=k;J[f+8>>2]=i;J[f+12>>2]=g;i=a+8|0;Jd(f+16|0,i,f+8|0,f+24|0);J[c>>2]=J[f+16>>2];J[c+4>>2]=J[f+20>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){h=a<<2;g=h+c|0;j=g+k|0;m=J[j>>2];j=J[j+4>>2];h=b+h|0;n=J[h+4>>2];J[f+24>>2]=J[h>>2];J[f+28>>2]=n;J[f+8>>2]=m;J[f+12>>2]=j;Jd(f+16|0,i,f+8|0,f+24|0);J[g>>2]=J[f+16>>2];J[g+4>>2]=J[f+20>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}xj(l);fa=f+32|0;return 1}function Yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=fa-32|0;fa=f;h=e>>>0>1073741823?-1:e<<2;h=Xi(Cj(h),0,h);g=J[b>>2];i=J[b+4>>2];k=J[h+4>>2];J[f+16>>2]=J[h>>2];J[f+20>>2]=k;J[f+8>>2]=g;J[f+12>>2]=i;i=a+8|0;Td(f+24|0,i,f+16|0,f+8|0);J[c>>2]=J[f+24>>2];J[c+4>>2]=J[f+28>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=J[j>>2];j=J[j+4>>2];g=c+g|0;l=g+k|0;n=J[l+4>>2];J[f+16>>2]=J[l>>2];J[f+20>>2]=n;J[f+8>>2]=m;J[f+12>>2]=j;Td(f+24|0,i,f+16|0,f+8|0);J[g>>2]=J[f+24>>2];J[g+4>>2]=J[f+28>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}xj(h);fa=f+32|0;return 1}function Mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:{if(M[b+80>>2]>65535){break a}a=J[b+100>>2];b=J[b+96>>2];e=(a-b|0)/12|0;f=P(e,6);g=(f|0)==(c|0);if((a|0)==(b|0)|(c|0)!=(f|0)){break a}g=1;c=e>>>0<=1?1:e;i=c&1;a=0;if(e>>>0>=2){j=c&-2;c=0;while(1){f=P(a,6);h=f+d|0;e=b+P(a,12)|0;I[h>>1]=J[e>>2];I[(f|2)+d>>1]=J[e+4>>2];I[h+4>>1]=J[e+8>>2];f=a|1;e=P(f,6)+d|0;f=b+P(f,12)|0;I[e>>1]=J[f>>2];I[e+2>>1]=J[f+4>>2];I[e+4>>1]=J[f+8>>2];a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break a}c=P(a,6)+d|0;a=b+P(a,12)|0;I[c>>1]=J[a>>2];I[c+2>>1]=J[a+4>>2];I[c+4>>1]=J[a+8>>2]}return g|0}function Fj(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=fa-16|0;fa=h;if((b^-1)+2147483631>>>0>=c>>>0){if(K[a+11|0]>>>7|0){i=J[a>>2]}else{i=a}if(b>>>0<1073741799){J[h+12>>2]=b<<1;J[h>>2]=b+c;c=fa-16|0;fa=c;fa=c+16|0;c=h+12|0;c=J[(M[h>>2]<M[c>>2]?c:h)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Aj(h,c);c=J[h>>2];if(f){zj(c,g,f)}g=d-e|0;if((d|0)!=(e|0)){zj(c+f|0,e+i|0,g)}if((b|0)!=10){xj(i)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[h+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;b=a;a=f+g|0;J[b+4>>2]=a;H[h+12|0]=0;H[a+c|0]=K[h+12|0];fa=h+16|0;return}eg();C()}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=fa-32|0;fa=a;J[a+24>>2]=0;J[a+28>>2]=0;a:{d=hj(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=Cj(e);J[a+16>>2]=e|-2147483648;J[a+8>>2]=f;J[a+12>>2]=d;e=d+f|0;break c}H[a+19|0]=d;f=a+8|0;e=f+d|0;if(!d){break b}}Vi(f,c,d)}H[e|0]=0;c=b+4|0;b=tg(b,a+8|0);d:{if((c|0)==(b|0)){break d}c=J[b+32>>2];b=J[b+28>>2];if((c-b|0)!=8){break d}c=K[b+4|0]|K[b+5|0]<<8|(K[b+6|0]<<16|K[b+7|0]<<24);J[a+24>>2]=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[a+28>>2]=c}g=O[a+24>>3];if(H[a+19|0]<0){xj(J[a+8>>2])}fa=a+32|0;break a}eg();C()}return+g}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=1;a:{if((ka[J[J[b>>2]+20>>2]](b)|0)<=0){break a}while(1){f=0;c=Ni(J[J[a+4>>2]+4>>2],ka[J[J[b>>2]+24>>2]](b,g)|0);if((c|0)==-1){break a}e=J[a+4>>2];b:{if(K[e+36|0]<=1){if(ka[J[J[b>>2]+28>>2]](b,J[J[J[e+4>>2]+8>>2]+(c<<2)>>2])|0){break b}break a}d=0;c:{if((c|0)<0){break c}h=J[e+4>>2];if(J[h+12>>2]-J[h+8>>2]>>2<=(c|0)){break c}d=J[J[e+8>>2]+(J[J[e+20>>2]+(c<<2)>>2]<<2)>>2];d=ka[J[J[d>>2]+32>>2]](d,c)|0}if(!d){break a}if(!(ka[J[J[b>>2]+28>>2]](b,d)|0)){break a}}f=1;g=g+1|0;if((ka[J[J[b>>2]+20>>2]](b)|0)>(g|0)){continue}break}}return f|0}function Hb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=P(b,12);d=Cj(b);J[a+4>>2]=d;J[a>>2]=d;e=b+d|0;J[a+8>>2]=e;f=J[c+4>>2];g=J[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;Xi(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;b=Cj(h);J[d>>2]=b;J[d+8>>2]=b+i;c=g;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}J[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e}return}Ia();C()}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;Ia();C()}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=J[b+8>>2];d=J[b+12>>2];g=d;d=J[b+20>>2];i=d;h=J[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0<f>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=d;if(L[b+38>>1]<=513){f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}J[b+16>>2]=d;J[b+20>>2]=c}if(!(e&1)){break a}b=S(e)^31;if(b-1>>>0>28){break a}j=1;J[a+8>>2]=b+1;b=-2<<b;c=b^-2;J[a+16>>2]=c;J[a+12>>2]=b^-1;J[a+24>>2]=c>>1;N[a+20>>2]=Q(2)/Q(c|0)}return j|0}function vi(a,b,c){var d=0,e=0,f=0,g=0;a:{f=b>>>0<1431655766&(b|c)>=0;b:{if(!f){break b}b=P(b,3);wi(a,b,13696);wi(a+12|0,b,13700);d=J[a+24>>2];c:{if(J[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}b=J[a+28>>2];e=c<<2;c=Cj(e);e=c+e|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+32>>2]=e;J[a+28>>2]=g;J[a+24>>2]=c;if(!d){break c}xj(d)}J[a+80>>2]=0;J[a+84>>2]=0;b=J[a+76>>2];J[a+76>>2]=0;if(b){xj(b)}J[a+68>>2]=0;J[a+72>>2]=0;b=a- -64|0;a=J[b>>2];J[b>>2]=0;if(!a){break b}xj(a)}return f}Ia();C()}function cf(a){var b=0,c=0,d=0,e=0,f=0;f=1;c=J[a+140>>2];a:{if((c|0)<=0){break a}b=c<<4;d=Cj(c>>>0>268435455?-1:b|4);J[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){J[b>>2]=0;J[b+4>>2]=0;H[b+5|0]=0;H[b+6|0]=0;H[b+7|0]=0;H[b+8|0]=0;H[b+9|0]=0;H[b+10|0]=0;H[b+11|0]=0;H[b+12|0]=0;b=b+16|0;if((c|0)!=(b|0)){continue}break}e=J[a+136>>2];J[a+136>>2]=d;if(e){c=e-4|0;d=J[c>>2];if(d){b=(d<<4)+e|0;while(1){b=b-16|0;if((e|0)!=(b|0)){continue}break}}xj(c)}b=0;if(J[a+140>>2]<=0){break a}while(1){f=he(J[a+136>>2]+(b<<4)|0,a);if(!f){break a}b=b+1|0;if((b|0)<J[a+140>>2]){continue}break}}return f}function $a(a,b){var c=0,d=0,e=0,f=0,g=0;a:{if(J[a+64>>2]){break a}c=Cj(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(!d){break a}c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}xj(d)}d=J[a+64>>2];c=J[a+28>>2]-1|0;if(c>>>0<=10){c=J[(c<<2)+13632>>2]}else{c=-1}c=P(c,K[a+24|0]);f=c>>31;g=og(d,0,nk(c,f,b,0),ja);if(g){d=J[a+64>>2];J[a>>2]=d;e=J[d+20>>2];J[a+8>>2]=J[d+16>>2];J[a+12>>2]=e;e=J[d+24>>2];d=J[d+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=c;J[a+44>>2]=f;J[a+16>>2]=e;J[a+20>>2]=d;J[a+80>>2]=b}return g}function _a(a,b){var c=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;J[a+88>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function Nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=J[b+100>>2];b=J[b+96>>2];h=a-b|0;a:{if((h|0)!=(c|0)|(a|0)==(b|0)){break a}g=(c|0)/12|0;e=g>>>0<=1?1:g;j=e&1;a=0;if(g>>>0>=2){k=e&-2;g=0;while(1){e=P(a,12);i=e+d|0;f=b+e|0;J[i>>2]=J[f>>2];J[(e|4)+d>>2]=J[f+4>>2];J[i+8>>2]=J[f+8>>2];f=P(a|1,12);e=f+d|0;f=b+f|0;J[e>>2]=J[f>>2];J[e+4>>2]=J[f+4>>2];J[e+8>>2]=J[f+8>>2];a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break a}e=d;d=P(a,12);a=e+d|0;b=b+d|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2]}return(c|0)==(h|0)|0}function Ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=J[b+8>>2];d=J[b+12>>2];g=d;d=J[b+20>>2];i=d;h=J[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0<f>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=d;f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}J[b+16>>2]=d;J[b+20>>2]=c;if(!(e&1)){break a}b=S(e)^31;if(b-1>>>0>28){break a}j=1;J[a+8>>2]=b+1;b=-2<<b;c=b^-2;J[a+16>>2]=c;J[a+12>>2]=b^-1;J[a+24>>2]=c>>1;N[a+20>>2]=Q(2)/Q(c|0)}return j|0}function tg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=J[a+4>>2];a:{b:{if(!a){break b}d=K[b+11|0];c=d<<24>>24<0;g=c?J[b>>2]:b;d=c?J[b+4>>2]:d;b=f;while(1){e=K[a+27|0];c=e<<24>>24<0;e=c?J[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=bj(c?J[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=J[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=K[b+27|0];a=c<<24>>24<0;d:{c=a?J[b+20>>2]:c;e=c>>>0<d>>>0?c:d;if(e){a=bj(g,a?J[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function jj(a,b,c,d,e){var f=0,g=0,h=0;f=fa-208|0;fa=f;J[f+204>>2]=c;c=f+160|0;Xi(c,0,40);J[f+200>>2]=J[f+204>>2];a:{if((kj(0,b,f+200|0,f+80|0,c,d,e)|0)<0){break a}h=J[a+76>>2]>=0;c=J[a>>2];if(J[a+72>>2]<=0){J[a>>2]=c&-33}b:{c:{d:{if(!J[a+48>>2]){J[a+48>>2]=80;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;g=J[a+44>>2];J[a+44>>2]=f;break d}if(J[a+16>>2]){break c}}if(_i(a)){break b}}kj(a,b,f+200|0,f+80|0,f+160|0,d,e)}if(g){ka[J[a+36>>2]](a,0,0)|0;J[a+48>>2]=0;J[a+44>>2]=g;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0}J[a>>2]=J[a>>2]|c&32;if(!h){break a}}fa=f+208|0}function Uj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Nj(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(Nj(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];ka[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function rg(a,b,c){var d=0,e=0,f=0,g=0;a:{b:{if(!b){break b}if(L[a+38>>1]<=513){f=J[a+12>>2];d=J[a+20>>2];b=J[a+16>>2];g=b+8|0;d=g>>>0<8?d+1|0:d;e=0;if(M[a+8>>2]<g>>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break a}b=b+J[a>>2]|0;d=K[b+4|0]|K[b+5|0]<<8|(K[b+6|0]<<16|K[b+7|0]<<24);J[c>>2]=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[c+4>>2]=d;b=J[a+20>>2];c=J[a+16>>2]+8|0;b=c>>>0<8?b+1|0:b;J[a+16>>2]=c;J[a+20>>2]=b;break b}e=0;if(!sg(1,c,a)){break a}}H[a+36|0]=1;J[a+32>>2]=0;b=J[a+16>>2];c=b+J[a>>2]|0;J[a+24>>2]=c;J[a+28>>2]=(J[a+8>>2]-b|0)+c;e=1}return e}function Yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=Cj(64);c=Cj(12);J[c+8>>2]=J[J[a+4>>2]+80>>2];J[c>>2]=13264;J[c+4>>2]=0;f=_b(f,c);a:{b:{if((b|0)<0){c=f;break b}h=a+8|0;c=J[a+12>>2];e=J[a+8>>2];g=c-e>>2;c:{if((g|0)>(b|0)){break c}d=b+1|0;if(b>>>0>=g>>>0){ac(h,d-g|0);break c}if(d>>>0>=g>>>0){break c}e=e+(d<<2)|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){ka[J[J[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}J[a+12>>2]=e}a=J[h>>2]+(b<<2)|0;c=J[a>>2];J[a>>2]=f;if(!c){break a}}ka[J[J[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=J[a+60>>2];a:{if(!c){break a}J[c+4>>2]=a+48;if(!(ka[J[J[c>>2]+12>>2]](c)|0)){break a}b:{c=ka[J[J[a>>2]+24>>2]](a)|0;if((c|0)<=0){break b}while(1){c:{f=J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2];g=ka[J[J[a>>2]+20>>2]](a,d)|0;e=J[a+60>>2];if(!(ka[J[J[e>>2]+8>>2]](e,J[J[f+8>>2]+(g<<2)>>2])|0)){break c}d=d+1|0;if((c|0)!=(d|0)){continue}break b}break}return 0}d=0;if(!(ka[J[J[a>>2]+36>>2]](a,b)|0)){break a}if(!(ka[J[J[a>>2]+40>>2]](a,b)|0)){break a}d=ka[J[J[a>>2]+44>>2]](a)|0}return d|0}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+216>>2];if((c|0)!=J[a+220>>2]){while(1){a:{c=J[P(e,144)+c>>2];if((c|0)<0){break a}d=J[a+4>>2];f=J[d+8>>2];if((c|0)>=J[d+12>>2]-f>>2){break a}d=0;c=J[(c<<2)+f>>2];if((ka[J[J[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((ka[J[J[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((ka[J[J[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}a=J[a+216>>2]+P(e,144)|0;return(K[a+100|0]?a+4|0:0)|0}e=e+1|0;c=J[a+216>>2];if(e>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function sb(a){var b=0,c=0,d=0,e=0;c=J[a+132>>2];if(c){d=c;b=J[a+136>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+132>>2]}J[a+136>>2]=c;xj(d)}c=J[a+120>>2];if(c){d=c;b=J[a+124>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+120>>2]}J[a+124>>2]=c;xj(d)}b=J[a+108>>2];if(b){J[a+112>>2]=b;xj(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}fe(a+76|0);fe(a+56|0);fe(a+36|0);fe(a+16|0)}function Kb(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2176;d=J[a+60>>2];if(d){b=d;c=J[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){pb(b)}if((c|0)!=(d|0)){continue}break}b=J[a+60>>2]}J[a+64>>2]=d;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){b=d;c=J[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;ka[J[J[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function ag(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+8>>2];d=J[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=Xi(d,0,b)+b|0}J[a+4>>2]=d;return}a:{f=J[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0<h>>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=Cj(e<<2)}c=(g<<2)+i|0;b=b<<2;b=Xi(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(f|0)){continue}break}}J[a+8>>2]=(e<<2)+i;J[a+4>>2]=b;J[a>>2]=c;if(f){xj(f)}return}Ia();C()}Va();C()}function Ub(a){var b=0,c=0,d=0,e=0,f=0;d=J[a+8>>2];a:{if(K[d+84|0]){break a}b=J[a+16>>2];if(!b|!K[b+84|0]){break a}c=J[d+72>>2];e=J[d+68>>2];H[b+84|0]=0;c=c-e>>2;f=J[b+68>>2];e=J[b+72>>2]-f>>2;b:{if(c>>>0>e>>>0){Vb(b+68|0,c-e|0,2364);d=J[a+8>>2];break b}if(c>>>0>=e>>>0){break b}J[b+72>>2]=f+(c<<2)}if(K[d+84|0]){break a}c=J[d+68>>2];if((c|0)==J[d+72>>2]){break a}e=J[J[a+16>>2]+68>>2];b=0;while(1){f=b<<2;J[f+e>>2]=J[c+f>>2];b=b+1|0;c=J[d+68>>2];if(b>>>0<J[d+72>>2]-c>>2>>>0){continue}break}}return J[a+16>>2]}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a=fa-32|0;fa=a;a:{d=hj(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=Cj(e);J[a+24>>2]=e|-2147483648;J[a+16>>2]=f;J[a+20>>2]=d;e=d+f|0;break c}H[a+27|0]=d;f=a+16|0;e=f+d|0;if(!d){break b}}Vi(f,c,d)}H[e|0]=0;H[a+4|0]=0;J[a>>2]=1701667182;H[a+11|0]=4;d=J[b+4>>2];c=-1;d:{if(!d){break d}d=Ji(d,a,a+16|0);c=-1;if(!d){break d}c=Oi(b,J[d+24>>2])}b=c;if(H[a+11|0]<0){xj(J[a>>2])}if(H[a+27|0]<0){xj(J[a+16>>2])}fa=a+32|0;break a}eg();C()}return b|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=fa+-64|0;fa=e;f=qg(e+8|0);J[f+16>>2]=0;J[f+20>>2]=0;J[f>>2]=b;J[f+8>>2]=c;J[f+12>>2]=0;b=e+48|0;me(b,a,f,d);J[a+24>>2]=J[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=K[e+63|0];d=g<<24>>24;if(H[a+39|0]>=0){if((d|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Ij(b,J[e+52>>2],J[e+56>>2]);break a}a=(d|0)<0;Hj(b,a?J[e+52>>2]:c,a?J[e+56>>2]:g)}if(H[e+63|0]<0){xj(J[e+52>>2])}fa=e- -64|0;return f|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=fa+-64|0;fa=e;f=qg(e+8|0);J[f+16>>2]=0;J[f+20>>2]=0;J[f>>2]=b;J[f+8>>2]=c;J[f+12>>2]=0;b=e+48|0;le(b,a,f,d);J[a+24>>2]=J[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=K[e+63|0];d=g<<24>>24;if(H[a+39|0]>=0){if((d|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Ij(b,J[e+52>>2],J[e+56>>2]);break a}a=(d|0)<0;Hj(b,a?J[e+52>>2]:c,a?J[e+56>>2]:g)}if(H[e+63|0]<0){xj(J[e+52>>2])}fa=e- -64|0;return f|0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+216>>2];if((c|0)!=J[a+220>>2]){while(1){a:{c=J[P(e,144)+c>>2];if((c|0)<0){break a}d=J[a+4>>2];f=J[d+8>>2];if((c|0)>=J[d+12>>2]-f>>2){break a}d=0;c=J[(c<<2)+f>>2];if((ka[J[J[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((ka[J[J[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((ka[J[J[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}return(J[a+216>>2]+P(e,144)|0)+104|0}e=e+1|0;c=J[a+216>>2];if(e>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function Ab(a){var b=0,c=0,d=0,e=0;c=J[a+640>>2];if(c){d=c;b=J[a+644>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+640>>2]}J[a+644>>2]=c;xj(d)}c=J[a+628>>2];if(c){d=c;b=J[a+632>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+628>>2]}J[a+632>>2]=c;xj(d)}b=J[a+616>>2];if(b){J[a+620>>2]=b;xj(b)}b=J[a+604>>2];if(b){J[a+608>>2]=b;xj(b)}fe(a+584|0);fe(a+564|0);fe(a+544|0)}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=fa-16|0;fa=d;J[d+12>>2]=0;a:{e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=Cj(f);J[d+8>>2]=f|-2147483648;J[d>>2]=a;J[d+4>>2]=e;f=a+e|0;break c}H[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}Vi(a,c,e)}H[f|0]=0;a=tg(b,d);d:{if((a|0)==(b+4|0)){break d}b=J[a+32>>2];a=J[a+28>>2];if((b-a|0)!=4){break d}J[d+12>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24)}a=J[d+12>>2];if(H[d+11|0]<0){xj(J[d>>2])}fa=d+16|0;break a}eg();C()}return a|0}function wb(a){var b=0,c=0,d=0,e=0;c=J[a+128>>2];if(c){d=c;b=J[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+128>>2]}J[a+132>>2]=c;xj(d)}c=J[a+116>>2];if(c){d=c;b=J[a+120>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+116>>2]}J[a+120>>2]=c;xj(d)}b=J[a+104>>2];if(b){J[a+108>>2]=b;xj(b)}b=J[a+92>>2];if(b){J[a+96>>2]=b;xj(b)}fe(a+72|0);fe(a+52|0);fe(a+32|0)}function yj(a){a=a|0;var b=0,c=0,d=0;if(!a){if(J[3972]){b=yj(J[3972])}if(J[3934]){b=yj(J[3934])|b}a=J[4006];if(a){while(1){if(J[a+20>>2]!=J[a+28>>2]){b=yj(a)|b}a=J[a+56>>2];if(a){continue}break}}return b|0}d=J[a+76>>2]>=0;a:{b:{if(J[a+20>>2]==J[a+28>>2]){break b}ka[J[a+36>>2]](a,0,0)|0;if(J[a+20>>2]){break b}b=-1;break a}b=J[a+8>>2];c=J[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;ka[J[a+40>>2]](a,b,b>>31,1)|0}b=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if(!d){break a}}return b|0}function pg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];e=J[a>>2];d=c-e|0;b:{if(d>>>0<b>>>0){g=b-d|0;f=J[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=Xi(c,0,g)+g|0,J[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0<f>>>0?f:b;f=Cj(c);Xi(f+d|0,0,g);d=Wi(f,e,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!e){break b}xj(e);break b}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+e}b=J[a+28>>2];c=b;d=b+1|0;b=J[a+24>>2]+1|0;e=b?c:d;J[a+24>>2]=b;J[a+28>>2]=e;return}Ia();C()}function df(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=J[a+4>>2];if((e|0)!=J[a+8>>2]){J[e>>2]=J[b>>2];J[a+4>>2]=e+4;return}a:{g=J[a>>2];f=e-g|0;c=f>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;c=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(c){if(c>>>0>=1073741824){break a}f=Cj(c<<2)}else{f=0}d=h+f|0;J[d>>2]=J[b>>2];b=d+4|0;if((e|0)!=(g|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(g|0)){continue}break}}J[a+8>>2]=f+(c<<2);J[a+4>>2]=b;J[a>>2]=d;if(g){xj(g)}return}Ia();C()}Va();C()}function hf(a){J[a>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+72>>2]=a+4;J[a+104>>2]=0;J[a+108>>2]=0;H[a+100|0]=1;J[a+112>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0}function sj(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[4308]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[4004]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function Mj(){var a=0,b=0;a=fa-16|0;fa=a;b=J[3455];aj(1686,11,b);J[a+12>>2]=0;jj(b,1656,0,377,378);a=J[b+76>>2];a:{if(!((a|0)>=0&(!a|J[4290]!=(a&-1073741825)))){b:{if(J[b+80>>2]==10){break b}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break b}J[b+20>>2]=a+1;H[a|0]=10;break a}Ej(b);break a}a=J[b+76>>2];J[b+76>>2]=a?a:1073741823;c:{d:{if(J[b+80>>2]==10){break d}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break d}J[b+20>>2]=a+1;H[a|0]=10;break c}Ej(b)}J[b+76>>2]=0}ca();C()}function $e(a,b){var c=0,d=0,e=0,f=0;d=J[a+12>>2];c=J[a+16>>2]-d>>2;a:{if(c>>>0<b>>>0){La(a+12|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}J[a+16>>2]=d+(b<<2)}b:{c=J[a>>2];c:{if(J[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=J[a+4>>2];e=b<<2;b=Cj(e);e=b+e|0;f=b+(d-c&-4)|0;b=f;if((c|0)!=(d|0)){while(1){b=b-4|0;d=d-4|0;J[b>>2]=J[d>>2];if((c|0)!=(d|0)){continue}break}}J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=b;if(!c){break c}xj(c)}return}Ia();C()}function yi(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13772;b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}b=J[a+44>>2];if(b){J[a+48>>2]=b;xj(b)}b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}b=J[a+8>>2];if(b){d=b;c=J[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){pb(d)}if((b|0)!=(c|0)){continue}break}d=J[a+8>>2]}J[a+12>>2]=b;xj(d)}b=J[a+4>>2];J[a+4>>2]=0;if(b){fg(b)}return a|0}function zj(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=fa-16|0;fa=f;d=fa-32|0;fa=d;e=fa-16|0;fa=e;J[e+12>>2]=b;J[e+8>>2]=b+c;J[d+24>>2]=J[e+12>>2];J[d+28>>2]=J[e+8>>2];fa=e+16|0;c=fa-16|0;fa=c;h=J[d+28>>2];e=J[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){Wi(a,e,g)}J[c+12>>2]=e+g;J[c+8>>2]=a+g;J[d+16>>2]=J[c+12>>2];J[d+20>>2]=J[c+8>>2];fa=c+16|0;J[d+12>>2]=(J[d+16>>2]-b|0)+b;J[d+8>>2]=(J[d+20>>2]-a|0)+a;J[f+8>>2]=J[d+12>>2];J[f+12>>2]=J[d+8>>2];fa=d+32|0;fa=f+16|0}function ug(a,b){var c=0,d=0,e=0,f=0;c=a+4|0;a=tg(a,b);a:{if((c|0)==(a|0)){break a}b=a+28|0;b=H[a+39|0]<0?J[b>>2]:b;while(1){a=b;b=a+1|0;c=H[a|0];if((c|0)==32|c-9>>>0<5){continue}break}b:{c:{d:{c=H[a|0];switch(c-43|0){case 0:break c;case 2:break d;default:break b}}e=1}c=H[b|0];a=b}if(c-48>>>0<10){while(1){d=(P(d,10)-H[a|0]|0)+48|0;b=H[a+1|0];a=a+1|0;if(b-48>>>0<10){continue}break}}a=e?d:0-d|0;if((a|0)==-1){break a}f=(a|0)!=0}return f}function La(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0<f>>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=Cj(d<<2)}b=b<<2;e=Xi((h<<2)+i|0,0,b);f=d<<2;d=Wi(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){xj(c)}return}Ia();C()}Va();C()}function vg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=J[a>>2];c=J[a+4>>2];e=J[a+8>>2];if(c>>>0<e>>>0){J[c>>2]=J[b>>2];J[a+4>>2]=c+4;return}a:{d=c;c=J[a>>2];g=d-c|0;d=g>>2;f=d+1|0;if(f>>>0<1073741824){h=d<<2;e=e-c|0;d=e>>>1|0;f=e>>>0>=2147483644?1073741823:f>>>0<d>>>0?d:f;if(f){if(f>>>0>=1073741824){break a}e=Cj(f<<2)}else{e=0}d=h+e|0;J[d>>2]=J[b>>2];b=Wi(e,c,g);J[a+8>>2]=b+(f<<2);J[a+4>>2]=d+4;J[a>>2]=b;if(c){xj(c)}return}Ia();C()}Va();C()}function ue(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0<f>>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=Cj(d<<3)}b=b<<3;e=Xi((h<<3)+i|0,0,b);f=d<<3;d=Wi(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){xj(c)}return}Ia();C()}Va();C()}function gc(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2376;b=J[a+60>>2];J[a+60>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function hc(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2376;b=J[a+60>>2];J[a+60>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}xj(a)}function Pa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=fa-16|0;fa=d;e=J[a+4>>2];a:{if((e|0)==-1){break a}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],J[a+8>>2],J[a+12>>2]);c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],a+20|0,a+24|0);c=J[b+20>>2];f=J[b+16>>2];H[d+15|0]=J[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],d+15|0,d+16|0)}fa=d+16|0;return(e|0)!=-1|0}function $f(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=J[a+8>>2];b:{if((b|0)<0){break b}c=J[a+4>>2];e=J[c>>2];d=J[c+4>>2]-e>>2;c:{if(d>>>0<b>>>0){ag(c,b-d|0);f=J[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}J[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=J[a+4>>2];c=J[a>>2];e=J[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}J[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}yc();C()}function yg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;f=g>>1;d=f+b|0;if((d|0)>=0){e=e-c|0;d=e>>>0>=2147483646?2147483647:d>>>0<e>>>0?e:d;if(d){if((d|0)<0){break a}h=Cj(d<<1)}b=b<<1;e=Xi((f<<1)+h|0,0,b);f=d<<1;d=Wi(h,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){xj(c)}return}Ia();C()}Va();C()}function _h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;me(d,a,b,c);J[a+24>>2]=J[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=K[d+15|0];g=f<<24>>24;if(H[a+39|0]>=0){if((g|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Ij(b,J[d+4>>2],J[d+8>>2]);break a}a=(g|0)<0;Hj(b,a?J[d+4>>2]:c,a?J[d+8>>2]:f)}if(H[d+15|0]<0){xj(J[d+4>>2])}fa=d+16|0;return e|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;le(d,a,b,c);J[a+24>>2]=J[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=K[d+15|0];g=f<<24>>24;if(H[a+39|0]>=0){if((g|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Ij(b,J[d+4>>2],J[d+8>>2]);break a}a=(g|0)<0;Hj(b,a?J[d+4>>2]:c,a?J[d+8>>2]:f)}if(H[d+15|0]<0){xj(J[d+4>>2])}fa=d+16|0;return e|0}function Gj(a,b,c){var d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;a:{b:{if(c>>>0<11){d=a;H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}Aj(g,d+1|0);d=J[e+8>>2];J[a>>2]=d;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;J[a+4>>2]=c}zj(d,b,c+1|0);fa=e+16|0;return}eg();C()}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;a:{e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=Cj(g);J[d+8>>2]=g|-2147483648;J[d>>2]=f;J[d+4>>2]=e;g=e+f|0;break c}H[d+11|0]=e;g=d+e|0;f=d;if(!e){break b}}Vi(f,c,e)}H[g|0]=0;f=a+16|0;c=Li(b,d,f);b=J[a+16>>2];a=H[a+27|0];if(H[d+11|0]<0){xj(J[d>>2])}fa=d+16|0;a=c?(a|0)<0?b:f:0;break a}eg();C()}return a|0}function ui(a,b){var c=0,d=0,e=0;c=J[a+4>>2];d=c+b|0;J[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){J[J[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=J[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;J[a>>2]=J[a>>2]&(-1<<c&-1>>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){Xi(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}}function $i(a,b,c){var d=0,e=0,f=0;d=J[c+16>>2];a:{if(!d){if(_i(c)){break a}d=J[c+16>>2]}f=J[c+20>>2];if(d-f>>>0<b>>>0){return ka[J[c+36>>2]](c,a,b)|0}b:{if(J[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(K[e+a|0]!=10){continue}break}e=ka[J[c+36>>2]](c,a,d)|0;if(e>>>0<d>>>0){break a}a=a+d|0;b=b-d|0;f=J[c+20>>2]}Vi(f,a,b);J[c+20>>2]=J[c+20>>2]+b;e=b+d|0}return e}function _e(a){var b=0,c=0,d=0,e=0;if(K[a+76|0]){H[a+76|0]=0;e=J[a+60>>2];c=J[a+72>>2]+7|0;b=c>>>0<7?1:b;d=b<<29|c>>>3;c=d+J[a+56>>2]|0;b=(b>>>3|0)+e|0;J[a+56>>2]=c;J[a+60>>2]=c>>>0<d>>>0?b+1|0:b}if(L[a+38>>1]<=513){H[a+132|0]=0;e=J[a+116>>2];b=0;c=J[a+128>>2]+7|0;b=c>>>0<7?1:b;d=b<<29|c>>>3;c=d+J[a+112>>2]|0;b=(b>>>3|0)+e|0;J[a+112>>2]=c;J[a+116>>2]=c>>>0<d>>>0?b+1|0:b}}function ve(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=J[c+20>>2];f=J[c+12>>2];e=J[c+16>>2];if((d|0)>=(f|0)&e>>>0>=M[c+8>>2]|(d|0)>(f|0)){break a}f=H[e+J[c>>2]|0];e=e+1|0;d=e?d:d+1|0;J[c+16>>2]=e;J[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!ve(a+1|0,b,c)){break a}a=J[b>>2];d=d&127|a<<7;a=J[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}J[b>>2]=d;J[b+4>>2]=a;g=1}return g}function sg(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=J[c+20>>2];f=J[c+12>>2];e=J[c+16>>2];if((d|0)>=(f|0)&e>>>0>=M[c+8>>2]|(d|0)>(f|0)){break a}f=H[e+J[c>>2]|0];e=e+1|0;d=e?d:d+1|0;J[c+16>>2]=e;J[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!sg(a+1|0,b,c)){break a}a=J[b>>2];d=d&127|a<<7;a=J[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}J[b>>2]=d;J[b+4>>2]=a;g=1}return g}function Xa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=fa+-64|0;fa=e;d=ka[J[J[a>>2]+44>>2]](a,b)|0;a=ka[J[J[a>>2]+40>>2]](a,b)|0;f=Ya(e);g=J[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=J[(a<<2)+13632>>2]}else{a=-1}d=P(a,d);Za(f,g,h,i,0,d,d>>31);a=_a(Cj(96),f);$a(a,c);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2];J[a+60>>2]=J[b+60>>2];fa=e- -64|0;return a|0}function Vj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Nj(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!Nj(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function lg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=J[a+32>>2];b=e;h=J[b+8>>2];g=J[b+12>>2];c=J[b+16>>2];b=J[b+20>>2];f=c+4|0;b=f>>>0<4?b+1|0:b;d=0;a:{if(f>>>0>h>>>0&(b|0)>=(g|0)|(b|0)>(g|0)){break a}c=J[e>>2]+c|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[e+16>>2]=f;J[e+20>>2]=b;d=0;if((c|0)<0){break a}J[J[a+4>>2]+80>>2]=c;d=1}return d|0}function De(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=11324;b=J[a+48>>2];J[a+48>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}return a|0}function kf(a,b){var c=0,d=0,e=0,f=0;J[a+144>>2]=b;c=J[(ka[J[J[b>>2]+32>>2]](b)|0)+32>>2];c=J[c>>2]+J[c+16>>2]|0;d=J[(ka[J[J[b>>2]+32>>2]](b)|0)+32>>2];d=J[d+8>>2]-J[d+16>>2]|0;e=a,f=L[J[(ka[J[J[b>>2]+32>>2]](b)|0)+32>>2]+38>>1],I[e+38>>1]=f;J[a>>2]=c;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=d;J[a+12>>2]=0;e=a,f=ka[J[J[b>>2]+36>>2]](b)|0,J[e+148>>2]=f}function Tj(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Ee(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=11324;b=J[a+48>>2];J[a+48>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}xj(a)}function ng(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+32>>2];b=e;g=J[b+8>>2];d=J[b+12>>2];c=J[b+16>>2];b=J[b+20>>2];f=d;d=c+4|0;b=d>>>0<4?b+1|0:b;if((f|0)>=(b|0)&d>>>0<=g>>>0|(b|0)<(f|0)){c=J[e>>2]+c|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[e+16>>2]=d;J[e+20>>2]=b;J[J[a+4>>2]+80>>2]=c}return(b|0)<=(f|0)&d>>>0<=g>>>0|(b|0)<(f|0)}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa+-64|0;fa=e;d=1;a:{if(Nj(a,b,0)){break a}d=0;if(!b){break a}b=Pj(b,15020);d=0;if(!b){break a}d=e+8|0;Xi(d|4,0,52);J[e+56>>2]=1;J[e+20>>2]=-1;J[e+16>>2]=a;J[e+8>>2]=b;ka[J[J[b>>2]+28>>2]](b,d,J[c>>2],1);a=J[e+32>>2];if((a|0)==1){J[c>>2]=J[e+24>>2]}d=(a|0)==1}fa=e- -64|0;return d|0}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;b=J[b+64>>2];e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Oe(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+56>>2];b=J[b+52>>2];H[d+14|0]=0;Oe(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function ke(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b){J[c>>2]=0;return}h=0-K[a+12|0]&255;e=J[a+4>>2];d=J[a+8>>2];i=J[a>>2];while(1){j=f<<1;if(!((e|0)<=0|d>>>0>4095)){e=e-1|0;J[a+4>>2]=e;d=K[e+i|0]|d<<8}g=d&255;f=g>>>0<h>>>0;k=g;g=P(d>>>8|0,h);d=f?k+g|0:d-(h+g|0)|0;J[a+8>>2]=d;f=f|j;b=b-1|0;if(b){continue}break}J[c>>2]=f}function Oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=fa-16|0;fa=a;f=H[b+24|0];e=J[3423];J[a+8>>2]=J[3422];J[a+12>>2]=e;e=J[3421];J[a>>2]=J[3420];J[a+4>>2]=e;e=Rc(b,c,f,a);if(e){b=0;if(f){c=(f&255)<<2;b=Cj(c);g=Vi(b,a,c)+c|0}c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=b}fa=a+16|0;return e|0}function dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ka[J[J[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=J[J[a+36>>2]>>2];g=a+48|0;c=0;if(!(ka[J[J[d>>2]+20>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=J[J[a+36>>2]+(e<<2)>>2];if(ka[J[J[d>>2]+20>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ka[J[J[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=J[J[a+36>>2]>>2];g=a+48|0;c=0;if(!(ka[J[J[d>>2]+16>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=J[J[a+36>>2]+(e<<2)>>2];if(ka[J[J[d>>2]+16>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Oe(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+28>>2];b=J[b+24>>2];H[d+14|0]=0;Oe(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function ti(a){var b=0;J[a>>2]=0;J[a+4>>2]=0;J[a+56>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+60>>2]=a;return a}function ff(a,b){var c=0,d=0;a:{c=J[a+4>>2];d=J[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0<d>>>0?d:c}else{c=2147483647}Jc(a,c);c=J[a+4>>2]}J[a+4>>2]=c+1;d=1<<c;a=J[a>>2]+(c>>>3&536870908)|0;if(K[b|0]){J[a>>2]=d|J[a>>2];return}J[a>>2]=J[a>>2]&(d^-1);return}Ia();C()}function te(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!te(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function ie(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!ie(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function eb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!eb(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Wf(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Wf(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Re(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Re(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Ii(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Ii(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Gc(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Gc(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Gb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Gb(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function bj(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(J[a>>2]!=J[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=K[a|0];e=K[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function pf(a){var b=0,c=0,d=0,e=0;d=J[a>>2];if(d){e=d;c=J[a+4>>2];if((d|0)!=(c|0)){while(1){e=c-144|0;b=J[e+132>>2];if(b){J[c-8>>2]=b;xj(b)}b=J[c-28>>2];if(b){J[c-24>>2]=b;xj(b)}b=J[c-40>>2];if(b){J[c-36>>2]=b;xj(b)}bf(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}e=J[a>>2]}J[a+4>>2]=d;xj(e)}}function Jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[b+4>>2];a:{if(!d){break a}b=J[J[J[b+8>>2]+(c<<2)>>2]+60>>2];if((b|0)<0){break a}a=J[d+24>>2];c=J[d+28>>2];if((a|0)==(c|0)){break a}b:{while(1){e=J[a>>2];if((b|0)==J[e+24>>2]){break b}a=a+4|0;if((c|0)!=(a|0)){continue}break}e=0}}return e|0}function Af(a){a=a|0;var b=0;J[a+8>>2]=12432;J[a>>2]=12220;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function fg(a){var b=0,c=0,d=0;if(a){d=J[a+24>>2];if(d){b=d;c=J[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){jg(b+12|0,J[b+16>>2]);kg(b,J[b+4>>2]);xj(b)}if((c|0)!=(d|0)){continue}break}b=J[a+24>>2]}J[a+28>>2]=d;xj(b)}jg(a+12|0,J[a+16>>2]);kg(a,J[a+4>>2]);xj(a)}}function Bf(a){a=a|0;var b=0;J[a+8>>2]=12432;J[a>>2]=12220;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function ye(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}return a|0}function Ca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=J[c+8>>2];e=J[c+16>>2];g=J[c+12>>2];f=g;d=J[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=K[J[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;J[c+16>>2]=i;J[c+20>>2]=f;J[a+4>>2]=b}return e>>>0<h>>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function Zf(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}xj(a)}function Nj(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function zf(a){a=a|0;var b=0;J[a>>2]=12432;b=J[a+88>>2];if(b){J[a+92>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[b+12>>2];b=J[b+8>>2];a=0;a:{if((d|0)==(b|0)){break a}a=d-b>>2;d=a>>>0<=1?1:a;a=0;b:{while(1){e=J[b+(a<<2)>>2];if(J[e+60>>2]==(c|0)){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=0;break a}a=(a|0)!=-1?e:0}return a|0}function Ki(a,b){var c=0,d=0,e=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{c=J[b+4>>2];d=J[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=Cj(c);c=Xi(e,0,c);d=d+c|0;J[a+8>>2]=d;J[a+4>>2]=d;J[a>>2]=c;c=J[b>>2];a=J[b+4>>2]}Vi(e,c,a-c|0);return}Ia();C()}function Ue(a){var b=0,c=0,d=0,e=0;c=J[a+4>>2];d=J[a>>2];if((c|0)!=(d|0)){while(1){e=c-144|0;b=J[e+132>>2];if(b){J[c-8>>2]=b;xj(b)}b=J[c-28>>2];if(b){J[c-24>>2]=b;xj(b)}b=J[c-40>>2];if(b){J[c-36>>2]=b;xj(b)}bf(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=d}function Gf(a){a=a|0;var b=0;J[a>>2]=12432;b=J[a+88>>2];if(b){J[a+92>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function uj(a,b,c){var d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;d=fa-16|0;fa=d;b=b-a>>2;while(1){if(b){J[d+12>>2]=a;e=b>>>1|0;J[d+12>>2]=J[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=M[J[d+12>>2]>>2]<M[c>>2];b=e?g:b;a=e?J[d+12>>2]+4|0:a;continue}break}fa=d+16|0;fa=f+16|0;return a}function Se(a){var b=0;if(a){b=J[a+76>>2];if(b){J[a+80>>2]=b;xj(b)}b=J[a- -64>>2];if(b){J[a+68>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}xj(a)}}function bf(a){var b=0;b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;xj(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;xj(b)}b=J[a+28>>2];if(b){J[a+32>>2]=b;xj(b)}b=J[a+12>>2];if(b){xj(b)}a=J[a>>2];if(a){xj(a)}}function oj(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=pk(a,b,10,0);d=ja;f=c,g=e-nk(a,d,10,0)|48,H[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;H[c|0]=a-P(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function Ej(a){var b=0,c=0,d=0;c=fa-16|0;fa=c;H[c+15|0]=10;b=J[a+16>>2];a:{if(!b){if(_i(a)){break a}b=J[a+16>>2]}d=b;b=J[a+20>>2];if(!((d|0)==(b|0)|J[a+80>>2]==10)){J[a+20>>2]=b+1;H[b|0]=10;break a}if((ka[J[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}fa=c+16|0}function Wa(a,b){var c=0,d=0;d=Cj(40);J[d>>2]=-1;c=d+8|0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;ka[J[J[a>>2]+16>>2]](a,d);a=J[b+88>>2];J[b+88>>2]=d;if(a){b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}return 1}function hj(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!K[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function je(a){var b=0,c=0,d=0,e=0,f=0;d=K[a+12|0];c=J[a+8>>2];a:{if(c>>>0>4095){break a}b=J[a+4>>2];if((b|0)<=0){break a}b=b-1|0;J[a+4>>2]=b;c=K[b+J[a>>2]|0]|c<<8}d=0-d&255;b=P(d,c>>>8|0);e=c&255;f=e>>>0<d>>>0;J[a+8>>2]=f?b+e|0:c-(b+d|0)|0;return f}function ij(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=ij(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function _b(a,b){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2032;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a>>2]=2376;J[a+60>>2]=b;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;return a}function dg(a,b){var c=0,d=0,e=0;c=hj(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=Cj(d);J[a+8>>2]=d|-2147483648;J[a>>2]=e;J[a+4>>2]=c;d=c+e|0;break b}H[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}Wi(e,b,c)}H[d|0]=0;return a}eg();C()}function zh(a){a=a|0;var b=0,c=0,d=0;if(a){if(H[a+27|0]<0){xj(J[a+16>>2])}b=J[a>>2];if(b){c=b;d=J[a+4>>2];if((b|0)!=(d|0)){while(1){c=d-12|0;if(H[d-1|0]<0){xj(J[c>>2])}d=c;if((d|0)!=(b|0)){continue}break}c=J[a>>2]}J[a+4>>2]=b;xj(c)}xj(a)}}function pb(a){a=a|0;var b=0,c=0;if(a){b=J[a+88>>2];J[a+88>>2]=0;if(b){c=J[b+8>>2];if(c){J[b+12>>2]=c;xj(c)}xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+64>>2];J[a+64>>2]=0;if(b){c=J[b>>2];if(c){J[b+4>>2]=c;xj(c)}xj(b)}xj(a)}}function Te(a,b){var c=0,d=0,e=0;a:{c=J[a>>2];b:{if(J[a+8>>2]-c>>2>>>0>=b>>>0){break b}if(b>>>0>=1073741824){break a}d=J[a+4>>2]-c|0;e=b<<2;b=Wi(Cj(e),c,d);J[a+8>>2]=b+e;J[a+4>>2]=b+d;J[a>>2]=b;if(!c){break b}xj(c)}return}Ia();C()}function mj(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function de(a){a=a|0;var b=0;J[a+24>>2]=1880;J[a>>2]=11096;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}return a|0}function Kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=J[b+96>>2];a=Cj(12);b=b+P(c,12)|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d>>2]=a;a=a+12|0;J[d+8>>2]=a;J[d+4>>2]=a;return 1}function ok(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0<e>>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=pk(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ja=(g^ja)-((a>>>0<f>>>0)+g|0)|0;return b}function ee(a){a=a|0;var b=0;J[a+24>>2]=1880;J[a>>2]=11096;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}xj(a)}function Hj(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;d=J[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=J[a>>2];J[a+4>>2]=c;zj(d,b,c);H[e+15|0]=0;H[c+d|0]=K[e+15|0];break a}f=a;a=J[a+4>>2];Fj(f,d-1|0,(c-d|0)+1|0,a,a,c,b)}fa=e+16|0}function Aa(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;a=J[a+4>>2];a:{if((a|0)==-1){break a}H[c+15|0]=a;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+15|0,c+16|0)}fa=c+16|0;return(a|0)!=-1|0}function nk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ja=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Ij(a,b,c){var d=0,e=0;d=fa-16|0;fa=d;a:{if(c>>>0<=10){H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;zj(a,b,c);H[d+15|0]=0;H[a+c|0]=K[d+15|0];break a}e=a;a=K[a+11|0]&127;Fj(e,10,c-10|0,a,a,c,b)}fa=d+16|0}function Qj(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function Kg(){var a=0;a=Ya(Cj(96));J[a+64>>2]=0;J[a+68>>2]=0;J[a+88>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a|0}function wa(a,b){a=a|0;b=b|0;var c=0,d=0;J[b>>2]=2;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){pg(b+8|0,d+4|0);c=J[b+8>>2]}b=c+d|0;a=J[a+4>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function pj(a,b,c,d,e){var f=0;f=fa-256|0;fa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Xi(f,b&255,c?d:256);if(!c){while(1){lj(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}lj(a,f,d)}fa=f+256|0}function ig(a){a=a|0;var b=0,c=0,d=0;b=J[a+8>>2];d=J[a+12>>2];if((b|0)==(d|0)){return 1}while(1){c=J[b>>2];c=ka[J[J[c>>2]+16>>2]](c,J[a+32>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function hd(a){a=a|0;var b=0;J[a>>2]=5628;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Cc(a){a=a|0;var b=0;J[a>>2]=3612;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Oi(a,b){var c=0,d=0;c=J[a+8>>2];a=J[a+12>>2];if((c|0)!=(a|0)){a=a-c>>2;d=a>>>0<=1?1:a;a=0;while(1){if(J[J[(a<<2)+c>>2]+60>>2]==(b|0)){return a}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return-1}function id(a){a=a|0;var b=0;J[a>>2]=5628;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Dc(a){a=a|0;var b=0;J[a>>2]=3612;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Li(a,b,c){var d=0,e=0;d=a+4|0;a=tg(a,b);a:{if((d|0)==(a|0)){break a}b=J[a+32>>2];d=J[a+28>>2];if((b|0)==(d|0)){break a}Kj(c,b-d|0);c=Jj(c);b=J[a+28>>2];Vi(c,b,J[a+32>>2]-b|0);e=1}return e}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=fa-16|0;fa=e;a=ea(J[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){J[4004]=a;a=-1}else{a=0}fa=e+16|0;ja=a?-1:J[e+12>>2];return(a?-1:J[e+8>>2])|0}function _i(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function Ya(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+28>>2]=9;H[a+24|0]=1;J[a+56>>2]=-1;J[a+60>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;return a}function ic(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}c=Ub(J[J[a+36>>2]+(b<<2)>>2])}return c|0}function Ah(){var a=0,b=0;a=Cj(40);J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;J[a+32>>2]=0;J[a+36>>2]=0;return a|0}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0;Qi(a,b);a:{if((b|0)<0){break a}d=J[a+88>>2];c=J[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;Wi(c,b,d-b|0);J[a+88>>2]=d-4}}function vj(a){var b=0,c=0;b=J[3973];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>la()<<16>>>0){if(!(da(a|0)|0)){break a}}J[3973]=a;return b}J[4004]=48;return-1}function Qf(a){a=a|0;var b=0;J[a+8>>2]=11920;J[a>>2]=12980;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12172;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function Kf(a){a=a|0;var b=0;J[a+8>>2]=12852;J[a>>2]=12688;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;a=J[a+8>>2];if(K[a+24|0]==3){d=J[a+28>>2]==9}return d|0}function Sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[a+8>>2];a:{if(!K[d+24|0]){break a}if(!$a(d,J[b+4>>2]-J[b>>2]>>2)){break a}e=ka[J[J[a>>2]+32>>2]](a,b,c)|0}return e|0}function Rf(a){a=a|0;var b=0;J[a+8>>2]=11920;J[a>>2]=12980;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12172;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function Lf(a){a=a|0;var b=0;J[a+8>>2]=12852;J[a>>2]=12688;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function ld(a){a=a|0;var b=0;J[a>>2]=5864;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function jg(a,b){if(b){jg(a,J[b>>2]);jg(a,J[b+4>>2]);a=J[b+28>>2];J[b+28>>2]=0;if(a){jg(a+12|0,J[a+16>>2]);kg(a,J[a+4>>2]);xj(a)}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;J[a+4>>2]=b;d=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=d;return J[J[J[J[b+4>>2]+8>>2]+(c<<2)>>2]+28>>2]==9|0}function Kc(a){a=a|0;var b=0;J[a>>2]=3860;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function bg(a){J[a+40>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=13328;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;I[a+36>>1]=0;return a}function Dj(a,b){var c=0,d=0,e=0,f=0;J[a>>2]=15308;J[a>>2]=15420;c=hj(b);d=Cj(c+13|0);J[d+8>>2]=0;J[d+4>>2]=c;J[d>>2]=c;e=a,f=Vi(d+12|0,b,c+1|0),J[e+4>>2]=f;return a}function ib(a,b){a=a|0;b=b|0;var c=0;a:{if(!(ka[J[J[a>>2]+36>>2]](a,b)|0)){break a}if(!(ka[J[J[a>>2]+40>>2]](a,b)|0)){break a}c=ka[J[J[a>>2]+44>>2]](a)|0}return c|0}function md(a){a=a|0;var b=0;J[a>>2]=5864;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Lc(a){a=a|0;var b=0;J[a>>2]=3860;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function $c(a){a=a|0;var b=0;a:{if(!J[a- -64>>2]|!J[a+68>>2]|(!J[a+44>>2]|!J[a+48>>2])){break a}if(!J[a+52>>2]|!J[a+56>>2]){break a}b=J[a+92>>2]!=-1}return b|0}function va(a,b){a=a|0;b=b|0;var c=0;b=J[b+88>>2];if(!(!b|J[b>>2]!=2)){c=a;a=J[b+8>>2];J[c+4>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);c=1}return c|0}function oc(a){a=a|0;var b=0;J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}return a|0}function Fd(a){a=a|0;var b=0;a:{if(!J[a+48>>2]|!J[a+52>>2]|(!J[a+28>>2]|!J[a+32>>2])){break a}if(!J[a+36>>2]|!J[a+40>>2]){break a}b=J[a+76>>2]!=-1}return b|0}function Ne(a){a=a|0;var b=0;J[a>>2]=11920;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function Jf(a){a=a|0;var b=0;J[a>>2]=12852;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function pc(a){a=a|0;var b=0;J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}xj(a)}function vf(a){a=a|0;var b=0;J[a>>2]=11920;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function jc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+4>>2];a:{if(d){c=1;if(K[d+36|0]<2){break a}}c=ka[J[J[a>>2]+48>>2]](a,J[b+4>>2]-J[b>>2]>>2)|0}return c|0}function Pf(a){a=a|0;var b=0;J[a>>2]=12852;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function Gg(){var a=0,b=0;b=Cj(40);J[b>>2]=-1;a=b+8|0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;return b|0}function qg(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;I[a+38>>1]=0;H[a+36|0]=0;return a}function Wj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Nj(a,J[b+8>>2],f)){Tj(b,c,d,e);return}a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function $d(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(K[J[a+4>>2]+36|0]>=2){b=0;if(!(ka[J[J[a>>2]+52>>2]](a)|0)){break a}}b=Wa(a+24|0,J[a+16>>2])}return b|0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(K[J[a+4>>2]+36|0]<=1){d=0;if(!(ka[J[J[a>>2]+52>>2]](a)|0)){break a}}d=mc(a,b,c)}return d|0}function Ni(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=P(b,12)+a|0;a=J[b+20>>2];if((J[b+24>>2]-a|0)<=0){break a}c=J[a>>2]}return c}function $g(){var a=0;a=Mi(Cj(108));J[a+84>>2]=0;J[a+88>>2]=0;J[a>>2]=13712;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;return a|0}function Za(a,b,c,d,e,f,g){J[a>>2]=0;J[a+56>>2]=b;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=f;J[a+44>>2]=g;H[a+32|0]=e;J[a+28>>2]=d;H[a+24|0]=c}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(K[J[a+4>>2]+36|0]<=1){d=0;if(!Ca(a+24|0,J[a+8>>2],c)){break a}}d=mc(a,b,c)}return d|0}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(K[J[a+4>>2]+36|0]>=2){b=0;if(!Ca(a+24|0,Ub(a),c)){break a}}b=Wa(a+24|0,J[a+16>>2])}return b|0}function xi(a){a=a|0;var b=0;J[a>>2]=13712;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}return yi(a)|0}function Jj(a){var b=0;if(K[a+11|0]>>>7|0){b=J[a+4>>2]}else{b=K[a+11|0]&127}if(!b){zc(1255);C()}if(K[a+11|0]>>>7|0){a=J[a>>2]}return a}function zi(a){a=a|0;var b=0;J[a>>2]=13712;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}xj(yi(a))}function pd(a){a=a|0;var b=0;J[a>>2]=6080;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function kg(a,b){if(b){kg(a,J[b>>2]);kg(a,J[b+4>>2]);a=J[b+28>>2];if(a){J[b+32>>2]=a;xj(a)}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function Sc(a){a=a|0;var b=0;J[a>>2]=4088;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function rh(){var a=0;a=Cj(28);J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function gb(a){a=a|0;var b=0;J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function bh(){var a=0,b=0;a=Cj(24);J[a+4>>2]=0;J[a+8>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;return a|0}function Sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Nj(a,J[b+8>>2],0)){Qj(b,c,d);return}a=J[a+8>>2];ka[J[J[a>>2]+28>>2]](a,b,c,d)}function qd(a){a=a|0;var b=0;J[a>>2]=6080;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Tc(a){a=a|0;var b=0;J[a>>2]=4088;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Cj(a){var b=0;a=a?a:1;a:{while(1){b=wj(a);if(b){break a}b=J[4438];if(b){ka[b|0]();continue}break}ca();C()}return b}function ne(a,b){if(b){ne(a,J[b>>2]);ne(a,J[b+4>>2]);if(H[b+39|0]<0){xj(J[b+28>>2])}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function ak(a){a=a|0;var b=0,c=0;J[a>>2]=15420;b=J[a+4>>2]-12|0;c=J[b+8>>2]-1|0;J[b+8>>2]=c;if((c|0)<0){xj(b)}return a|0}function Tg(){var a=0;a=Cj(24);J[a+8>>2]=0;J[a+12>>2]=0;J[a+4>>2]=-1;J[a>>2]=1880;J[a+16>>2]=0;J[a+20>>2]=0;return a|0}function Qb(a,b,c){a=a|0;b=b|0;c=c|0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;return 1}function Nc(a){a=a|0;var b=0;if(!(!J[a+60>>2]|!J[a+44>>2]|(!J[a+48>>2]|!J[a+52>>2]))){b=J[a+56>>2]!=0}return b|0}function Bj(a,b){if(K[a+11|0]>>>7|0){J[a+4>>2]=b;return}H[a+11|0]=K[a+11|0]&128|b;H[a+11|0]=K[a+11|0]&127}function wf(a){a=a|0;var b=0;J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function sd(a){a=a|0;var b=0;J[a>>2]=6304;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Yc(a){a=a|0;var b=0;J[a>>2]=4324;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Hf(a){a=a|0;var b=0;J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function $h(a){a=a|0;if(a){if(H[a+39|0]<0){xj(J[a+28>>2])}ai(a+12|0,J[a+16>>2]);ne(a,J[a+4>>2]);xj(a)}}function tc(a){a=a|0;var b=0;if(!(!J[a+52>>2]|(!J[a+44>>2]|!J[a+48>>2]))){b=J[a+56>>2]!=0}return b|0}function xf(a){a=a|0;var b=0;J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function td(a){a=a|0;var b=0;J[a>>2]=6304;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Zc(a){a=a|0;var b=0;J[a>>2]=4324;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Oc(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|!b|K[b+24|0]!=3)){J[a+60>>2]=b;c=1}return c|0}function If(a){a=a|0;var b=0;J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function ad(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a- -64>>2]=b;c=1}return c|0}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=b;J[a+8>>2]=c;J[a+12>>2]=0}function Xj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Nj(a,J[b+8>>2],f)){Tj(b,c,d,e)}}function Gd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+48>>2]=b;c=1}return c|0}function Eb(a){var b=0;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}}function Va(){var a=0;a=Lj(4);J[a>>2]=15308;J[a>>2]=15268;J[a>>2]=15288;Z(a|0,15400,14);C()}function lk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=ka[a|0](b,c,d,e)|0;ga=ja;return a|0}function Yb(a){a=a|0;var b=0;J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}return a|0}function Ac(a){a=a|0;var b=0;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function be(a){a=a|0;var b=0;b=Ub(a);return Qa(a+24|0,b?b:J[a+8>>2],J[J[a+4>>2]+32>>2])|0}function Ra(a){a=a|0;var b=0;J[a>>2]=1880;b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}return a|0}function rc(a){a=a|0;var b=0;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Zb(a){a=a|0;var b=0;J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}xj(a)}function Sa(a){a=a|0;var b=0;J[a>>2]=1880;b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}function fe(a){var b=0;J[a+16>>2]=0;b=J[a>>2];J[a+4>>2]=b;J[a+12>>2]=b;if(b){xj(b)}}function ai(a,b){if(b){ai(a,J[b>>2]);ai(a,J[b+4>>2]);ne(b+20|0,J[b+24>>2]);xj(b)}}function cj(a,b){var c=0;c=fa-16|0;fa=c;J[c+12>>2]=b;jj(15744,a,b,0,0);fa=c+16|0}function xe(a){a=a|0;if(!J[a+44>>2]){return 0}return ka[J[J[a>>2]+48>>2]](a)|0}function Ig(a){a=a|0;var b=0;if(a){b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}}function qk(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Nj(a,J[b+8>>2],0)){Qj(b,c,d)}}function ze(a,b){a=a|0;b=b|0;a=J[a+48>>2];return ka[J[J[a>>2]+20>>2]](a,b)|0}function He(a,b){a=a|0;b=b|0;a=J[a+48>>2];return ka[J[J[a>>2]+16>>2]](a,b)|0}function Ge(a,b){a=a|0;b=b|0;a=J[a+48>>2];return ka[J[J[a>>2]+12>>2]](a,b)|0}function rk(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<<b|(-1<<a&-2)>>>a}
function jh(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}xj(a)}}function gh(){var a=0;a=Cj(12);J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;return a|0}function ed(a,b){a=a|0;b=b|0;if(b>>>0<=1){J[a+28>>2]=b}return b>>>0<2|0}
function ch(a){a=a|0;if(a){jg(a+12|0,J[a+16>>2]);kg(a,J[a+4>>2]);xj(a)}}function cb(a,b,c){a=a|0;b=b|0;c=c|0;J[a+32>>2]=c;J[a+28>>2]=b;return 1}function aj(a,b,c){a:{if(J[c+76>>2]<0){a=$i(a,b,c);break a}a=$i(a,b,c)}}function _f(a,b){a=a|0;b=b|0;H[b+84|0]=1;J[b+72>>2]=J[b+68>>2];return 1}function Yg(){var a=0;a=Cj(8);J[a+4>>2]=-1;J[a>>2]=1032;return a|0}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;return J[J[b+8>>2]+(c<<2)>>2]}function Fe(a){a=a|0;a=J[a+48>>2];return ka[J[J[a>>2]+36>>2]](a)|0}function Ce(a){a=a|0;a=J[a+48>>2];return ka[J[J[a>>2]+28>>2]](a)|0}function Be(a){a=a|0;a=J[a+48>>2];return ka[J[J[a>>2]+24>>2]](a)|0}function ce(a,b){a=a|0;b=b|0;return Oa(a+24|0,Ub(a),J[a+8>>2])|0}function Bd(a,b){a=a|0;b=b|0;return za(a+24|0,Ub(a),J[a+8>>2])|0}function fh(a){a=a|0;if(a){if(H[a+15|0]<0){xj(J[a+4>>2])}xj(a)}}function ae(a,b){a=a|0;b=b|0;return ka[J[J[a>>2]+56>>2]](a,b)|0}function Yj(a){a=a|0;if(!a){return 0}return(Pj(a,15116)|0)!=0|0}function Ug(a,b){a=a|0;b=b|0;return ka[J[J[a>>2]+12>>2]](a,b)|0}function Rb(a,b){a=a|0;b=b|0;J[a+12>>2]=-1;J[a+8>>2]=b;return 1}function zc(a){a=Dj(Lj(8),a);J[a>>2]=15520;Z(a|0,15552,1);C()}function Vg(a,b){a=a|0;b=b|0;return Q(N[J[a+8>>2]+(b<<2)>>2])}function Ja(a){a=Dj(Lj(8),a);J[a>>2]=15468;Z(a|0,15500,1);C()}function hh(a,b){a=a|0;b=b|0;return Q(N[J[a>>2]+(b<<2)>>2])}function we(a){a=bg(a);J[a+44>>2]=0;J[a>>2]=11228;return a}function jb(a,b){a=a|0;b=b|0;return J[J[a+4>>2]+(b<<2)>>2]}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ja=0;return 0}function eh(a){a=a|0;return(H[a+15|0]<0?J[a+4>>2]:a+4|0)|0}function ah(a){a=a|0;return(J[a+100>>2]-J[a+96>>2]|0)/12|0}function ua(){ia=83296;ha=17760;J[4308]=17112;J[4290]=42}function qh(a,b){a=a|0;b=b|0;return J[J[a>>2]+(b<<2)>>2]}function ph(a,b){a=a|0;b=b|0;return L[J[a>>2]+(b<<1)>>1]}function nh(a,b){a=a|0;b=b|0;return I[J[a>>2]+(b<<1)>>1]}function Aj(a,b){var c=0;c=Cj(b);J[a+4>>2]=b;J[a>>2]=c}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;return Ni(b,c)|0}function Mi(a){J[a>>2]=13772;Xi(a+4|0,0,80);return a}function mk(a){if(a){return 31-S(a-1^a)|0}return 32}function _g(a){a=a|0;return J[a+12>>2]-J[a+8>>2]>>2}function mh(a,b){a=a|0;b=b|0;return K[J[a>>2]+b|0]}function kh(a,b){a=a|0;b=b|0;return H[J[a>>2]+b|0]}function kb(a){a=a|0;return J[a+8>>2]-J[a+4>>2]>>2}function Xg(a){a=a|0;if(a){ka[J[J[a>>2]+4>>2]](a)}}function Ie(a,b){a=a|0;b=b|0;J[a+4>>2]=b;return 1}function oh(a){a=a|0;return J[a+4>>2]-J[a>>2]>>1}function ih(a){a=a|0;return J[a+4>>2]-J[a>>2]>>2}function lh(a){a=a|0;return J[a+4>>2]-J[a>>2]|0}function gk(a){a=a|0;a=fa-a&-16;fa=a;return a|0}function lj(a,b,c){if(!(K[a|0]&32)){$i(b,c,a)}}function xh(a,b){a=a|0;b=b|0;return J[b+8>>2]}function qc(a){a=a|0;return K[J[a+8>>2]+24|0]}function Vd(a){a=a|0;J[a>>2]=10080;return a|0}function Ua(a,b){a=a|0;b=b|0;return K[b+24|0]}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Ih(a,b){a=a|0;b=b|0;return J[b+4>>2]}function dj(a){a=a|0;return aa(J[a+60>>2])|0}function Pd(a){a=a|0;J[a>>2]=9076;return a|0}function Ld(a){a=a|0;J[a>>2]=8128;return a|0}function Dd(a){a=a|0;J[a>>2]=7192;return a|0}function Wg(a){a=a|0;return Q(N[a+20>>2])}function Wd(a){a=a|0;J[a>>2]=10080;xj(a)}function Qd(a){a=a|0;J[a>>2]=9076;xj(a)}function Md(a){a=a|0;J[a>>2]=8128;xj(a)}function Ed(a){a=a|0;J[a>>2]=7192;xj(a)}function lb(a){a=a|0;return J[a+28>>2]}function Sg(a){a=a|0;return J[a+60>>2]}function Rg(a){a=a|0;return J[a+48>>2]}function Qg(a){a=a|0;return J[a+40>>2]}function Ng(a){a=a|0;return J[a+56>>2]}function Mg(a){a=a|0;return J[a+88>>2]}function Lg(a){a=a|0;return J[a+80>>2]}function vc(a,b){a=a|0;b=b|0;return-1}function sc(a){a=a|0;return J[a+4>>2]}function nb(a,b){a=a|0;b=b|0;return 1}function mb(a,b){a=a|0;b=b|0;return 0}function gf(a){a=a|0;return J[a+8>>2]}function dh(a){a=a|0;return!J[a>>2]|0}function Pg(a){a=a|0;return K[a+32|0]}function Og(a){a=a|0;return H[a+24|0]}function Lj(a){return wj(a+80|0)+80|0}function Ha(a,b){a=a|0;b=b|0;return 2}function Ga(a,b){a=a|0;b=b|0;return 6}function Hg(a){a=a|0;return J[a>>2]}function Zg(){return Mi(Cj(84))|0}function Jg(){return Ya(Cj(64))|0}function Eg(){return qg(Cj(40))|0}function Dg(a){a=a|0;if(a){xj(a)}}function bk(a){a=a|0;ak(a);xj(a)}function _j(a){a=a|0;return 1272}function Zj(a){a=a|0;return 1190}function $j(a){a=a|0;return 1234}function hk(){ia=83296;ha=17760}function Da(a){a=a|0;return a|0}function uf(a){a=a|0;xj(tf(a))}function sf(a){a=a|0;xj(rf(a))}function qf(a){a=a|0;xj(of(a))}function Ri(a){a=a|0;xj(yi(a))}function Lb(a){a=a|0;xj(Kb(a))}function uc(a){a=a|0;return 0}function _c(a){a=a|0;return 6}function Uc(a){a=a|0;return 5}function Ta(a){a=a|0;return 1}function Mc(a){a=a|0;return 3}function Fa(a){a=a|0;return 2}function Ec(a){a=a|0;return 4}function ik(){return fa-ha|0}function yc(){zc(1183);C()}function eg(){Ja(1255);C()}function Yi(){return 16016}function Ia(){Ja(1183);C()}function Ea(a){a=a|0;xj(a)}function kk(){return ha|0}function jk(){return ia|0}function fk(a){a=a|0;fa=a}function ek(){return fa|0}function dk(){return ga|0}function ck(a){a=a|0;ga=a}function hb(a){a=a|0;C()}function oi(){return 12}function ni(){return 11}function mi(){return 10}function si(){return-5}function ri(){return-4}function qi(){return-3}function pi(){return-2}function li(){return 9}function ki(){return 8}function ji(){return 7}function ii(){return 6}function hi(){return 5}function gi(){return 4}function fi(){return 3}function ei(){return 2}function di(){return 1}function ci(){return 0}function bi(){return-1}function Zi(a){a=a|0}
// EMSCRIPTEN_END_FUNCS
e=K;p(q);var ka=c([null,ak,Da,Ea,Fa,va,wa,xa,za,Aa,Ca,Xa,Ga,Ha,Da,Ra,Sa,Ta,Ka,Ma,Na,Oa,Pa,Qa,Ga,Ua,gb,hb,cb,db,ib,jb,kb,lb,mb,Mj,nb,Ta,Kb,Lb,ob,Fb,Ib,Yb,Zb,Qb,Rb,Sb,Tb,nb,Wb,Xb,gc,hc,$b,bc,ic,cc,dc,ec,fc,oc,pc,Qb,jc,kc,mc,lc,qc,nc,Ac,rc,Ta,sc,tc,uc,vc,mb,uc,Ta,wc,xc,hb,hb,rc,Fa,tc,Bc,Cc,Dc,Ec,tc,Fc,Ic,Kc,Lc,Mc,Nc,Ta,mb,Oc,Pc,Qc,Sc,Tc,Uc,Nc,Ta,mb,Oc,Vc,Wc,Yc,Zc,_c,$c,Ta,mb,ad,bd,cd,Da,Ea,ed,lb,dd,hb,rc,Ta,tc,fd,hb,rc,Fa,tc,gd,hd,id,Ec,tc,jd,kd,ld,md,Mc,Nc,Ta,mb,Oc,nd,od,pd,qd,Uc,Nc,Ta,mb,Oc,Vc,rd,sd,td,_c,$c,Ta,mb,ad,bd,ud,Da,Ea,ed,lb,vd,hb,rc,uc,Ta,xd,oc,pc,yd,Ad,zd,Cd,Fa,Bd,Dd,Ed,_c,sc,Fd,Ta,mb,Gd,Ta,Fa,Hd,Id,Da,Ea,ed,lb,dd,Ld,Md,_c,Fd,Ta,mb,Gd,Hd,Nd,Da,Ea,ed,lb,vd,Da,Ea,uc,Ta,uc,vc,mb,Kd,Od,Pd,Qd,_c,sc,Fd,Ta,mb,Gd,Ta,Mc,Rd,Sd,Da,Ea,ed,lb,dd,Vd,Wd,_c,Fd,Ta,mb,Gd,Rd,Xd,Da,Ea,ed,lb,vd,Ea,uc,Ta,uc,vc,mb,Ud,Yd,de,ee,Zd,$d,_d,ae,be,ce,ye,hb,Ta,Ta,xe,hg,ig,Ta,uc,mb,mb,De,Ee,Ae,ze,Ce,Fe,Ge,He,Be,of,qf,Ie,Je,Ke,Le,Qe,Ta,sc,gf,rf,sf,Ie,Je,Ke,Le,jf,Ta,sc,gf,tf,uf,Ie,Je,Ke,Le,mf,Ta,sc,gf,Ne,vf,Me,wf,xf,Af,Bf,Cf,Df,zf,Gf,yf,Hf,If,Kf,Lf,Mf,Nf,Jf,Pf,Qf,Rf,Sf,Tf,Zf,Yf,Vf,Da,Ea,_f,$f,hb,uc,Ta,Zf,mg,lg,Zf,Yf,ng,xi,zi,Ai,Bi,yi,Ri,Pi,Qi,dj,ej,fj,uc,gj,qj,rj,Da,Ea,Zi,Zi,Oj,Xj,Vj,Rj,Ea,Wj,Uj,Sj,Ea,_j,Ea,$j,Ea,Zj,bk,sc,bk,bk]);function la(){return G.byteLength/65536|0}function qa(ra){ra=ra|0;var ma=la()|0;var na=ma+ra|0;if(ma<na&&na<65536){var oa=new ArrayBuffer(P(na,65536));var pa=new Int8Array(oa);pa.set(H);H=new Int8Array(oa);I=new Int16Array(oa);J=new Int32Array(oa);K=new Uint8Array(oa);L=new Uint16Array(oa);M=new Uint32Array(oa);N=new Float32Array(oa);O=new Float64Array(oa);G=oa;F.buffer=G;e=K}return ma}return{"__wasm_call_ctors":ua,"__indirect_function_table":ka,"emscripten_bind_VoidPtr___destroy___0":Dg,"emscripten_bind_DecoderBuffer_DecoderBuffer_0":Eg,"emscripten_bind_DecoderBuffer_Init_2":Fg,"emscripten_bind_DecoderBuffer___destroy___0":Dg,"emscripten_bind_AttributeTransformData_AttributeTransformData_0":Gg,"emscripten_bind_AttributeTransformData_transform_type_0":Hg,"emscripten_bind_AttributeTransformData___destroy___0":Ig,"emscripten_bind_GeometryAttribute_GeometryAttribute_0":Jg,"emscripten_bind_GeometryAttribute___destroy___0":Dg,"emscripten_bind_PointAttribute_PointAttribute_0":Kg,"emscripten_bind_PointAttribute_size_0":Lg,"emscripten_bind_PointAttribute_GetAttributeTransformData_0":Mg,"emscripten_bind_PointAttribute_attribute_type_0":Ng,"emscripten_bind_PointAttribute_data_type_0":lb,"emscripten_bind_PointAttribute_num_components_0":Og,"emscripten_bind_PointAttribute_normalized_0":Pg,"emscripten_bind_PointAttribute_byte_stride_0":Qg,"emscripten_bind_PointAttribute_byte_offset_0":Rg,"emscripten_bind_PointAttribute_unique_id_0":Sg,"emscripten_bind_PointAttribute___destroy___0":pb,"emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0":Tg,"emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1":Ug,"emscripten_bind_AttributeQuantizationTransform_quantization_bits_0":sc,"emscripten_bind_AttributeQuantizationTransform_min_value_1":Vg,"emscripten_bind_AttributeQuantizationTransform_range_0":Wg,"emscripten_bind_AttributeQuantizationTransform___destroy___0":Xg,"emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0":Yg,"emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1":Ug,"emscripten_bind_AttributeOctahedronTransform_quantization_bits_0":sc,"emscripten_bind_AttributeOctahedronTransform___destroy___0":Xg,"emscripten_bind_PointCloud_PointCloud_0":Zg,"emscripten_bind_PointCloud_num_attributes_0":_g,"emscripten_bind_PointCloud_num_points_0":Lg,"emscripten_bind_PointCloud___destroy___0":Xg,"emscripten_bind_Mesh_Mesh_0":$g,"emscripten_bind_Mesh_num_faces_0":ah,"emscripten_bind_Mesh_num_attributes_0":_g,"emscripten_bind_Mesh_num_points_0":Lg,"emscripten_bind_Mesh___destroy___0":Xg,"emscripten_bind_Metadata_Metadata_0":bh,"emscripten_bind_Metadata___destroy___0":ch,"emscripten_bind_Status_code_0":Hg,"emscripten_bind_Status_ok_0":dh,"emscripten_bind_Status_error_msg_0":eh,"emscripten_bind_Status___destroy___0":fh,"emscripten_bind_DracoFloat32Array_DracoFloat32Array_0":gh,"emscripten_bind_DracoFloat32Array_GetValue_1":hh,"emscripten_bind_DracoFloat32Array_size_0":ih,"emscripten_bind_DracoFloat32Array___destroy___0":jh,"emscripten_bind_DracoInt8Array_DracoInt8Array_0":gh,"emscripten_bind_DracoInt8Array_GetValue_1":kh,"emscripten_bind_DracoInt8Array_size_0":lh,"emscripten_bind_DracoInt8Array___destroy___0":jh,"emscripten_bind_DracoUInt8Array_DracoUInt8Array_0":gh,"emscripten_bind_DracoUInt8Array_GetValue_1":mh,"emscripten_bind_DracoUInt8Array_size_0":lh,"emscripten_bind_DracoUInt8Array___destroy___0":jh,"emscripten_bind_DracoInt16Array_DracoInt16Array_0":gh,"emscripten_bind_DracoInt16Array_GetValue_1":nh,"emscripten_bind_DracoInt16Array_size_0":oh,"emscripten_bind_DracoInt16Array___destroy___0":jh,"emscripten_bind_DracoUInt16Array_DracoUInt16Array_0":gh,"emscripten_bind_DracoUInt16Array_GetValue_1":ph,"emscripten_bind_DracoUInt16Array_size_0":oh,"emscripten_bind_DracoUInt16Array___destroy___0":jh,"emscripten_bind_DracoInt32Array_DracoInt32Array_0":gh,"emscripten_bind_DracoInt32Array_GetValue_1":qh,"emscripten_bind_DracoInt32Array_size_0":ih,"emscripten_bind_DracoInt32Array___destroy___0":jh,"emscripten_bind_DracoUInt32Array_DracoUInt32Array_0":gh,"emscripten_bind_DracoUInt32Array_GetValue_1":qh,"emscripten_bind_DracoUInt32Array_size_0":ih,"emscripten_bind_DracoUInt32Array___destroy___0":jh,"emscripten_bind_MetadataQuerier_MetadataQuerier_0":rh,"emscripten_bind_MetadataQuerier_HasEntry_2":sh,"emscripten_bind_MetadataQuerier_GetIntEntry_2":th,"emscripten_bind_MetadataQuerier_GetIntEntryArray_3":uh,"emscripten_bind_MetadataQuerier_GetDoubleEntry_2":vh,"emscripten_bind_MetadataQuerier_GetStringEntry_2":wh,"emscripten_bind_MetadataQuerier_NumEntries_1":xh,"emscripten_bind_MetadataQuerier_GetEntryName_2":yh,"emscripten_bind_MetadataQuerier___destroy___0":zh,"emscripten_bind_Decoder_Decoder_0":Ah,"emscripten_bind_Decoder_DecodeArrayToPointCloud_3":Bh,"emscripten_bind_Decoder_DecodeArrayToMesh_3":Ch,"emscripten_bind_Decoder_GetAttributeId_2":Dh,"emscripten_bind_Decoder_GetAttributeIdByName_2":Eh,"emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3":Fh,"emscripten_bind_Decoder_GetAttribute_2":Gh,"emscripten_bind_Decoder_GetAttributeByUniqueId_2":Hh,"emscripten_bind_Decoder_GetMetadata_1":Ih,"emscripten_bind_Decoder_GetAttributeMetadata_2":Jh,"emscripten_bind_Decoder_GetFaceFromMesh_3":Kh,"emscripten_bind_Decoder_GetTriangleStripsFromMesh_2":Lh,"emscripten_bind_Decoder_GetTrianglesUInt16Array_3":Mh,"emscripten_bind_Decoder_GetTrianglesUInt32Array_3":Nh,"emscripten_bind_Decoder_GetAttributeFloat_3":Oh,"emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3":Ph,"emscripten_bind_Decoder_GetAttributeIntForAllPoints_3":Qh,"emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3":Rh,"emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3":Sh,"emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3":Th,"emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3":Uh,"emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3":Qh,"emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3":Vh,"emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5":Wh,"emscripten_bind_Decoder_SkipAttributeTransform_1":Xh,"emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1":Yh,"emscripten_bind_Decoder_DecodeBufferToPointCloud_2":Zh,"emscripten_bind_Decoder_DecodeBufferToMesh_2":_h,"emscripten_bind_Decoder___destroy___0":$h,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM":bi,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM":ci,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM":di,"emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM":ei,"emscripten_enum_draco_GeometryAttribute_Type_INVALID":bi,"emscripten_enum_draco_GeometryAttribute_Type_POSITION":ci,"emscripten_enum_draco_GeometryAttribute_Type_NORMAL":di,"emscripten_enum_draco_GeometryAttribute_Type_COLOR":ei,"emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD":fi,"emscripten_enum_draco_GeometryAttribute_Type_GENERIC":gi,"emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE":bi,"emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD":ci,"emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH":di,"emscripten_enum_draco_DataType_DT_INVALID":ci,"emscripten_enum_draco_DataType_DT_INT8":di,"emscripten_enum_draco_DataType_DT_UINT8":ei,"emscripten_enum_draco_DataType_DT_INT16":fi,"emscripten_enum_draco_DataType_DT_UINT16":gi,"emscripten_enum_draco_DataType_DT_INT32":hi,"emscripten_enum_draco_DataType_DT_UINT32":ii,"emscripten_enum_draco_DataType_DT_INT64":ji,"emscripten_enum_draco_DataType_DT_UINT64":ki,"emscripten_enum_draco_DataType_DT_FLOAT32":li,"emscripten_enum_draco_DataType_DT_FLOAT64":mi,"emscripten_enum_draco_DataType_DT_BOOL":ni,"emscripten_enum_draco_DataType_DT_TYPES_COUNT":oi,"emscripten_enum_draco_StatusCode_OK":ci,"emscripten_enum_draco_StatusCode_DRACO_ERROR":bi,"emscripten_enum_draco_StatusCode_IO_ERROR":pi,"emscripten_enum_draco_StatusCode_INVALID_PARAMETER":qi,"emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION":ri,"emscripten_enum_draco_StatusCode_UNKNOWN_VERSION":si,"__errno_location":Yi,"fflush":yj,"malloc":wj,"free":xj,"setTempRet0":ck,"getTempRet0":dk,"emscripten_stack_init":hk,"emscripten_stack_get_free":ik,"emscripten_stack_get_base":jk,"emscripten_stack_get_end":kk,"stackSave":ek,"stackRestore":fk,"stackAlloc":gk,"emscripten_stack_get_current":ek,"__cxa_is_pointer_type":Yj,"dynCall_jiji":lk}}return sa(ta)}
// EMSCRIPTEN_END_ASM
)(info)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module,info)});return{catch:function(){}}}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{if((u0&248)!=240)warnOnce("Invalid UTF-8 leading byte "+ptrToString(u0)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!");u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;legacyModuleProp("INITIAL_MEMORY","INITIAL_MEMORY");assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;assert(INITIAL_MEMORY%65536===0);var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort("Stack overflow! Stack cookie has been overwritten at "+ptrToString(max)+", expected hex dwords 0x89BACDFE and 0x2135467, but received "+ptrToString(cookie2)+" "+ptrToString(cookie1))}if(HEAPU32[0]!==1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}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 initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name,fixedasm){return function(){var displayName=name;var asm=fixedasm;if(!fixedasm){asm=Module["asm"]}assert(runtimeInitialized,"native function `"+displayName+"` called before runtime initialization");if(!asm[name]){assert(asm[name],"exported native function `"+displayName+"` not found")}return asm[name].apply(null,arguments)}}var wasmBinaryFile;wasmBinaryFile="draco_decoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function legacyModuleProp(prop,newName){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get:function(){abort("Module."+prop+" has been replaced with plain "+newName+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort("`Module."+prop+"` was supplied but `"+prop+"` not included in INCOMING_MODULE_JS_API")}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!=="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){warnOnce("`"+sym+"` is not longer defined by emscripten. "+msg);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE="+librarySymbol+")";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get:function(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.");chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}function ptrToString(ptr){assert(typeof ptr==="number");return"0x"+ptr.toString(16).padStart(8,"0")}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;assert(prev>0);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch."}function _abort(){abort("native code called abort()")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){err("emscripten_realloc_buffer: Attempted to grow heap from "+b.byteLength+" bytes to "+size+" bytes, but got error: "+e)}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err("Cannot enlarge memory, asked to go up to "+requestedSize+" bytes, but the limit is "+maxHeapSize+" bytes!");return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){err("Warning: Enlarging memory arrays, this is not fast! "+[oldSize,newSize]);return true}}err("Failed to grow the heap from "+oldSize+" bytes to "+newSize+" bytes, not enough memory!");return false}var SYSCALLS={varargs:undefined,get:function(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function flush_NO_FILESYSTEM(){_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0}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}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE=="boolean"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf["buffer"],buf["byteOffset"],buf["byteLength"])}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var wasmImports={"__cxa_throw":___cxa_throw,"abort":_abort,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_resize_heap":_emscripten_resize_heap,"fd_close":_fd_close,"fd_seek":_fd_seek,"fd_write":_fd_write,"memory":wasmMemory};var asm=createWasm();var ___wasm_call_ctors=createExportWrapper("__wasm_call_ctors");var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=createExportWrapper("emscripten_bind_VoidPtr___destroy___0");var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=createExportWrapper("emscripten_bind_DecoderBuffer_DecoderBuffer_0");var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=createExportWrapper("emscripten_bind_DecoderBuffer_Init_2");var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=createExportWrapper("emscripten_bind_DecoderBuffer___destroy___0");var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=createExportWrapper("emscripten_bind_AttributeTransformData_AttributeTransformData_0");var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=createExportWrapper("emscripten_bind_AttributeTransformData_transform_type_0");var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=createExportWrapper("emscripten_bind_AttributeTransformData___destroy___0");var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=createExportWrapper("emscripten_bind_GeometryAttribute_GeometryAttribute_0");var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=createExportWrapper("emscripten_bind_GeometryAttribute___destroy___0");var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=createExportWrapper("emscripten_bind_PointAttribute_PointAttribute_0");var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=createExportWrapper("emscripten_bind_PointAttribute_size_0");var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=createExportWrapper("emscripten_bind_PointAttribute_GetAttributeTransformData_0");var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=createExportWrapper("emscripten_bind_PointAttribute_attribute_type_0");var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=createExportWrapper("emscripten_bind_PointAttribute_data_type_0");var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=createExportWrapper("emscripten_bind_PointAttribute_num_components_0");var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=createExportWrapper("emscripten_bind_PointAttribute_normalized_0");var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=createExportWrapper("emscripten_bind_PointAttribute_byte_stride_0");var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=createExportWrapper("emscripten_bind_PointAttribute_byte_offset_0");var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=createExportWrapper("emscripten_bind_PointAttribute_unique_id_0");var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=createExportWrapper("emscripten_bind_PointAttribute___destroy___0");var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0");var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1");var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_quantization_bits_0");var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_min_value_1");var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform_range_0");var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=createExportWrapper("emscripten_bind_AttributeQuantizationTransform___destroy___0");var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=createExportWrapper("emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0");var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=createExportWrapper("emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1");var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=createExportWrapper("emscripten_bind_AttributeOctahedronTransform_quantization_bits_0");var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=createExportWrapper("emscripten_bind_AttributeOctahedronTransform___destroy___0");var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=createExportWrapper("emscripten_bind_PointCloud_PointCloud_0");var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=createExportWrapper("emscripten_bind_PointCloud_num_attributes_0");var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=createExportWrapper("emscripten_bind_PointCloud_num_points_0");var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=createExportWrapper("emscripten_bind_PointCloud___destroy___0");var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=createExportWrapper("emscripten_bind_Mesh_Mesh_0");var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=createExportWrapper("emscripten_bind_Mesh_num_faces_0");var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=createExportWrapper("emscripten_bind_Mesh_num_attributes_0");var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=createExportWrapper("emscripten_bind_Mesh_num_points_0");var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=createExportWrapper("emscripten_bind_Mesh___destroy___0");var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=createExportWrapper("emscripten_bind_Metadata_Metadata_0");var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=createExportWrapper("emscripten_bind_Metadata___destroy___0");var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=createExportWrapper("emscripten_bind_Status_code_0");var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=createExportWrapper("emscripten_bind_Status_ok_0");var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=createExportWrapper("emscripten_bind_Status_error_msg_0");var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=createExportWrapper("emscripten_bind_Status___destroy___0");var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=createExportWrapper("emscripten_bind_DracoFloat32Array_DracoFloat32Array_0");var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoFloat32Array_GetValue_1");var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=createExportWrapper("emscripten_bind_DracoFloat32Array_size_0");var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoFloat32Array___destroy___0");var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=createExportWrapper("emscripten_bind_DracoInt8Array_DracoInt8Array_0");var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoInt8Array_GetValue_1");var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=createExportWrapper("emscripten_bind_DracoInt8Array_size_0");var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoInt8Array___destroy___0");var _emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=Module["_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0"]=createExportWrapper("emscripten_bind_DracoUInt8Array_DracoUInt8Array_0");var _emscripten_bind_DracoUInt8Array_GetValue_1=Module["_emscripten_bind_DracoUInt8Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoUInt8Array_GetValue_1");var _emscripten_bind_DracoUInt8Array_size_0=Module["_emscripten_bind_DracoUInt8Array_size_0"]=createExportWrapper("emscripten_bind_DracoUInt8Array_size_0");var _emscripten_bind_DracoUInt8Array___destroy___0=Module["_emscripten_bind_DracoUInt8Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoUInt8Array___destroy___0");var _emscripten_bind_DracoInt16Array_DracoInt16Array_0=Module["_emscripten_bind_DracoInt16Array_DracoInt16Array_0"]=createExportWrapper("emscripten_bind_DracoInt16Array_DracoInt16Array_0");var _emscripten_bind_DracoInt16Array_GetValue_1=Module["_emscripten_bind_DracoInt16Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoInt16Array_GetValue_1");var _emscripten_bind_DracoInt16Array_size_0=Module["_emscripten_bind_DracoInt16Array_size_0"]=createExportWrapper("emscripten_bind_DracoInt16Array_size_0");var _emscripten_bind_DracoInt16Array___destroy___0=Module["_emscripten_bind_DracoInt16Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoInt16Array___destroy___0");var _emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=Module["_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0"]=createExportWrapper("emscripten_bind_DracoUInt16Array_DracoUInt16Array_0");var _emscripten_bind_DracoUInt16Array_GetValue_1=Module["_emscripten_bind_DracoUInt16Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoUInt16Array_GetValue_1");var _emscripten_bind_DracoUInt16Array_size_0=Module["_emscripten_bind_DracoUInt16Array_size_0"]=createExportWrapper("emscripten_bind_DracoUInt16Array_size_0");var _emscripten_bind_DracoUInt16Array___destroy___0=Module["_emscripten_bind_DracoUInt16Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoUInt16Array___destroy___0");var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=createExportWrapper("emscripten_bind_DracoInt32Array_DracoInt32Array_0");var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoInt32Array_GetValue_1");var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=createExportWrapper("emscripten_bind_DracoInt32Array_size_0");var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoInt32Array___destroy___0");var _emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=Module["_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0"]=createExportWrapper("emscripten_bind_DracoUInt32Array_DracoUInt32Array_0");var _emscripten_bind_DracoUInt32Array_GetValue_1=Module["_emscripten_bind_DracoUInt32Array_GetValue_1"]=createExportWrapper("emscripten_bind_DracoUInt32Array_GetValue_1");var _emscripten_bind_DracoUInt32Array_size_0=Module["_emscripten_bind_DracoUInt32Array_size_0"]=createExportWrapper("emscripten_bind_DracoUInt32Array_size_0");var _emscripten_bind_DracoUInt32Array___destroy___0=Module["_emscripten_bind_DracoUInt32Array___destroy___0"]=createExportWrapper("emscripten_bind_DracoUInt32Array___destroy___0");var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=createExportWrapper("emscripten_bind_MetadataQuerier_MetadataQuerier_0");var _emscripten_bind_MetadataQuerier_HasEntry_2=Module["_emscripten_bind_MetadataQuerier_HasEntry_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_HasEntry_2");var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetIntEntry_2");var _emscripten_bind_MetadataQuerier_GetIntEntryArray_3=Module["_emscripten_bind_MetadataQuerier_GetIntEntryArray_3"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetIntEntryArray_3");var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetDoubleEntry_2");var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetStringEntry_2");var _emscripten_bind_MetadataQuerier_NumEntries_1=Module["_emscripten_bind_MetadataQuerier_NumEntries_1"]=createExportWrapper("emscripten_bind_MetadataQuerier_NumEntries_1");var _emscripten_bind_MetadataQuerier_GetEntryName_2=Module["_emscripten_bind_MetadataQuerier_GetEntryName_2"]=createExportWrapper("emscripten_bind_MetadataQuerier_GetEntryName_2");var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=createExportWrapper("emscripten_bind_MetadataQuerier___destroy___0");var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=createExportWrapper("emscripten_bind_Decoder_Decoder_0");var _emscripten_bind_Decoder_DecodeArrayToPointCloud_3=Module["_emscripten_bind_Decoder_DecodeArrayToPointCloud_3"]=createExportWrapper("emscripten_bind_Decoder_DecodeArrayToPointCloud_3");var _emscripten_bind_Decoder_DecodeArrayToMesh_3=Module["_emscripten_bind_Decoder_DecodeArrayToMesh_3"]=createExportWrapper("emscripten_bind_Decoder_DecodeArrayToMesh_3");var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeId_2");var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeIdByName_2");var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3");var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttribute_2");var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeByUniqueId_2");var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=createExportWrapper("emscripten_bind_Decoder_GetMetadata_1");var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeMetadata_2");var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=createExportWrapper("emscripten_bind_Decoder_GetFaceFromMesh_3");var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=createExportWrapper("emscripten_bind_Decoder_GetTriangleStripsFromMesh_2");var _emscripten_bind_Decoder_GetTrianglesUInt16Array_3=Module["_emscripten_bind_Decoder_GetTrianglesUInt16Array_3"]=createExportWrapper("emscripten_bind_Decoder_GetTrianglesUInt16Array_3");var _emscripten_bind_Decoder_GetTrianglesUInt32Array_3=Module["_emscripten_bind_Decoder_GetTrianglesUInt32Array_3"]=createExportWrapper("emscripten_bind_Decoder_GetTrianglesUInt32Array_3");var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeFloat_3");var _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeIntForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3");var _emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=Module["_emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5"]=createExportWrapper("emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5");var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=createExportWrapper("emscripten_bind_Decoder_SkipAttributeTransform_1");var _emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1"]=createExportWrapper("emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1");var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=createExportWrapper("emscripten_bind_Decoder_DecodeBufferToPointCloud_2");var _emscripten_bind_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=createExportWrapper("emscripten_bind_Decoder_DecodeBufferToMesh_2");var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=createExportWrapper("emscripten_bind_Decoder___destroy___0");var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=createExportWrapper("emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM");var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=createExportWrapper("emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM");var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=createExportWrapper("emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM");var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=createExportWrapper("emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM");var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_INVALID");var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_POSITION");var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_NORMAL");var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_COLOR");var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD");var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=createExportWrapper("emscripten_enum_draco_GeometryAttribute_Type_GENERIC");var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE");var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD");var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=createExportWrapper("emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH");var _emscripten_enum_draco_DataType_DT_INVALID=Module["_emscripten_enum_draco_DataType_DT_INVALID"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INVALID");var _emscripten_enum_draco_DataType_DT_INT8=Module["_emscripten_enum_draco_DataType_DT_INT8"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INT8");var _emscripten_enum_draco_DataType_DT_UINT8=Module["_emscripten_enum_draco_DataType_DT_UINT8"]=createExportWrapper("emscripten_enum_draco_DataType_DT_UINT8");var _emscripten_enum_draco_DataType_DT_INT16=Module["_emscripten_enum_draco_DataType_DT_INT16"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INT16");var _emscripten_enum_draco_DataType_DT_UINT16=Module["_emscripten_enum_draco_DataType_DT_UINT16"]=createExportWrapper("emscripten_enum_draco_DataType_DT_UINT16");var _emscripten_enum_draco_DataType_DT_INT32=Module["_emscripten_enum_draco_DataType_DT_INT32"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INT32");var _emscripten_enum_draco_DataType_DT_UINT32=Module["_emscripten_enum_draco_DataType_DT_UINT32"]=createExportWrapper("emscripten_enum_draco_DataType_DT_UINT32");var _emscripten_enum_draco_DataType_DT_INT64=Module["_emscripten_enum_draco_DataType_DT_INT64"]=createExportWrapper("emscripten_enum_draco_DataType_DT_INT64");var _emscripten_enum_draco_DataType_DT_UINT64=Module["_emscripten_enum_draco_DataType_DT_UINT64"]=createExportWrapper("emscripten_enum_draco_DataType_DT_UINT64");var _emscripten_enum_draco_DataType_DT_FLOAT32=Module["_emscripten_enum_draco_DataType_DT_FLOAT32"]=createExportWrapper("emscripten_enum_draco_DataType_DT_FLOAT32");var _emscripten_enum_draco_DataType_DT_FLOAT64=Module["_emscripten_enum_draco_DataType_DT_FLOAT64"]=createExportWrapper("emscripten_enum_draco_DataType_DT_FLOAT64");var _emscripten_enum_draco_DataType_DT_BOOL=Module["_emscripten_enum_draco_DataType_DT_BOOL"]=createExportWrapper("emscripten_enum_draco_DataType_DT_BOOL");var _emscripten_enum_draco_DataType_DT_TYPES_COUNT=Module["_emscripten_enum_draco_DataType_DT_TYPES_COUNT"]=createExportWrapper("emscripten_enum_draco_DataType_DT_TYPES_COUNT");var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=createExportWrapper("emscripten_enum_draco_StatusCode_OK");var _emscripten_enum_draco_StatusCode_DRACO_ERROR=Module["_emscripten_enum_draco_StatusCode_DRACO_ERROR"]=createExportWrapper("emscripten_enum_draco_StatusCode_DRACO_ERROR");var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=createExportWrapper("emscripten_enum_draco_StatusCode_IO_ERROR");var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=createExportWrapper("emscripten_enum_draco_StatusCode_INVALID_PARAMETER");var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=createExportWrapper("emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION");var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=createExportWrapper("emscripten_enum_draco_StatusCode_UNKNOWN_VERSION");var ___errno_location=createExportWrapper("__errno_location");var _fflush=Module["_fflush"]=createExportWrapper("fflush");var _malloc=Module["_malloc"]=createExportWrapper("malloc");var _free=Module["_free"]=createExportWrapper("free");var setTempRet0=createExportWrapper("setTempRet0");var getTempRet0=createExportWrapper("getTempRet0");var _emscripten_stack_init=function(){return(_emscripten_stack_init=Module["asm"]["emscripten_stack_init"]).apply(null,arguments)};var _emscripten_stack_get_free=function(){return(_emscripten_stack_get_free=Module["asm"]["emscripten_stack_get_free"]).apply(null,arguments)};var _emscripten_stack_get_base=function(){return(_emscripten_stack_get_base=Module["asm"]["emscripten_stack_get_base"]).apply(null,arguments)};var _emscripten_stack_get_end=function(){return(_emscripten_stack_get_end=Module["asm"]["emscripten_stack_get_end"]).apply(null,arguments)};var stackSave=createExportWrapper("stackSave");var stackRestore=createExportWrapper("stackRestore");var stackAlloc=createExportWrapper("stackAlloc");var _emscripten_stack_get_current=function(){return(_emscripten_stack_get_current=Module["asm"]["emscripten_stack_get_current"]).apply(null,arguments)};var ___cxa_is_pointer_type=createExportWrapper("__cxa_is_pointer_type");var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji");var ___start_em_js=Module["___start_em_js"]=15916;var ___stop_em_js=Module["___stop_em_js"]=16014;var missingLibrarySymbols=["zeroMemory","stringToNewUTF8","exitJS","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","getHostByName","getRandomDevice","traverseStack","convertPCtoSourceLocation","readEmAsmArgs","jstoi_q","jstoi_s","getExecutableName","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","handleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","AsciiToString","stringToAscii","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","allocateUTF8","allocateUTF8OnStack","writeStringToMemory","writeArrayToMemory","writeAsciiToMemory","getSocketFromFD","getSocketAddress","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","demangle","demangleAll","jsStackTrace","stackTrace","getEnvStrings","checkWasiClock","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","newNativePromise","getPromise","exception_addRef","exception_decRef","setMainLoop","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","emscriptenWebGLGet","computeUnpackAlignedImageSize","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","writeGLArray","SDL_unicode","SDL_ttfContext","SDL_audio","GLFW_Window","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createDataFile","FS_createPreloadedFile","FS_createLazyFile","FS_createLink","FS_createDevice","FS_unlink","out","err","callMain","abort","keepRuntimeAlive","wasmMemory","stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0","writeStackCookie","checkStackCookie","intArrayFromBase64","tryParseAsDataURI","ptrToString","getHeapMax","emscripten_realloc_buffer","ENV","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","timers","warnOnce","UNWIND_CACHE","readEmAsmArgsArray","convertI32PairToI53Checked","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","intArrayFromString","intArrayToString","UTF16Decoder","SYSCALLS","JSEvents","specialHTMLTargets","currentFullscreenStrategy","restoreOldWindowedStyle","ExitStatus","flush_NO_FILESYSTEM","dlopenMissingError","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","Browser","wget","tempFixedLengthArray","miniTempWebGLFloatBuffers","GL","AL","SDL","SDL_gfx","GLUT","EGL","GLFW","GLEW","IDBStore"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i<ensureCache.temps.length;i++){Module["_free"](ensureCache.temps[i])}ensureCache.temps.length=0;Module["_free"](ensureCache.buffer);ensureCache.buffer=0;ensureCache.size+=ensureCache.needed;ensureCache.needed=0}if(!ensureCache.buffer){ensureCache.size+=128;ensureCache.buffer=Module["_malloc"](ensureCache.size);assert(ensureCache.buffer)}ensureCache.pos=0},alloc:function(array,view){assert(ensureCache.buffer);var bytes=view.BYTES_PER_ELEMENT;var len=array.length*bytes;len=len+7&-8;var ret;if(ensureCache.pos+len>=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;i<array.length;i++){view[offset+i]=array[i]}}};function ensureString(value){if(typeof value==="string"){var intArray=intArrayFromString(value);var offset=ensureCache.alloc(intArray,HEAP8);ensureCache.copy(intArray,HEAP8,offset);return offset}return value}function ensureInt8(value){if(typeof value==="object"){var offset=ensureCache.alloc(value,HEAP8);ensureCache.copy(value,HEAP8,offset);return offset}return value}function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=VoidPtr.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)};function DecoderBuffer(){this.ptr=_emscripten_bind_DecoderBuffer_DecoderBuffer_0();getCache(DecoderBuffer)[this.ptr]=this}DecoderBuffer.prototype=Object.create(WrapperObject.prototype);DecoderBuffer.prototype.constructor=DecoderBuffer;DecoderBuffer.prototype.__class__=DecoderBuffer;DecoderBuffer.__cache__={};Module["DecoderBuffer"]=DecoderBuffer;DecoderBuffer.prototype["Init"]=DecoderBuffer.prototype.Init=function(data,data_size){var self=this.ptr;ensureCache.prepare();if(typeof data=="object"){data=ensureInt8(data)}if(data_size&&typeof data_size==="object")data_size=data_size.ptr;_emscripten_bind_DecoderBuffer_Init_2(self,data,data_size)};DecoderBuffer.prototype["__destroy__"]=DecoderBuffer.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DecoderBuffer___destroy___0(self)};function AttributeTransformData(){this.ptr=_emscripten_bind_AttributeTransformData_AttributeTransformData_0();getCache(AttributeTransformData)[this.ptr]=this}AttributeTransformData.prototype=Object.create(WrapperObject.prototype);AttributeTransformData.prototype.constructor=AttributeTransformData;AttributeTransformData.prototype.__class__=AttributeTransformData;AttributeTransformData.__cache__={};Module["AttributeTransformData"]=AttributeTransformData;AttributeTransformData.prototype["transform_type"]=AttributeTransformData.prototype.transform_type=function(){var self=this.ptr;return _emscripten_bind_AttributeTransformData_transform_type_0(self)};AttributeTransformData.prototype["__destroy__"]=AttributeTransformData.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeTransformData___destroy___0(self)};function GeometryAttribute(){this.ptr=_emscripten_bind_GeometryAttribute_GeometryAttribute_0();getCache(GeometryAttribute)[this.ptr]=this}GeometryAttribute.prototype=Object.create(WrapperObject.prototype);GeometryAttribute.prototype.constructor=GeometryAttribute;GeometryAttribute.prototype.__class__=GeometryAttribute;GeometryAttribute.__cache__={};Module["GeometryAttribute"]=GeometryAttribute;GeometryAttribute.prototype["__destroy__"]=GeometryAttribute.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_GeometryAttribute___destroy___0(self)};function PointAttribute(){this.ptr=_emscripten_bind_PointAttribute_PointAttribute_0();getCache(PointAttribute)[this.ptr]=this}PointAttribute.prototype=Object.create(WrapperObject.prototype);PointAttribute.prototype.constructor=PointAttribute;PointAttribute.prototype.__class__=PointAttribute;PointAttribute.__cache__={};Module["PointAttribute"]=PointAttribute;PointAttribute.prototype["size"]=PointAttribute.prototype.size=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_size_0(self)};PointAttribute.prototype["GetAttributeTransformData"]=PointAttribute.prototype.GetAttributeTransformData=function(){var self=this.ptr;return wrapPointer(_emscripten_bind_PointAttribute_GetAttributeTransformData_0(self),AttributeTransformData)};PointAttribute.prototype["attribute_type"]=PointAttribute.prototype.attribute_type=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_attribute_type_0(self)};PointAttribute.prototype["data_type"]=PointAttribute.prototype.data_type=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_data_type_0(self)};PointAttribute.prototype["num_components"]=PointAttribute.prototype.num_components=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_num_components_0(self)};PointAttribute.prototype["normalized"]=PointAttribute.prototype.normalized=function(){var self=this.ptr;return!!_emscripten_bind_PointAttribute_normalized_0(self)};PointAttribute.prototype["byte_stride"]=PointAttribute.prototype.byte_stride=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_stride_0(self)};PointAttribute.prototype["byte_offset"]=PointAttribute.prototype.byte_offset=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_byte_offset_0(self)};PointAttribute.prototype["unique_id"]=PointAttribute.prototype.unique_id=function(){var self=this.ptr;return _emscripten_bind_PointAttribute_unique_id_0(self)};PointAttribute.prototype["__destroy__"]=PointAttribute.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointAttribute___destroy___0(self)};function AttributeQuantizationTransform(){this.ptr=_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0();getCache(AttributeQuantizationTransform)[this.ptr]=this}AttributeQuantizationTransform.prototype=Object.create(WrapperObject.prototype);AttributeQuantizationTransform.prototype.constructor=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype.__class__=AttributeQuantizationTransform;AttributeQuantizationTransform.__cache__={};Module["AttributeQuantizationTransform"]=AttributeQuantizationTransform;AttributeQuantizationTransform.prototype["InitFromAttribute"]=AttributeQuantizationTransform.prototype.InitFromAttribute=function(att){var self=this.ptr;if(att&&typeof att==="object")att=att.ptr;return!!_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1(self,att)};AttributeQuantizationTransform.prototype["quantization_bits"]=AttributeQuantizationTransform.prototype.quantization_bits=function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0(self)};AttributeQuantizationTransform.prototype["min_value"]=AttributeQuantizationTransform.prototype.min_value=function(axis){var self=this.ptr;if(axis&&typeof axis==="object")axis=axis.ptr;return _emscripten_bind_AttributeQuantizationTransform_min_value_1(self,axis)};AttributeQuantizationTransform.prototype["range"]=AttributeQuantizationTransform.prototype.range=function(){var self=this.ptr;return _emscripten_bind_AttributeQuantizationTransform_range_0(self)};AttributeQuantizationTransform.prototype["__destroy__"]=AttributeQuantizationTransform.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeQuantizationTransform___destroy___0(self)};function AttributeOctahedronTransform(){this.ptr=_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0();getCache(AttributeOctahedronTransform)[this.ptr]=this}AttributeOctahedronTransform.prototype=Object.create(WrapperObject.prototype);AttributeOctahedronTransform.prototype.constructor=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype.__class__=AttributeOctahedronTransform;AttributeOctahedronTransform.__cache__={};Module["AttributeOctahedronTransform"]=AttributeOctahedronTransform;AttributeOctahedronTransform.prototype["InitFromAttribute"]=AttributeOctahedronTransform.prototype.InitFromAttribute=function(att){var self=this.ptr;if(att&&typeof att==="object")att=att.ptr;return!!_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1(self,att)};AttributeOctahedronTransform.prototype["quantization_bits"]=AttributeOctahedronTransform.prototype.quantization_bits=function(){var self=this.ptr;return _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0(self)};AttributeOctahedronTransform.prototype["__destroy__"]=AttributeOctahedronTransform.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_AttributeOctahedronTransform___destroy___0(self)};function PointCloud(){this.ptr=_emscripten_bind_PointCloud_PointCloud_0();getCache(PointCloud)[this.ptr]=this}PointCloud.prototype=Object.create(WrapperObject.prototype);PointCloud.prototype.constructor=PointCloud;PointCloud.prototype.__class__=PointCloud;PointCloud.__cache__={};Module["PointCloud"]=PointCloud;PointCloud.prototype["num_attributes"]=PointCloud.prototype.num_attributes=function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_attributes_0(self)};PointCloud.prototype["num_points"]=PointCloud.prototype.num_points=function(){var self=this.ptr;return _emscripten_bind_PointCloud_num_points_0(self)};PointCloud.prototype["__destroy__"]=PointCloud.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_PointCloud___destroy___0(self)};function Mesh(){this.ptr=_emscripten_bind_Mesh_Mesh_0();getCache(Mesh)[this.ptr]=this}Mesh.prototype=Object.create(WrapperObject.prototype);Mesh.prototype.constructor=Mesh;Mesh.prototype.__class__=Mesh;Mesh.__cache__={};Module["Mesh"]=Mesh;Mesh.prototype["num_faces"]=Mesh.prototype.num_faces=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_faces_0(self)};Mesh.prototype["num_attributes"]=Mesh.prototype.num_attributes=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_attributes_0(self)};Mesh.prototype["num_points"]=Mesh.prototype.num_points=function(){var self=this.ptr;return _emscripten_bind_Mesh_num_points_0(self)};Mesh.prototype["__destroy__"]=Mesh.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Mesh___destroy___0(self)};function Metadata(){this.ptr=_emscripten_bind_Metadata_Metadata_0();getCache(Metadata)[this.ptr]=this}Metadata.prototype=Object.create(WrapperObject.prototype);Metadata.prototype.constructor=Metadata;Metadata.prototype.__class__=Metadata;Metadata.__cache__={};Module["Metadata"]=Metadata;Metadata.prototype["__destroy__"]=Metadata.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Metadata___destroy___0(self)};function Status(){throw"cannot construct a Status, no constructor in IDL"}Status.prototype=Object.create(WrapperObject.prototype);Status.prototype.constructor=Status;Status.prototype.__class__=Status;Status.__cache__={};Module["Status"]=Status;Status.prototype["code"]=Status.prototype.code=function(){var self=this.ptr;return _emscripten_bind_Status_code_0(self)};Status.prototype["ok"]=Status.prototype.ok=function(){var self=this.ptr;return!!_emscripten_bind_Status_ok_0(self)};Status.prototype["error_msg"]=Status.prototype.error_msg=function(){var self=this.ptr;return UTF8ToString(_emscripten_bind_Status_error_msg_0(self))};Status.prototype["__destroy__"]=Status.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Status___destroy___0(self)};function DracoFloat32Array(){this.ptr=_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0();getCache(DracoFloat32Array)[this.ptr]=this}DracoFloat32Array.prototype=Object.create(WrapperObject.prototype);DracoFloat32Array.prototype.constructor=DracoFloat32Array;DracoFloat32Array.prototype.__class__=DracoFloat32Array;DracoFloat32Array.__cache__={};Module["DracoFloat32Array"]=DracoFloat32Array;DracoFloat32Array.prototype["GetValue"]=DracoFloat32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoFloat32Array_GetValue_1(self,index)};DracoFloat32Array.prototype["size"]=DracoFloat32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoFloat32Array_size_0(self)};DracoFloat32Array.prototype["__destroy__"]=DracoFloat32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoFloat32Array___destroy___0(self)};function DracoInt8Array(){this.ptr=_emscripten_bind_DracoInt8Array_DracoInt8Array_0();getCache(DracoInt8Array)[this.ptr]=this}DracoInt8Array.prototype=Object.create(WrapperObject.prototype);DracoInt8Array.prototype.constructor=DracoInt8Array;DracoInt8Array.prototype.__class__=DracoInt8Array;DracoInt8Array.__cache__={};Module["DracoInt8Array"]=DracoInt8Array;DracoInt8Array.prototype["GetValue"]=DracoInt8Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt8Array_GetValue_1(self,index)};DracoInt8Array.prototype["size"]=DracoInt8Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt8Array_size_0(self)};DracoInt8Array.prototype["__destroy__"]=DracoInt8Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt8Array___destroy___0(self)};function DracoUInt8Array(){this.ptr=_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0();getCache(DracoUInt8Array)[this.ptr]=this}DracoUInt8Array.prototype=Object.create(WrapperObject.prototype);DracoUInt8Array.prototype.constructor=DracoUInt8Array;DracoUInt8Array.prototype.__class__=DracoUInt8Array;DracoUInt8Array.__cache__={};Module["DracoUInt8Array"]=DracoUInt8Array;DracoUInt8Array.prototype["GetValue"]=DracoUInt8Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt8Array_GetValue_1(self,index)};DracoUInt8Array.prototype["size"]=DracoUInt8Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt8Array_size_0(self)};DracoUInt8Array.prototype["__destroy__"]=DracoUInt8Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt8Array___destroy___0(self)};function DracoInt16Array(){this.ptr=_emscripten_bind_DracoInt16Array_DracoInt16Array_0();getCache(DracoInt16Array)[this.ptr]=this}DracoInt16Array.prototype=Object.create(WrapperObject.prototype);DracoInt16Array.prototype.constructor=DracoInt16Array;DracoInt16Array.prototype.__class__=DracoInt16Array;DracoInt16Array.__cache__={};Module["DracoInt16Array"]=DracoInt16Array;DracoInt16Array.prototype["GetValue"]=DracoInt16Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt16Array_GetValue_1(self,index)};DracoInt16Array.prototype["size"]=DracoInt16Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt16Array_size_0(self)};DracoInt16Array.prototype["__destroy__"]=DracoInt16Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt16Array___destroy___0(self)};function DracoUInt16Array(){this.ptr=_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0();getCache(DracoUInt16Array)[this.ptr]=this}DracoUInt16Array.prototype=Object.create(WrapperObject.prototype);DracoUInt16Array.prototype.constructor=DracoUInt16Array;DracoUInt16Array.prototype.__class__=DracoUInt16Array;DracoUInt16Array.__cache__={};Module["DracoUInt16Array"]=DracoUInt16Array;DracoUInt16Array.prototype["GetValue"]=DracoUInt16Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt16Array_GetValue_1(self,index)};DracoUInt16Array.prototype["size"]=DracoUInt16Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt16Array_size_0(self)};DracoUInt16Array.prototype["__destroy__"]=DracoUInt16Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt16Array___destroy___0(self)};function DracoInt32Array(){this.ptr=_emscripten_bind_DracoInt32Array_DracoInt32Array_0();getCache(DracoInt32Array)[this.ptr]=this}DracoInt32Array.prototype=Object.create(WrapperObject.prototype);DracoInt32Array.prototype.constructor=DracoInt32Array;DracoInt32Array.prototype.__class__=DracoInt32Array;DracoInt32Array.__cache__={};Module["DracoInt32Array"]=DracoInt32Array;DracoInt32Array.prototype["GetValue"]=DracoInt32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoInt32Array_GetValue_1(self,index)};DracoInt32Array.prototype["size"]=DracoInt32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoInt32Array_size_0(self)};DracoInt32Array.prototype["__destroy__"]=DracoInt32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoInt32Array___destroy___0(self)};function DracoUInt32Array(){this.ptr=_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0();getCache(DracoUInt32Array)[this.ptr]=this}DracoUInt32Array.prototype=Object.create(WrapperObject.prototype);DracoUInt32Array.prototype.constructor=DracoUInt32Array;DracoUInt32Array.prototype.__class__=DracoUInt32Array;DracoUInt32Array.__cache__={};Module["DracoUInt32Array"]=DracoUInt32Array;DracoUInt32Array.prototype["GetValue"]=DracoUInt32Array.prototype.GetValue=function(index){var self=this.ptr;if(index&&typeof index==="object")index=index.ptr;return _emscripten_bind_DracoUInt32Array_GetValue_1(self,index)};DracoUInt32Array.prototype["size"]=DracoUInt32Array.prototype.size=function(){var self=this.ptr;return _emscripten_bind_DracoUInt32Array_size_0(self)};DracoUInt32Array.prototype["__destroy__"]=DracoUInt32Array.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_DracoUInt32Array___destroy___0(self)};function MetadataQuerier(){this.ptr=_emscripten_bind_MetadataQuerier_MetadataQuerier_0();getCache(MetadataQuerier)[this.ptr]=this}MetadataQuerier.prototype=Object.create(WrapperObject.prototype);MetadataQuerier.prototype.constructor=MetadataQuerier;MetadataQuerier.prototype.__class__=MetadataQuerier;MetadataQuerier.__cache__={};Module["MetadataQuerier"]=MetadataQuerier;MetadataQuerier.prototype["HasEntry"]=MetadataQuerier.prototype.HasEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return!!_emscripten_bind_MetadataQuerier_HasEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetIntEntry"]=MetadataQuerier.prototype.GetIntEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return _emscripten_bind_MetadataQuerier_GetIntEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetIntEntryArray"]=MetadataQuerier.prototype.GetIntEntryArray=function(metadata,entry_name,out_values){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);if(out_values&&typeof out_values==="object")out_values=out_values.ptr;_emscripten_bind_MetadataQuerier_GetIntEntryArray_3(self,metadata,entry_name,out_values)};MetadataQuerier.prototype["GetDoubleEntry"]=MetadataQuerier.prototype.GetDoubleEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return _emscripten_bind_MetadataQuerier_GetDoubleEntry_2(self,metadata,entry_name)};MetadataQuerier.prototype["GetStringEntry"]=MetadataQuerier.prototype.GetStringEntry=function(metadata,entry_name){var self=this.ptr;ensureCache.prepare();if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_name&&typeof entry_name==="object")entry_name=entry_name.ptr;else entry_name=ensureString(entry_name);return UTF8ToString(_emscripten_bind_MetadataQuerier_GetStringEntry_2(self,metadata,entry_name))};MetadataQuerier.prototype["NumEntries"]=MetadataQuerier.prototype.NumEntries=function(metadata){var self=this.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;return _emscripten_bind_MetadataQuerier_NumEntries_1(self,metadata)};MetadataQuerier.prototype["GetEntryName"]=MetadataQuerier.prototype.GetEntryName=function(metadata,entry_id){var self=this.ptr;if(metadata&&typeof metadata==="object")metadata=metadata.ptr;if(entry_id&&typeof entry_id==="object")entry_id=entry_id.ptr;return UTF8ToString(_emscripten_bind_MetadataQuerier_GetEntryName_2(self,metadata,entry_id))};MetadataQuerier.prototype["__destroy__"]=MetadataQuerier.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_MetadataQuerier___destroy___0(self)};function Decoder(){this.ptr=_emscripten_bind_Decoder_Decoder_0();getCache(Decoder)[this.ptr]=this}Decoder.prototype=Object.create(WrapperObject.prototype);Decoder.prototype.constructor=Decoder;Decoder.prototype.__class__=Decoder;Decoder.__cache__={};Module["Decoder"]=Decoder;Decoder.prototype["DecodeArrayToPointCloud"]=Decoder.prototype.DecodeArrayToPointCloud=function(data,data_size,out_point_cloud){var self=this.ptr;ensureCache.prepare();if(typeof data=="object"){data=ensureInt8(data)}if(data_size&&typeof data_size==="object")data_size=data_size.ptr;if(out_point_cloud&&typeof out_point_cloud==="object")out_point_cloud=out_point_cloud.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeArrayToPointCloud_3(self,data,data_size,out_point_cloud),Status)};Decoder.prototype["DecodeArrayToMesh"]=Decoder.prototype.DecodeArrayToMesh=function(data,data_size,out_mesh){var self=this.ptr;ensureCache.prepare();if(typeof data=="object"){data=ensureInt8(data)}if(data_size&&typeof data_size==="object")data_size=data_size.ptr;if(out_mesh&&typeof out_mesh==="object")out_mesh=out_mesh.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeArrayToMesh_3(self,data,data_size,out_mesh),Status)};Decoder.prototype["GetAttributeId"]=Decoder.prototype.GetAttributeId=function(pc,type){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(type&&typeof type==="object")type=type.ptr;return _emscripten_bind_Decoder_GetAttributeId_2(self,pc,type)};Decoder.prototype["GetAttributeIdByName"]=Decoder.prototype.GetAttributeIdByName=function(pc,name){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(name&&typeof name==="object")name=name.ptr;else name=ensureString(name);return _emscripten_bind_Decoder_GetAttributeIdByName_2(self,pc,name)};Decoder.prototype["GetAttributeIdByMetadataEntry"]=Decoder.prototype.GetAttributeIdByMetadataEntry=function(pc,name,value){var self=this.ptr;ensureCache.prepare();if(pc&&typeof pc==="object")pc=pc.ptr;if(name&&typeof name==="object")name=name.ptr;else name=ensureString(name);if(value&&typeof value==="object")value=value.ptr;else value=ensureString(value);return _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3(self,pc,name,value)};Decoder.prototype["GetAttribute"]=Decoder.prototype.GetAttribute=function(pc,att_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(att_id&&typeof att_id==="object")att_id=att_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttribute_2(self,pc,att_id),PointAttribute)};Decoder.prototype["GetAttributeByUniqueId"]=Decoder.prototype.GetAttributeByUniqueId=function(pc,unique_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(unique_id&&typeof unique_id==="object")unique_id=unique_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeByUniqueId_2(self,pc,unique_id),PointAttribute)};Decoder.prototype["GetMetadata"]=Decoder.prototype.GetMetadata=function(pc){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;return wrapPointer(_emscripten_bind_Decoder_GetMetadata_1(self,pc),Metadata)};Decoder.prototype["GetAttributeMetadata"]=Decoder.prototype.GetAttributeMetadata=function(pc,att_id){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(att_id&&typeof att_id==="object")att_id=att_id.ptr;return wrapPointer(_emscripten_bind_Decoder_GetAttributeMetadata_2(self,pc,att_id),Metadata)};Decoder.prototype["GetFaceFromMesh"]=Decoder.prototype.GetFaceFromMesh=function(m,face_id,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(face_id&&typeof face_id==="object")face_id=face_id.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetFaceFromMesh_3(self,m,face_id,out_values)};Decoder.prototype["GetTriangleStripsFromMesh"]=Decoder.prototype.GetTriangleStripsFromMesh=function(m,strip_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(strip_values&&typeof strip_values==="object")strip_values=strip_values.ptr;return _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2(self,m,strip_values)};Decoder.prototype["GetTrianglesUInt16Array"]=Decoder.prototype.GetTrianglesUInt16Array=function(m,out_size,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetTrianglesUInt16Array_3(self,m,out_size,out_values)};Decoder.prototype["GetTrianglesUInt32Array"]=Decoder.prototype.GetTrianglesUInt32Array=function(m,out_size,out_values){var self=this.ptr;if(m&&typeof m==="object")m=m.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetTrianglesUInt32Array_3(self,m,out_size,out_values)};Decoder.prototype["GetAttributeFloat"]=Decoder.prototype.GetAttributeFloat=function(pa,att_index,out_values){var self=this.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(att_index&&typeof att_index==="object")att_index=att_index.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloat_3(self,pa,att_index,out_values)};Decoder.prototype["GetAttributeFloatForAllPoints"]=Decoder.prototype.GetAttributeFloatForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeIntForAllPoints"]=Decoder.prototype.GetAttributeIntForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt8ForAllPoints"]=Decoder.prototype.GetAttributeInt8ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt8ForAllPoints"]=Decoder.prototype.GetAttributeUInt8ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt16ForAllPoints"]=Decoder.prototype.GetAttributeInt16ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt16ForAllPoints"]=Decoder.prototype.GetAttributeUInt16ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeInt32ForAllPoints"]=Decoder.prototype.GetAttributeInt32ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeUInt32ForAllPoints"]=Decoder.prototype.GetAttributeUInt32ForAllPoints=function(pc,pa,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3(self,pc,pa,out_values)};Decoder.prototype["GetAttributeDataArrayForAllPoints"]=Decoder.prototype.GetAttributeDataArrayForAllPoints=function(pc,pa,data_type,out_size,out_values){var self=this.ptr;if(pc&&typeof pc==="object")pc=pc.ptr;if(pa&&typeof pa==="object")pa=pa.ptr;if(data_type&&typeof data_type==="object")data_type=data_type.ptr;if(out_size&&typeof out_size==="object")out_size=out_size.ptr;if(out_values&&typeof out_values==="object")out_values=out_values.ptr;return!!_emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5(self,pc,pa,data_type,out_size,out_values)};Decoder.prototype["SkipAttributeTransform"]=Decoder.prototype.SkipAttributeTransform=function(att_type){var self=this.ptr;if(att_type&&typeof att_type==="object")att_type=att_type.ptr;_emscripten_bind_Decoder_SkipAttributeTransform_1(self,att_type)};Decoder.prototype["GetEncodedGeometryType_Deprecated"]=Decoder.prototype.GetEncodedGeometryType_Deprecated=function(in_buffer){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;return _emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1(self,in_buffer)};Decoder.prototype["DecodeBufferToPointCloud"]=Decoder.prototype.DecodeBufferToPointCloud=function(in_buffer,out_point_cloud){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;if(out_point_cloud&&typeof out_point_cloud==="object")out_point_cloud=out_point_cloud.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToPointCloud_2(self,in_buffer,out_point_cloud),Status)};Decoder.prototype["DecodeBufferToMesh"]=Decoder.prototype.DecodeBufferToMesh=function(in_buffer,out_mesh){var self=this.ptr;if(in_buffer&&typeof in_buffer==="object")in_buffer=in_buffer.ptr;if(out_mesh&&typeof out_mesh==="object")out_mesh=out_mesh.ptr;return wrapPointer(_emscripten_bind_Decoder_DecodeBufferToMesh_2(self,in_buffer,out_mesh),Status)};Decoder.prototype["__destroy__"]=Decoder.prototype.__destroy__=function(){var self=this.ptr;_emscripten_bind_Decoder___destroy___0(self)};(function(){function setupEnums(){Module["ATTRIBUTE_INVALID_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM();Module["ATTRIBUTE_NO_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM();Module["ATTRIBUTE_QUANTIZATION_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM();Module["ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM();Module["INVALID"]=_emscripten_enum_draco_GeometryAttribute_Type_INVALID();Module["POSITION"]=_emscripten_enum_draco_GeometryAttribute_Type_POSITION();Module["NORMAL"]=_emscripten_enum_draco_GeometryAttribute_Type_NORMAL();Module["COLOR"]=_emscripten_enum_draco_GeometryAttribute_Type_COLOR();Module["TEX_COORD"]=_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD();Module["GENERIC"]=_emscripten_enum_draco_GeometryAttribute_Type_GENERIC();Module["INVALID_GEOMETRY_TYPE"]=_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE();Module["POINT_CLOUD"]=_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD();Module["TRIANGULAR_MESH"]=_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH();Module["DT_INVALID"]=_emscripten_enum_draco_DataType_DT_INVALID();Module["DT_INT8"]=_emscripten_enum_draco_DataType_DT_INT8();Module["DT_UINT8"]=_emscripten_enum_draco_DataType_DT_UINT8();Module["DT_INT16"]=_emscripten_enum_draco_DataType_DT_INT16();Module["DT_UINT16"]=_emscripten_enum_draco_DataType_DT_UINT16();Module["DT_INT32"]=_emscripten_enum_draco_DataType_DT_INT32();Module["DT_UINT32"]=_emscripten_enum_draco_DataType_DT_UINT32();Module["DT_INT64"]=_emscripten_enum_draco_DataType_DT_INT64();Module["DT_UINT64"]=_emscripten_enum_draco_DataType_DT_UINT64();Module["DT_FLOAT32"]=_emscripten_enum_draco_DataType_DT_FLOAT32();Module["DT_FLOAT64"]=_emscripten_enum_draco_DataType_DT_FLOAT64();Module["DT_BOOL"]=_emscripten_enum_draco_DataType_DT_BOOL();Module["DT_TYPES_COUNT"]=_emscripten_enum_draco_DataType_DT_TYPES_COUNT();Module["OK"]=_emscripten_enum_draco_StatusCode_OK();Module["DRACO_ERROR"]=_emscripten_enum_draco_StatusCode_DRACO_ERROR();Module["IO_ERROR"]=_emscripten_enum_draco_StatusCode_IO_ERROR();Module["INVALID_PARAMETER"]=_emscripten_enum_draco_StatusCode_INVALID_PARAMETER();Module["UNSUPPORTED_VERSION"]=_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION();Module["UNKNOWN_VERSION"]=_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION()}if(runtimeInitialized)setupEnums();else addOnInit(setupEnums)})();if(typeof Module["onModuleParsed"]==="function"){Module["onModuleParsed"]()}Module["Decoder"].prototype.GetEncodedGeometryType=function(array){if(array.__class__&&array.__class__===Module.DecoderBuffer){return Module.Decoder.prototype.GetEncodedGeometryType_Deprecated(array)}if(array.byteLength<8)return Module.INVALID_GEOMETRY_TYPE;switch(array[7]){case 0:return Module.POINT_CLOUD;case 1:return Module.TRIANGULAR_MESH;default:return Module.INVALID_GEOMETRY_TYPE}};
return DracoDecoderModule.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = DracoDecoderModule;
else if (typeof define === 'function' && define['amd'])
define([], function() { return DracoDecoderModule; });
else if (typeof exports === 'object')
exports["DracoDecoderModule"] = DracoDecoderModule;