var Bullet = (() => { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(Bullet = {}) { // include: shell.js // The Module object: Our interface to the outside world. We import // and export values on it. There are various ways Module can be used: // 1. Not defined. We create it here // 2. A function parameter, function(Module) { ..generated code.. } // 3. pre-run appended it, var Module = {}; ..generated code.. // 4. External script tag defines var Module. // We need to check if Module already exists (e.g. case 3 above). // Substitution will be replaced with actual code on later stage of the build, // this way Closure Compiler will not mangle it (e.g. case 4. above). // Note that if you want to run closure, and also to use Module // after the generated code, you will need to define var Module = {}; // before the code. Then that object will be used in the code, and you // can continue to use Module afterwards as well. var Module = typeof Bullet != 'undefined' ? Bullet : {}; // Set up the promise that indicates the Module is initialized var readyPromiseResolve, readyPromiseReject; Module['ready'] = new Promise((resolve, reject) => { readyPromiseResolve = resolve; readyPromiseReject = reject; }); ["_main","__embind_initialize_bindings","_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'), }); } }); // --pre-jses are emitted after the Module integration code, so that they can // refer to Module (if they choose; they can also define Module) // Sometimes an existing Module object exists with properties // meant to overwrite the default module functionality. Here // we collect those properties and reapply _after_ we configure // the current environment's defaults to avoid having to be so // defensive during initialization. var moduleOverrides = Object.assign({}, Module); var arguments_ = []; var thisProgram = './this.program'; var quit_ = (status, toThrow) => { throw toThrow; }; // Determine the runtime environment we are in. You can customize this by // setting the ENVIRONMENT setting at compile time (see settings.js). var ENVIRONMENT_IS_WEB = true; var ENVIRONMENT_IS_WORKER = false; var ENVIRONMENT_IS_NODE = false; var ENVIRONMENT_IS_SHELL = false; 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)'); } // `/` should be present at the end if `scriptDirectory` is not empty var scriptDirectory = ''; function locateFile(path) { if (Module['locateFile']) { return Module['locateFile'](path, scriptDirectory); } return scriptDirectory + path; } // Hooks that are implemented differently in different runtime environments. var read_, readAsync, readBinary, setWindowTitle; 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_ = (f) => { const data = tryParseAsDataURI(f); if (data) { return intArrayToString(data); } return read(f); }; } 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 = (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) => { // Unlike node which has process.exitCode, d8 has no such mechanism. So we // have no way to set the exit code and then let the program exit with // that code when it naturally stops running (say, when all setTimeouts // have completed). For that reason, we must call `quit` - the only way to // set the exit code - but quit also halts immediately. To increase // consistency with node (and the web) we schedule the actual quit call // using a setTimeout to give the current stack and any exception handlers // a chance to run. This enables features such as addOnPostRun (which // expected to be able to run code after main returns). setTimeout(() => { if (!(toThrow instanceof ExitStatus)) { let toLog = toThrow; if (toThrow && typeof toThrow == 'object' && toThrow.stack) { toLog = [toThrow, toThrow.stack]; } err(`exiting due to exception: ${toLog}`); } quit(status); }); throw toThrow; }; } if (typeof print != 'undefined') { // Prefer to use print/printErr where they exist, as they usually work better. if (typeof console == 'undefined') console = /** @type{!Console} */({}); console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print); } } else // Note that this includes Node.js workers when relevant (pthreads is enabled). // Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and // ENVIRONMENT_IS_NODE. if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled scriptDirectory = self.location.href; } else if (typeof document != 'undefined' && document.currentScript) { // web scriptDirectory = document.currentScript.src; } // When MODULARIZE, this JS may be executed later, after document.currentScript // is gone, so we saved it, and we use it here instead of any other info. if (_scriptDir) { scriptDirectory = _scriptDir; } // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. // otherwise, slice off the final part of the url to find the script directory. // if scriptDirectory does not contain a slash, lastIndexOf will return -1, // and scriptDirectory will correctly be replaced with an empty string. // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), // they are removed because they could contain a slash. 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?)'); // Differentiate the Web Worker from the Node Worker case, as reading must // be done differently. { // include: web_or_worker_shell_read.js 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(/** @type{!ArrayBuffer} */(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)) { // file URLs can return 0 onload(xhr.response); return; } var data = tryParseAsDataURI(url); if (data) { onload(data.buffer); return; } onerror(); }; xhr.onerror = onerror; xhr.send(null); } // end include: web_or_worker_shell_read.js } 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.error.bind(console); // Merge back in the overrides Object.assign(Module, moduleOverrides); // Free the object hierarchy contained in the overrides, this lets the GC // reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. moduleOverrides = null; checkIncomingModuleAPI(); // Emit code to handle expected values on the Module object. This applies Module.x // to the proper local x. This has two benefits: first, we only emit it if it is // expected to arrive, and second, by using a local everywhere else that can be // minified. 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_'); // perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message // Assertions on removed incoming Module JS APIs. 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'); var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable."); assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable."); assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."); // end include: shell.js // include: preamble.js // === Preamble library stuff === // Documentation for the public APIs defined in this file must be updated in: // site/source/docs/api_reference/preamble.js.rst // A prebuilt local version of the documentation is available at: // site/build/text/docs/api_reference/preamble.js.txt // You can also build docs locally as HTML or other formats in site/ // An online HTML version (which may be of a different version of Emscripten) // is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html var wasmBinary; if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); var noExitRuntime = Module['noExitRuntime'] || true;legacyModuleProp('noExitRuntime', 'noExitRuntime'); // include: wasm2js.js // wasm2js.js - enough of a polyfill for the WebAssembly object so that we can load // wasm2js code that way. // Emit "var WebAssembly" if definitely using wasm2js. Otherwise, in MAYBE_WASM2JS // mode, we can't use a "var" since it would prevent normal wasm from working. /** @suppress{duplicate, const} */ var WebAssembly = { // Note that we do not use closure quoting (this['buffer'], etc.) on these // functions, as they are just meant for internal use. In other words, this is // not a fully general polyfill. /** @constructor */ Memory: function(opts) { this.buffer = new ArrayBuffer(opts['initial'] * 65536); }, Module: function(binary) { // TODO: use the binary and info somehow - right now the wasm2js output is embedded in // the main JS }, /** @constructor */ Instance: function(module, info) { // TODO: use the module somehow - right now the wasm2js output is embedded in // the main JS // This will be replaced by the actual wasm2js code. this.exports = ( function instantiate(info) { function Table(ret) { // grow method not included; table is not growable ret.set = function(i, func) { this[i] = func; }; ret.get = function(i) { return this[i]; }; return ret; } var bufferView; var base64ReverseLookup = new Uint8Array(123/*'z'+1*/); for (var i = 25; i >= 0; --i) { base64ReverseLookup[48+i] = 52+i; // '0-9' base64ReverseLookup[65+i] = i; // 'A-Z' base64ReverseLookup[97+i] = 26+i; // 'a-z' } base64ReverseLookup[43] = 62; // '+' base64ReverseLookup[47] = 63; // '/' /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */ function base64DecodeToExistingUint8Array(uint8Array, offset, b64) { var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '='); for (; i < bLength; i += 4) { b1 = base64ReverseLookup[b64.charCodeAt(i+1)]; b2 = base64ReverseLookup[b64.charCodeAt(i+2)]; uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4; if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2; if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)]; } } function initActiveSegments(imports) { base64DecodeToExistingUint8Array(bufferView, 65536, "UXVhdF96AFZlYzNfegB2LT5wb2ludC56IDwgdy0+cG9pbnQuegB2MC0+cG9pbnQueiA8IHYxLT5wb2ludC56AGFjdHVhbFRoaXNQcm94eQByZW1vdmVPdmVybGFwcGluZ1BhaXJzQ29udGFpbmluZ1Byb3h5AEVtcHR5AFJpZ2lkQm9keV9zZXRHcmF2aXR5AER5bmFtaWNzV29ybGRfc2V0R3Jhdml0eQBUcmFuc2Zvcm1fc2V0SWRlbnRpdHkAR2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludF9zZXRUYXJnZXRWZWxvY2l0eQBIaW5nZUNvbnN0cmFpbnRfc2V0TW90b3JWZWxvY2l0eQBSaWdpZEJvZHlfc2V0QW5ndWxhclZlbG9jaXR5AFJpZ2lkQm9keV9nZXRBbmd1bGFyVmVsb2NpdHkAUmlnaWRCb2R5X3NldExpbmVhclZlbG9jaXR5AFJpZ2lkQm9keV9nZXRMaW5lYXJWZWxvY2l0eQBidEphY29iaWFuRW50cnkAZnJlZU1lbW9yeQBDaGFyYWN0ZXJDb250cm9sbGVyX3NldE92ZXJsYXBSZWNvdmVyeQBIaW5nZUNvbnN0cmFpbnRfc2V0QW5ndWxhck9ubHkAd2Fsa1N0YWNrbGVzc1F1YW50aXplZFRyZWVDYWNoZUZyaWVuZGx5AGJvZHkAZ2V0T3JJbml0U29sdmVyQm9keQB+YnRSaWdpZEJvZHkARHluYW1pY3NXb3JsZF9yZW1vdmVSaWdpZEJvZHkARHluYW1pY3NXb3JsZF9hZGRSaWdpZEJvZHkAVHlwZWRDb25zdHJhaW50X2dldEZpeGVkQm9keQB3YWxrU3RhY2tsZXNzVHJlZUFnYWluc3RSYXkAd2Fsa1N0YWNrbGVzc1F1YW50aXplZFRyZWVBZ2FpbnN0UmF5AFF1YXRfeQBWZWMzX3kAQm94AGdldFZlcnRleAByZW1vdmVWZXJ0ZXgAU2ltcGxleFNoYXBlX2FkZFZlcnRleAByZXBvcnRBYWJiT3ZlcmxhcHBpbmdOb2RleAByZW1vdmVDaGlsZFNoYXBlQnlJbmRleABtX25leHRbcHJldmlvdXNdID09IHBhaXJJbmRleABtX25leHRbcHJldmlvdXNdID09IGxhc3RQYWlySW5kZXgAQ29sbGlzaW9uT2JqZWN0X3NldFVzZXJJbmRleABDb2xsaXNpb25PYmplY3RfZ2V0VXNlckluZGV4AENvbmVTaGFwZV9zZXRDb25lVXBJbmRleABzb3J0QW5kQ2FsY1NwbGl0dGluZ0luZGV4AGdldEVzY2FwZUluZGV4AGdldFRyaWFuZ2xlSW5kZXgAaW50ZXJuYWxQcm9jZXNzVHJpYW5nbGVJbmRleAB3YWxrSXRlcmF0aW9ucyA8IG1fY3VyTm9kZUluZGV4AFF1YXRfeABWZWMzX3gALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABSaWdpZEJvZHlfbmV3AEhpbmdlQ29uc3RyYWludF9uZXcARml4ZWRDb25zdHJhaW50X25ldwBQMlBDb25zdHJhaW50X25ldwBHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X25ldwBDb2xsaXNpb25PYmplY3RfbmV3AFF1YXRfbmV3AFNlcXVlbnRpYWxJbXB1bHNlQ29uc3RyYWludFNvbHZlcl9uZXcAQm94Q2hhcmFjdGVyQ29udHJvbGxlcl9uZXcAQ2Fwc3VsZUNoYXJhY3RlckNvbnRyb2xsZXJfbmV3AENvbGxpc2lvbkRpc3BhdGNoZXJfbmV3AFRyYW5zZm9ybV9uZXcAY2NNYXRlcmlhbF9uZXcAVHJpYW5nbGVNZXNoX25ldwBEYnZ0QnJvYWRwaGFzZV9uZXcAQm94U2hhcGVfbmV3AFNpbXBsZXhTaGFwZV9uZXcAQ3lsaW5kZXJTaGFwZV9uZXcAVGVycmFpblNoYXBlX25ldwBDb252ZXhUcmlhbmdsZU1lc2hTaGFwZV9uZXcAU2NhbGVkQnZoVHJpYW5nbGVNZXNoU2hhcGVfbmV3AFNwaGVyZVNoYXBlX25ldwBDb25lU2hhcGVfbmV3AFN0YXRpY1BsYW5lU2hhcGVfbmV3AENhcHN1bGVTaGFwZV9uZXcAY2NDb21wb3VuZFNoYXBlX25ldwBjY0Rpc2NyZXRlRHluYW1pY3NXb3JsZF9uZXcAQm94Q2hhcmFjdGVyQ29udHJvbGxlckRlc2NfbmV3AENhcHN1bGVDaGFyYWN0ZXJDb250cm9sbGVyRGVzY19uZXcAVmVjM19uZXcARGVidWdEcmF3AFF1YXRfdwBvblNoYXBlSGl0RXh0AGUtPnRhcmdldC0+cG9pbnQuZG90KG5vcm1hbCkgPT0gZGlzdABDb2xsaXNpb25Xb3JsZF9yYXlUZXN0AENvbGxpc2lvbldvcmxkX2NvbnZleFN3ZWVwVGVzdABwcmVkaWN0aXZlIGNvbnZleFN3ZWVwVGVzdABzb3J0AGNvbnZleEh1bGxTdXBwb3J0AENvbnRyb2xsZXJIaXRSZXBvcnQAdW5zaWduZWQgc2hvcnQAaXNsYW5kVW5pb25GaW5kQW5kUXVpY2tTb3J0AHB0AHNoaWZ0ZWREb3QgPD0gb3JpZ0RvdABQZXJzaXN0ZW50TWFuaWZvbGRfZ2V0Q29udGFjdFBvaW50AHJlbW92ZUNvbnRhY3RQb2ludAByZXBsYWNlQ29udGFjdFBvaW50AGFkZENvbnRhY3RQb2ludABHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X3NldEVxdWlsaWJyaXVtUG9pbnQAYWRkTWFuaWZvbGRQb2ludABEeW5hbWljc1dvcmxkX3JlbW92ZUNvbnN0cmFpbnQARHluYW1pY3NXb3JsZF9hZGRDb25zdHJhaW50AHVuc2lnbmVkIGludABCb3hDaGFyYWN0ZXJDb250cm9sbGVyX3NldEhhbGZTaWRlRXh0ZW50AEJveENoYXJhY3RlckNvbnRyb2xsZXJfc2V0SGFsZkZvcndhcmRFeHRlbnQAaW1wbGVtZW50AFN0YXRpY1BsYW5lU2hhcGVfc2V0UGxhbmVDb25zdGFudABhZGRTaW5nbGVSZXN1bHQASGluZ2VDb25zdHJhaW50X3NldExpbWl0AEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnRfc2V0TGltaXQAQ2hhcmFjdGVyQ29udHJvbGxlcl9zZXRTbG9wZUxpbWl0AFJheUNhbGxiYWNrX2hhc0hpdABDb252ZXhDYWxsYmFja19oYXNIaXQAbWluSGVpZ2h0IDw9IG1heEhlaWdodABDYXBzdWxlQ2hhcmFjdGVyQ29udHJvbGxlcl9zZXRIZWlnaHQAQ29uZVNoYXBlX3NldEhlaWdodABCb3hDaGFyYWN0ZXJDb250cm9sbGVyX3NldEhhbGZIZWlnaHQAQ2hhcmFjdGVyQ29udHJvbGxlcl9zZXRDb250YWN0T2Zmc2V0AENoYXJhY3RlckNvbnRyb2xsZXJfc2V0U3RlcE9mZnNldABnZXRJbmZvMkludGVybmFsVXNpbmdGcmFtZU9mZnNldABjY0Nsb3Nlc3RSYXlDYWxsYmFja19yZXNldABjY0FsbFJheUNhbGxiYWNrX3Jlc2V0AGNjQ2xvc2VzdENvbnZleENhbGxiYWNrX3Jlc2V0AGNjQWxsQ29udmV4Q2FsbGJhY2tfcmVzZXQAUXVhdF9zZXQAY2NNYXRlcmlhbF9zZXQAVmVjM19zZXQAZWRnZS0+dGFyZ2V0ICYmIHItPnRhcmdldABwcmV2LT5yZXZlcnNlLT50YXJnZXQgPT0gbmV4dC0+cmV2ZXJzZS0+dGFyZ2V0AHJldmVyc2UtPnRhcmdldCA9PSBuLT5yZXZlcnNlLT50YXJnZXQASGluZ2VDb25zdHJhaW50X3NldE1vdG9yVGFyZ2V0AEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnRfc2V0U2Vydm9UYXJnZXQAX19kZXN0cnVjdABDaGFyYWN0ZXJDb250cm9sbGVyX2dldEdob3N0T2JqZWN0AH5idEdob3N0T2JqZWN0AG90aGVyT2JqZWN0AGNvbGxpc2lvbk9iamVjdABDb250cm9sbGVyU2hhcGVIaXRfZ2V0SGl0Q29sbGlzaW9uT2JqZWN0AENvbGxpc2lvbldvcmxkX3JlbW92ZUNvbGxpc2lvbk9iamVjdABDb2xsaXNpb25Xb3JsZF9hZGRDb2xsaXNpb25PYmplY3QAQ29sbGlzaW9uT2JqZWN0X2lzU3RhdGljT2JqZWN0AENvbGxpc2lvbk9iamVjdF9pc0tpbmVtYXRpY09iamVjdABDb2xsaXNpb25PYmplY3RfaXNTdGF0aWNPcktpbmVtYXRpY09iamVjdABjYWxjdWxhdGVUaW1lT2ZJbXBhY3QAZmxvYXQAaW50X2FycmF5X2F0AFZlYzNfYXJyYXlfYXQAdWludDY0X3QAY3VycmVudFJvdzx0b3RhbE51bVJvd3MAQ2Fwc3VsZUNoYXJhY3RlckNvbnRyb2xsZXJfc2V0UmFkaXVzAENvbmVTaGFwZV9zZXRSYWRpdXMAQ29sbGlzaW9uT2JqZWN0X3NldENjZFN3ZXB0U3BoZXJlUmFkaXVzAFNwaGVyZVNoYXBlX3NldFVuc2NhbGVkUmFkaXVzAHJlZnJlc2hDb250YWN0UG9pbnRzAGluZGV4IDwgbV9jYWNoZWRQb2ludHMAc29sdmVDb25zdHJhaW50cwBCb3hTaGFwZV9zZXRVbnNjYWxlZEhhbGZFeHRlbnRzAHNldEFuZ3VsYXJMaW1pdHMAUGVyc2lzdGVudE1hbmlmb2xkX2dldE51bUNvbnRhY3RzAGNyZWF0ZVByZWRpY3RpdmVDb250YWN0cwBHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X3NldFN0aWZmbmVzcwBidENvbXBvdW5kQ29tcG91bmRMZWFmQ2FsbGJhY2s6OlByb2Nlc3MAUmlnaWRCb2R5X3NldE1hc3MAY2NBbGxSYXlDYWxsYmFja19nZXRDb2xsaXNpb25TaGFwZVB0cnMAY2NBbGxDb252ZXhDYWxsYmFja19nZXRDb2xsaXNpb25TaGFwZVB0cnMAZGlzcGF0Y2hBbGxDb2xsaXNpb25QYWlycwBidEhhc2hlZE92ZXJsYXBwaW5nUGFpckNhY2hlOjpwcm9jZXNzQWxsT3ZlcmxhcHBpbmdQYWlycwBjYWxjdWxhdGVPdmVybGFwcGluZ1BhaXJzAHVwZGF0ZVN1YnRyZWVIZWFkZXJzAFJpZ2lkQm9keV9zZXRNYXNzUHJvcHMAQ29udHJvbGxlckhpdF9nZXRIaXRXb3JsZFBvcwB1cGRhdGVBY3Rpb25zAHNvbHZlR3JvdXBDYWNoZUZyaWVuZGx5SXRlcmF0aW9ucwBDb252ZXhJbnRlcm5hbFNoYXBlX2dldEltcGxpY2l0U2hhcGVEaW1lbnNpb25zAGludGVncmF0ZVRyYW5zZm9ybXMAcHJlYWxsb2NhdGVDaGlsZEFsZ29yaXRobXMAVGVzdFNlcEF4aXMAUmlnaWRCb2R5X3NldEZsYWdzAGNjQ2xvc2VzdFJheUNhbGxiYWNrX3NldEZsYWdzAGNjQWxsUmF5Q2FsbGJhY2tfc2V0RmxhZ3MAUmlnaWRCb2R5X2dldEZsYWdzAENvbGxpc2lvbk9iamVjdF9zZXRDb2xsaXNpb25GbGFncwBDb2xsaXNpb25PYmplY3RfZ2V0Q29sbGlzaW9uRmxhZ3MAaW5pdGlhbGl6ZVBvbHloZWRyYWxGZWF0dXJlcwBDb21wb3VuZFNoYXBlX2dldE51bUNoaWxkU2hhcGVzAGNsZWFyTGluZXMAZmx1c2hMaW5lcwBIaW5nZUNvbnN0cmFpbnRfc2V0RnJhbWVzAEZpeGVkQ29uc3RyYWludF9zZXRGcmFtZXMAR2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludF9zZXRGcmFtZXMAcHJvY2Vzc0FsbFRyaWFuZ2xlcwBJbnRlcm5hbFByb2Nlc3NBbGxUcmlhbmdsZXMAdjEtPmVkZ2VzLT5uZXh0ID09IHYxLT5lZGdlcwBSaWdpZEJvZHlfY2xlYXJGb3JjZXMAcmVjZWl2ZU5lYXJieUZhY2VzAGZpbmRFZGdlRm9yQ29wbGFuYXJGYWNlcwBwcm9jZXNzSXNsYW5kcwBjYWxjdWxhdGVTaW11bGF0aW9uSXNsYW5kcwBidWlsZElzbGFuZHMAUmlnaWRCb2R5X3NldFNsZWVwaW5nVGhyZXNob2xkcwByZWxlYXNlIHByZWRpY3RpdmUgY29udGFjdCBtYW5pZm9sZHMARGlzcGF0Y2hlcl9nZXROdW1NYW5pZm9sZHMAc3luY1BoeXNpY3NUb0dyYXBoaWNzAHVwZGF0ZUFhYmJzAGNjQ2xvc2VzdFJheUNhbGxiYWNrX2dldENvbGxpc2lvblNoYXBlUHRyAGNjQ2xvc2VzdENvbnZleENhbGxiYWNrX2dldENvbGxpc2lvblNoYXBlUHRyAG1fbWFuaWZvbGRQdHIASGluZ2VDb25zdHJhaW50X2VuYWJsZU1vdG9yAEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnRfZW5hYmxlTW90b3IAUmlnaWRCb2R5X3NldEFuZ3VsYXJGYWN0b3IAUmlnaWRCb2R5X3NldExpbmVhckZhY3RvcgBEZWJ1Z0RyYXdfc2V0Q29udGFjdFBvaW50Q29sb3IARGVidWdEcmF3X3NldENvbnN0cmFpbnRMaW1pdENvbG9yAERlYnVnRHJhd19zZXRXYW50c0RlYWN0aXZhdGlvbk9iamVjdENvbG9yAERlYnVnRHJhd19zZXREaXNhYmxlZERlYWN0aXZhdGlvbk9iamVjdENvbG9yAERlYnVnRHJhd19zZXREaXNhYmxlZFNpbXVsYXRpb25PYmplY3RDb2xvcgBEZWJ1Z0RyYXdfc2V0RGVhY3RpdmVPYmplY3RDb2xvcgBEZWJ1Z0RyYXdfc2V0QWN0aXZlT2JqZWN0Q29sb3IARGVidWdEcmF3X3NldEFBQkJDb2xvcgBwYWlyAHJlbW92ZU92ZXJsYXBwaW5nUGFpcgBuZXdFZGdlUGFpcgByZW1vdmVFZGdlUGFpcgBmaW5kUGFpcgBpbnRlcm5hbEZpbmRQYWlyAENvbnRyb2xsZXJIaXRfZ2V0SGl0TW90aW9uRGlyAENvbGxpc2lvbldvcmxkX3NldERlYnVnRHJhd2VyAENvbGxpc2lvblNoYXBlX3NldFVzZXJQb2ludGVyAERyYXdXcmFwcGVyAENvbnRyb2xsZXJIaXRSZXBvcnRXcmFwcGVyAE1vdGlvblN0YXRlV3JhcHBlcgBidENvbGxpc2lvbkRpc3BhdGNoZXIAdW5zaWduZWQgY2hhcgBjY01vdGlvblN0YXRlX3NldHVwAHNvbHZlR3JvdXBDYWNoZUZyaWVuZGx5U2V0dXAAc29sdmVHcm91cABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0VHJpYW5nbGVJbmRleFZlcnRleEFycmF5LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQnJvYWRwaGFzZUNvbGxpc2lvbi9idERidnQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0NvbnN0cmFpbnRTb2x2ZXIvYnRQb2ludDJQb2ludENvbnN0cmFpbnQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0NvbnN0cmFpbnRTb2x2ZXIvYnRIaW5nZUNvbnN0cmFpbnQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0NvbnN0cmFpbnRTb2x2ZXIvYnRHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRNYW5pZm9sZFJlc3VsdC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvbkRpc3BhdGNoL2J0R2hvc3RPYmplY3QuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25EaXNwYXRjaC9idEJveEJveERldGVjdG9yLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vTmFycm93UGhhc2VDb2xsaXNpb24vYnRHamtQYWlyRGV0ZWN0b3IuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9OYXJyb3dQaGFzZUNvbGxpc2lvbi9idFZvcm9ub2lTaW1wbGV4U29sdmVyLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXREeW5hbWljcy9Db25zdHJhaW50U29sdmVyL2J0U2VxdWVudGlhbEltcHVsc2VDb25zdHJhaW50U29sdmVyLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9MaW5lYXJNYXRoL2J0Q29udmV4SHVsbENvbXB1dGVyLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRDb2xsaXNpb25EaXNwYXRjaGVyLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRTaW11bGF0aW9uSXNsYW5kTWFuYWdlci5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvblNoYXBlcy9idENvbnZleFBvbHloZWRyb24uY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25EaXNwYXRjaC9idENvbnZleENvbnZleEFsZ29yaXRobS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvbkRpc3BhdGNoL2J0Q29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0uY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25EaXNwYXRjaC9idENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0uY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Ccm9hZHBoYXNlQ29sbGlzaW9uL2J0UXVhbnRpemVkQnZoLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0T3B0aW1pemVkQnZoLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vTmFycm93UGhhc2VDb2xsaXNpb24vYnRQb2x5aGVkcmFsQ29udGFjdENsaXBwaW5nLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQnJvYWRwaGFzZUNvbGxpc2lvbi9idERidnRCcm9hZHBoYXNlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0RW1wdHlTaGFwZS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvblNoYXBlcy9idENvbnZleFNoYXBlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0UG9seWhlZHJhbENvbnZleFNoYXBlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0SGVpZ2h0ZmllbGRUZXJyYWluU2hhcGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25TaGFwZXMvYnRDb252ZXhUcmlhbmdsZU1lc2hTaGFwZS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvblNoYXBlcy9idFRyaWFuZ2xlTWVzaFNoYXBlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0QnZoVHJpYW5nbGVNZXNoU2hhcGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25TaGFwZXMvYnRDb25lU2hhcGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25TaGFwZXMvYnRDb21wb3VuZFNoYXBlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQnJvYWRwaGFzZUNvbGxpc2lvbi9idE92ZXJsYXBwaW5nUGFpckNhY2hlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRIYXNoZWRTaW1wbGVQYWlyQ2FjaGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25TaGFwZXMvYnRTdHJpZGluZ01lc2hJbnRlcmZhY2UuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0R5bmFtaWNzL2J0RGlzY3JldGVEeW5hbWljc1dvcmxkLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRDb2xsaXNpb25Xb3JsZC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL05hcnJvd1BoYXNlQ29sbGlzaW9uL2J0UGVyc2lzdGVudE1hbmlmb2xkLmNwcABDeWxpbmRlclNoYXBlX3VwZGF0ZVByb3AAQ2Fwc3VsZVNoYXBlX3VwZGF0ZVByb3AAZi0+Y29weSAhPSBzdGFtcABxdWFudGl6ZVdpdGhDbGFtcABjY0Rpc2NyZXRlRHluYW1pY3NXb3JsZF9zZXRBbGxvd1NsZWVwAEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnRfc2V0U2Vydm8AZnJvbSAmJiB0bwBjb2xBbGdvAHNvbHZlckluZm8AY2FsY3VsYXRlQW5nbGVJbmZvAGFwcGx5IHNwZWN1bGF0aXZlIGNvbnRhY3QgcmVzdGl0dXRpb24AcHJlZGljdFVuY29uc3RyYWludE1vdGlvbgBDaGFyYWN0ZXJDb250cm9sbGVyX2dldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AcGVyZm9ybURpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0aW9uAGdldFByZWZlcnJlZFBlbmV0cmF0aW9uRGlyZWN0aW9uAG1lcmdlUHJvamVjdGlvbgByYXlSZXN1bHQubV9oaXRGcmFjdGlvbiA8PSBtX2Nsb3Nlc3RIaXRGcmFjdGlvbgBjb252ZXhSZXN1bHQubV9oaXRGcmFjdGlvbiA8PSBtX2Nsb3Nlc3RIaXRGcmFjdGlvbgBEeW5hbWljc1dvcmxkX3JlbW92ZUFjdGlvbgBEeW5hbWljc1dvcmxkX2FkZEFjdGlvbgAhbV91c2VRdWFudGl6YXRpb24AZ2V0UGxhbmVFcXVhdGlvbgBUcmFuc2Zvcm1fc2V0Um90YXRpb24AVHJhbnNmb3JtX2dldFJvdGF0aW9uAGdldE9yaWVudGF0aW9uAE92ZXJmbG93IGluIEFBQkIsIG9iamVjdCByZW1vdmVkIGZyb20gc2ltdWxhdGlvbgBEeW5hbWljc1dvcmxkX3N0ZXBTaW11bGF0aW9uAGludGVybmFsU2luZ2xlU3RlcFNpbXVsYXRpb24AQ2hhcmFjdGVyQ29udHJvbGxlcl9zZXRDb2xsaXNpb24AYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtOjpwcm9jZXNzQ29sbGlzaW9uAG5lZWRzQ29sbGlzaW9uAGxvY2FsR2V0U3VwcG9ydGluZ1ZlcnRleFdpdGhvdXRNYXJnaW4AQ29sbGlzaW9uU2hhcGVfc2V0TWFyZ2luAFRyYW5zZm9ybV9nZXRPcmlnaW4AVHJhbnNmb3JtX2dldFJvdGF0aW9uQW5kT3JpZ2luAG5hbgBNb3Rpb25TdGF0ZV9zZXRXb3JsZFRyYW5zZm9ybQBSaWdpZEJvZHlfZ2V0V29ybGRUcmFuc2Zvcm0AQ29sbGlzaW9uT2JqZWN0X2dldFdvcmxkVHJhbnNmb3JtAE1vdGlvblN0YXRlX2dldFdvcmxkVHJhbnNmb3JtAENvbXBvdW5kU2hhcGVfdXBkYXRlQ2hpbGRUcmFuc2Zvcm0AIXBhaXIubV9hbGdvcml0aG0AYnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobQBidENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0Ac2V0UGFyYW0AZ2V0UGFyYW0AYm9vbABwZXJmb3JtRGVmZXJyZWRSZW1vdmFsAGVtc2NyaXB0ZW46OnZhbABnZXRDbG9zZXN0UG9pbnRzTm9uVmlydHVhbABsb2NhbEdldFN1cHBvcnRWZXJ0ZXhXaXRob3V0TWFyZ2luTm9uVmlydHVhbABnZXRJbmZvMk5vblZpcnR1YWwARGlzcGF0Y2hlcl9nZXRNYW5pZm9sZEJ5SW5kZXhJbnRlcm5hbAByZW1vdmVPdmVybGFwcGluZ09iamVjdEludGVybmFsAGFkZE92ZXJsYXBwaW5nT2JqZWN0SW50ZXJuYWwAY29tcHV0ZUludGVybmFsAGdldEluZm8ySW50ZXJuYWwAU3RhdGljUGxhbmVTaGFwZV9nZXRQbGFuZU5vcm1hbABDb250cm9sbGVySGl0X2dldEhpdFdvcmxkTm9ybWFsAENvbGxpc2lvbk9iamVjdF9zZXRNYXRlcmlhbABDb2xsaXNpb25TaGFwZV9zZXRNYXRlcmlhbAAhdW5iYWwAc2hyaW5rAGxpbmsAQ29sbGlzaW9uT2JqZWN0X3NldElnbm9yZUNvbGxpc2lvbkNoZWNrAHBvcF9iYWNrAGNvbE9iai0+Z2V0V29ybGRBcnJheUluZGV4KCkgPT0gaQAhbV9idmgAIW1fb3duc0J2aABCdmhUcmlhbmdsZU1lc2hTaGFwZV9zZXRPcHRpbWl6ZWRCdmgAQnZoVHJpYW5nbGVNZXNoU2hhcGVfZ2V0T3B0aW1pemVkQnZoAENvbnRyb2xsZXJIaXRfZ2V0SGl0TW90aW9uTGVuZ3RoAHk8bV9oZWlnaHRTdGlja0xlbmd0aAB4PG1faGVpZ2h0U3RpY2tXaWR0aABzb2x2ZUdyb3VwQ2FjaGVGcmllbmRseUZpbmlzaABDb252ZXhUcmltZXNoAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0NvbnN0cmFpbnRTb2x2ZXIvYnRKYWNvYmlhbkVudHJ5LmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmNcQnVsbGV0RHluYW1pY3MvRHluYW1pY3MvYnRSaWdpZEJvZHkuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xMaW5lYXJNYXRoL2J0QWxpZ25lZE9iamVjdEFycmF5LmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvTGluZWFyTWF0aC9idEFsaWduZWRPYmplY3RBcnJheS5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXEJ1bGxldENvbGxpc2lvbi9Db2xsaXNpb25EaXNwYXRjaC9idE1hbmlmb2xkUmVzdWx0LmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmNcQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvbkRpc3BhdGNoL2J0R2hvc3RPYmplY3QuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xMaW5lYXJNYXRoL2J0UG9vbEFsbG9jYXRvci5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXExpbmVhck1hdGgvYnRRdWF0ZXJuaW9uLmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0Jyb2FkcGhhc2VDb2xsaXNpb24vYnRRdWFudGl6ZWRCdmguaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0Qm94U2hhcGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0UG9seWhlZHJhbENvbnZleFNoYXBlLmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvblNoYXBlcy9idENvbnZleEludGVybmFsU2hhcGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xCdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0VHJpYW5nbGVNZXNoU2hhcGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xCdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0VHJpYW5nbGVTaGFwZS5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Ccm9hZHBoYXNlQ29sbGlzaW9uL2J0T3ZlcmxhcHBpbmdQYWlyQ2FjaGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRIYXNoZWRTaW1wbGVQYWlyQ2FjaGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRDb2xsaXNpb25Xb3JsZC5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXEJ1bGxldENvbGxpc2lvbi9OYXJyb3dQaGFzZUNvbGxpc2lvbi9idFBlcnNpc3RlbnRNYW5pZm9sZC5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9OYXJyb3dQaGFzZUNvbGxpc2lvbi9idFBlcnNpc3RlbnRNYW5pZm9sZC5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXExpbmVhck1hdGgvYnRNYXRyaXgzeDMuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xMaW5lYXJNYXRoL2J0VmVjdG9yMy5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXExpbmVhck1hdGgvYnRBYWJiVXRpbDIuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBiYXNpY19zdHJpbmcAc3RkOjpzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcAR2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludF9lbmFibGVTcHJpbmcAQ0NEIG1vdGlvbiBjbGFtcGluZwBSaWdpZEJvZHlfc2V0RGFtcGluZwBHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X3NldERhbXBpbmcAUmlnaWRCb2R5X3dhbnRzU2xlZXBpbmcAQ29sbGlzaW9uT2JqZWN0X2lzU2xlZXBpbmcAQ29sbGlzaW9uU2hhcGVfc2V0TG9jYWxTY2FsaW5nAGluZgBkMT49MC4wZgBkMD49MC4wZgBxdWFudGl6ZQBpbnRfYXJyYXlfc2l6ZQBub3JtYWxpemUAaW5pdGlhbGl6ZQBzZXJpYWxpemUAVHlwZWRDb25zdHJhaW50X3NldERiZ0RyYXdTaXplAFR5cGVkQ29uc3RyYWludF9nZXREYmdEcmF3U2l6ZQAhc2l6ZSB8fCBzaXplPD1tX2VsZW1TaXplACh1bnNpZ25lZCBjaGFyKilwdHIgPj0gbV9wb29sICYmICh1bnNpZ25lZCBjaGFyKilwdHIgPCBtX3Bvb2wgKyBtX21heEVsZW1lbnRzICogbV9lbGVtU2l6ZQB3YWxrSXRlcmF0aW9ucyA8IHN1YlRyZWVTaXplAENoYXJhY3RlckNvbnRyb2xsZXJfbW92ZQBDb2xsaXNpb25PYmplY3RfaXNBY3RpdmUAUmlnaWRCb2R5X2FwcGx5VG9ycXVlAGdldFJhd0hlaWdodEZpZWxkVmFsdWUAIW1fdXNlU29sdmVDb25zdHJhaW50T2Jzb2xldGUAX3NhZmVfZGVsZXRlAENvbGxpc2lvbk9iamVjdF9hY3RpdmF0ZQBSaWdpZEJvZHlfY2xlYXJTdGF0ZQBSaWdpZEJvZHlfZ2V0TW90aW9uU3RhdGUAc3luY2hyb25pemVTaW5nbGVNb3Rpb25TdGF0ZQBDb2xsaXNpb25PYmplY3RfZ2V0QWN0aXZhdGlvblN0YXRlAHVwZGF0ZUFjdGl2YXRpb25TdGF0ZQBDb2xsaXNpb25PYmplY3RfZm9yY2VBY3RpdmF0aW9uU3RhdGUAYWxsb2NhdGUAaW52ZXJzZQBlICE9IGludGVyc2VjdGlvbi0+cmV2ZXJzZQBSaWdpZEJvZHlfYXBwbHlJbXB1bHNlAEhpbmdlQ29uc3RyYWludF9zZXRNYXhNb3RvckltcHVsc2UAZmFsc2UAZ2V0TG9ja2VkVmVydGV4SW5kZXhCYXNlAENvbnRyb2xsZXJTaGFwZUhpdF9nZXRIaXRTaGFwZQBDb2xsaXNpb25PYmplY3Rfc2V0Q29sbGlzaW9uU2hhcGUAQ29sbGlzaW9uT2JqZWN0X2dldENvbGxpc2lvblNoYXBlAENoYXJhY3RlckNvbnRyb2xsZXJfZ2V0Q29sbGlzaW9uU2hhcGUAQ2Fwc3VsZVNoYXBlAGJ0Q29tcG91bmRTaGFwZQBDb21wb3VuZFNoYXBlX2dldENoaWxkU2hhcGUAUHJvY2Vzc0NoaWxkU2hhcGUAQ29tcG91bmRTaGFwZV9yZW1vdmVDaGlsZFNoYXBlAENvbXBvdW5kU2hhcGVfYWRkQ2hpbGRTaGFwZQBDb25lAG9uRGVidWdEcmF3TGluZQBnZXRQbGFuZQBidENvbnZleFRyaWFuZ2xlQ2FsbGJhY2s6OnByb2Nlc3NUcmlhbmdsZQBUcmlhbmdsZU1lc2hfYWRkVHJpYW5nbGUAZmluZE1heEFuZ2xlAGRvdWJsZQBtZXJnZQBnZXRFZGdlAF9mcmVlAHdhbGtTdGFja2xlc3NUcmVlAGJ1aWxkVHJlZQB3YWxrU3RhY2tsZXNzUXVhbnRpemVkVHJlZQBtZW09PW1fZHluYW1pY0FhYmJUcmVlAHByb2Nlc3NOb2RlAERlYnVnRHJhd19zZXREZWJ1Z01vZGUARGVidWdEcmF3X2dldERlYnVnTW9kZQBpc0luc2lkZQBSaWdpZEJvZHlfYXBwbHlGb3JjZQBHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X3NldE1heE1vdG9yRm9yY2UAR2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludF9zZXRCb3VuY2UAc2hpZnRGYWNlAENvbGxpc2lvblNoYXBlX2lzQ29tcG91bmQAY29udmV4U3dlZXBDb21wb3VuZABleHRlbmQAQ29sbGlzaW9uV29ybGRfZGVidWdEcmF3V29ybGQAY2NDbG9zZXN0UmF5Q2FsbGJhY2tfZ2V0SGl0UG9pbnRXb3JsZABjY0FsbFJheUNhbGxiYWNrX2dldEhpdFBvaW50V29ybGQAY2NDbG9zZXN0Q29udmV4Q2FsbGJhY2tfZ2V0SGl0UG9pbnRXb3JsZABjY0FsbENvbnZleENhbGxiYWNrX2dldEhpdFBvaW50V29ybGQAY2NDbG9zZXN0UmF5Q2FsbGJhY2tfZ2V0SGl0Tm9ybWFsV29ybGQAY2NBbGxSYXlDYWxsYmFja19nZXRIaXROb3JtYWxXb3JsZABjY0Nsb3Nlc3RDb252ZXhDYWxsYmFja19nZXRIaXROb3JtYWxXb3JsZABjY0FsbENvbnZleENhbGxiYWNrX2dldEhpdE5vcm1hbFdvcmxkAENvbGxpc2lvbk9iamVjdF9zZXRDY2RNb3Rpb25UaHJlc2hvbGQAQ29sbGlzaW9uT2JqZWN0X3NldENvbnRhY3RQcm9jZXNzaW5nVGhyZXNob2xkAFJpZ2lkQm9keV9nZXRMaW5lYXJTbGVlcGluZ1RocmVzaG9sZABUeXBlZENvbnN0cmFpbnRfc2V0TWF4SW1wdWxzZVRocmVzaG9sZABnZXROZXdNYW5pZm9sZAByZWxlYXNlTWFuaWZvbGQAdm9pZABtX2lzTG9jYWxBYWJiVmFsaWQAZ2V0UGFydElkAGYtPm5lYXJieVZlcnRleCA9PSBzcmMAX21hbGxvYwBEZWZhdWx0Q29sbGlzaW9uQ29uZmlndXJhdGlvbl9zdGF0aWMAY2NDbG9zZXN0UmF5Q2FsbGJhY2tfc3RhdGljAGNjQWxsUmF5Q2FsbGJhY2tfc3RhdGljAGNjQ2xvc2VzdENvbnZleENhbGxiYWNrX3N0YXRpYwBjY0FsbENvbnZleENhbGxiYWNrX3N0YXRpYwBFbXB0eVNoYXBlX3N0YXRpYwB3YWxrUmVjdXJzaXZlUXVhbnRpemVkVHJlZUFnYWluc3RRdWVyeUFhYmIAQ29sbGlzaW9uU2hhcGVfZ2V0QWFiYgBidFRyYW5zZm9ybUFhYmIAZ2V0Tm9udmlydHVhbEFhYmIAYnRJbnRJbmRleERhdGEAYnRNZXNoUGFydERhdGEAYnRHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50RGF0YQBidFNob3J0SW50SW5kZXhUcmlwbGV0RGF0YQBidENoYXJJbmRleFRyaXBsZXREYXRhAGJ0UmlnaWRCb2R5RmxvYXREYXRhAGJ0UG9pbnQyUG9pbnRDb25zdHJhaW50RmxvYXREYXRhAGJ0SGluZ2VDb25zdHJhaW50RmxvYXREYXRhAGJ0VHlwZWRDb25zdHJhaW50RmxvYXREYXRhAGJ0Q29sbGlzaW9uT2JqZWN0RmxvYXREYXRhAGJ0UXVhbnRpemVkQnZoRmxvYXREYXRhAGJ0RHluYW1pY3NXb3JsZEZsb2F0RGF0YQBidFZlY3RvcjNGbG9hdERhdGEAYnRCdmhTdWJ0cmVlSW5mb0RhdGEAYnRDeWxpbmRlclNoYXBlRGF0YQBidENvbGxpc2lvblNoYXBlRGF0YQBidENvbnZleEludGVybmFsU2hhcGVEYXRhAGJ0VHJpYW5nbGVNZXNoU2hhcGVEYXRhAGJ0U2NhbGVkVHJpYW5nbGVNZXNoU2hhcGVEYXRhAGJ0Q29uZVNoYXBlRGF0YQBidFN0YXRpY1BsYW5lU2hhcGVEYXRhAGJ0Q2Fwc3VsZVNoYXBlRGF0YQBidENvbXBvdW5kU2hhcGVEYXRhAGJ0VmVjdG9yM0RvdWJsZURhdGEAYnRRdWFudGl6ZWRCdmhOb2RlRGF0YQBidE9wdGltaXplZEJ2aE5vZGVEYXRhAGJ0U3RyaWRpbmdNZXNoSW50ZXJmYWNlRGF0YQBidENvbXBvdW5kU2hhcGVDaGlsZERhdGEAaGVpZ2h0ZmllbGREYXRhAENvbGxpc2lvblNoYXBlX2NhbGN1bGF0ZUxvY2FsSW5lcnRpYQBjb2xsaXNpb25PYmplY3QgPT0gbV9jb2xsaXNpb25PYmplY3RzW2lPYmpdAG1fZG91YmxlRGlzcGF0Y2hDb250YWN0UG9pbnRzW2ldW2pdAG49PXAtPmNoaWxkc1tpXQBvcGVyYXRvcltdAEN5bGluZGVyWQBpbmRpY2VzdHlwZT09UEhZX0lOVEVHRVJ8fGluZGljZXN0eXBlPT1QSFlfU0hPUlQAaGR0ICE9IFBIWV9VQ0hBUiB8fCBoZHQgIT0gUEhZX0ZMT0FUIHx8IGhkdCAhPSBQSFlfU0hPUlQAU0VOU09SAGluZGV4ICE9IEJUX05VTExfUEFJUgBpbmRleCAhPSBCVF9TSU1QTEVfTlVMTF9QQUlSAGluZGljZXN0eXBlPT1QSFlfSU5URUdFUnx8aW5kaWNlc3R5cGU9PVBIWV9TSE9SVHx8aW5kaWNlc3R5cGU9PVBIWV9VQ0hBUgBVUABtX2ZsYWdzICYgQlRfUDJQX0ZMQUdTX0VSUABtX2ZsYWdzICYgQlRfSElOR0VfRkxBR1NfRVJQX1NUT1AAbV9mbGFncyAmIEJUX0hJTkdFX0ZMQUdTX0NGTV9TVE9QAERPV04AZnN1bSA+IFNJTURfRVBTSUxPTgBOQU4AbV9mbGFncyAmIEJUX0hJTkdFX0ZMQUdTX0VSUF9OT1JNAG1fZmxhZ3MgJiBCVF9ISU5HRV9GTEFHU19DRk1fTk9STQBtX2ZsYWdzICYgQlRfUDJQX0ZMQUdTX0NGTQBTQ0FMRURCVkhUUklBTkdMRU1FU0gASU5GAFNQSEVSRQBTVEFUSUNQTEFORQBTSURFAEhFSUdIVEZJRUxEAFAyUENvbnN0cmFpbnRfc2V0UGl2b3RCAE1hbmlmb2xkUG9pbnRfZ2V0X21fbG9jYWxQb2ludEIATWFuaWZvbGRQb2ludF9nZXRfbV9wb3NpdGlvbldvcmxkT25CAE1hbmlmb2xkUG9pbnRfZ2V0X21fbm9ybWFsV29ybGRPbkIAUDJQQ29uc3RyYWludF9zZXRQaXZvdEEATWFuaWZvbGRQb2ludF9nZXRfbV9sb2NhbFBvaW50QQBNYW5pZm9sZFBvaW50X2dldF9tX3Bvc2l0aW9uV29ybGRPbkEAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4Ab3BlcmF0b3IvPQBidEJVX1NpbXBsZXgxdG80AHVwQXhpcyA+PSAwICYmIHVwQXhpcyA8IDMAY3VsbFBvaW50czIAcGFpci0+bV9wUHJveHkxLT5nZXRVaWQoKSA9PSBwcm94eUlkMgBfd3JpdGVfZjMyAF9yZWFkX2YzMgBib2R5MQBQZXJzaXN0ZW50TWFuaWZvbGRfZ2V0Qm9keTEATWFuaWZvbGRQb2ludF9nZXRfbV9pbmRleDEATWFuaWZvbGRQb2ludF9nZXRTaGFwZTEAcGFpci0+bV9wUHJveHkwLT5nZXRVaWQoKSA9PSBwcm94eUlkMQBjb2xsaXNpb25PYmplY3QtPmdldFdvcmxkQXJyYXlJbmRleCgpID09IC0xAGhlaWdodFN0aWNrTGVuZ3RoID4gMQBoZWlnaHRTdGlja1dpZHRoID4gMQBib2R5MABQZXJzaXN0ZW50TWFuaWZvbGRfZ2V0Qm9keTAATWFuaWZvbGRQb2ludF9nZXRfbV9pbmRleDAAKmlyZXQgIT0gaTAATWFuaWZvbGRQb2ludF9nZXRTaGFwZTAAbV9udW1WZXJ0aWNlcz4wAG51bUluZGljZXM+MABtX3NpemU+MAB5Pj0wAGluZGV4Pj0wAHRyaWFuZ2xlSW5kZXg+PTAAbj49MABjaGlsZEluZGV4MT49MABjaGlsZEluZGV4MD49MABlZHB0ci0+bV9mYWNlMD49MABtX3BvaW50Q2FjaGVbaW5zZXJ0SW5kZXhdLm1fdXNlclBlcnNpc3RlbnREYXRhPT0wAG1fcG9pbnRDYWNoZVtsYXN0VXNlZEluZGV4XS5tX3VzZXJQZXJzaXN0ZW50RGF0YT09MABtX3JlbW92ZVBhaXJzLnNpemUoKT09MABtX2NvbnN0cmFpbnRSZWZzLnNpemUoKT09MABlZHB0ci0+bV9mYWNlMTwwAHN0YWNrLnNpemUoKSA+IDAAcHRJbmRleCA+PSAwAHZvbCA+PSAwAGxpZmVUaW1lID49IDAAZG90IDw9IDAAZG90LmNvbXBhcmUob3JpZ0RvdCkgPD0gMABkb3QgIT0gMABkZXQuZ2V0U2lnbigpICE9IDAALgAhc3RhcnQxIHx8IChzdGFydDEtPnRhcmdldC0+cG9pbnQuZG90KG5vcm1hbCkgPT0gZGlzdCkAdmFsaWRDb250YWN0RGlzdGFuY2UobmV3UG9pbnQpAGluZm8yLnJvd3NraXAqc2l6ZW9mKGJ0U2NhbGFyKT09IHNpemVvZihidFNvbHZlckNvbnN0cmFpbnQpAChudWxsKQAoZ2Z4aW5kZXh0eXBlID09IFBIWV9JTlRFR0VSKSB8fCAoZ2Z4aW5kZXh0eXBlID09IFBIWV9TSE9SVCkAcGFydElkIDwgKDE8PE1BWF9OVU1fUEFSVFNfSU5fQklUUykAbm9ybWFsT25CLmxlbmd0aDIoKT49KFNJTURfRVBTSUxPTipTSU1EX0VQU0lMT04pACh0eXBlID09IFBIWV9GTE9BVCkgfHwgKHR5cGUgPT0gUEhZX0RPVUJMRSkAKGluZGV4ID49IDApICYmIChpbmRleCA8IDYpAChjb2xPYmowLT5nZXRJc2xhbmRUYWcoKSA9PSBpc2xhbmRJZCkgfHwgKGNvbE9iajAtPmdldElzbGFuZFRhZygpID09IC0xKQBzID4gYnRTY2FsYXIoMC4wKQBtX0FkaWFnID4gYnRTY2FsYXIoMC4wKQBkZXQgIT0gYnRTY2FsYXIoMC4wKQBzICE9IGJ0U2NhbGFyKDAuMCkAZCAhPSBidFNjYWxhcigwLjApAGNjdyA/ICh0LmRvdChzKSA8IDApIDogKHQuZG90KHMpID4gMCkAKGUxID09IHN0YXJ0MSkgJiYgKGQxLmRvdChub3JtYWwpIDwgMCkAKGUwID09IHN0YXJ0MCkgJiYgKGQwLmRvdChub3JtYWwpIDwgMCkAdHJpYW5nbGVJbmRleCA8ICgxPDwoMzEtTUFYX05VTV9QQVJUU19JTl9CSVRTKSkAbV9mbGFncyAmIChCVF82RE9GX0ZMQUdTX0VSUF9TVE9QMiA8PCAoYXhpcyAqIDQpKQBtX2ZsYWdzICYgKEJUXzZET0ZfRkxBR1NfQ0ZNX1NUT1AyIDw8IChheGlzICogNCkpAG1fZmxhZ3MgJiAoQlRfNkRPRl9GTEFHU19FUlBfTU9UTzIgPDwgKGF4aXMgKiA0KSkAbV9mbGFncyAmIChCVF82RE9GX0ZMQUdTX0NGTV9NT1RPMiA8PCAoYXhpcyAqIDQpKQBzdWJwYXJ0PCBnZXROdW1TdWJQYXJ0cygpAGluZGV4PGNvbXBvdW5kU2hhcGUtPmdldE51bUNoaWxkU2hhcGVzKCkAY2hpbGRJbmRleDE8Y29tcG91bmRTaGFwZTEtPmdldE51bUNoaWxkU2hhcGVzKCkAY2hpbGRJbmRleDA8Y29tcG91bmRTaGFwZTAtPmdldE51bUNoaWxkU2hhcGVzKCkAIWZ1enp5WmVybygpACF0LmlzWmVybygpACFwZXJwLmlzWmVybygpACFtLmlzWmVybygpAG4tPmlzaW50ZXJuYWwoKQBuPHNpemUoKQBpbmRleCA8IG1fb3ZlcmxhcHBpbmdQYWlyQXJyYXkuc2l6ZSgpAHBhaXJJbmRleCA8IG1fb3ZlcmxhcHBpbmdQYWlyQXJyYXkuc2l6ZSgpAG1fY29sbGlzaW9uT2JqZWN0cy5maW5kTGluZWFyU2VhcmNoKGNvbGxpc2lvbk9iamVjdCkgPT0gbV9jb2xsaXNpb25PYmplY3RzLnNpemUoKQAhbV9vdmVybGFwcGluZ09iamVjdHMuc2l6ZSgpAG1fc3VidHJlZUhlYWRlckNvdW50ID09IG1fU3VidHJlZUhlYWRlcnMuc2l6ZSgpAGZpbmRJbmRleCA8IG1fbWFuaWZvbGRzUHRyLnNpemUoKQBjaGlsZFNoYXBlSW5kZXggPj0wICYmIGNoaWxkU2hhcGVJbmRleCA8IG1fY2hpbGRyZW4uc2l6ZSgpAHNvbHZlckJvZHlJZEEgPCBtX3RtcFNvbHZlckJvZHlQb29sLnNpemUoKQAhaXNMZWFmTm9kZSgpAGNvbE9ialdyYXAtPmdldENvbGxpc2lvblNoYXBlKCktPmlzQ29tcG91bmQoKQBjb2wxT2JqV3JhcC0+Z2V0Q29sbGlzaW9uU2hhcGUoKS0+aXNDb21wb3VuZCgpAGNvbDBPYmpXcmFwLT5nZXRDb2xsaXNpb25TaGFwZSgpLT5pc0NvbXBvdW5kKCkAbG9jYWxBYWJiTWluLmdldFooKSA8PSBsb2NhbEFhYmJNYXguZ2V0WigpAHBvaW50LmdldFooKSA8PSBtX2J2aEFhYmJNYXguZ2V0WigpAHBvaW50LmdldFooKSA+PSBtX2J2aEFhYmJNaW4uZ2V0WigpAGxvY2FsQWFiYk1pbi5nZXRZKCkgPD0gbG9jYWxBYWJiTWF4LmdldFkoKQBwb2ludC5nZXRZKCkgPD0gbV9idmhBYWJiTWF4LmdldFkoKQBwb2ludC5nZXRZKCkgPj0gbV9idmhBYWJiTWluLmdldFkoKQBsb2NhbEFhYmJNaW4uZ2V0WCgpIDw9IGxvY2FsQWFiYk1heC5nZXRYKCkAcG9pbnQuZ2V0WCgpIDw9IG1fYnZoQWFiYk1heC5nZXRYKCkAcG9pbnQuZ2V0WCgpID49IG1fYnZoQWFiYk1pbi5nZXRYKCkAJmNvbnN0cmFpbnQtPmdldFJpZ2lkQm9keUEoKSE9JmNvbnN0cmFpbnQtPmdldFJpZ2lkQm9keUIoKQAhIkJhZCBtX2hlaWdodERhdGFUeXBlIgBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBsaWJjKythYmk6IABJZiB5b3UgY2FuIHJlcHJvZHVjZSB0aGlzLCBwbGVhc2UgZW1haWwgYnVnc0Bjb250aW51b3VzcGh5c2ljcy5jb20KAHNlcEF4aXM9KCVmLCVmLCVmKSwgc3F1YXJlZERpc3RhbmNlID0gJWYsIHNoYXBlVHlwZUE9JWksc2hhcGVUeXBlQj0laQoAYnRHamtQYWlyRGV0ZWN0b3IgbWF4SXRlciBleGNlZWRlZDolaQoAVGhhbmtzLgoAUGxlYXNlIGluY2x1ZGUgYWJvdmUgaW5mb3JtYXRpb24sIHlvdXIgUGxhdGZvcm0sIHZlcnNpb24gb2YgT1MuCgB3YXJuaW5nIGJ0Q29sbGlzaW9uRGlzcGF0Y2hlcjo6bmVlZHNDb2xsaXNpb246IHN0YXRpYy1zdGF0aWMgY29sbGlzaW9uIQoATjJjYzI2Y2NDbG9zZXN0UmF5UmVzdWx0Q2FsbGJhY2tFAE4xNmJ0Q29sbGlzaW9uV29ybGQyNENsb3Nlc3RSYXlSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDE3UmF5UmVzdWx0Q2FsbGJhY2tFAE4yY2MyNmNjQWxsSGl0c1JheVJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjRBbGxIaXRzUmF5UmVzdWx0Q2FsbGJhY2tFAE4yY2MyOWNjQ2xvc2VzdENvbnZleFJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjdDbG9zZXN0Q29udmV4UmVzdWx0Q2FsbGJhY2tFAE4xNmJ0Q29sbGlzaW9uV29ybGQyMENvbnZleFJlc3VsdENhbGxiYWNrRQBOMmNjMjljY0FsbEhpdHNDb252ZXhSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDI3QWxsSGl0c0NvbnZleFJlc3VsdENhbGxiYWNrRQBOMmNjMTVjY0NvbXBvdW5kU2hhcGVFADEzYnRNb3Rpb25TdGF0ZQAxMWJ0RGVidWdEcmF3ADEyYnRJRGVidWdEcmF3AFAxMWJ0RGVidWdEcmF3AFBLMTFidERlYnVnRHJhdwBpaQB2AHZpAFAxMmJ0SURlYnVnRHJhdwB2aWkAdmlpaWlpADE4YnREZWJ1Z0RyYXdXcmFwcGVyAE4xMGVtc2NyaXB0ZW43d3JhcHBlckkxMWJ0RGVidWdEcmF3RUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAFAxOGJ0RGVidWdEcmF3V3JhcHBlcgBQSzE4YnREZWJ1Z0RyYXdXcmFwcGVyAE4xMGVtc2NyaXB0ZW4zdmFsRQBpaWkATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAaWlpaQAyMWJ0Q29udHJvbGxlckhpdFJlcG9ydAAyNWJ0VXNlckNvbnRyb2xsZXJIaXRSZXBvcnQAUDIxYnRDb250cm9sbGVySGl0UmVwb3J0AFBLMjFidENvbnRyb2xsZXJIaXRSZXBvcnQAdmlpaWkAMjhidENvbnRyb2xsZXJIaXRSZXBvcnRXcmFwcGVyAE4xMGVtc2NyaXB0ZW43d3JhcHBlckkyMWJ0Q29udHJvbGxlckhpdFJlcG9ydEVFAFAyOGJ0Q29udHJvbGxlckhpdFJlcG9ydFdyYXBwZXIAUEsyOGJ0Q29udHJvbGxlckhpdFJlcG9ydFdyYXBwZXIATjJjYzEzY2NNb3Rpb25TdGF0ZUUAUE4yY2MxM2NjTW90aW9uU3RhdGVFAFBLTjJjYzEzY2NNb3Rpb25TdGF0ZUUAdmlpaQAyMGNjTW90aW9uU3RhdGVXcmFwcGVyAE4xMGVtc2NyaXB0ZW43d3JhcHBlcklOMmNjMTNjY01vdGlvblN0YXRlRUVFAFAyMGNjTW90aW9uU3RhdGVXcmFwcGVyAFBLMjBjY01vdGlvblN0YXRlV3JhcHBlcgBmaWkAdmlpZgBpaWZmZgB2aWlmZmYAaWlmZmZmAHZpaWZmZmYAaWlpaWlpAHZpaWZmZmZmAHZpaWZmAGlpaWlpaWkAdmlpaWZmAHZpaWlmAHZpaWZpAGlpZgB2aWlmZmkAaWlmZgBpaWlmAGlpaWlpZmZmAHZpaWlpaWkAaWlpaWkAdmlpaWZmZgBpaWlmZmYAaWlmaQB2aWlpaWlpZgB2aWlmaWYAaWlpaWZmAGlpZmZmaWlpZmYAaWlmZmZpaWlmZmYAAAAAAFBgAQC7AQAAvAEAAL0BAAC+AQAAvwEAAMABAADBAQAAwgEAAMMBAADEAQAAxQEAAMYBAADHAQAAyAEAADE2YnREYnZ0QnJvYWRwaGFzZQAyMWJ0QnJvYWRwaGFzZUludGVyZmFjZQAAHK0BAC9gAQBErQEAHGABAEhgAQAAAAAASGABAMkBAADKAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAMsBAABQAQAAAAAAAPBgAQDMAQAAzQEAAM4BAADPAQAA0AEAANEBAADSAQAAMThidERidnRUcmVlQ29sbGlkZXIATjZidERidnQ4SUNvbGxpZGVFABytAQDVYAEARK0BAMBgAQDoYAEAAAAAAOhgAQDTAQAA1AEAANUBAADWAQAA0AEAANEBAADSAQAAAAAAAFxhAQDXAQAA2AEAANUBAADZAQAA0AEAANEBAADSAQAAMTlCcm9hZHBoYXNlUmF5VGVzdGVyAAAARK0BAERhAQDoYAEAAAAAAKRhAQDaAQAA2wEAANUBAADcAQAA0AEAANEBAADSAQAAMjBCcm9hZHBoYXNlQWFiYlRlc3RlcgAARK0BAIxhAQDoYAEAAAAAAGRiAQDfAQAA4AEAAOEBAADiAQAA4wEAAOQBAADlAQAA5gEAAOcBAADoAQAA6QEAAOoBAADrAQAA7AEAAO0BAADuAQAA7wEAADI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZQAyMmJ0T3ZlcmxhcHBpbmdQYWlyQ2FjaGUAMjVidE92ZXJsYXBwaW5nUGFpckNhbGxiYWNrABytAQA0YgEARK0BABtiAQBQYgEARK0BAPxhAQBYYgEAAAAAAFhiAQDwAQAA8QEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAAAAAABQYgEA8gEAAPMBAABQAQAAUAEAAFABAAAAAAAAeGMBAPQBAAD1AQAA9gEAAFpOMjhidEhhc2hlZE92ZXJsYXBwaW5nUGFpckNhY2hlMTljbGVhblByb3h5RnJvbVBhaXJzRVAxN2J0QnJvYWRwaGFzZVByb3h5UDEyYnREaXNwYXRjaGVyRTE3Q2xlYW5QYWlyQ2FsbGJhY2sAMTdidE92ZXJsYXBDYWxsYmFjawAAABytAQBaYwEARK0BAOxiAQBwYwEAAAAAAHBjAQD3AQAA+AEAAFABAAAAAAAAMGQBAPkBAAD6AQAA+wEAAFpOMjhidEhhc2hlZE92ZXJsYXBwaW5nUGFpckNhY2hlMzdyZW1vdmVPdmVybGFwcGluZ1BhaXJzQ29udGFpbmluZ1Byb3h5RVAxN2J0QnJvYWRwaGFzZVByb3h5UDEyYnREaXNwYXRjaGVyRTE4UmVtb3ZlUGFpckNhbGxiYWNrAAAAAEStAQCsYwEAcGMBAAAAAACUZAEA/AEAAP0BAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAADEyYnREaXNwYXRjaGVyAAAcrQEAhGQBAAAAAAD8ZAEA/wEAAAACAAABAgAAAgIAAAMCAAAEAgAABQIAAAYCAAAHAgAACAIAAAkCAAAKAgAACwIAAAwCAAANAgAADgIAADIxYnRDb2xsaXNpb25EaXNwYXRjaGVyAEStAQDkZAEAlGQBAAAAAABUZQEADwIAABACAABQAQAAUAEAAFABAABOMzZidERpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0b3JJbnRlcmZhY2U2UmVzdWx0RQAcrQEAJGUBAAAAAACMZQEAEQIAABICAAATAgAAMjNidENvbGxpc2lvblBhaXJDYWxsYmFjawAAAEStAQBwZQEAcGMBAAAAAADQZQEAFAIAABUCAAAWAgAAFwIAABgCAAAZAgAAGgIAADE3YnRDb2xsaXNpb25PYmplY3QAHK0BALxlAQAAAAAAKGYBABsCAAAcAgAAHQIAAB4CAAAfAgAAIAIAACECAAAiAgAAIwIAACQCAAAlAgAAJgIAACcCAAAxNmJ0Q29sbGlzaW9uV29ybGQAABytAQAUZgEAAAAAAGxmAQAoAgAAKQIAACoCAAArAgAALAIAAE4xMmJ0Q29udmV4Q2FzdDEwQ2FzdFJlc3VsdEUAAAAAHK0BAExmAQAAAAAAIGcBAC0CAAAuAgAALwIAADACAABaTjE2YnRDb2xsaXNpb25Xb3JsZDIxcmF5VGVzdFNpbmdsZUludGVybmFsRVJLMTFidFRyYW5zZm9ybVMyX1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMTdSYXlSZXN1bHRDYWxsYmFja0VFMjlCcmlkZ2VUcmlhbmdsZVJheWNhc3RDYWxsYmFjawAARK0BAIxmAQD0jQEAAAAAANBnAQAxAgAAMgIAANUBAAAzAgAA0AEAANEBAADSAQAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTlSYXlUZXN0ZXIAAABErQEAUGcBAOhgAQAAAAAAfGgBADQCAAA1AgAANgIAADcCAABaTjE2YnRDb2xsaXNpb25Xb3JsZDIxcmF5VGVzdFNpbmdsZUludGVybmFsRVJLMTFidFRyYW5zZm9ybVMyX1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMTdSYXlSZXN1bHRDYWxsYmFja0VFMTVMb2NhbEluZm9BZGRlcjIAAAAARK0BAPRnAQBIrgEAAAAAAMBoAQA4AgAAOQIAAFABAAAzMGJ0Q29udmV4UGVuZXRyYXRpb25EZXB0aFNvbHZlcgAAAAAcrQEAnGgBAAAAAACQaQEAOgIAADsCAAA8AgAAPQIAAFpOMTZidENvbGxpc2lvbldvcmxkMjVvYmplY3RRdWVyeVNpbmdsZUludGVybmFsRVBLMTNidENvbnZleFNoYXBlUksxMWJ0VHJhbnNmb3JtUzVfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18yMENvbnZleFJlc3VsdENhbGxiYWNrRWZFMzJCcmlkZ2VUcmlhbmdsZUNvbnZleGNhc3RDYWxsYmFjawAARK0BAOBoAQAgjgEAAAAAAGhqAQA+AgAAPwIAADwCAABAAgAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrXzAAAAAARK0BALRpAQAgjgEAAAAAAEBrAQBBAgAAQgIAANUBAABDAgAA0AEAANEBAADSAQAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUyMmJ0Q29tcG91bmRMZWFmQ2FsbGJhY2sAAAAARK0BAJhqAQDoYAEAAAAAAERsAQBEAgAARQIAAEYCAABHAgAAWlpOMTZidENvbGxpc2lvbldvcmxkMjVvYmplY3RRdWVyeVNpbmdsZUludGVybmFsRVBLMTNidENvbnZleFNoYXBlUksxMWJ0VHJhbnNmb3JtUzVfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18yMENvbnZleFJlc3VsdENhbGxiYWNrRWZFTjIyYnRDb21wb3VuZExlYWZDYWxsYmFjazEyUHJvY2Vzc0NoaWxkRWlTNV9QSzE2YnRDb2xsaXNpb25TaGFwZUUxNExvY2FsSW5mb0FkZGVyAABErQEAZGsBAPiuAQAAAAAAxGwBAEgCAABJAgAASgIAADE5YnRTaW5nbGVSYXlDYWxsYmFjawAyM2J0QnJvYWRwaGFzZVJheUNhbGxiYWNrADI0YnRCcm9hZHBoYXNlQWFiYkNhbGxiYWNrAAAcrQEAlGwBAEStAQB6bAEAsGwBAEStAQBkbAEAuGwBAAAAAAC4bAEASwIAAEwCAABQAQAAAAAAALBsAQBNAgAATgIAAFABAAAAAAAAJG0BAE8CAABQAgAAUQIAADIxYnRTaW5nbGVTd2VlcENhbGxiYWNrAEStAQAMbQEAuGwBAAAAAABwbQEAUgIAAFMCAABUAgAAVQIAAPz///9wbQEAVgIAAFcCAABYAgAAMTdEZWJ1Z0RyYXdjYWxsYmFjawCgrQEAXG0BAAAAAAACAAAAUIgBAAIAAACQiAEAAgQAAAAAAAAAbgEAWQIAAFoCAABQAQAAUAEAAFABAAAAAAAACG4BAFsCAABcAgAAUAEAAFABAABQAQAAMzBidEFjdGl2YXRpbmdDb2xsaXNpb25BbGdvcml0aG0AMjBidENvbGxpc2lvbkFsZ29yaXRobQAcrQEA6W0BAEStAQDIbQEAAG4BAAAAAABsbgEAXQIAAGACAABhAgAAAAAAAJRuAQBeAgAAYgIAAGMCAABkAgAAZQIAAE4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBErQEARG4BAHx1AQAyM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtAAAARK0BAHhuAQAIbgEAAAAAAERvAQBmAgAAZwIAAGgCAABpAgAAagIAAFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTEzYnREdW1teVJlc3VsdAAAAABErQEAvG4BAFRlAQAAAAAA/G8BAGsCAABsAgAAbQIAAG4CAABvAgAAWk4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTZwcm9jZXNzQ29sbGlzaW9uRVBLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJTMl9SSzE2YnREaXNwYXRjaGVySW5mb1AxNmJ0TWFuaWZvbGRSZXN1bHRFMjFidFdpdGhvdXRNYXJnaW5SZXN1bHQAAAAARK0BAGxvAQBUZQEAAAAAAEBwAQBwAgAAcQIAAHICAABzAgAAdAIAADI0YnRQZXJ0dXJiZWRDb250YWN0UmVzdWx0AABErQEAJHABADB5AQAAAAAAoHABAHcCAAB4AgAAeQIAAHoCAAB7AgAAAAAAAMhwAQB2AgAAfAIAAH0CAAAzM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobQBErQEAfHABAAhuAQAyNGJ0Q29udmV4VHJpYW5nbGVDYWxsYmFjawAARK0BAKxwAQBQiAEAAAAAAHBxAQB+AgAAfwIAAIACAABsAQAAbQEAAG4BAACBAgAAggIAAIMCAACEAgAAcwEAAIUCAACGAgAAhwIAAIgCAAB4AQAAiQIAAIoCAACLAgAAjAIAAI0CAACOAgAAjwIAAJACAACRAgAAkgIAAJMCAACUAgAAlQIAAJYCAACXAgAAmAIAADE1YnRUcmlhbmdsZVNoYXBlAAAARK0BAFxxAQCYhQEAAAAAADByAQCZAgAAmgIAAJsCAABaTjMzYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMjFjYWxjdWxhdGVUaW1lT2ZJbXBhY3RFUDE3YnRDb2xsaXNpb25PYmplY3RTMV9SSzE2YnREaXNwYXRjaGVySW5mb1AxNmJ0TWFuaWZvbGRSZXN1bHRFMzFMb2NhbFRyaWFuZ2xlU3BoZXJlQ2FzdENhbGxiYWNrAAAARK0BAJBxAQBQiAEAAAAAAHhyAQCcAgAAnQIAAJ4CAACfAgAAoAIAADI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobQAARK0BAFhyAQAIbgEAAAAAAMRyAQChAgAAogIAANUBAACjAgAA0AEAANEBAADSAQAAMjJidENvbXBvdW5kTGVhZkNhbGxiYWNrAAAAAEStAQCocgEA6GABAAAAAAAUcwEApAIAAKUCAACmAgAApwIAAKgCAAAzNmJ0Q29tcG91bmRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobQAARK0BAOxyAQB4cgEAAAAAAGhzAQCpAgAAqgIAAKsCAADWAQAA0AEAANEBAADSAQAAMzBidENvbXBvdW5kQ29tcG91bmRMZWFmQ2FsbGJhY2sAAAAARK0BAERzAQDoYAEAAAAAAMxzAQCsAgAArQIAAK4CAAAxNmJ0Qm94Qm94RGV0ZWN0b3IAMzZidERpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0b3JJbnRlcmZhY2UAAAAcrQEAm3MBAEStAQCIcwEAxHMBAAAAAADEcwEArwIAALACAABQAQAAAAAAACh0AQCxAgAAsgIAALMCAAC0AgAAtQIAADI2YnRCb3hCb3hDb2xsaXNpb25BbGdvcml0aG0AAAAARK0BAAh0AQAIbgEAAAAAAHR0AQC2AgAAtwIAALgCAAC5AgAAugIAADMxYnRDb252ZXhQbGFuZUNvbGxpc2lvbkFsZ29yaXRobQAAAEStAQBQdAEAAG4BAAAAAADodAEAuwIAALwCAAC9AgAAvgIAAL8CAADAAgAAMzFidERlZmF1bHRDb2xsaXNpb25Db25maWd1cmF0aW9uADI0YnRDb2xsaXNpb25Db25maWd1cmF0aW9uAAAAABytAQDCdAEARK0BAKB0AQDgdAEAAAAAAOB0AQDBAgAAwgIAAFABAABQAQAAUAEAAFABAAAAAAAAhHUBAMMCAADEAgAAxQIAAE4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAMzBidENvbGxpc2lvbkFsZ29yaXRobUNyZWF0ZUZ1bmMAABytAQBadQEARK0BACh1AQB8dQEAAAAAAHx1AQDGAgAAxwIAAMgCAAAAAAAA9HUBAMkCAADKAgAAywIAAE4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFAAAAAEStAQC4dQEAfHUBAAAAAABEdgEAzAIAAM0CAADOAgAATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAARK0BABR2AQB8dQEAAAAAAJx2AQDPAgAA0AIAANECAABOMzZidENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAAAAAEStAQBkdgEAfHUBAAAAAADwdgEA0gIAANMCAADUAgAATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFAEStAQC8dgEAfHUBAAAAAAA0dwEA1QIAANYCAADXAgAATjE2YnRFbXB0eUFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAARK0BABB3AQB8dQEAAAAAAIh3AQDYAgAA2QIAANoCAABOMzJidFNwaGVyZVNwaGVyZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAARK0BAFR3AQB8dQEAAAAAANx3AQDbAgAA3AIAAN0CAABOMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQAARK0BAKh3AQB8dQEAAAAAACh4AQDeAgAA3wIAAOACAABOMjZidEJveEJveENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAEStAQD8dwEAfHUBAAAAAAB4eAEA4QIAAOICAADjAgAATjMxYnRDb252ZXhQbGFuZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UARK0BAEh4AQB8dQEAAAAAALR4AQDkAgAA5QIAAOYCAADnAgAA6AIAADE2YnRFbXB0eUFsZ29yaXRobQAARK0BAKB4AQAAbgEAAAAAAPh4AQDpAgAA6gIAAOsCAADsAgAA7QIAADIzYnRIYXNoZWRTaW1wbGVQYWlyQ2FjaGUAAAAcrQEA3HgBAAAAAAAweQEA7gIAAO8CAAByAgAAcwIAAPACAAAxNmJ0TWFuaWZvbGRSZXN1bHQAAEStAQAceQEAVGUBAAAAAAB8eQEA8QIAAPICAADzAgAA9AIAAPUCAAAzMmJ0U3BoZXJlU3BoZXJlQ29sbGlzaW9uQWxnb3JpdGhtAABErQEAWHkBAAhuAQAAAAAAzHkBAPYCAAD3AgAA+AIAAPkCAAD6AgAAMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtAAAAAEStAQCkeQEACG4BAAAAAAAIegEA+wIAAPwCAAD9AgAAMjJTcGhlcmVUcmlhbmdsZURldGVjdG9yAAAAAEStAQDseQEAxHMBAAAAAACsegEA/gIAAP8CAAAAAwAAbAEAAG0BAABuAQAAAQMAAIICAAACAwAAAwMAAHMBAAAEAwAAhgIAAIcCAACIAgAAeAEAAAUDAAAGAwAAiwIAAAcDAACNAgAACAMAAAkDAACQAgAACgMAAAsDAAAMAwAADQMAAA4DAAAPAwAAEAMAABEDAAAxMGJ0Qm94U2hhcGUAAAAARK0BAJx6AQCYhQEAAAAAAPB6AQASAwAAFAMAABUDAAAWAwAAFwMAABgDAAAZAwAAMTRidFF1YW50aXplZEJ2aAAAAAAcrQEA3HoBAAAAAABwewEAGgMAABsDAAAcAwAAbAEAAG0BAABuAQAAHQMAAB4DAAAfAwAAIAMAAHMBAAAhAwAAIgMAACMDAAAkAwAAeAEAACUDAAAmAwAAJwMAACgDAAApAwAAMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlAAAAAEStAQBUewEAQIoBAAAAAAAYfAEAKgMAACsDAAAsAwAAWk4yMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxNHBlcmZvcm1SYXljYXN0RVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawAyMWJ0Tm9kZU92ZXJsYXBDYWxsYmFjawAcrQEA+HsBAEStAQCQewEAEHwBAAAAAAAQfAEALQMAAC4DAABQAQAAAAAAAMB8AQAvAwAAMAMAADEDAABaTjIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZTE3cGVyZm9ybUNvbnZleGNhc3RFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfUzRfUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrAAAAAEStAQBMfAEAEHwBAAAAAABQfQEAMgMAADMDAAA0AwAAWk5LMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlMTlwcm9jZXNzQWxsVHJpYW5nbGVzRVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawAAAEStAQDgfAEAEHwBAAAAAADUfQEANQMAADYDAAA3AwAAbAEAAG0BAABuAQAAOAMAAIICAAA5AwAAOgMAADsDAAA8AwAAhgIAAD0DAAA+AwAAeAEAAIkCAAA/AwAAiwIAAEADAACNAgAAQQMAAEIDAAAxNGJ0Q2Fwc3VsZVNoYXBlAAAAAEStAQDAfQEAsH8BAAAAAAA8fgEAQwMAAEQDAABQAQAAbAEAAG0BAABuAQAAUAEAAFABAABQAQAAUAEAAHMBAABQAQAAUAEAAEUDAABGAwAAeAEAADE2YnRDb2xsaXNpb25TaGFwZQAAHK0BACh+AQAAAAAAqH4BAEcDAABIAwAAawEAAGwBAABtAQAAbgEAAG8BAABwAQAAcQEAAHIBAABzAQAAdAEAAHUBAAB2AQAAdwEAAHgBAAB5AQAAegEAADE1YnRDb21wb3VuZFNoYXBlAAAARK0BAJR+AQA8fgEAAAAAACh/AQBJAwAASgMAAEsDAABsAQAAbQEAAG4BAABMAwAAggIAAE0DAABOAwAATwMAAIUCAACGAgAAUAMAAFEDAAB4AQAAUgMAAFMDAACLAgAAVAMAAI0CAABBAwAAQgMAADExYnRDb25lU2hhcGUAAABErQEAGH8BALB/AQAAAAAAsH8BAFUDAABWAwAASwMAAGwBAABtAQAAbgEAAIECAACCAgAAUAEAAFABAABzAQAAhQIAAIYCAACHAgAAiAIAAHgBAACJAgAAUAEAAIsCAABQAQAAjQIAAEEDAABCAwAAMjFidENvbnZleEludGVybmFsU2hhcGUARK0BAJh/AQAwgAEAAAAAADCAAQBXAwAAWAMAAFABAABsAQAAbQEAAG4BAABQAQAAUAEAAFABAABQAQAAcwEAAFABAABQAQAARQMAAEYDAAB4AQAAUAEAAFABAACLAgAAUAEAAFABAABQAQAAUAEAADEzYnRDb252ZXhTaGFwZQBErQEAIIABADx+AQAAAAAA3IABAFkDAABaAwAAWwMAAGwBAABtAQAAbgEAAFwDAABdAwAAXgMAAF8DAABzAQAAhQIAAIYCAACHAgAAiAIAAHgBAABgAwAAYQMAAIsCAABiAwAAjQIAAEEDAABCAwAAkAIAAGMDAABkAwAAZQMAAGYDAABnAwAAaAMAAGkDAAAyNWJ0Q29udmV4VHJpYW5nbGVNZXNoU2hhcGUARK0BAMCAAQDMhQEAAAAAAByBAQBqAwAAawMAAGwDAAAyNkxvY2FsU3VwcG9ydFZlcnRleENhbGxiYWNrAAAAAEStAQD8gAEAkIgBAAAAAACkgQEAbQMAAG4DAABvAwAAbAEAAG0BAABuAQAAcAMAAIICAABxAwAAcgMAAHMDAAB0AwAAhgIAAHUDAAB2AwAAeAEAAHcDAAB4AwAAiwIAAHkDAACNAgAAQQMAAEIDAAB6AwAAMTVidEN5bGluZGVyU2hhcGUAAABErQEAkIEBALB/AQAAAAAAEIIBAHsDAAB8AwAAUAEAAGwBAABtAQAAbgEAAFABAABQAQAAUAEAAFABAABzAQAAIQMAACIDAABFAwAARgMAAHgBAABQAQAAMTRidENvbmNhdmVTaGFwZQAAAABErQEA/IEBADx+AQAAAAAAeIIBAH0DAAB+AwAAfwMAAGwBAABtAQAAbgEAAIADAACBAwAAggMAAIMDAABzAQAAIQMAACIDAABFAwAARgMAAHgBAACEAwAAMTJidEVtcHR5U2hhcGUAAEStAQBoggEAEIIBAAAAAADwggEAhQMAAIYDAACHAwAAbAEAAG0BAABuAQAAiAMAAIkDAACKAwAAiwMAAHMBAAAhAwAAIgMAAEUDAABGAwAAeAEAAIwDAACNAwAAMjVidEhlaWdodGZpZWxkVGVycmFpblNoYXBlAEStAQDUggEAEIIBAAAAAAA4gwEAjgMAAI8DAAAVAwAAFgMAABcDAAAYAwAAGQMAAJADAAAxNGJ0T3B0aW1pemVkQnZoAAAAAEStAQAkgwEA8HoBAAAAAAC8gwEAkQMAAJIDAACTAwAAWk4xNGJ0T3B0aW1pemVkQnZoNWJ1aWxkRVAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlYlJLOWJ0VmVjdG9yM1M0X0UyOVF1YW50aXplZE5vZGVUcmlhbmdsZUNhbGxiYWNrAEStAQBYgwEAkIgBAAAAAAA4hAEAlAMAAJUDAACWAwAAWk4xNGJ0T3B0aW1pemVkQnZoNWJ1aWxkRVAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlYlJLOWJ0VmVjdG9yM1M0X0UyME5vZGVUcmlhbmdsZUNhbGxiYWNrAABErQEA3IMBAJCIAQAAAAAAbIQBAJcDAACYAwAAMThidENvbnZleFBvbHloZWRyb24AAAAAHK0BAFSEAQAAAAAAmIUBAJkDAACaAwAASwMAAGwBAABtAQAAbgEAAIECAACCAgAAXgMAAFABAABzAQAAhQIAAIYCAACHAgAAiAIAAHgBAACJAgAAmwMAAIsCAACcAwAAjQIAAEEDAABCAwAAkAIAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAAAAAAAAzIUBAJ0DAACeAwAAWwMAAGwBAABtAQAAbgEAAJ8DAACCAgAAXgMAAFABAABzAQAAhQIAAIYCAACHAgAAiAIAAHgBAACJAgAAmwMAAIsCAACcAwAAjQIAAEEDAABCAwAAkAIAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAAAyM2J0UG9seWhlZHJhbENvbnZleFNoYXBlAAAARK0BAHyFAQCwfwEAMzRidFBvbHloZWRyYWxDb252ZXhBYWJiQ2FjaGluZ1NoYXBlAAAAAEStAQCkhQEAmIUBAAAAAABEhgEAoAMAAKEDAACiAwAAbAEAAG0BAABuAQAAowMAAKQDAAClAwAApgMAAHMBAAAhAwAAIgMAAKcDAACoAwAAeAEAAKkDAAAyOGJ0U2NhbGVkQnZoVHJpYW5nbGVNZXNoU2hhcGUAAEStAQAkhgEAEIIBAAAAAACAhgEAqgMAAKsDAACsAwAAMjRidFNjYWxlZFRyaWFuZ2xlQ2FsbGJhY2sAAEStAQBkhgEAUIgBAAAAAAAAhwEArQMAAK4DAACvAwAAbAEAAG0BAABuAQAAgQIAAIICAACwAwAAsQMAAHMBAACyAwAAswMAAIcCAACIAgAAeAEAALQDAAC1AwAAiwIAALYDAACNAgAAQQMAAEIDAAAxM2J0U3BoZXJlU2hhcGUARK0BAPCGAQCwfwEAAAAAAHCHAQC3AwAAuAMAALkDAABsAQAAbQEAAG4BAAC6AwAAuwMAALwDAAC9AwAAcwEAACEDAAAiAwAAvgMAAL8DAAB4AQAAwAMAADE4YnRTdGF0aWNQbGFuZVNoYXBlAAAAAEStAQBYhwEAEIIBAAAAAAAYiAEAwQMAAMIDAADDAwAAbAEAAG0BAABuAQAAnwMAAIICAABeAwAAxAMAAHMBAACFAgAAhgIAAIcCAACIAgAAeAEAAIkCAACbAwAAiwIAAJwDAACNAgAAQQMAAEIDAACQAgAAxQMAAMYDAADHAwAAyAMAAMkDAADKAwAAywMAAMwDAAAxNmJ0QlVfU2ltcGxleDF0bzQAAEStAQAEiAEAzIUBAAAAAABQiAEAzQMAAM4DAABQAQAAMThidFRyaWFuZ2xlQ2FsbGJhY2sAAAAAHK0BADiIAQAAAAAAkIgBAM8DAADQAwAAUAEAADMxYnRJbnRlcm5hbFRyaWFuZ2xlSW5kZXhDYWxsYmFjawAAABytAQBsiAEAAAAAAPiIAQDRAwAA0gMAANMDAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAA1AMAANUDAADWAwAA1wMAANgDAAAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlAAAAHK0BANyIAQAAAAAAZIkBANkDAADaAwAA0wMAANsDAADcAwAA3QMAAN4DAADfAwAA4AMAAOEDAADiAwAA4wMAAOQDAADXAwAA2AMAADI2YnRUcmlhbmdsZUluZGV4VmVydGV4QXJyYXkAAAAARK0BAESJAQD4iAEAAAAAAMiJAQDlAwAA5gMAANMDAADbAwAA3AMAAN0DAADeAwAA3wMAAOcDAADoAwAA4gMAAOMDAADkAwAA1wMAANgDAAAxNGJ0VHJpYW5nbGVNZXNoAAAAAEStAQC0iQEAZIkBAAAAAABAigEA6QMAAOoDAAAcAwAAbAEAAG0BAABuAQAA6wMAAB4DAAAfAwAA7AMAAHMBAAAhAwAAIgMAAEUDAABGAwAAeAEAAO0DAAAmAwAAJwMAADE5YnRUcmlhbmdsZU1lc2hTaGFwZQAAAEStAQAoigEAEIIBAAAAAADIigEA7gMAAO8DAADwAwAAWk5LMTlidFRyaWFuZ2xlTWVzaFNoYXBlMTlwcm9jZXNzQWxsVHJpYW5nbGVzRVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UxNkZpbHRlcmVkQ2FsbGJhY2sAAABErQEAYIoBAJCIAQAAAAAAAIsBAPEDAADyAwAA8wMAADIxU3VwcG9ydFZlcnRleENhbGxiYWNrAEStAQDoigEAUIgBAAAAAABAiwEA9AMAAPUDAAD2AwAAMjdidENvbnRpbnVvdXNDb252ZXhDb2xsaXNpb24AAABErQEAIIsBAKyLAQAAAAAAfIsBAPcDAAD4AwAA+QMAAPoDAAD7AwAAMTZidFBvaW50Q29sbGVjdG9yAABErQEAaIsBAFRlAQAAAAAArIsBAPwDAAD9AwAAUAEAADEyYnRDb252ZXhDYXN0AAAcrQEAnIsBAAAAAADciwEA/gMAAP8DAAAABAAAMTVidEdqa0NvbnZleENhc3QAAABErQEAyIsBAKyLAQABAAAAAgAAAAAAAAABAAAAAgAAAAAAAAABAAAAAgAAAAAAAAACAAAAAAAAAAEAAAAAAAAAUIwBAAMEAAAEBAAABQQAADMwYnRHamtFcGFQZW5ldHJhdGlvbkRlcHRoU29sdmVyAAAAAEStAQAsjAEAwGgBAAAAAACEjAEABgQAAAcEAAAIBAAAMTdidEdqa1BhaXJEZXRlY3RvcgBErQEAcIwBAMRzAQAAAAAAyIwBAAkEAAAKBAAACwQAADMzYnRNaW5rb3dza2lQZW5ldHJhdGlvbkRlcHRoU29sdmVyAEStAQCkjAEAwGgBAAAAAACcjQEADAQAAA0EAAAOBAAADwQAABAEAABaTjMzYnRNaW5rb3dza2lQZW5ldHJhdGlvbkRlcHRoU29sdmVyMTJjYWxjUGVuRGVwdGhFUjIyYnRWb3Jvbm9pU2ltcGxleFNvbHZlclBLMTNidENvbnZleFNoYXBlUzRfUksxMWJ0VHJhbnNmb3JtUzdfUjlidFZlY3RvcjNTOV9TOV9QMTJidElEZWJ1Z0RyYXdFMjBidEludGVybWVkaWF0ZVJlc3VsdAAARK0BAPCMAQBUZQEAAAAAAPSNAQARBAAAEgQAAC8CAABQAQAAAAAAACCOAQATBAAAFAQAADwCAABQAQAAMjVidFRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrAEStAQDYjQEAUIgBADI4YnRUcmlhbmdsZUNvbnZleGNhc3RDYWxsYmFjawAARK0BAACOAQBQiAEAAAAAAFyOAQAVBAAAFgQAABcEAAAyMmJ0U3Vic2ltcGxleENvbnZleENhc3QAAAAARK0BAECOAQCsiwEAAAAAALCOAQAYBAAAGQQAABoEAAAbBAAAHAQAAB0EAAAeBAAAHwQAACAEAAAhBAAAIgQAADE3YnRGaXhlZENvbnN0cmFpbnQARK0BAJyOAQAgjwEAAAAAACCPAQAjBAAAJAQAABoEAAAbBAAAHAQAAB0EAAAeBAAAHwQAACAEAAAhBAAAIgQAAAAAAAABAAAAAgAAADMwYnRHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50AAAAAEStAQD8jgEA9JABAAAAAAB4jwEAJQQAACYEAAAnBAAAGwQAACgEAAApBAAAHgQAACoEAAArBAAALAQAAC0EAAAuBAAAMTdidEhpbmdlQ29uc3RyYWludABErQEAZI8BAPSQAQAAAAAA2I8BAC8EAAAwBAAAMQQAABsEAAAyBAAAMwQAAB4EAAA0BAAANQQAADYEAAA3BAAAOAQAADIzYnRQb2ludDJQb2ludENvbnN0cmFpbnQAAABErQEAvI8BAPSQAQAAAAAAZJABADwEAAA9BAAAPgQAAD8EAABABAAAQQQAAEIEAABDBAAARAQAAEUEAABGBAAARwQAAEgEAAAzNWJ0U2VxdWVudGlhbEltcHVsc2VDb25zdHJhaW50U29sdmVyADE4YnRDb25zdHJhaW50U29sdmVyAAAcrQEARpABAEStAQAgkAEAXJABAAAAAABckAEASQQAAEoEAAA+BAAAUAEAAEAEAABQAQAAUAEAAAAAAAD0kAEATAQAAE0EAABOBAAAGwQAAFABAABQAQAAHgQAAFABAABQAQAATwQAAFAEAAAxN2J0VHlwZWRDb25zdHJhaW50ADEzYnRUeXBlZE9iamVjdAAcrQEA3JABAKCtAQDIkAEAAAAAAAEAAADskAEAAgQAAAAAAABAkQEAUQQAAFIEAAAWAgAAFwIAAFMEAABUBAAAVQQAADExYnRSaWdpZEJvZHkAAABErQEAMJEBANBlAQAAAAAAgJEBAFYEAABXBAAAWAQAAFkEAAAyNWJ0U2ltdWxhdGlvbklzbGFuZE1hbmFnZXIAHK0BAGSRAQAAAAAAhJIBAFoEAABbBAAAHQIAAB4CAAAfAgAAIAIAAFwEAAAiAgAAIwIAAF0EAABeBAAAJgIAAF8EAABgBAAAYQQAAGIEAABjBAAAZAQAAGUEAABmBAAAZwQAAGgEAABpBAAAagQAAGsEAABsBAAAbQQAAG4EAABvBAAAcAQAAHEEAAByBAAAcwQAAHQEAAB1BAAAdgQAAHcEAAB4BAAAeQQAAHoEAAB7BAAAfAQAAH0EAAB+BAAAfwQAAIAEAACBBAAAMjNidERpc2NyZXRlRHluYW1pY3NXb3JsZAAxNWJ0RHluYW1pY3NXb3JsZABErQEAZpIBAChmAQBErQEATJIBAHiSAQAAAAAAeJIBAIIEAACDBAAAHQIAAB4CAAAfAgAAIAIAAFABAAAiAgAAIwIAACQCAAAlAgAAJgIAACcCAABQAQAAhAQAAIUEAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAUAEAAFABAABQAQAAhgQAAIcEAACIBAAAUAEAAFABAACJBAAAigQAAIsEAACMBAAAAAAAAIyTAQCNBAAAjgQAAI8EAAAyN0lucGxhY2VTb2x2ZXJJc2xhbmRDYWxsYmFjawBOMjVidFNpbXVsYXRpb25Jc2xhbmRNYW5hZ2VyMTRJc2xhbmRDYWxsYmFja0UAHK0BAFaTAQBErQEAOJMBAISTAQAAAAAAhJMBAJAEAACRBAAAUAEAAAAAAADskwEAkgQAAJMEAACUBAAAlQQAADM0YnRDbG9zZXN0Tm90TWVDb252ZXhSZXN1bHRDYWxsYmFjawAAAABErQEAxJMBAACvAQAAAAAA3JQBAJYEAACXBAAAHQIAAB4CAAAfAgAAIAIAAFwEAAAiAgAAIwIAAF0EAABeBAAAJgIAAF8EAABgBAAAYQQAAGIEAABjBAAAZAQAAGUEAABmBAAAZwQAAGgEAABpBAAAagQAAGsEAABsBAAAbQQAAG4EAABvBAAAcAQAAHEEAAByBAAAcwQAAHQEAAB1BAAAdgQAAHcEAAB4BAAAeQQAAHoEAAB7BAAAmAQAAH0EAAB+BAAAmQQAAIAEAACBBAAATjJjYzIzY2NEaXNjcmV0ZUR5bmFtaWNzV29ybGRFAABErQEAvJQBAISSAQAAAAAAQJUBAJoEAACbBAAAnAQAAE4yY2MyM2NjT3ZlcmxhcEZpbHRlckNhbGxiYWNrRQAyM2J0T3ZlcmxhcEZpbHRlckNhbGxiYWNrAAAAABytAQAblQEARK0BAPyUAQA4lQEAAAAAADiVAQCdBAAAngQAAFABAAAAAAAAlJUBAJ8EAACgBAAAoQQAAKIEAACjBAAAMTlidEdob3N0UGFpckNhbGxiYWNrAAAARK0BAHyVAQBQYgEAAAAAAOSVAQCkBAAApQQAAKYEAACnBAAATjJjYzM0Y2NOb3RNZUNsb3Nlc3RDb252ZXhSZXN1bHRDYWxsYmFja0UAAABErQEAuJUBAACvAQAAAAAAWJYBAKgEAACqBAAAFgIAABcCAAAYAgAAGQIAABoCAACrBAAArAQAAAAAAACAlgEAqQQAAK0EAAAWAgAAFwIAABgCAAAZAgAAGgIAAK4EAACvBAAAMTNidEdob3N0T2JqZWN0AEStAQBIlgEA0GUBADI0YnRQYWlyQ2FjaGluZ0dob3N0T2JqZWN0AABErQEAZJYBAFiWAQAAAAAAIJcBALEEAACyBAAAswQAALQEAAC1BAAAUAEAAAAAAABMlwEAtgQAALcEAACzBAAAtAQAALUEAAC4BAAAAAAAAHSXAQC5BAAAugQAALMEAAC0BAAAtQQAALsEAAAyMWJ0Q2hhcmFjdGVyQ29udHJvbGxlcgAxN2J0QWN0aW9uSW50ZXJmYWNlABytAQAElwEARK0BAOyWAQAYlwEAMjhidENhcHN1bGVDaGFyYWN0ZXJDb250cm9sbGVyAABErQEALJcBACCXAQAyNGJ0Qm94Q2hhcmFjdGVyQ29udHJvbGxlcgAARK0BAFiXAQAglwEAAAAAAMiXAQC8BAAAvQQAAF4BAAC+BAAANDNidEtpbmVtYXRpY0Nsb3Nlc3ROb3RNZUNvbnZleFJlc3VsdENhbGxiYWNrAAAARK0BAJiXAQAArwEAAAAAABiXAQC/BAAAwAQAAFABAABQAQAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAABytAQDslwEATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAABytAQA0mAEATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAAAcrQEAfJgBAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEaU5TXzExY2hhcl90cmFpdHNJRGlFRU5TXzlhbGxvY2F0b3JJRGlFRUVFAAAAHK0BAMiYAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAABytAQAUmQEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAAAcrQEAPJkBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQAAHK0BAGSZAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUAABytAQCMmQEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAAAcrQEAtJkBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAAHK0BANyZAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAABytAQAEmgEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAAcrQEALJoBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAHK0BAFSaAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l4RUUAABytAQB8mgEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeUVFAAAcrQEApJoBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAAHK0BAMyaAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAABytAQD0mgEA2w9JP9sPSb/kyxZA5MsWwAAAAAAAAACA2w9JQNsPScAAAAAAOGPtPtoPST9emHs/2g/JP2k3rDFoISIztA8UM2ghojMDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAGcRHAM1nwwAJ6NwAWYMqAIt2xACmHJYARK/dABlX0QClPgUABQf/ADN+PwDCMugAmE/eALt9MgAmPcMAHmvvAJ/4XgA1HzoAf/LKAPGHHQB8kCEAaiR8ANVu+gAwLXcAFTtDALUUxgDDGZ0ArcTCACxNQQAMAF0Ahn1GAONxLQCbxpoAM2IAALTSfAC0p5cAN1XVANc+9gCjEBgATXb8AGSdKgBw16sAY3z4AHqwVwAXFecAwElWADvW2QCnhDgAJCPLANaKdwBaVCMAAB+5APEKGwAZzt8AnzH/AGYeagCZV2EArPtHAH5/2AAiZbcAMuiJAOa/YADvxM0AbDYJAF0/1AAW3tcAWDveAN6bkgDSIigAKIboAOJYTQDGyjIACOMWAOB9ywAXwFAA8x2nABjgWwAuEzQAgxJiAINIAQD1jlsArbB/AB7p8gBISkMAEGfTAKrd2ACuX0IAamHOAAoopADTmbQABqbyAFx3fwCjwoMAYTyIAIpzeACvjFoAb9e9AC2mYwD0v8sAjYHvACbBZwBVykUAytk2ACio0gDCYY0AEsl3AAQmFAASRpsAxFnEAMjFRABNspEAABfzANRDrQApSeUA/dUQAAC+/AAelMwAcM7uABM+9QDs8YAAs+fDAMf4KACTBZQAwXE+AC4JswALRfMAiBKcAKsgewAutZ8AR5LCAHsyLwAMVW0AcqeQAGvnHwAxy5YAeRZKAEF54gD034kA6JSXAOLmhACZMZcAiO1rAF9fNgC7/Q4ASJq0AGekbABxckIAjV0yAJ8VuAC85QkAjTElAPd0OQAwBRwADQwBAEsIaAAs7lgAR6qQAHTnAgC91iQA932mAG5IcgCfFu8AjpSmALSR9gDRU1EAzwryACCYMwD1S34AsmNoAN0+XwBAXQMAhYl/AFVSKQA3ZMAAbdgQADJIMgBbTHUATnHUAEVUbgALCcEAKvVpABRm1QAnB50AXQRQALQ72wDqdsUAh/kXAElrfQAdJ7oAlmkpAMbMrACtFFQAkOJqAIjZiQAsclAABKS+AHcHlADzMHAAAPwnAOpxqABmwkkAZOA9AJfdgwCjP5cAQ5T9AA2GjAAxQd4AkjmdAN1wjAAXt+cACN87ABU3KwBcgKAAWoCTABARkgAP6NgAbICvANv/SwA4kA8AWRh2AGKlFQBhy7sAx4m5ABBAvQDS8gQASXUnAOu29gDbIrsAChSqAIkmLwBkg3YACTszAA6UGgBROqoAHaPCAK/trgBcJhIAbcJNAC16nADAVpcAAz+DAAnw9gArQIwAbTGZADm0BwAMIBUA2MNbAPWSxADGrUsATsqlAKc3zQDmqTYAq5KUAN1CaAAZY94AdozvAGiLUgD82zcArqGrAN8VMQAArqEADPvaAGRNZgDtBbcAKWUwAFdWvwBH/zoAavm5AHW+8wAok98Aq4AwAGaM9gAEyxUA+iIGANnkHQA9s6QAVxuPADbNCQBOQukAE76kADMjtQDwqhoAT2WoANLBpQALPw8AW3jNACP5dgB7iwQAiRdyAMamUwBvbuIA7+sAAJtKWADE2rcAqma6AHbPzwDRAh0AsfEtAIyZwQDDrXcAhkjaAPddoADGgPQArPAvAN3smgA/XLwA0N5tAJDHHwAq27YAoyU6AACvmgCtU5MAtlcEACkttABLgH4A2genAHaqDgB7WaEAFhIqANy3LQD65f0Aidv+AIm+/QDkdmwABqn8AD6AcACFbhUA/Yf/ACg+BwBhZzMAKhiGAE296gCz568Aj21uAJVnOQAxv1sAhNdIADDfFgDHLUMAJWE1AMlwzgAwy7gAv2z9AKQAogAFbOQAWt2gACFvRwBiEtIAuVyEAHBhSQBrVuAAmVIBAFBVNwAe1bcAM/HEABNuXwBdMOQAhS6pAB2ywwChMjYACLekAOqx1AAW9yEAj2nkACf/dwAMA4AAjUAtAE/NoAAgpZkAs6LTAC9dCgC0+UIAEdrLAH2+0ACb28EAqxe9AMqigQAIalwALlUXACcAVQB/FPAA4QeGABQLZACWQY0Ah77eANr9KgBrJbYAe4k0AAXz/gC5v54AaGpPAEoqqABPxFoALfi8ANdamAD0x5UADU2NACA6pgCkV18AFD+xAIA4lQDMIAEAcd2GAMnetgC/YPUATWURAAEHawCMsKwAssDQAFFVSAAe+w4AlXLDAKMGOwDAQDUABtx7AOBFzABOKfoA1srIAOjzQQB8ZN4Am2TYANm+MQCkl8MAd1jUAGnjxQDw2hMAujo8AEYYRgBVdV8A0r31AG6SxgCsLl0ADkTtABw+QgBhxIcAKf3pAOfW8wAifMoAb5E1AAjgxQD/140AbmriALD9xgCTCMEAfF10AGutsgDNbp0APnJ7AMYRagD3z6kAKXPfALXJugC3AFEA4rINAHS6JADlfWAAdNiKAA0VLACBGAwAfmaUAAEpFgCfenYA/f2+AFZF7wDZfjYA7NkTAIu6uQDEl/wAMagnAPFuwwCUxTYA2KhWALSotQDPzA4AEoktAG9XNAAsVokAmc7jANYguQBrXqoAPiqcABFfzAD9C0oA4fT7AI47bQDihiwA6dSEAPy0qQDv7tEALjXJAC85YQA4IUQAG9nIAIH8CgD7SmoALxzYAFO0hABOmYwAVCLMACpV3ADAxtYACxmWABpwuABplWQAJlpgAD9S7gB/EQ8A9LURAPzL9QA0vC0ANLzuAOhdzADdXmAAZ46bAJIz7wDJF7gAYVibAOFXvABRg8YA2D4QAN1xSAAtHN0ArxihACEsRgBZ89cA2XqYAJ5UwABPhvoAVgb8AOV5rgCJIjYAOK0iAGeT3ABV6KoAgiY4AMrnmwBRDaQAmTOxAKnXDgBpBUgAZbLwAH+IpwCITJcA+dE2ACGSswB7gkoAmM8hAECf3ADcR1UA4XQ6AGfrQgD+nd8AXtRfAHtnpAC6rHoAVfaiACuIIwBBulUAWW4IACEqhgA5R4MAiePmAOWe1ABJ+0AA/1bpABwPygDFWYoAlPorANPBxQAPxc8A21quAEfFhgCFQ2IAIYY7ACx5lAAQYYcAKkx7AIAsGgBDvxIAiCaQAHg8iQCoxOQA5dt7AMQ6wgAm9OoA92eKAA2SvwBloysAPZOxAL18CwCkUdwAJ91jAGnh3QCalBkAqCmVAGjOKAAJ7bQARJ8gAE6YygBwgmMAfnwjAA+5MgCn9Y4AFFbnACHxCAC1nSoAb35NAKUZUQC1+asAgt/WAJbdYQAWNgIAxDqfAIOioQBy7W0AOY16AIK4qQBrMlwARidbAAA07QDSAHcA/PRVAAFZTQDgcYAAAAAAAAAAAAAAAABA+yH5PwAAAAAtRHQ+AAAAgJhG+DwAAABgUcx4OwAAAICDG/A5AAAAQCAlejgAAACAIoLjNgAAAAAd82k1AAAAAAAA8D90hRXTsNnvPw+J+WxYte8/UVsS0AGT7z97UX08uHLvP6q5aDGHVO8/OGJ1bno47z/h3h/1nR7vPxW3MQr+Bu8/y6k6N6fx7j8iNBJMpt7uPy2JYWAIzu4/Jyo21dq/7j+CT51WK7TuPylUSN0Hq+4/hVU6sH6k7j/NO39mnqDuP3Rf7Oh1n+4/hwHrcxSh7j8TzkyZiaXuP9ugKkLlrO4/5cXNsDe37j+Q8KOCkcTuP10lPrID1e4/rdNamZ/o7j9HXvvydv/uP5xShd2bGe8/aZDv3CA37z+HpPvcGFjvP1+bezOXfO8/2pCkoq+k7z9ARW5bdtDvPwAAAAAAAOhClCORS/hqrD/zxPpQzr/OP9ZSDP9CLuY/AAAAAAAAOEP+gitlRxVHQJQjkUv4arw+88T6UM6/Lj/WUgz/Qi6WP77z+HnsYfY/GTCWW8b+3r89iK9K7XH1P6T81DJoC9u/sBDw8DmV9D97tx8Ki0HXv4UDuLCVyfM/e89tGumd07+lZIgMGQ3zPzG28vObHdC/oI4LeyJe8j/wejsbHXzJvz80GkpKu/E/nzyvk+P5wr+65YrwWCPxP1yNeL/LYLm/pwCZQT+V8D/OX0e2nW+qvwAAAAAAAPA/AAAAAAAAAACsR5r9jGDuPz31JJ/KOLM/oGoCH7Ok7D+6kThUqXbEP+b8alc2IOs/0uTESguEzj8tqqFj0cLpPxxlxvBFBtQ/7UF4A+aG6D/4nxssnI7YP2JIU/XcZ+c/zHuxTqTg3D8LbknJFnbSP3rGdaBpGde/3bqnbArH3j/I9r5IRxXnvyu4KmVHFfc/GQAKABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZABEKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRkAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAABMAAAAAEwAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAABA8AAAAACRAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAEQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAaGhoAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAXAAAAABcAAAAACRQAAAAAABQAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAAAAAAAAAAAAFQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGcLkBAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAEStAQDUqgEAIK4BAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAEStAQAEqwEA+KoBAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAEStAQA0qwEA+KoBAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAEStAQBkqwEAWKsBAE4xMF9fY3h4YWJpdjEyMF9fZnVuY3Rpb25fdHlwZV9pbmZvRQAAAABErQEAlKsBAPiqAQBOMTBfX2N4eGFiaXYxMjlfX3BvaW50ZXJfdG9fbWVtYmVyX3R5cGVfaW5mb0UAAABErQEAyKsBAFirAQAAAAAASKwBAMkEAADKBAAAywQAAMwEAADNBAAATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAEStAQAgrAEA+KoBAHYAAAAMrAEAVKwBAERuAAAMrAEAYKwBAGIAAAAMrAEAbKwBAGMAAAAMrAEAeKwBAGgAAAAMrAEAhKwBAGEAAAAMrAEAkKwBAHMAAAAMrAEAnKwBAHQAAAAMrAEAqKwBAGkAAAAMrAEAtKwBAGoAAAAMrAEAwKwBAGwAAAAMrAEAzKwBAG0AAAAMrAEA2KwBAHgAAAAMrAEA5KwBAHkAAAAMrAEA8KwBAGYAAAAMrAEA/KwBAGQAAAAMrAEACK0BAAAAAAAoqwEAyQQAAM4EAADLBAAAzAQAAM8EAADQBAAA0QQAANIEAAAAAAAAjK0BAMkEAADTBAAAywQAAMwEAADPBAAA1AQAANUEAADWBAAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAEStAQBkrQEAKKsBAAAAAADorQEAyQQAANcEAADLBAAAzAQAAM8EAADYBAAA2QQAANoEAABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAAAARK0BAMCtAQAoqwEAAAAAAIirAQDJBAAA2wQAAMsEAADMBAAA3AQAAFN0OXR5cGVfaW5mbwAAAAAcrQEAEK4BAA=="); base64DecodeToExistingUint8Array(bufferView, 110128, "AAAAAFyuAQBGAQAARwEAAEgBAABJAQAAHK0BAJ9aAQBErQEAcFoBAEiuAQBErQEATloBAFCuAQAAAAAAUK4BAEoBAABLAQAATAEAAE0BAAAAAAAASK4BAE4BAABPAQAATAEAAFABAAAAAAAAvK4BAFEBAABSAQAAUwEAAFQBAABErQEA6VoBAEiuAQBErQEAx1oBALCuAQAAAAAAsK4BAFUBAABWAQAATAEAAFcBAAAAAAAADK8BAFgBAABZAQAAWgEAAFsBAAAcrQEAb1sBAEStAQA9WwEA+K4BAEStAQAYWwEAAK8BAAAAAAAArwEAXAEAAF0BAABeAQAAXwEAAAAAAAD4rgEAYAEAAGEBAABeAQAAUAEAAAAAAABsrwEAYgEAAGMBAABkAQAAZQEAAEStAQC/WwEA+K4BAEStAQCaWwEAYK8BAAAAAABgrwEAZgEAAGcBAABeAQAAaAEAAAAAAADgrwEAaQEAAGoBAABrAQAAbAEAAG0BAABuAQAAbwEAAHABAABxAQAAcgEAAHMBAAB0AQAAdQEAAHYBAAB3AQAAeAEAAHkBAAB6AQAARK0BAPFbAQCofgEAHK0BAAhcAQAAAAAA7K8BAHsBAAB8AQAAUAEAAFABAAAcrQEAJlwBAEStAQAYXAEADLABAPytAQA1XAEAAAAAABSwAQD8rQEARFwBAAEAAAAUsAEAWKwBAEiwAQD8rQEAXFwBAAAAAAAMsAEAAAAAAAAAAABYrAEAILABALisAQC4rAEAuKwBABytAQCyXAEAoK0BAIxcAQAAAAAAAgAAABSwAQACAAAAdLABAAKIAABErQEAd1wBAHywAQD8rQEA11wBAAAAAACcsAEA/K0BAO1cAQABAAAAnLABAFisAQCcsAEAqLABANiwAQAcrQEABF0BAAAAAACcsAEAfQEAAH4BAAB/AQAAgAEAAIEBAACCAQAAgwEAAIQBAACFAQAAhgEAAIcBAACIAQAAiQEAAIoBAACLAQAAjAEAAI0BAACOAQAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAAAAAAB8sAEAmQEAAJoBAAB/AQAAgAEAAIEBAACCAQAAgwEAAIQBAACFAQAAhgEAAIcBAACIAQAAiQEAAIoBAACLAQAAjAEAAI0BAACOAQAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJsBAACcAQAAUAEAAAAAAAAUsAEAnQEAAJ4BAAB/AQAAgAEAAIEBAACCAQAAgwEAAIQBAACFAQAAhgEAAIcBAACIAQAAiQEAAIoBAACLAQAAjAEAAI0BAACOAQAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJsBAACcAQAAUAEAAAAAAAAMsAEAnwEAAKABAAChAQAAogEAAFABAACCAQAAgwEAAIQBAACFAQAAhgEAAFABAABQAQAAUAEAAFABAABQAQAAjAEAAI0BAACOAQAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJsBAACcAQAAWKwBAFisAQC4rAEAuKwBALisAQDYsAEA3LIBANiwAQAcrQEAG10BABytAQB3XQEARK0BAF9dAQDksgEA/K0BAJNdAQAAAAAA7LIBAPytAQCsXQEAAQAAAOyyAQAAAAAAAAAAAFisAQD4sgEAuKwBALisAQCgrQEA610BAAAAAAACAAAA7LIBAAIAAAB0sAEAAgQAAEStAQDMXQEAMLMBAPytAQAbXgEAAAAAAFCzAQD8rQEAO14BAAEAAABQswEAWKwBAFCzAQBcswEA2LABAAAAAABQswEAowEAAKQBAAClAQAApgEAAKcBAAAAAAAAMLMBAKMBAACkAQAAqAEAAKkBAABQAQAAAAAAAOyyAQCjAQAApAEAAKoBAACrAQAAUAEAAAAAAADksgEAUAEAAFABAACsAQAArQEAAFisAQC4rAEAuKwBAEStAQBcXgEA7K8BAPytAQBxXgEAAAAAAAS0AQD8rQEAh14BAAEAAAAEtAEAWKwBABC0AQC4rAEAoK0BALpeAQAAAAAAAgAAAAS0AQACAAAAdLABAAJIAABErQEAo14BADy0AQD8rQEA514BAAAAAABctAEA/K0BAP9eAQABAAAAXLQBAFisAQBctAEAaLQBANiwAQAAAAAAXLQBAK4BAACvAQAAsAEAALEBAACyAQAAAAAAADy0AQCzAQAAtAEAALABAACxAQAAUAEAAAAAAAAEtAEAtQEAALYBAACwAQAAsQEAAFABAABYrAEAuKwBALisAQC4rAEAWKwBALisAQAArQEAuKwBAFisAQC4rAEAAK0BAFisAQC4rAEAuKwBAAAAAAAAAAAAAAAAALisAQAArQEAAK0BAACtAQBYrAEAuKwBAACtAQAArQEAAK0BAAAAAAAAAAAAAAAAALisAQAArQEAAK0BAACtAQAArQEAAAAAAAAAAAAAAAAAWKwBALisAQAArQEAAK0BAACtAQAArQEAuKwBALisAQC4rAEAuKwBAAAAAAAAAAAAWKwBALisAQC4rAEAuKwBALisAQC4rAEAuKwBALisAQC4rAEAAAAAAAAAAAAAAAAAWKwBALisAQAArQEAAK0BAACtAQAArQEAAK0BAFisAQC4rAEAcKwBAAAAAAAAAAAAWKwBALisAQAArQEAAK0BALisAQC4rAEAuKwBALisAQC4rAEAuKwBAAAAAAAAAAAAWKwBALisAQC4rAEAAK0BAACtAQAAAAAAAAAAAAAAAABYrAEAuKwBALisAQBwrAEAWKwBALisAQC4rAEAAK0BAHCsAQC4rAEAAAAAAAAAAABYrAEAuKwBAACtAQC4rAEAWKwBALisAQC4rAEAuKwBALisAQC4rAEAAK0BAAAAAABYrAEAuKwBAACtAQAArQEAuKwBALisAQAArQEAAK0BALisAQC4rAEAAK0BAAAAAAC4rAEAuKwBALisAQC4rAEAAK0BAACtAQAArQEAAAAAAFisAQC4rAEAuKwBALisAQC4rAEAcKwBAAAAAAAAAAAAuKwBALisAQBwrAEAcKwBAFisAQC4rAEAuKwBAACtAQAArQEAAK0BAAAAAAAAAAAAuKwBALisAQAArQEAAK0BAACtAQAAAAAAAAAAAAAAAABYrAEAuKwBALisAQC4rAEAcKwBALisAQAArQEAuKwBAFisAQC4rAEAuKwBAMSsAQDErAEAAAAAAAAAAAAAAAAAWKwBALisAQC4rAEAuKwBALisAQC4rAEAAK0BAAAAAAC4rAEAuKwBALisAQC4rAEAWKwBALisAQAArQEAuKwBAACtAQAAAAAAAAAAAAAAAABYrAEAuKwBALisAQC4rAEAxKwBAHCsAQAAAAAAAAAAALisAQC4rAEAuKwBAACtAQAArQEAAAAAAAAAAAAAAAAAuKwBAACtAQAArQEAAK0BALisAQC4rAEAuKwBAACtAQAArQEAAAAAAAAAAAAAAAAAuKwBAACtAQAArQEAAK0BALisAQC4rAEAuKwBAACtAQAArQEAAK0BALcBAAC4AQAAuQEAALoBAADdAQAA3gEAAAEAAABvEoM6CtejPAEBAAAAAABAIAAAAAUAAAAAAAAAAAAAAMIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMMEAADEBAAAKMYBAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAD/////CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANi4AQDwzAEABQAAAAAAAAAAAAAAxwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwwQAAMgEAADkzAEAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcLkBAA=="); base64DecodeToExistingUint8Array(bufferView, 113168, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); } var scratchBuffer = new ArrayBuffer(16); var i32ScratchView = new Int32Array(scratchBuffer); var f32ScratchView = new Float32Array(scratchBuffer); var f64ScratchView = new Float64Array(scratchBuffer); function wasm2js_scratch_load_i32(index) { return i32ScratchView[index]; } function wasm2js_scratch_store_i32(index, value) { i32ScratchView[index] = value; } function wasm2js_scratch_load_f64() { return f64ScratchView[0]; } function wasm2js_scratch_store_f64(value) { f64ScratchView[0] = value; } function wasm2js_trap() { throw new Error('abort'); } function wasm2js_scratch_store_f32(value) { f32ScratchView[2] = value; } function wasm2js_scratch_load_f32() { return f32ScratchView[2]; } function asmFunc(imports) { var env = imports.env; var memory = env.memory; var buffer = memory.buffer; memory.grow = __wasm_memory_grow; var HEAP8 = new Int8Array(buffer); var HEAP16 = new Int16Array(buffer); var HEAP32 = new Int32Array(buffer); var HEAPU8 = new Uint8Array(buffer); var HEAPU16 = new Uint16Array(buffer); var HEAPU32 = new Uint32Array(buffer); var HEAPF32 = new Float32Array(buffer); var HEAPF64 = new Float64Array(buffer); var Math_imul = Math.imul; var Math_fround = Math.fround; var Math_abs = Math.abs; var Math_clz32 = Math.clz32; var Math_min = Math.min; var Math_max = Math.max; var Math_floor = Math.floor; var Math_ceil = Math.ceil; var Math_trunc = Math.trunc; var Math_sqrt = Math.sqrt; var __assert_fail = env.__assert_fail; var _embind_register_class = env._embind_register_class; var _embind_register_class_class_function = env._embind_register_class_class_function; var _embind_register_function = env._embind_register_function; var _embind_register_class_function = env._embind_register_class_function; var _embind_create_inheriting_constructor = env._embind_create_inheriting_constructor; var _emval_decref = env._emval_decref; var _emval_call_void_method = env._emval_call_void_method; var _emval_get_method_caller = env._emval_get_method_caller; var _emval_incref = env._emval_incref; var _embind_register_void = env._embind_register_void; var _embind_register_bool = env._embind_register_bool; var _embind_register_integer = env._embind_register_integer; var _embind_register_float = env._embind_register_float; var _embind_register_std_string = env._embind_register_std_string; var _embind_register_std_wstring = env._embind_register_std_wstring; var _embind_register_emval = env._embind_register_emval; var _embind_register_memory_view = env._embind_register_memory_view; var emscripten_memcpy_big = env.emscripten_memcpy_big; var wasi_snapshot_preview1 = imports.wasi_snapshot_preview1; var __wasi_fd_write = wasi_snapshot_preview1.fd_write; var emscripten_resize_heap = env.emscripten_resize_heap; var abort = env.abort; var __wasi_fd_close = wasi_snapshot_preview1.fd_close; var legalimport$_embind_register_bigint = env._embind_register_bigint; var legalimport$__wasi_fd_seek = wasi_snapshot_preview1.fd_seek; var __stack_pointer = 65536; var __stack_end = 0; var __stack_base = 0; var tempRet0 = 0; var GOT_data_internal___memory_base = 0; var GOT_data_internal___table_base = 1; var GOT_data_internal_vtable_20for_20cc__ccClosestRayResultCallback = 110128; var GOT_data_internal_vtable_20for_20btCollisionWorld__ClosestRayResultCallback = 110184; var GOT_data_internal_vtable_20for_20cc__ccAllHitsRayResultCallback = 110232; var GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsRayResultCallback = 110280; var GOT_data_internal_vtable_20for_20cc__ccClosestConvexResultCallback = 110304; var GOT_data_internal_vtable_20for_20btCollisionWorld__ClosestConvexResultCallback = 110360; var GOT_data_internal_vtable_20for_20cc__ccAllHitsConvexResultCallback = 110408; var GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsConvexResultCallback = 110456; var GOT_data_internal_vtable_20for_20btSphereShape = 99980; var GOT_data_internal_vtable_20for_20cc__ccCompoundShape = 110480; var GOT_data_internal_gDisableDeactivation = 116124; var GOT_data_internal_vtable_20for_20btMotionState = 110580; var GOT_data_internal_gDeactivationTime = 112848; var GOT_func_internal_void_20const__20emscripten__internal__getActualType_btDebugDraw__28btDebugDraw__29 = 9; var GOT_func_internal_void_20emscripten__internal__raw_destructor_btDebugDraw__28btDebugDraw__29 = 10; var GOT_func_internal_void_20const__20emscripten__internal__getActualType_btDebugDrawWrapper__28btDebugDrawWrapper__29 = 11; var GOT_func_internal_void_20emscripten__internal__raw_destructor_btDebugDrawWrapper__28btDebugDrawWrapper__29 = 12; var GOT_func_internal_btDebugDrawWrapper__20emscripten__internal__wrapped_new_btDebugDrawWrapper__2c_20btDebugDrawWrapper_2c_20emscripten__val__28emscripten__val___29 = 13; var GOT_func_internal_emscripten__internal__Invoker_btDebugDrawWrapper__2c_20emscripten__val_____invoke_28btDebugDrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29 = 14; var GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_btDebugDrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29 = 15; var GOT_func_internal_emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29 = 16; var GOT_func_internal_void_20const__20emscripten__internal__getActualType_btControllerHitReport__28btControllerHitReport__29 = 17; var GOT_func_internal_void_20emscripten__internal__raw_destructor_btControllerHitReport__28btControllerHitReport__29 = 18; var GOT_func_internal_void_20const__20emscripten__internal__getActualType_btControllerHitReportWrapper__28btControllerHitReportWrapper__29 = 19; var GOT_func_internal_void_20emscripten__internal__raw_destructor_btControllerHitReportWrapper__28btControllerHitReportWrapper__29 = 20; var GOT_func_internal_btControllerHitReportWrapper__20emscripten__internal__wrapped_new_btControllerHitReportWrapper__2c_20btControllerHitReportWrapper_2c_20emscripten__val__28emscripten__val___29 = 21; var GOT_func_internal_emscripten__internal__Invoker_btControllerHitReportWrapper__2c_20emscripten__val_____invoke_28btControllerHitReportWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29 = 22; var GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_btControllerHitReportWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29 = 23; var GOT_func_internal_void_20const__20emscripten__internal__getActualType_cc__ccMotionState__28cc__ccMotionState__29 = 24; var GOT_func_internal_void_20emscripten__internal__raw_destructor_cc__ccMotionState__28cc__ccMotionState__29 = 25; var GOT_func_internal_void_20const__20emscripten__internal__getActualType_ccMotionStateWrapper__28ccMotionStateWrapper__29 = 26; var GOT_func_internal_void_20emscripten__internal__raw_destructor_ccMotionStateWrapper__28ccMotionStateWrapper__29 = 27; var GOT_func_internal_ccMotionStateWrapper__20emscripten__internal__wrapped_new_ccMotionStateWrapper__2c_20ccMotionStateWrapper_2c_20emscripten__val__28emscripten__val___29 = 28; var GOT_func_internal_emscripten__internal__Invoker_ccMotionStateWrapper__2c_20emscripten__val_____invoke_28ccMotionStateWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29 = 29; var GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_ccMotionStateWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29 = 30; var GOT_func_internal__malloc_28int_29 = 31; var GOT_func_internal__free_28int_29 = 32; var GOT_func_internal__read_f32_28int_29 = 33; var GOT_func_internal__write_f32_28int_2c_20float_29 = 34; var GOT_func_internal__safe_delete_28int_2c_20int_29 = 35; var GOT_func_internal_Vec3_new_28float_2c_20float_2c_20float_29 = 36; var GOT_func_internal_Vec3_x_28int_29 = 37; var GOT_func_internal_Vec3_y_28int_29 = 38; var GOT_func_internal_Vec3_z_28int_29 = 39; var GOT_func_internal_Vec3_set_28int_2c_20float_2c_20float_2c_20float_29 = 40; var GOT_func_internal_Quat_new_28float_2c_20float_2c_20float_2c_20float_29 = 41; var GOT_func_internal_Quat_x_28int_29 = 42; var GOT_func_internal_Quat_y_28int_29 = 43; var GOT_func_internal_Quat_z_28int_29 = 44; var GOT_func_internal_Quat_w_28int_29 = 45; var GOT_func_internal_Quat_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 = 46; var GOT_func_internal_Transform_new_28_29 = 47; var GOT_func_internal_Transform_setIdentity_28int_29 = 48; var GOT_func_internal_Transform_setRotation_28int_2c_20int_29 = 49; var GOT_func_internal_Transform_getOrigin_28int_29 = 50; var GOT_func_internal_Transform_getRotation_28int_2c_20int_29 = 51; var GOT_func_internal_Transform_getRotationAndOrigin_28int_2c_20int_29 = 52; var GOT_func_internal_MotionState_getWorldTransform = 53; var GOT_func_internal_MotionState_setWorldTransform = 54; var GOT_func_internal_ccMotionState_setup = 55; var GOT_func_internal_int_array_size_28int_29 = 56; var GOT_func_internal_int_array_at_28int_2c_20int_29 = 57; var GOT_func_internal_Vec3_array_at_28int_2c_20int_29 = 58; var GOT_func_internal_TypedConstraint_getFixedBody_28_29 = 59; var GOT_func_internal_TypedConstraint_getDbgDrawSize_28int_29 = 60; var GOT_func_internal_TypedConstraint_setDbgDrawSize_28int_2c_20float_29 = 61; var GOT_func_internal_TypedConstraint_setMaxImpulseThreshold_28int_2c_20float_29 = 62; var GOT_func_internal_HingeConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 = 63; var GOT_func_internal_HingeConstraint_setFrames_28int_2c_20int_2c_20int_29 = 64; var GOT_func_internal_HingeConstraint_setLimit_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29 = 65; var GOT_func_internal_HingeConstraint_enableMotor_28int_2c_20bool_29 = 66; var GOT_func_internal_HingeConstraint_setAngularOnly_28int_2c_20bool_29 = 67; var GOT_func_internal_HingeConstraint_setMaxMotorImpulse_28int_2c_20float_29 = 68; var GOT_func_internal_HingeConstraint_setMotorTarget_28int_2c_20float_2c_20float_29 = 69; var GOT_func_internal_HingeConstraint_setMotorVelocity_28int_2c_20float_29 = 70; var GOT_func_internal_P2PConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 = 71; var GOT_func_internal_P2PConstraint_setPivotA_28int_2c_20int_29 = 72; var GOT_func_internal_P2PConstraint_setPivotB_28int_2c_20int_29 = 73; var GOT_func_internal_FixedConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 = 74; var GOT_func_internal_FixedConstraint_setFrames_28int_2c_20int_2c_20int_29 = 75; var GOT_func_internal_Generic6DofSpring2Constraint_new_28int_2c_20int_2c_20int_2c_20int_2c_20int_29 = 76; var GOT_func_internal_Generic6DofSpring2Constraint_setFrames_28int_2c_20int_2c_20int_29 = 77; var GOT_func_internal_Generic6DofSpring2Constraint_setLimit_28int_2c_20int_2c_20float_2c_20float_29 = 78; var GOT_func_internal_Generic6DofSpring2Constraint_enableSpring_28int_2c_20int_2c_20bool_29 = 79; var GOT_func_internal_Generic6DofSpring2Constraint_setStiffness_28int_2c_20int_2c_20float_29 = 80; var GOT_func_internal_Generic6DofSpring2Constraint_setDamping_28int_2c_20int_2c_20float_29 = 81; var GOT_func_internal_Generic6DofSpring2Constraint_setBounce_28int_2c_20int_2c_20float_29 = 82; var GOT_func_internal_Generic6DofSpring2Constraint_setEquilibriumPoint_28int_2c_20int_2c_20float_29 = 83; var GOT_func_internal_Generic6DofSpring2Constraint_enableMotor_28int_2c_20int_2c_20bool_29 = 84; var GOT_func_internal_Generic6DofSpring2Constraint_setMaxMotorForce_28int_2c_20int_2c_20float_29 = 85; var GOT_func_internal_Generic6DofSpring2Constraint_setTargetVelocity_28int_2c_20int_2c_20float_29 = 86; var GOT_func_internal_Generic6DofSpring2Constraint_setServo_28int_2c_20int_2c_20bool_29 = 87; var GOT_func_internal_Generic6DofSpring2Constraint_setServoTarget_28int_2c_20int_2c_20float_29 = 88; var GOT_func_internal_CollisionShape_isCompound_28int_29 = 89; var GOT_func_internal_CollisionShape_setLocalScaling_28int_2c_20int_29 = 90; var GOT_func_internal_CollisionShape_calculateLocalInertia_28int_2c_20float_2c_20int_29 = 91; var GOT_func_internal_CollisionShape_getAabb_28int_2c_20int_2c_20int_2c_20int_29 = 92; var GOT_func_internal_CollisionShape_setMargin_28int_2c_20float_29 = 93; var GOT_func_internal_CollisionShape_setMaterial_28int_2c_20int_29 = 94; var GOT_func_internal_CollisionShape_setUserPointer_28int_2c_20int_29 = 95; var GOT_func_internal_EmptyShape_static_28_29 = 96; var GOT_func_internal_ConvexInternalShape_getImplicitShapeDimensions_28int_29 = 97; var GOT_func_internal_BoxShape_new_28int_29 = 98; var GOT_func_internal_BoxShape_setUnscaledHalfExtents_28int_2c_20int_29 = 99; var GOT_func_internal_SphereShape_new_28float_29 = 100; var GOT_func_internal_SphereShape_setUnscaledRadius_28int_2c_20float_29 = 101; var GOT_func_internal_CylinderShape_new_28int_29 = 102; var GOT_func_internal_CylinderShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29 = 103; var GOT_func_internal_CapsuleShape_new_28float_2c_20float_29 = 104; var GOT_func_internal_CapsuleShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29 = 105; var GOT_func_internal_ConeShape_new_28float_2c_20float_29 = 106; var GOT_func_internal_ConeShape_setRadius_28int_2c_20float_29 = 107; var GOT_func_internal_ConeShape_setHeight_28int_2c_20float_29 = 108; var GOT_func_internal_ConeShape_setConeUpIndex_28int_2c_20int_29 = 109; var GOT_func_internal_StaticPlaneShape_new_28int_2c_20float_29 = 110; var GOT_func_internal_StaticPlaneShape_getPlaneNormal_28int_29 = 111; var GOT_func_internal_StaticPlaneShape_setPlaneConstant_28int_2c_20float_29 = 112; var GOT_func_internal_TerrainShape_new_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 113; var GOT_func_internal_TriangleMesh_new_28_29 = 114; var GOT_func_internal_TriangleMesh_addTriangle_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29 = 115; var GOT_func_internal_BvhTriangleMeshShape_new_28int_2c_20bool_2c_20bool_29 = 116; var GOT_func_internal_BvhTriangleMeshShape_getOptimizedBvh_28int_29 = 117; var GOT_func_internal_BvhTriangleMeshShape_setOptimizedBvh_28int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 118; var GOT_func_internal_ScaledBvhTriangleMeshShape_new_28int_2c_20float_2c_20float_2c_20float_29 = 119; var GOT_func_internal_ConvexTriangleMeshShape_new_28int_29 = 120; var GOT_func_internal_SimplexShape_new_28_29 = 121; var GOT_func_internal_SimplexShape_addVertex_28int_2c_20int_29 = 122; var GOT_func_internal_ccCompoundShape_new_28_29 = 123; var GOT_func_internal_CompoundShape_getNumChildShapes_28int_29 = 124; var GOT_func_internal_CompoundShape_addChildShape_28int_2c_20int_2c_20int_29 = 125; var GOT_func_internal_CompoundShape_getChildShape_28int_2c_20int_29 = 126; var GOT_func_internal_CompoundShape_removeChildShape_28int_2c_20int_29 = 127; var GOT_func_internal_CompoundShape_updateChildTransform_28int_2c_20int_2c_20int_2c_20bool_29 = 128; var GOT_func_internal_CollisionObject_new_28_29 = 129; var GOT_func_internal_CollisionObject_getCollisionShape_28int_29 = 130; var GOT_func_internal_CollisionObject_setCollisionShape_28int_2c_20int_29 = 131; var GOT_func_internal_CollisionObject_setContactProcessingThreshold_28int_2c_20int_29 = 132; var GOT_func_internal_CollisionObject_isSleeping_28int_29 = 133; var GOT_func_internal_CollisionObject_getActivationState_28int_29 = 134; var GOT_func_internal_CollisionObject_forceActivationState_28int_2c_20int_29 = 135; var GOT_func_internal_CollisionObject_activate_28int_2c_20bool_29 = 136; var GOT_func_internal_CollisionObject_isActive_28int_29 = 137; var GOT_func_internal_CollisionObject_isKinematicObject_28int_29 = 138; var GOT_func_internal_CollisionObject_isStaticObject_28int_29 = 139; var GOT_func_internal_CollisionObject_isStaticOrKinematicObject_28int_29 = 140; var GOT_func_internal_CollisionObject_getWorldTransform_28int_29 = 141; var GOT_func_internal_CollisionObject_setCollisionFlags_28int_2c_20int_29 = 142; var GOT_func_internal_CollisionObject_getCollisionFlags_28int_29 = 143; var GOT_func_internal_CollisionObject_setCcdMotionThreshold_28int_2c_20float_29 = 144; var GOT_func_internal_CollisionObject_setCcdSweptSphereRadius_28int_2c_20float_29 = 145; var GOT_func_internal_CollisionObject_setUserIndex_28int_2c_20int_29 = 146; var GOT_func_internal_CollisionObject_getUserIndex_28int_29 = 147; var GOT_func_internal_CollisionObject_setMaterial_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 = 148; var GOT_func_internal_CollisionObject_setIgnoreCollisionCheck_28int_2c_20int_2c_20bool_29 = 149; var GOT_func_internal_RigidBody_new_28float_2c_20int_29 = 150; var GOT_func_internal_RigidBody_getFlags_28int_29 = 151; var GOT_func_internal_RigidBody_setFlags_28int_2c_20int_29 = 152; var GOT_func_internal_RigidBody_setGravity_28int_2c_20int_29 = 153; var GOT_func_internal_RigidBody_setDamping_28int_2c_20float_2c_20float_29 = 154; var GOT_func_internal_RigidBody_setMass_28int_2c_20float_29 = 155; var GOT_func_internal_RigidBody_setMassProps_28int_2c_20float_2c_20int_29 = 156; var GOT_func_internal_RigidBody_setLinearFactor_28int_2c_20int_29 = 157; var GOT_func_internal_RigidBody_setAngularFactor_28int_2c_20int_29 = 158; var GOT_func_internal_RigidBody_setLinearVelocity_28int_2c_20int_29 = 159; var GOT_func_internal_RigidBody_getLinearVelocity_28int_29 = 160; var GOT_func_internal_RigidBody_setAngularVelocity_28int_2c_20int_29 = 161; var GOT_func_internal_RigidBody_getAngularVelocity_28int_29 = 162; var GOT_func_internal_RigidBody_clearState_28int_29 = 163; var GOT_func_internal_RigidBody_clearForces_28int_29 = 164; var GOT_func_internal_RigidBody_wantsSleeping_28int_29 = 165; var GOT_func_internal_RigidBody_setSleepingThresholds_28int_2c_20float_2c_20float_29 = 166; var GOT_func_internal_RigidBody_getLinearSleepingThreshold_28int_29 = 167; var GOT_func_internal_RigidBody_getMotionState_28int_29 = 168; var GOT_func_internal_RigidBody_applyTorque_28int_2c_20int_29 = 169; var GOT_func_internal_RigidBody_applyForce_28int_2c_20int_2c_20int_29 = 170; var GOT_func_internal_RigidBody_applyImpulse_28int_2c_20int_2c_20int_29 = 171; var GOT_func_internal_RigidBody_getWorldTransform_28int_2c_20int_29 = 172; var GOT_func_internal_DefaultCollisionConfiguration_static_28_29 = 173; var GOT_func_internal_CollisionDispatcher_new_28_29 = 174; var GOT_func_internal_Dispatcher_getNumManifolds_28int_29 = 175; var GOT_func_internal_Dispatcher_getManifoldByIndexInternal_28int_2c_20int_29 = 176; var GOT_func_internal_ManifoldPoint_getShape0_28int_29 = 177; var GOT_func_internal_ManifoldPoint_getShape1_28int_29 = 178; var GOT_func_internal_ManifoldPoint_get_m_index0_28int_29 = 179; var GOT_func_internal_ManifoldPoint_get_m_index1_28int_29 = 180; var GOT_func_internal_PersistentManifold_getBody0_28int_29 = 181; var GOT_func_internal_PersistentManifold_getBody1_28int_29 = 182; var GOT_func_internal_PersistentManifold_getNumContacts_28int_29 = 183; var GOT_func_internal_PersistentManifold_getContactPoint_28int_2c_20int_29 = 184; var GOT_func_internal_ManifoldPoint_get_m_localPointA_28int_29 = 185; var GOT_func_internal_ManifoldPoint_get_m_localPointB_28int_29 = 186; var GOT_func_internal_ManifoldPoint_get_m_positionWorldOnA_28int_29 = 187; var GOT_func_internal_ManifoldPoint_get_m_positionWorldOnB_28int_29 = 188; var GOT_func_internal_ManifoldPoint_get_m_normalWorldOnB_28int_29 = 189; var GOT_func_internal_DbvtBroadphase_new_28_29 = 190; var GOT_func_internal_SequentialImpulseConstraintSolver_new_28_29 = 191; var GOT_func_internal_CollisionWorld_addCollisionObject_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 = 192; var GOT_func_internal_CollisionWorld_removeCollisionObject_28int_2c_20int_29 = 193; var GOT_func_internal_CollisionWorld_rayTest_28int_2c_20int_2c_20int_2c_20int_29 = 194; var GOT_func_internal_CollisionWorld_convexSweepTest_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29 = 195; var GOT_func_internal_CollisionWorld_setDebugDrawer_28int_2c_20int_29 = 196; var GOT_func_internal_CollisionWorld_debugDrawWorld_28int_29 = 197; var GOT_func_internal_ccDiscreteDynamicsWorld_new_28int_2c_20int_2c_20int_29 = 198; var GOT_func_internal_ccDiscreteDynamicsWorld_setAllowSleep_28int_2c_20bool_29 = 199; var GOT_func_internal_DynamicsWorld_setGravity_28int_2c_20int_29 = 200; var GOT_func_internal_DynamicsWorld_stepSimulation_28int_2c_20float_2c_20int_2c_20float_29 = 201; var GOT_func_internal_DynamicsWorld_addRigidBody_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 = 202; var GOT_func_internal_DynamicsWorld_removeRigidBody_28int_2c_20int_29 = 203; var GOT_func_internal_DynamicsWorld_addConstraint_28int_2c_20int_2c_20bool_29 = 204; var GOT_func_internal_DynamicsWorld_removeConstraint_28int_2c_20int_29 = 205; var GOT_func_internal_DynamicsWorld_addAction_28int_2c_20int_29 = 206; var GOT_func_internal_DynamicsWorld_removeAction_28int_2c_20int_29 = 207; var GOT_func_internal_DebugDraw_setDebugMode_28int_2c_20int_29 = 208; var GOT_func_internal_DebugDraw_getDebugMode_28int_29 = 209; var GOT_func_internal_DebugDraw_setActiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 210; var GOT_func_internal_DebugDraw_setDeactiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 211; var GOT_func_internal_DebugDraw_setWantsDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 212; var GOT_func_internal_DebugDraw_setDisabledDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 213; var GOT_func_internal_DebugDraw_setDisabledSimulationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 214; var GOT_func_internal_DebugDraw_setAABBColor_28int_2c_20float_2c_20float_2c_20float_29 = 215; var GOT_func_internal_DebugDraw_setContactPointColor_28int_2c_20float_2c_20float_2c_20float_29 = 216; var GOT_func_internal_DebugDraw_setConstraintLimitColor_28int_2c_20float_2c_20float_2c_20float_29 = 217; var GOT_func_internal_RayCallback_hasHit_28int_29 = 218; var GOT_func_internal_ConvexCallback_hasHit_28int_29 = 219; var GOT_func_internal_ccAllRayCallback_static_28_29 = 220; var GOT_func_internal_ccAllRayCallback_setFlags_28int_2c_20int_29 = 221; var GOT_func_internal_ccAllRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 222; var GOT_func_internal_ccAllRayCallback_getHitPointWorld_28int_29 = 223; var GOT_func_internal_ccAllRayCallback_getHitNormalWorld_28int_29 = 224; var GOT_func_internal_ccAllRayCallback_getCollisionShapePtrs_28int_29 = 225; var GOT_func_internal_ccClosestRayCallback_static_28_29 = 226; var GOT_func_internal_ccClosestRayCallback_setFlags_28int_2c_20int_29 = 227; var GOT_func_internal_ccClosestRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 228; var GOT_func_internal_ccClosestRayCallback_getHitPointWorld_28int_29 = 229; var GOT_func_internal_ccClosestRayCallback_getHitNormalWorld_28int_29 = 230; var GOT_func_internal_ccClosestRayCallback_getCollisionShapePtr_28int_29 = 231; var GOT_func_internal_ccAllConvexCallback_static_28_29 = 232; var GOT_func_internal_ccAllConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 233; var GOT_func_internal_ccAllConvexCallback_getHitPointWorld_28int_29 = 234; var GOT_func_internal_ccAllConvexCallback_getHitNormalWorld_28int_29 = 235; var GOT_func_internal_ccAllConvexCallback_getCollisionShapePtrs_28int_29 = 236; var GOT_func_internal_ccClosestConvexCallback_static_28_29 = 237; var GOT_func_internal_ccClosestConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 238; var GOT_func_internal_ccClosestConvexCallback_getHitPointWorld_28int_29 = 239; var GOT_func_internal_ccClosestConvexCallback_getHitNormalWorld_28int_29 = 240; var GOT_func_internal_ccClosestConvexCallback_getCollisionShapePtr_28int_29 = 241; var GOT_func_internal_ccMaterial_new_28_29 = 242; var GOT_func_internal_ccMaterial_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 = 243; var GOT_func_internal_CharacterController_getGhostObject = 244; var GOT_func_internal_CharacterController_getCollisionShape = 245; var GOT_func_internal_ControllerHit_getHitWorldPos = 246; var GOT_func_internal_ControllerHit_getHitWorldNormal = 247; var GOT_func_internal_ControllerHit_getHitMotionDir = 248; var GOT_func_internal_ControllerHit_getHitMotionLength = 249; var GOT_func_internal_ControllerShapeHit_getHitShape = 250; var GOT_func_internal_ControllerShapeHit_getHitCollisionObject = 251; var GOT_func_internal_CharacterController_move = 252; var GOT_func_internal_CharacterController_getPosition = 253; var GOT_func_internal_CharacterController_setContactOffset = 254; var GOT_func_internal_CharacterController_setStepOffset = 255; var GOT_func_internal_CharacterController_setSlopeLimit = 256; var GOT_func_internal_CharacterController_setCollision = 257; var GOT_func_internal_CharacterController_setOverlapRecovery = 258; var GOT_func_internal_CapsuleCharacterControllerDesc_new = 259; var GOT_func_internal_CapsuleCharacterController_new = 260; var GOT_func_internal_CapsuleCharacterController_setRadius = 261; var GOT_func_internal_CapsuleCharacterController_setHeight = 262; var GOT_func_internal_BoxCharacterControllerDesc_new = 263; var GOT_func_internal_BoxCharacterController_new = 264; var GOT_func_internal_BoxCharacterController_setHalfHeight = 265; var GOT_func_internal_BoxCharacterController_setHalfSideExtent = 266; var GOT_func_internal_BoxCharacterController_setHalfForwardExtent = 267; var GOT_data_internal_vtable_20for_20btCollisionWorld__RayResultCallback = 110208; var GOT_data_internal_vtable_20for_20btCollisionWorld__ConvexResultCallback = 110384; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29__signature = 89172; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void__28_29__signature = 89175; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29__signature = 89177; var GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btIDebugDraw____29_28_29_2c_20void_2c_20btIDebugDraw____invoke_28void_20_28btIDebugDraw____20const__29_28_29_2c_20btIDebugDraw__29 = 268; var GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_2c_20void_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int___invoke_28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int_29 = 269; var GOT_func_internal_btDebugDraw__20emscripten__base_btDebugDraw___convertPointer_btDebugDrawWrapper_2c_20btDebugDraw__28btDebugDrawWrapper__29 = 270; var GOT_func_internal_btDebugDrawWrapper__20emscripten__base_btDebugDraw___convertPointer_btDebugDraw_2c_20btDebugDrawWrapper__28btDebugDraw__29 = 271; var GOT_func_internal_emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29____invoke_28btDebugDrawWrapper__29 = 272; var GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28btDebugDrawWrapper__29_2c_20void_2c_20btDebugDrawWrapper____invoke_28void_20_28___29_28btDebugDrawWrapper__29_2c_20btDebugDrawWrapper__29 = 273; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29__signature = 89367; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29__signature = 89434; var GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btControllerHitReport____29_28int_2c_20int_29_2c_20void_2c_20btControllerHitReport__2c_20int_2c_20int___invoke_28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_2c_20btControllerHitReport__2c_20int_2c_20int_29 = 274; var GOT_func_internal_btControllerHitReport__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReportWrapper_2c_20btControllerHitReport__28btControllerHitReportWrapper__29 = 275; var GOT_func_internal_btControllerHitReportWrapper__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReport_2c_20btControllerHitReportWrapper__28btControllerHitReport__29 = 276; var GOT_func_internal_emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29____invoke_28btControllerHitReportWrapper__29 = 277; var GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28btControllerHitReportWrapper__29_2c_20void_2c_20btControllerHitReportWrapper____invoke_28void_20_28___29_28btControllerHitReportWrapper__29_2c_20btControllerHitReportWrapper__29 = 278; var GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28cc__ccMotionState____29_28int_29_2c_20void_2c_20cc__ccMotionState__2c_20int___invoke_28void_20_28cc__ccMotionState____20const__29_28int_29_2c_20cc__ccMotionState__2c_20int_29 = 279; var GOT_func_internal_cc__ccMotionState__20emscripten__base_cc__ccMotionState___convertPointer_ccMotionStateWrapper_2c_20cc__ccMotionState__28ccMotionStateWrapper__29 = 280; var GOT_func_internal_ccMotionStateWrapper__20emscripten__base_cc__ccMotionState___convertPointer_cc__ccMotionState_2c_20ccMotionStateWrapper__28cc__ccMotionState__29 = 281; var GOT_func_internal_emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29____invoke_28ccMotionStateWrapper__29 = 282; var GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28ccMotionStateWrapper__29_2c_20void_2c_20ccMotionStateWrapper____invoke_28void_20_28___29_28ccMotionStateWrapper__29_2c_20ccMotionStateWrapper__29 = 283; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29 = 284; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29 = 285; var GOT_func_internal_emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29 = 286; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29 = 287; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29 = 288; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_29 = 289; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29 = 290; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20float_29 = 291; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_29 = 292; var GOT_func_internal_emscripten__internal__Invoker_int___invoke_28int_20_28__29_28_29_29 = 293; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29 = 294; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29 = 295; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29 = 296; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29 = 297; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20bool_29_2c_20int_2c_20bool_29 = 298; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_29 = 299; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_29 = 300; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29 = 301; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20bool_29 = 302; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20float_29 = 303; var GOT_func_internal_emscripten__internal__Invoker_bool_2c_20int___invoke_28bool_20_28__29_28int_29_2c_20int_29 = 304; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20int_29 = 305; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29 = 306; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float___invoke_28int_20_28__29_28float_29_2c_20float_29 = 307; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20float_2c_20int_29 = 308; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_29_2c_20float_2c_20float_29 = 309; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20float___invoke_28int_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29 = 310; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 311; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_29 = 312; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20bool_2c_20bool___invoke_28int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20int_2c_20bool_2c_20bool_29 = 313; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 314; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29 = 315; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20bool_29 = 316; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20int___invoke_28int_20_28__29_28float_2c_20int_29_2c_20float_2c_20int_29 = 317; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 = 318; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29 = 319; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29 = 320; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20int_2c_20float_2c_20int_2c_20float_29 = 321; var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 322; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29 = 323; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29 = 324; var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 325; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29__signature = 89196; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29__signature = 89880; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29__signature = 89884; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29__signature = 89758; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 89889; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 89895; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature = 89902; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature = 89909; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89542; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89917; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature = 89924; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature = 89933; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89939; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature = 89947; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29__signature = 89954; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29__signature = 89960; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89200; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float__28_29__signature = 89966; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int__28_29__signature = 89970; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float__28_29__signature = 89977; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29__signature = 89982; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 89987; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89996; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 90004; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 90010; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 90018; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20int__28_29__signature = 90025; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29__signature = 90030; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20float__28_29__signature = 90039; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature = 90046; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature = 90053; var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 90064; var GOT_data_internal_typeinfo_20for_20btDebugDraw = 110612; var GOT_data_internal_typeinfo_20for_20btDebugDraw_ = 110624; var GOT_data_internal_typeinfo_20for_20btDebugDraw_20const_ = 110640; var GOT_data_internal_typeinfo_20for_20btIDebugDraw = 110604; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw_____get_28_29__types = 110656; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int____get_28_29__types = 110688; var GOT_data_internal_vtable_20for_20btDebugDrawWrapper = 110816; var GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper = 110748; var GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper_ = 110760; var GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper_20const_ = 110776; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btDebugDrawWrapper_____get_28_29__types = 110792; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20emscripten__val______get_28_29__types = 110800; var GOT_data_internal_vtable_20for_20emscripten__wrapper_btDebugDraw_ = 110936; var GOT_data_internal_vtable_20for_20btDebugDraw = 111056; var GOT_data_internal_vtable_20for_20btIDebugDraw = 111176; var GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void___get_method_caller_28_29__mc = 113892; var GOT_data_internal_emscripten__internal__Signature_void___get_method_caller_28_29__mc = 113888; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29__types = 111292; var GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc = 113900; var GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc = 113896; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const__2c_20int_____get_28_29__types = 111296; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29__types = 111312; var GOT_data_internal_typeinfo_20for_20btControllerHitReport = 111340; var GOT_data_internal_typeinfo_20for_20btControllerHitReport_ = 111352; var GOT_data_internal_typeinfo_20for_20btControllerHitReport_20const_ = 111368; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int____get_28_29__types = 111392; var GOT_data_internal_vtable_20for_20btControllerHitReportWrapper = 111500; var GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper = 111440; var GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper_ = 111452; var GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper_20const_ = 111468; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btControllerHitReportWrapper_____get_28_29__types = 111484; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20emscripten__val______get_28_29__types = 111492; var GOT_data_internal_vtable_20for_20emscripten__wrapper_btControllerHitReport_ = 111528; var GOT_data_internal_vtable_20for_20btControllerHitReport = 111556; var GOT_data_internal_vtable_20for_20btUserControllerHitReport = 111584; var GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc = 113908; var GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc = 113904; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const_____get_28_29__types = 111608; var GOT_data_internal_typeinfo_20for_20cc__ccMotionState = 111620; var GOT_data_internal_typeinfo_20for_20cc__ccMotionState_ = 111632; var GOT_data_internal_typeinfo_20for_20cc__ccMotionState_20const_ = 111648; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int____get_28_29__types = 111664; var GOT_data_internal_vtable_20for_20ccMotionStateWrapper = 111768; var GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper = 111708; var GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper_ = 111720; var GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper_20const_ = 111736; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20ccMotionStateWrapper_____get_28_29__types = 111752; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20emscripten__val______get_28_29__types = 111760; var GOT_data_internal_vtable_20for_20emscripten__wrapper_cc__ccMotionState_ = 111796; var GOT_data_internal_vtable_20for_20cc__ccMotionState = 111824; var GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc = 113916; var GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc = 113912; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const_____get_28_29__types = 111852; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29__types = 111860; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29__types = 111868; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29__types = 111876; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29__types = 111884; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29__types = 111896; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float____get_28_29__types = 111920; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 111936; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types = 111968; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types = 112e3; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int____get_28_29__types = 112024; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29__types = 112028; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int____get_28_29__types = 112048; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types = 112064; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types = 112096; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20bool____get_28_29__types = 112124; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float____get_28_29__types = 112144; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types = 112160; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types = 112192; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20bool____get_28_29__types = 112224; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float____get_28_29__types = 112240; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20int____get_28_29__types = 112256; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int____get_28_29__types = 112272; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types = 112288; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float____get_28_29__types = 112308; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20int____get_28_29__types = 112320; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float____get_28_29__types = 112340; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float____get_28_29__types = 112352; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 112368; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29__types = 112400; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20bool_2c_20bool____get_28_29__types = 112432; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 112448; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 112480; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29__types = 112512; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20int____get_28_29__types = 112532; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29__types = 112544; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float____get_28_29__types = 112576; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int____get_28_29__types = 112608; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int_2c_20float____get_28_29__types = 112624; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool____get_28_29__types = 112656; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types = 112688; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types = 112720; var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 112768; var __wasm_intrinsics_temp_i64 = 0; var __wasm_intrinsics_temp_i64$hi = 0; var i64toi32_i32$HIGH_BITS = 0; // EMSCRIPTEN_START_FUNCS ; function __wasm_call_ctors() { emscripten_stack_init(); _GLOBAL__sub_I_BulletWebBindings_cpp(); _GLOBAL__sub_I_btAlignedAllocator_cpp(); _GLOBAL__sub_I_btDbvt_cpp(); _GLOBAL__sub_I_btDbvtBroadphase_cpp(); _GLOBAL__sub_I_btQuickprof_cpp(); _GLOBAL__sub_I_btOverlappingPairCache_cpp(); _GLOBAL__sub_I_btDispatcher_cpp(); _GLOBAL__sub_I_btCollisionDispatcher_cpp(); _GLOBAL__sub_I_btCollisionObject_cpp(); _GLOBAL__sub_I_btCollisionWorld_cpp(); _GLOBAL__sub_I_btCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btActivatingCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btConvexConvexAlgorithm_cpp(); _GLOBAL__sub_I_btConvexConcaveCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btCompoundCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btCompoundCompoundCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btBoxBoxDetector_cpp(); _GLOBAL__sub_I_btBoxBoxCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btConvexPlaneCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btDefaultCollisionConfiguration_cpp(); _GLOBAL__sub_I_btEmptyCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btHashedSimplePairCache_cpp(); _GLOBAL__sub_I_btManifoldResult_cpp(); _GLOBAL__sub_I_btSphereSphereCollisionAlgorithm_cpp(); _GLOBAL__sub_I_btSphereTriangleCollisionAlgorithm_cpp(); _GLOBAL__sub_I_SphereTriangleDetector_cpp(); _GLOBAL__sub_I_btBoxShape_cpp(); _GLOBAL__sub_I_btQuantizedBvh_cpp(); _GLOBAL__sub_I_btBvhTriangleMeshShape_cpp(); _GLOBAL__sub_I_btCapsuleShape_cpp(); _GLOBAL__sub_I_btCollisionShape_cpp(); _GLOBAL__sub_I_btCompoundShape_cpp(); _GLOBAL__sub_I_btConeShape_cpp(); _GLOBAL__sub_I_btConvexInternalShape_cpp(); _GLOBAL__sub_I_btConvexShape_cpp(); _GLOBAL__sub_I_btConvexTriangleMeshShape_cpp(); _GLOBAL__sub_I_btCylinderShape_cpp(); _GLOBAL__sub_I_btConcaveShape_cpp(); _GLOBAL__sub_I_btEmptyShape_cpp(); _GLOBAL__sub_I_btHeightfieldTerrainShape_cpp(); _GLOBAL__sub_I_btOptimizedBvh_cpp(); _GLOBAL__sub_I_btConvexPolyhedron_cpp(); _GLOBAL__sub_I_btGeometryUtil_cpp(); _GLOBAL__sub_I_btConvexHullComputer_cpp(); _GLOBAL__sub_I_btPolyhedralConvexShape_cpp(); _GLOBAL__sub_I_btScaledBvhTriangleMeshShape_cpp(); _GLOBAL__sub_I_btSphereShape_cpp(); _GLOBAL__sub_I_btStaticPlaneShape_cpp(); _GLOBAL__sub_I_btTetrahedronShape_cpp(); _GLOBAL__sub_I_btTriangleCallback_cpp(); _GLOBAL__sub_I_btStridingMeshInterface_cpp(); _GLOBAL__sub_I_btTriangleIndexVertexArray_cpp(); _GLOBAL__sub_I_btTriangleMesh_cpp(); _GLOBAL__sub_I_btTriangleMeshShape_cpp(); _GLOBAL__sub_I_btContinuousConvexCollision_cpp(); _GLOBAL__sub_I_btConvexCast_cpp(); _GLOBAL__sub_I_btGjkConvexCast_cpp(); _GLOBAL__sub_I_btGjkEpa2_cpp(); _GLOBAL__sub_I_btGjkEpaPenetrationDepthSolver_cpp(); _GLOBAL__sub_I_btGjkPairDetector_cpp(); _GLOBAL__sub_I_btMinkowskiPenetrationDepthSolver_cpp(); _GLOBAL__sub_I_btPersistentManifold_cpp(); _GLOBAL__sub_I_btRaycastCallback_cpp(); _GLOBAL__sub_I_btSubSimplexConvexCast_cpp(); _GLOBAL__sub_I_btVoronoiSimplexSolver_cpp(); _GLOBAL__sub_I_btPolyhedralContactClipping_cpp(); _GLOBAL__sub_I_btFixedConstraint_cpp(); _GLOBAL__sub_I_btGeneric6DofSpring2Constraint_cpp(); _GLOBAL__sub_I_btHingeConstraint_cpp(); _GLOBAL__sub_I_btPoint2PointConstraint_cpp(); _GLOBAL__sub_I_btSequentialImpulseConstraintSolver_cpp(); _GLOBAL__sub_I_btTypedConstraint_cpp(); _GLOBAL__sub_I_btRigidBody_cpp(); _GLOBAL__sub_I_btUnionFind_cpp(); _GLOBAL__sub_I_btSimulationIslandManager_cpp(); _GLOBAL__sub_I_btConeTwistConstraint_cpp(); _GLOBAL__sub_I_btGeneric6DofConstraint_cpp(); _GLOBAL__sub_I_btDiscreteDynamicsWorld_cpp(); _GLOBAL__sub_I_ccDiscreteDynamicsWorld_cpp(); _GLOBAL__sub_I_ccCompoundShape_cpp(); _GLOBAL__sub_I_btGhostObject_cpp(); _GLOBAL__sub_I_btCharacterController_cpp(); _GLOBAL__sub_I_bind_cpp(); init_pthread_self(); } function __cxx_global_var_init() { btInfMaskConverter__btInfMaskConverter_28int_29(GOT_data_internal___memory_base + 113168 | 0 | 0, 2139095040 | 0) | 0; return; } function btInfMaskConverter__btInfMaskConverter_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return $5 | 0; } function __cxx_global_var_init_1() { var $1 = 0, $6 = 0, $13 = 0, $20 = 0; $1 = GOT_data_internal___memory_base; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29($1 + 113184 | 0 | 0, $1 + 84159 | 0 | 0) | 0; $6 = GOT_data_internal___memory_base; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(($6 + 113184 | 0) + 12 | 0 | 0, $6 + 84426 | 0 | 0) | 0; $13 = GOT_data_internal___memory_base; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(($13 + 113184 | 0) + 24 | 0 | 0, $13 + 84257 | 0 | 0) | 0; $20 = GOT_data_internal___memory_base; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(($20 + 113184 | 0) + 36 | 0 | 0, $20 + 84028 | 0 | 0) | 0; __cxa_atexit(GOT_data_internal___table_base + 0 | 0 | 0, 0 | 0, GOT_data_internal___memory_base + 65536 | 0 | 0) | 0; return; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char______compressed_pair_5babi_v160004_5d_std____2____default_init_tag_2c_20std____2____default_init_tag__28std____2____default_init_tag___2c_20std____2____default_init_tag___29($5 | 0, $4 + 7 | 0 | 0, $4 + 6 | 0 | 0) | 0; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______init_28char_20const__2c_20unsigned_20long_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, std____2__char_traits_char___length_28char_20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($5 | 0); __stack_pointer = $4 + 16 | 0; return $5 | 0; } function __cxx_global_array_dtor($0) { $0 = $0 | 0; var $3 = 0, $12 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $9 = (GOT_data_internal___memory_base + 113184 | 0) + 48 | 0; label$1 : while (1) { $12 = $9 + -12 | 0; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($12 | 0) | 0; $9 = $12; if (!(($12 | 0) == (GOT_data_internal___memory_base + 113184 | 0 | 0) & 1 | 0)) { continue label$1 } break label$1; }; __stack_pointer = $3 + 16 | 0; return; } function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char______compressed_pair_5babi_v160004_5d_std____2____default_init_tag_2c_20std____2____default_init_tag__28std____2____default_init_tag___2c_20std____2____default_init_tag___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($6 | 0) | 0; std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($6 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function std____2__char_traits_char___length_28char_20const__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = std____2____constexpr_strlen_5babi_v160004_5d_28char_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function _safe_delete_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $63 = 0, $81 = 0, $99 = 0, $117 = 0, $135 = 0, $153 = 0, $171 = 0, $189 = 0, $207 = 0, $225 = 0, $243 = 0, $261 = 0, $5 = 0, $15 = 0, $31 = 0, $47 = 0; $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAP32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 72 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($5 | 0) { case 0: HEAP32[($4 + 68 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$18 : { if (!((HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$18 } $15 = HEAP32[($4 + 68 | 0) >> 2] | 0; label$19 : { if (($15 | 0) == (0 | 0) & 1 | 0) { break label$19 } btVector3__operator_20delete_28void__29($15 | 0); } HEAP32[($4 + 68 | 0) >> 2] = 0; } break label$1; case 1: HEAP32[($4 + 64 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$20 : { if (!((HEAP32[($4 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$20 } $31 = HEAP32[($4 + 64 | 0) >> 2] | 0; label$21 : { if (($31 | 0) == (0 | 0) & 1 | 0) { break label$21 } operator_20delete_28void__29($31 | 0); } HEAP32[($4 + 64 | 0) >> 2] = 0; } break label$1; case 2: HEAP32[($4 + 60 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$22 : { if (!((HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$22 } $47 = HEAP32[($4 + 60 | 0) >> 2] | 0; label$23 : { if (($47 | 0) == (0 | 0) & 1 | 0) { break label$23 } operator_20delete_28void__29($47 | 0); } HEAP32[($4 + 60 | 0) >> 2] = 0; } break label$1; case 3: HEAP32[($4 + 56 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$24 : { if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$24 } $63 = HEAP32[($4 + 56 | 0) >> 2] | 0; label$25 : { if (($63 | 0) == (0 | 0) & 1 | 0) { break label$25 } FUNCTION_TABLE[HEAP32[((HEAP32[$63 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($63); } HEAP32[($4 + 56 | 0) >> 2] = 0; } break label$1; case 4: HEAP32[($4 + 52 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$26 : { if (!((HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$26 } $81 = HEAP32[($4 + 52 | 0) >> 2] | 0; label$27 : { if (($81 | 0) == (0 | 0) & 1 | 0) { break label$27 } FUNCTION_TABLE[HEAP32[((HEAP32[$81 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($81); } HEAP32[($4 + 52 | 0) >> 2] = 0; } break label$1; case 5: HEAP32[($4 + 48 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$28 : { if (!((HEAP32[($4 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$28 } $99 = HEAP32[($4 + 48 | 0) >> 2] | 0; label$29 : { if (($99 | 0) == (0 | 0) & 1 | 0) { break label$29 } FUNCTION_TABLE[HEAP32[((HEAP32[$99 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($99); } HEAP32[($4 + 48 | 0) >> 2] = 0; } break label$1; case 7: HEAP32[($4 + 44 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$30 : { if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$30 } $117 = HEAP32[($4 + 44 | 0) >> 2] | 0; label$31 : { if (($117 | 0) == (0 | 0) & 1 | 0) { break label$31 } FUNCTION_TABLE[HEAP32[((HEAP32[$117 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($117); } HEAP32[($4 + 44 | 0) >> 2] = 0; } break label$1; case 8: HEAP32[($4 + 40 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$32 : { if (!((HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$32 } $135 = HEAP32[($4 + 40 | 0) >> 2] | 0; label$33 : { if (($135 | 0) == (0 | 0) & 1 | 0) { break label$33 } FUNCTION_TABLE[HEAP32[((HEAP32[$135 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($135); } HEAP32[($4 + 40 | 0) >> 2] = 0; } break label$1; case 9: HEAP32[($4 + 36 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$34 : { if (!((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$34 } $153 = HEAP32[($4 + 36 | 0) >> 2] | 0; label$35 : { if (($153 | 0) == (0 | 0) & 1 | 0) { break label$35 } FUNCTION_TABLE[HEAP32[((HEAP32[$153 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($153); } HEAP32[($4 + 36 | 0) >> 2] = 0; } break label$1; case 10: HEAP32[($4 + 32 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$36 : { if (!((HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$36 } $171 = HEAP32[($4 + 32 | 0) >> 2] | 0; label$37 : { if (($171 | 0) == (0 | 0) & 1 | 0) { break label$37 } FUNCTION_TABLE[HEAP32[((HEAP32[$171 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($171); } HEAP32[($4 + 32 | 0) >> 2] = 0; } break label$1; case 11: HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$38 : { if (!((HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$38 } $189 = HEAP32[($4 + 28 | 0) >> 2] | 0; label$39 : { if (($189 | 0) == (0 | 0) & 1 | 0) { break label$39 } FUNCTION_TABLE[HEAP32[((HEAP32[$189 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($189); } HEAP32[($4 + 28 | 0) >> 2] = 0; } break label$1; case 12: HEAP32[($4 + 24 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$40 : { if (!((HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$40 } $207 = HEAP32[($4 + 24 | 0) >> 2] | 0; label$41 : { if (($207 | 0) == (0 | 0) & 1 | 0) { break label$41 } FUNCTION_TABLE[HEAP32[((HEAP32[$207 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($207); } HEAP32[($4 + 24 | 0) >> 2] = 0; } break label$1; case 13: HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$42 : { if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$42 } $225 = HEAP32[($4 + 20 | 0) >> 2] | 0; label$43 : { if (($225 | 0) == (0 | 0) & 1 | 0) { break label$43 } FUNCTION_TABLE[HEAP32[((HEAP32[$225 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($225); } HEAP32[($4 + 20 | 0) >> 2] = 0; } break label$1; case 6: HEAP32[($4 + 16 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$44 : { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$44 } $243 = HEAP32[($4 + 16 | 0) >> 2] | 0; label$45 : { if (($243 | 0) == (0 | 0) & 1 | 0) { break label$45 } FUNCTION_TABLE[HEAP32[((HEAP32[$243 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($243); } HEAP32[($4 + 16 | 0) >> 2] = 0; } break label$1; case 14: HEAP32[($4 + 12 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; label$46 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$46 } $261 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$47 : { if (($261 | 0) == (0 | 0) & 1 | 0) { break label$47 } FUNCTION_TABLE[HEAP32[((HEAP32[$261 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($261); } HEAP32[($4 + 12 | 0) >> 2] = 0; } break label$1; default: break label$2; }; } } __stack_pointer = $4 + 80 | 0; return; } function btVector3__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function RayCallback_hasHit_28int_29($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $8 = (btCollisionWorld__RayResultCallback__hasHit_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btCollisionWorld__RayResultCallback__hasHit_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; } function ConvexCallback_hasHit_28int_29($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $8 = (btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; } function ccClosestRayCallback_static_28_29() { var $2 = 0, $18 = 0; $2 = __stack_pointer - 32 | 0; __stack_pointer = $2; label$1 : { if (!(((HEAPU8[(GOT_data_internal___memory_base + 113324 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28_29($2 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($2 | 0) | 0; $18 = GOT_data_internal___memory_base; cc__ccClosestRayResultCallback__ccClosestRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($18 + 113232 | 0 | 0, $2 + 16 | 0 | 0, $2 | 0) | 0; __cxa_atexit(GOT_data_internal___table_base + 1 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; HEAP8[($18 + 113324 | 0) >> 0] = 1; } __stack_pointer = $2 + 32 | 0; return GOT_data_internal___memory_base + 113232 | 0 | 0; } function btVector3__btVector3_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function cc__ccClosestRayResultCallback__ccClosestRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20cc__ccClosestRayResultCallback + 8 | 0; HEAP32[($6 + 84 | 0) >> 2] = 0; HEAP8[($6 + 88 | 0) >> 0] = 1; HEAP32[($6 + 12 | 0) >> 2] = -1; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function __cxx_global_array_dtor_5($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29(GOT_data_internal___memory_base + 113232 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $11 = 0, $14 = 0, $19 = 0, $22 = 0, $61 = 0, $71 = 0, $80 = 0, $90 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btCollisionWorld__RayResultCallback__RayResultCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__ClosestRayResultCallback + 8 | 0; $11 = $6 + 20 | 0; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $61 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $61; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $14 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $71 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $14 | 0; HEAP32[i64toi32_i32$1 >> 2] = $71; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $19 = $6 + 36 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $80 = i64toi32_i32$0; i64toi32_i32$0 = $19; HEAP32[i64toi32_i32$0 >> 2] = $80; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $22 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $90 = i64toi32_i32$1; i64toi32_i32$1 = $19 + $22 | 0; HEAP32[i64toi32_i32$1 >> 2] = $90; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($6 + 52 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 68 | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__RayResultCallback___RayResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function ccClosestRayCallback_setFlags_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function ccClosestRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $65 = 0, $75 = 0, $86 = 0, $96 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; $13 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 20 | 0; i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $65 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $65; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $75 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $75; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $22 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 36 | 0; i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $86; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $96; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; cc__ccClosestRayResultCallback__reset_28int_2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function cc__ccClosestRayResultCallback__reset_28int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP8[($7 + 88 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); HEAP32[($7 + 8 | 0) >> 2] = 0; return; } function ccClosestRayCallback_getHitNormalWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccClosestRayResultCallback__getHitNormalWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccClosestRayResultCallback__getHitNormalWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 52 | 0 | 0; } function ccClosestRayCallback_getHitPointWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccClosestRayResultCallback__getHitPointWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccClosestRayResultCallback__getHitPointWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0 | 0; } function ccClosestRayCallback_getCollisionShapePtr_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccClosestRayResultCallback__getCollisionShapePtr_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccClosestRayResultCallback__getCollisionShapePtr_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0; } function ccAllRayCallback_static_28_29() { var $2 = 0, $18 = 0; $2 = __stack_pointer - 32 | 0; __stack_pointer = $2; label$1 : { if (!(((HEAPU8[(GOT_data_internal___memory_base + 113484 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28_29($2 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($2 | 0) | 0; $18 = GOT_data_internal___memory_base; cc__ccAllHitsRayResultCallback__ccAllHitsRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($18 + 113328 | 0 | 0, $2 + 16 | 0 | 0, $2 | 0) | 0; __cxa_atexit(GOT_data_internal___table_base + 2 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; HEAP8[($18 + 113484 | 0) >> 0] = 1; } __stack_pointer = $2 + 32 | 0; return GOT_data_internal___memory_base + 113328 | 0 | 0; } function cc__ccAllHitsRayResultCallback__ccAllHitsRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20cc__ccAllHitsRayResultCallback + 8 | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($6 + 132 | 0 | 0) | 0; HEAP8[($6 + 152 | 0) >> 0] = 1; HEAP32[($6 + 12 | 0) >> 2] = -1; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function __cxx_global_array_dtor_6($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29(GOT_data_internal___memory_base + 113328 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $5 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $70 = 0, $80 = 0, $89 = 0, $99 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btCollisionWorld__RayResultCallback__RayResultCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsRayResultCallback + 8 | 0; btAlignedObjectArray_btCollisionObject_20const____btAlignedObjectArray_28_29($6 + 20 | 0 | 0) | 0; $13 = $6 + 40 | 0; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $70 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $70; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $80 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $80; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $21 = $6 + 56 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $89 = i64toi32_i32$0; i64toi32_i32$0 = $21; HEAP32[i64toi32_i32$0 >> 2] = $89; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $99 = i64toi32_i32$1; i64toi32_i32$1 = $21 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $99; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($6 + 72 | 0 | 0) | 0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($6 + 92 | 0 | 0) | 0; btAlignedObjectArray_float___btAlignedObjectArray_28_29($6 + 112 | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btAlignedObjectArray_int___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_int_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_int___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20cc__ccAllHitsRayResultCallback + 8 | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 132 | 0 | 0) | 0; btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_int____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_int___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsRayResultCallback + 8 | 0; btAlignedObjectArray_float____btAlignedObjectArray_28_29($4 + 112 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 92 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 72 | 0 | 0) | 0; btAlignedObjectArray_btCollisionObject_20const_____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btCollisionWorld__RayResultCallback___RayResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function ccAllRayCallback_setFlags_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function ccAllRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $65 = 0, $75 = 0, $86 = 0, $96 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; $13 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 40 | 0; i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $65 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $65; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $75 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $75; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $22 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 56 | 0; i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $86; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $96; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; cc__ccAllHitsRayResultCallback__reset_28unsigned_20int_2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function cc__ccAllHitsRayResultCallback__reset_28unsigned_20int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAP32[($5 + 56 | 0) >> 2] = $1; HEAP8[($5 + 55 | 0) >> 0] = $2; $7 = HEAP32[($5 + 60 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; HEAP8[($7 + 152 | 0) >> 0] = (HEAPU8[($5 + 55 | 0) >> 0] | 0) & 1 | 0; HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); HEAP32[($7 + 8 | 0) >> 2] = 0; HEAP32[($5 + 48 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($7 + 132 | 0 | 0, 0 | 0, $5 + 48 | 0 | 0); HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); btAlignedObjectArray_float___resize_28int_2c_20float_20const__29($7 + 112 | 0 | 0, 0 | 0, $5 + 44 | 0 | 0); HEAP32[($5 + 40 | 0) >> 2] = 0; btAlignedObjectArray_btCollisionObject_20const____resize_28int_2c_20btCollisionObject_20const__20const__29($7 + 20 | 0 | 0, 0 | 0, $5 + 40 | 0 | 0); btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($7 + 92 | 0 | 0, 0 | 0, $5 + 24 | 0 | 0); btVector3__btVector3_28_29($5 + 8 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($7 + 72 | 0 | 0, 0 | 0, $5 + 8 | 0 | 0); __stack_pointer = $5 + 64 | 0; return; } function btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_int___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_float___resize_28int_2c_20float_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_float___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_float___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAPF32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2]); HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____resize_28int_2c_20btCollisionObject_20const__20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btCollisionObject_20const____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $48 = 0, $51 = 0, $171 = 0, $181 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btVector3___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } $48 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $171 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $171; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $51 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $181 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $51 | 0; HEAP32[i64toi32_i32$1 >> 2] = $181; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function ccAllRayCallback_getHitPointWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccAllHitsRayResultCallback__getHitPointWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccAllHitsRayResultCallback__getHitPointWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 92 | 0 | 0; } function ccAllRayCallback_getHitNormalWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccAllHitsRayResultCallback__getHitNormalWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccAllHitsRayResultCallback__getHitNormalWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0 | 0; } function ccAllRayCallback_getCollisionShapePtrs_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccAllHitsRayResultCallback__getCollisionShapePtrs_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccAllHitsRayResultCallback__getCollisionShapePtrs_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 132 | 0 | 0; } function ccClosestConvexCallback_static_28_29() { var $2 = 0, $18 = 0; $2 = __stack_pointer - 32 | 0; __stack_pointer = $2; label$1 : { if (!(((HEAPU8[(GOT_data_internal___memory_base + 113580 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28_29($2 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($2 | 0) | 0; $18 = GOT_data_internal___memory_base; cc__ccClosestConvexResultCallback__ccClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($18 + 113488 | 0 | 0, $2 + 16 | 0 | 0, $2 | 0) | 0; __cxa_atexit(GOT_data_internal___table_base + 3 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; HEAP8[($18 + 113580 | 0) >> 0] = 1; } __stack_pointer = $2 + 32 | 0; return GOT_data_internal___memory_base + 113488 | 0 | 0; } function cc__ccClosestConvexResultCallback__ccClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20cc__ccClosestConvexResultCallback + 8 | 0; HEAP32[($6 + 84 | 0) >> 2] = 0; HEAP8[($6 + 88 | 0) >> 0] = 1; HEAP32[($6 + 8 | 0) >> 2] = -1; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function __cxx_global_array_dtor_7($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29(GOT_data_internal___memory_base + 113488 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $11 = 0, $14 = 0, $19 = 0, $22 = 0, $61 = 0, $71 = 0, $80 = 0, $90 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btCollisionWorld__ConvexResultCallback__ConvexResultCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__ClosestConvexResultCallback + 8 | 0; $11 = $6 + 20 | 0; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $61 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $61; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $14 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $71 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $14 | 0; HEAP32[i64toi32_i32$1 >> 2] = $71; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $19 = $6 + 36 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $80 = i64toi32_i32$0; i64toi32_i32$0 = $19; HEAP32[i64toi32_i32$0 >> 2] = $80; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $22 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $90 = i64toi32_i32$1; i64toi32_i32$1 = $19 + $22 | 0; HEAP32[i64toi32_i32$1 >> 2] = $90; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($6 + 52 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 68 | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function ccClosestConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $65 = 0, $75 = 0, $86 = 0, $96 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; $13 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 20 | 0; i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $65 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $65; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $75 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $75; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $22 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 36 | 0; i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $86; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $96; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; cc__ccClosestConvexResultCallback__reset_28int_2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function cc__ccClosestConvexResultCallback__reset_28int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP8[($7 + 88 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); HEAP32[($7 + 16 | 0) >> 2] = 0; return; } function ccClosestConvexCallback_getHitNormalWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccClosestConvexResultCallback__getHitNormalWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccClosestConvexResultCallback__getHitNormalWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 52 | 0 | 0; } function ccClosestConvexCallback_getHitPointWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccClosestConvexResultCallback__getHitPointWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccClosestConvexResultCallback__getHitPointWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0 | 0; } function ccClosestConvexCallback_getCollisionShapePtr_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccClosestConvexResultCallback__getCollisionShapePtr_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccClosestConvexResultCallback__getCollisionShapePtr_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0; } function ccAllConvexCallback_static_28_29() { var $2 = 0, $18 = 0; $2 = __stack_pointer - 32 | 0; __stack_pointer = $2; label$1 : { if (!(((HEAPU8[(GOT_data_internal___memory_base + 113740 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28_29($2 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($2 | 0) | 0; $18 = GOT_data_internal___memory_base; cc__ccAllHitsConvexResultCallback__ccAllHitsConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($18 + 113584 | 0 | 0, $2 + 16 | 0 | 0, $2 | 0) | 0; __cxa_atexit(GOT_data_internal___table_base + 4 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; HEAP8[($18 + 113740 | 0) >> 0] = 1; } __stack_pointer = $2 + 32 | 0; return GOT_data_internal___memory_base + 113584 | 0 | 0; } function cc__ccAllHitsConvexResultCallback__ccAllHitsConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btCollisionWorld__AllHitsConvexResultCallback__AllHitsConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20cc__ccAllHitsConvexResultCallback + 8 | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($6 + 132 | 0 | 0) | 0; HEAP8[($6 + 152 | 0) >> 0] = 1; HEAP32[($6 + 8 | 0) >> 2] = -1; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function __cxx_global_array_dtor_8($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29(GOT_data_internal___memory_base + 113584 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__AllHitsConvexResultCallback__AllHitsConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $5 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $70 = 0, $80 = 0, $89 = 0, $99 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btCollisionWorld__ConvexResultCallback__ConvexResultCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsConvexResultCallback + 8 | 0; btAlignedObjectArray_btCollisionObject_20const____btAlignedObjectArray_28_29($6 + 20 | 0 | 0) | 0; $13 = $6 + 40 | 0; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $70 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $70; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $80 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $80; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $21 = $6 + 56 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $89 = i64toi32_i32$0; i64toi32_i32$0 = $21; HEAP32[i64toi32_i32$0 >> 2] = $89; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $99 = i64toi32_i32$1; i64toi32_i32$1 = $21 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $99; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($6 + 72 | 0 | 0) | 0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($6 + 92 | 0 | 0) | 0; btAlignedObjectArray_float___btAlignedObjectArray_28_29($6 + 112 | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20cc__ccAllHitsConvexResultCallback + 8 | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 132 | 0 | 0) | 0; btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsConvexResultCallback + 8 | 0; btAlignedObjectArray_float____btAlignedObjectArray_28_29($4 + 112 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 92 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 72 | 0 | 0) | 0; btAlignedObjectArray_btCollisionObject_20const_____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function ccAllConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $65 = 0, $75 = 0, $86 = 0, $96 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; $13 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 40 | 0; i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $65 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $65; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $75 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $75; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $22 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 56 | 0; i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $86; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $96; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; cc__ccAllHitsConvexResultCallback__reset_28int_2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function cc__ccAllHitsConvexResultCallback__reset_28int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAP32[($5 + 56 | 0) >> 2] = $1; HEAP8[($5 + 55 | 0) >> 0] = $2; $7 = HEAP32[($5 + 60 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; HEAP8[($7 + 152 | 0) >> 0] = (HEAPU8[($5 + 55 | 0) >> 0] | 0) & 1 | 0; HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); HEAP32[($5 + 48 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($7 + 132 | 0 | 0, 0 | 0, $5 + 48 | 0 | 0); HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); btAlignedObjectArray_float___resize_28int_2c_20float_20const__29($7 + 112 | 0 | 0, 0 | 0, $5 + 44 | 0 | 0); HEAP32[($5 + 40 | 0) >> 2] = 0; btAlignedObjectArray_btCollisionObject_20const____resize_28int_2c_20btCollisionObject_20const__20const__29($7 + 20 | 0 | 0, 0 | 0, $5 + 40 | 0 | 0); btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($7 + 92 | 0 | 0, 0 | 0, $5 + 24 | 0 | 0); btVector3__btVector3_28_29($5 + 8 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($7 + 72 | 0 | 0, 0 | 0, $5 + 8 | 0 | 0); __stack_pointer = $5 + 64 | 0; return; } function ccAllConvexCallback_getHitPointWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccAllHitsConvexResultCallback__getHitPointWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccAllHitsConvexResultCallback__getHitPointWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 92 | 0 | 0; } function ccAllConvexCallback_getHitNormalWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccAllHitsConvexResultCallback__getHitNormalWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccAllHitsConvexResultCallback__getHitNormalWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0 | 0; } function ccAllConvexCallback_getCollisionShapePtrs_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = cc__ccAllHitsConvexResultCallback__getCollisionShapePtrs_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccAllHitsConvexResultCallback__getCollisionShapePtrs_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 132 | 0 | 0; } function ManifoldPoint_get_m_positionWorldOnA_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 48 | 0 | 0; } function ManifoldPoint_get_m_positionWorldOnB_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 32 | 0 | 0; } function ManifoldPoint_get_m_normalWorldOnB_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 64 | 0 | 0; } function ManifoldPoint_get_m_localPointA_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return HEAP32[($3 + 8 | 0) >> 2] | 0 | 0; } function ManifoldPoint_get_m_localPointB_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 16 | 0 | 0; } function btManifoldPoint__getDistance_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2])); } function ManifoldPoint_getShape0_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btManifoldPoint__getShape0_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btManifoldPoint__getShape0_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0; } function ManifoldPoint_getShape1_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btManifoldPoint__getShape1_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btManifoldPoint__getShape1_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0 | 0; } function ManifoldPoint_get_m_index0_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0; } function ManifoldPoint_get_m_index1_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0; } function PersistentManifold_getBody0_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btPersistentManifold__getBody0_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 836 | 0) >> 2] | 0 | 0; } function PersistentManifold_getBody1_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btPersistentManifold__getBody1_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 840 | 0) >> 2] | 0 | 0; } function PersistentManifold_getNumContacts_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btPersistentManifold__getNumContacts_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 844 | 0) >> 2] | 0 | 0; } function PersistentManifold_getContactPoint_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $8 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $8 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $8 | 0; } function btPersistentManifold__getContactPoint_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $14 = 0, $5 = 0, $26 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 844 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$1 } $14 = GOT_data_internal___memory_base; __assert_fail($14 + 69167 | 0 | 0, $14 + 79943 | 0 | 0, 133 | 0, $14 + 67585 | 0 | 0); wasm2js_trap(); } $26 = ($5 + 4 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 208) | 0; __stack_pointer = $4 + 16 | 0; return $26 | 0; } function ControllerHit_getHitWorldPos($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 4 | 0 | 0; } function ControllerHit_getHitWorldNormal($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 20 | 0 | 0; } function ControllerHit_getHitMotionDir($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 36 | 0 | 0; } function ControllerHit_getHitMotionLength($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2])); } function ControllerShapeHit_getHitShape($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0; } function ControllerShapeHit_getHitCollisionObject($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; return HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; } function CharacterController_setContactOffset($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCharacterController__setContactOffset_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btCharacterController__setContactOffset_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function CharacterController_setStepOffset($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCharacterController__setStepHeight_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btCharacterController__setStepHeight_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function CharacterController_setSlopeLimit($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCharacterController__setMaxSlope_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function CharacterController_setCollision($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCharacterController__setCollision_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCharacterController__setCollision_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 62 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; return; } function CharacterController_setOverlapRecovery($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCharacterController__setOverlapRecovery_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCharacterController__setOverlapRecovery_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 63 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; return; } function CharacterController_getGhostObject($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCharacterController__getGhostObject_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btCharacterController__getGhostObject_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function CharacterController_getCollisionShape($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCharacterController__getCollisionShape_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btCharacterController__getCollisionShape_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function CharacterController_move($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $56 = 0, $60 = 0, $22 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAPF32[($6 + 36 | 0) >> 2] = $2; HEAPF32[($6 + 32 | 0) >> 2] = $3; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; $8 = HEAP32[($6 + 40 | 0) >> 2] | 0; $9 = 8; i64toi32_i32$2 = $8 + $9 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $56 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 8 | 0) + $9 | 0; HEAP32[i64toi32_i32$0 >> 2] = $56; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $60 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 8 | 0) >> 2] = $60; HEAP32[($6 + 12 | 0) >> 2] = i64toi32_i32$0; $22 = btCharacterController__move_28btVector3_20const__2c_20float_2c_20float_29(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 36 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 32 | 0) >> 2]))) | 0; __stack_pointer = $6 + 48 | 0; return $22 | 0; } function CharacterController_getPosition($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCharacterController__getPosition_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function CapsuleCharacterControllerDesc_new($0, $1, $2, $3, $4, $5, $6, $7) { $0 = Math_fround($0); $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); $7 = Math_fround($7); var $10 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $12 = 0, $22 = 0, $24 = 0, $31 = 0, $33 = 0, $101 = 0, $111 = 0, $122 = 0, $132 = 0, $43 = 0; $10 = __stack_pointer - 48 | 0; __stack_pointer = $10; HEAPF32[($10 + 44 | 0) >> 2] = $0; HEAPF32[($10 + 40 | 0) >> 2] = $1; HEAPF32[($10 + 36 | 0) >> 2] = $2; HEAP32[($10 + 32 | 0) >> 2] = $3; HEAP32[($10 + 28 | 0) >> 2] = $4; HEAP32[($10 + 24 | 0) >> 2] = $5; HEAPF32[($10 + 20 | 0) >> 2] = $6; HEAPF32[($10 + 16 | 0) >> 2] = $7; $12 = operator_20new_28unsigned_20long_29(60 | 0) | 0; btCapsuleCharacterControllerDesc__btCapsuleCharacterControllerDesc_28_29($12 | 0) | 0; HEAP32[($10 + 12 | 0) >> 2] = $12; HEAPF32[(HEAP32[($10 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($10 + 44 | 0) >> 2]); HEAPF32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[($10 + 40 | 0) >> 2]); HEAPF32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($10 + 36 | 0) >> 2]); $22 = (HEAP32[($10 + 12 | 0) >> 2] | 0) + 12 | 0; i64toi32_i32$2 = HEAP32[($10 + 32 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $101 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $101; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $111 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $111; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $31 = (HEAP32[($10 + 12 | 0) >> 2] | 0) + 28 | 0; i64toi32_i32$2 = HEAP32[($10 + 28 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $122 = i64toi32_i32$0; i64toi32_i32$0 = $31; HEAP32[i64toi32_i32$0 >> 2] = $122; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $33 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $33 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $132 = i64toi32_i32$1; i64toi32_i32$1 = $31 + $33 | 0; HEAP32[i64toi32_i32$1 >> 2] = $132; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($10 + 24 | 0) >> 2] | 0; HEAPF32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($10 + 20 | 0) >> 2]); HEAPF32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = Math_fround(HEAPF32[($10 + 16 | 0) >> 2]); $43 = HEAP32[($10 + 12 | 0) >> 2] | 0; __stack_pointer = $10 + 48 | 0; return $43 | 0; } function btCapsuleCharacterControllerDesc__btCapsuleCharacterControllerDesc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCharacterControllerDesc__btCharacterControllerDesc_28_29($4 | 0) | 0; HEAP32[($4 + 44 | 0) >> 2] = 1; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCharacterControllerDesc__btCharacterControllerDesc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 + 12 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 28 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function CapsuleCharacterController_new($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; $10 = operator_20new_28unsigned_20long_29(160 | 0) | 0; btCapsuleCharacterController__btCapsuleCharacterController_28btCollisionWorld__2c_20btCapsuleCharacterControllerDesc__2c_20void__29($10 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return $10 | 0; } function CapsuleCharacterController_setRadius($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCapsuleCharacterController__setRadius_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function CapsuleCharacterController_setHeight($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCapsuleCharacterController__setHeight_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function BoxCharacterControllerDesc_new($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = Math_fround($0); $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); $7 = Math_fround($7); $8 = Math_fround($8); var $11 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $23 = 0, $25 = 0, $32 = 0, $34 = 0, $106 = 0, $116 = 0, $127 = 0, $137 = 0, $46 = 0; $11 = __stack_pointer - 48 | 0; __stack_pointer = $11; HEAPF32[($11 + 44 | 0) >> 2] = $0; HEAPF32[($11 + 40 | 0) >> 2] = $1; HEAPF32[($11 + 36 | 0) >> 2] = $2; HEAP32[($11 + 32 | 0) >> 2] = $3; HEAP32[($11 + 28 | 0) >> 2] = $4; HEAP32[($11 + 24 | 0) >> 2] = $5; HEAPF32[($11 + 20 | 0) >> 2] = $6; HEAPF32[($11 + 16 | 0) >> 2] = $7; HEAPF32[($11 + 12 | 0) >> 2] = $8; $13 = operator_20new_28unsigned_20long_29(64 | 0) | 0; btBoxCharacterControllerDesc__btBoxCharacterControllerDesc_28_29($13 | 0) | 0; HEAP32[($11 + 8 | 0) >> 2] = $13; HEAPF32[(HEAP32[($11 + 8 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($11 + 44 | 0) >> 2]); HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[($11 + 40 | 0) >> 2]); HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($11 + 36 | 0) >> 2]); $23 = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 12 | 0; i64toi32_i32$2 = HEAP32[($11 + 32 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $106 = i64toi32_i32$0; i64toi32_i32$0 = $23; HEAP32[i64toi32_i32$0 >> 2] = $106; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $116 = i64toi32_i32$1; i64toi32_i32$1 = $23 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $116; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $32 = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 28 | 0; i64toi32_i32$2 = HEAP32[($11 + 28 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $127 = i64toi32_i32$0; i64toi32_i32$0 = $32; HEAP32[i64toi32_i32$0 >> 2] = $127; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $34 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $34 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $137 = i64toi32_i32$1; i64toi32_i32$1 = $32 + $34 | 0; HEAP32[i64toi32_i32$1 >> 2] = $137; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($11 + 24 | 0) >> 2] | 0; HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($11 + 20 | 0) >> 2]); HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] = Math_fround(HEAPF32[($11 + 16 | 0) >> 2]); HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] = Math_fround(HEAPF32[($11 + 12 | 0) >> 2]); $46 = HEAP32[($11 + 8 | 0) >> 2] | 0; __stack_pointer = $11 + 48 | 0; return $46 | 0; } function btBoxCharacterControllerDesc__btBoxCharacterControllerDesc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCharacterControllerDesc__btCharacterControllerDesc_28_29($4 | 0) | 0; HEAP32[($4 + 44 | 0) >> 2] = 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function BoxCharacterController_new($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; $10 = operator_20new_28unsigned_20long_29(164 | 0) | 0; btBoxCharacterController__btBoxCharacterController_28btCollisionWorld__2c_20btBoxCharacterControllerDesc__2c_20void__29($10 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return $10 | 0; } function BoxCharacterController_setHalfHeight($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btBoxCharacterController__setHalfHeight_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function BoxCharacterController_setHalfSideExtent($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btBoxCharacterController__setHalfSideExtent_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function BoxCharacterController_setHalfForwardExtent($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btBoxCharacterController__setHalfForwardExtent_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function CollisionObject_new_28_29() { var $2 = 0, $4 = 0, $5 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; $4 = btCollisionObject__operator_20new_28unsigned_20long_29(324 | 0) | 0; btCollisionObject__btCollisionObject_28_29($4 | 0) | 0; HEAP32[($2 + 12 | 0) >> 2] = $4; $5 = HEAP32[($2 + 12 | 0) >> 2] | 0; __stack_pointer = $2 + 16 | 0; return $5 | 0; } function btCollisionObject__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function CollisionObject_isStaticObject_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = (btCollisionObject__isStaticObject_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btCollisionObject__isStaticObject_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 1 | 0 | 0) != (0 | 0) & 1 | 0 | 0; } function CollisionObject_isKinematicObject_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = (btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btCollisionObject__isKinematicObject_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 2 | 0 | 0) != (0 | 0) & 1 | 0 | 0; } function CollisionObject_isStaticOrKinematicObject_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = (btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btCollisionObject__isStaticOrKinematicObject_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 3 | 0 | 0) != (0 | 0) & 1 | 0 | 0; } function CollisionObject_setContactProcessingThreshold_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionObject__setContactProcessingThreshold_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0))); __stack_pointer = $4 + 16 | 0; return; } function btCollisionObject__setContactProcessingThreshold_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function CollisionObject_forceActivationState_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionObject__forceActivationState_28int_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function CollisionObject_activate_28int_2c_20bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionObject__activate_28bool_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function CollisionObject_isActive_28int_29($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $8 = (btCollisionObject__isActive_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btCollisionObject__isActive_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $13 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $13 = 0; label$1 : { if (!((btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { break label$1 } $13 = (btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) != (5 | 0); } __stack_pointer = $3 + 16 | 0; return $13 & 1 | 0 | 0; } function btCollisionObject__getActivationState_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0; } function CollisionObject_setMaterial_28int_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAPF32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; btCollisionObject__setRestitution_28float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 24 | 0) >> 2]))); btCollisionObject__setFriction_28float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2]))); btCollisionObject__setRollingFriction_28float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2]))); btCollisionObject__setSpinningFriction_28float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))); __stack_pointer = $7 + 32 | 0; return; } function btCollisionObject__setRestitution_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; HEAPF32[($5 + 232 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btCollisionObject__setFriction_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; HEAPF32[($5 + 228 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btCollisionObject__setRollingFriction_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; HEAPF32[($5 + 236 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btCollisionObject__setSpinningFriction_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; HEAPF32[($5 + 240 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function CollisionObject_getCollisionFlags_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCollisionObject__getCollisionFlags_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btCollisionObject__getCollisionFlags_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0 | 0; } function CollisionObject_setCollisionFlags_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionObject__setCollisionFlags_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCollisionObject__setCollisionFlags_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function CollisionObject_getWorldTransform_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCollisionObject__getWorldTransform_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btCollisionObject__getWorldTransform_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function CollisionObject_setCollisionShape_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function CollisionObject_getCollisionShape_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCollisionObject__getCollisionShape_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btCollisionObject__getCollisionShape_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0 | 0; } function CollisionObject_setCcdMotionThreshold_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionObject__setCcdMotionThreshold_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btCollisionObject__setCcdMotionThreshold_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btCollisionObject__getCcdSweptSphereRadius_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 272 | 0) >> 2])); } function CollisionObject_setCcdSweptSphereRadius_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionObject__setCcdSweptSphereRadius_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btCollisionObject__setCcdSweptSphereRadius_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 272 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function CollisionObject_getUserIndex_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCollisionObject__getUserIndex_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btCollisionObject__getUserIndex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0 | 0; } function CollisionObject_setUserIndex_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionObject__setUserIndex_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCollisionObject__setUserIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 264 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function CollisionObject_isSleeping_28int_29($0) { $0 = $0 | 0; var $3 = 0, $12 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $12 = (btCollisionObject__getActivationState_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $12 | 0; } function CollisionObject_getActivationState_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCollisionObject__getActivationState_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function CollisionObject_setIgnoreCollisionCheck_28int_2c_20int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP8[($5 + 23 | 0) >> 0] = $2; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedObjectArray_btCollisionObject_20const____push_back_28btCollisionObject_20const__20const__29($7 + 284 | 0 | 0, $5 + 8 | 0 | 0); break label$1; } btAlignedObjectArray_btCollisionObject_20const____remove_28btCollisionObject_20const__20const__29($7 + 284 | 0 | 0, $5 + 8 | 0 | 0); } (wasm2js_i32$0 = $7, wasm2js_i32$1 = (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($7 + 284 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; __stack_pointer = $5 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____push_back_28btCollisionObject_20const__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionObject_20const____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btCollisionObject_20const____reserve_28int_29($5 | 0, btAlignedObjectArray_btCollisionObject_20const____allocSize_28int_29($5 | 0, btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____remove_28btCollisionObject_20const__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____findLinearSearch_28btCollisionObject_20const__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionObject_20const____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function CollisionShape_setMaterial_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; btCollisionShape__setMaterial_28cc__ccMaterial__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCollisionShape__setMaterial_28cc__ccMaterial__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btCollisionShape__getMaterial_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0; } function CollisionShape_setUserPointer_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionShape__setUserPointerAsInt_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCollisionShape__setUserPointerAsInt_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btCollisionShape__getUserPointerAsInt_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function CollisionShape_setLocalScaling_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function CollisionShape_calculateLocalInertia_28int_2c_20float_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; $7 = HEAP32[$5 >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($7, Math_fround(HEAPF32[($5 + 8 | 0) >> 2]), HEAP32[($5 + 4 | 0) >> 2] | 0); __stack_pointer = $5 + 16 | 0; return; } function CollisionShape_isCompound_28int_29($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $8 = (btCollisionShape__isCompound_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btCollisionShape__isCompound_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = (btBroadphaseProxy__isCompound_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btCollisionShape__getShapeType_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btBroadphaseProxy__isCompound_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) == (31 | 0) & 1 | 0 | 0; } function CollisionShape_getAabb_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); __stack_pointer = $6 + 32 | 0; return; } function btTransform__btTransform_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btMatrix3x3__btMatrix3x3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 48 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTransform__setIdentity_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btMatrix3x3__setIdentity_28_29($4 | 0); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[$3 >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 48 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0); __stack_pointer = $3 + 16 | 0; return; } function operator__28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) - Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btVector3__length_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $6 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(btVector3__length2_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0))))); __stack_pointer = $3 + 16 | 0; return Math_fround($6); } function CollisionShape_setMargin_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($6, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); __stack_pointer = $4 + 16 | 0; return; } function BoxShape_new_28int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = btBoxShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; btBoxShape__btBoxShape_28btVector3_20const__29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function btBoxShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function BoxShape_setUnscaledHalfExtents_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btBoxShape__setUnscaledHalfExtents_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btBoxShape__setUnscaledHalfExtents_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $43 = 0, $45 = 0, $147 = 0, $160 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAP32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $4 + 52 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 56 | 0 | 0); $43 = $5 + 36 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; $147 = i64toi32_i32$0; i64toi32_i32$0 = $43; HEAP32[i64toi32_i32$0 >> 2] = $147; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $45 = 8; i64toi32_i32$2 = ($4 + 28 | 0) + $45 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $160 = i64toi32_i32$1; i64toi32_i32$1 = $43 + $45 | 0; HEAP32[i64toi32_i32$1 >> 2] = $160; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btConvexInternalShape__setSafeMargin_28btVector3_20const__2c_20float_29($5 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(.10000000149011612))); __stack_pointer = $4 + 80 | 0; return; } function btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; HEAPF32[$7 >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 2]); HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 2]); HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[$6 >> 2] | 0) >> 2]); HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); return $7 | 0; } function operator__28btVector3_20const__2c_20btVector3_20const__29_1($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btConvexInternalShape__setSafeMargin_28btVector3_20const__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + ((btVector3__minAxis_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btConvexInternalShape__setSafeMargin_28float_2c_20float_29($6 | 0, Math_fround(Math_fround(HEAPF32[$5 >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function SphereShape_new_28float_29($0) { $0 = Math_fround($0); var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAPF32[($3 + 12 | 0) >> 2] = $0; $5 = btSphereShape__operator_20new_28unsigned_20long_29(60 | 0) | 0; btSphereShape__btSphereShape_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]))) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function btSphereShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btSphereShape__btSphereShape_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAPF32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; btConvexInternalShape__btConvexInternalShape_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20btSphereShape + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = 8; HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0); btVector3__setZero_28_29($5 + 36 | 0 | 0); btVector3__setX_28float_29($5 + 36 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]))); HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(HEAPF32[($4 + 24 | 0) >> 2]); HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(0 | 0); __stack_pointer = $4 + 32 | 0; return $5 | 0; } function btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; HEAPF32[$7 >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 2]); HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 2]); HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[$6 >> 2] | 0) >> 2]); HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); return; } function btVector3__setZero_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[$3 >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0); __stack_pointer = $3 + 16 | 0; return; } function btVector3__setX_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function SphereShape_setUnscaledRadius_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btSphereShape__setUnscaledRadius_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btSphereShape__setUnscaledRadius_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btVector3__setX_28float_29($5 + 36 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); btConvexInternalShape__setMargin_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btConvexInternalShape__setMargin_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function CapsuleShape_new_28float_2c_20float_29($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAPF32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $6 = btCapsuleShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; btCapsuleShape__btCapsuleShape_28float_2c_20float_29($6 | 0, Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))) | 0; __stack_pointer = $4 + 16 | 0; return $6 | 0; } function btCapsuleShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function CapsuleShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAPF32[($6 + 24 | 0) >> 2] = $1; HEAPF32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; btCapsuleShape__updateProp_28float_2c_20float_2c_20int_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); __stack_pointer = $6 + 32 | 0; return; } function btCapsuleShape__updateProp_28float_2c_20float_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $7 = 0, $34 = 0, $46 = 0, $51 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAPF32[($6 + 24 | 0) >> 2] = $1; HEAPF32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($7 + 60 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 20 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0); label$1 : { label$2 : { if (!((HEAP32[($7 + 60 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$2 } $34 = $6 + 24 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $34 | 0, $6 + 20 | 0 | 0, $34 | 0); break label$1; } label$3 : { label$4 : { if (HEAP32[($7 + 60 | 0) >> 2] | 0) { break label$4 } $46 = $6 + 24 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $6 + 20 | 0 | 0, $46 | 0, $46 | 0); break label$3; } $51 = $6 + 24 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $51 | 0, $51 | 0, $6 + 20 | 0 | 0); } } HEAP32[$6 >> 2] = ((HEAP32[($6 + 16 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 36 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; __stack_pointer = $6 + 32 | 0; return; } function btVector3__operator_20float__28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function ConvexInternalShape_getImplicitShapeDimensions_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btConvexInternalShape__getImplicitShapeDimensions_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btConvexInternalShape__getImplicitShapeDimensions_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 36 | 0 | 0; } function CylinderShape_new_28int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = btCylinderShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; btCylinderShape__btCylinderShape_28btVector3_20const__29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function btCylinderShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function CylinderShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAPF32[($6 + 24 | 0) >> 2] = $1; HEAPF32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; btCylinderShape__updateProp_28float_2c_20float_2c_20int_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); __stack_pointer = $6 + 32 | 0; return; } function btCylinderShape__updateProp_28float_2c_20float_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $7 = 0, $34 = 0, $46 = 0, $51 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; HEAP32[($6 + 60 | 0) >> 2] = $0; HEAPF32[($6 + 56 | 0) >> 2] = $1; HEAPF32[($6 + 52 | 0) >> 2] = $2; HEAP32[($6 + 48 | 0) >> 2] = $3; $7 = HEAP32[($6 + 60 | 0) >> 2] | 0; HEAP32[($7 + 60 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 20 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0); label$1 : { label$2 : { if (!((HEAP32[($7 + 60 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$2 } $34 = $6 + 56 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $34 | 0, $6 + 52 | 0 | 0, $34 | 0); break label$1; } label$3 : { label$4 : { if (HEAP32[($7 + 60 | 0) >> 2] | 0) { break label$4 } $46 = $6 + 56 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $6 + 52 | 0 | 0, $46 | 0, $46 | 0); break label$3; } $51 = $6 + 56 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $51 | 0, $51 | 0, $6 + 52 | 0 | 0); } } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29($7 + 36 | 0 | 0, $6 + 20 | 0 | 0) | 0; __stack_pointer = $6 + 64 | 0; return; } function btVector3__operator___28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) - Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])); return $5 | 0; } function ConeShape_new_28float_2c_20float_29($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAPF32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $6 = btConeShape__operator_20new_28unsigned_20long_29(84 | 0) | 0; btConeShape__btConeShape_28float_2c_20float_29($6 | 0, Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))) | 0; __stack_pointer = $4 + 16 | 0; return $6 | 0; } function btConeShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function ConeShape_setRadius_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; btConeShape__setRadius_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btConeShape__setRadius_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function ConeShape_setHeight_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; btConeShape__setHeight_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btConeShape__setHeight_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function ConeShape_setConeUpIndex_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btConeShape__setConeUpIndex_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function StaticPlaneShape_new_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $6 = btStaticPlaneShape__operator_20new_28unsigned_20long_29(92 | 0) | 0; btStaticPlaneShape__btStaticPlaneShape_28btVector3_20const__2c_20float_29($6 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))) | 0; __stack_pointer = $4 + 16 | 0; return $6 | 0; } function btStaticPlaneShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function StaticPlaneShape_setPlaneConstant_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btStaticPlaneShape__setPlaneConstant_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btStaticPlaneShape__setPlaneConstant_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function StaticPlaneShape_getPlaneNormal_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btStaticPlaneShape__getPlaneNormal_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 56 | 0 | 0; } function ccCompoundShape_new_28_29() { var $1 = 0; $1 = cc__ccCompoundShape__operator_20new_28unsigned_20long_29(100 | 0) | 0; __memset($1 | 0, 0 | 0, 100 | 0) | 0; cc__ccCompoundShape__ccCompoundShape_28_29($1 | 0) | 0; return $1 | 0; } function cc__ccCompoundShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function cc__ccCompoundShape__ccCompoundShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCompoundShape__btCompoundShape_28bool_2c_20int_29($4 | 0, 1 | 0, 0 | 0) | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20cc__ccCompoundShape + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function CompoundShape_getNumChildShapes_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btCompoundShape__getNumChildShapes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function CompoundShape_addChildShape_28int_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btCompoundShape__addChildShape_28btTransform_20const__2c_20btCollisionShape__29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function CompoundShape_removeChildShape_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function CompoundShape_getChildShape_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $8 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $8 = btCompoundShape__getChildShape_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $8 | 0; } function btCompoundShape__getChildShape_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $10 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $10 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $14 = 0, $29 = 0, $5 = 0, $40 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } $14 = GOT_data_internal___memory_base; __assert_fail($14 + 85840 | 0 | 0, $14 + 78192 | 0 | 0, 183 | 0, $14 + 83901 | 0 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } $29 = GOT_data_internal___memory_base; __assert_fail($29 + 87321 | 0 | 0, $29 + 78192 | 0 | 0, 184 | 0, $29 + 83901 | 0 | 0); wasm2js_trap(); } $40 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 80) | 0; __stack_pointer = $4 + 16 | 0; return $40 | 0; } function CompoundShape_updateChildTransform_28int_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP8[($6 + 19 | 0) >> 0] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; cc__ccCompoundShape__updateChildTransform_28btCollisionShape__2c_20btTransform_20const__2c_20bool_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($6 + 19 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $6 + 32 | 0; return; } function TriangleMesh_new_28_29() { var $1 = 0, $2 = 0; $1 = btTriangleIndexVertexArray__operator_20new_28unsigned_20long_29(172 | 0) | 0; $2 = 1; btTriangleMesh__btTriangleMesh_28bool_2c_20bool_29($1 | 0, $2 & 1 | 0 | 0, $2 & 1 | 0 | 0) | 0; return $1 | 0; } function btTriangleIndexVertexArray__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function TriangleMesh_addTriangle_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; btTriangleMesh__addTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function BvhTriangleMeshShape_new_28int_2c_20bool_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP8[($5 + 11 | 0) >> 0] = $1; HEAP8[($5 + 10 | 0) >> 0] = $2; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; $10 = btBvhTriangleMeshShape__operator_20new_28unsigned_20long_29(84 | 0) | 0; btBvhTriangleMeshShape__btBvhTriangleMeshShape_28btStridingMeshInterface__2c_20bool_2c_20bool_29($10 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 11 | 0) >> 0] | 0) & 1 | 0 | 0, (HEAPU8[($5 + 10 | 0) >> 0] | 0) & 1 | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btBvhTriangleMeshShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function BvhTriangleMeshShape_getOptimizedBvh_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btBvhTriangleMeshShape__getOptimizedBvh_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btBvhTriangleMeshShape__getOptimizedBvh_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; } function BvhTriangleMeshShape_setOptimizedBvh_28int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $10 = 0, $11 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 44 | 0) >> 2] = $0; HEAP32[($7 + 40 | 0) >> 2] = $1; HEAPF32[($7 + 36 | 0) >> 2] = $2; HEAPF32[($7 + 32 | 0) >> 2] = $3; HEAPF32[($7 + 28 | 0) >> 2] = $4; HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($7 + 44 | 0) >> 2] | 0; HEAP32[($7 + 20 | 0) >> 2] = HEAP32[($7 + 40 | 0) >> 2] | 0; $10 = HEAP32[($7 + 24 | 0) >> 2] | 0; $11 = HEAP32[($7 + 20 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 4 | 0 | 0, $7 + 36 | 0 | 0, $7 + 32 | 0 | 0, $7 + 28 | 0 | 0) | 0; btBvhTriangleMeshShape__setOptimizedBvh_28btOptimizedBvh__2c_20btVector3_20const__29($10 | 0, $11 | 0, $7 + 4 | 0 | 0); __stack_pointer = $7 + 48 | 0; return; } function ScaledBvhTriangleMeshShape_new_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $9 = 0, $10 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAPF32[($6 + 40 | 0) >> 2] = $1; HEAPF32[($6 + 36 | 0) >> 2] = $2; HEAPF32[($6 + 32 | 0) >> 2] = $3; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; $9 = btScaledBvhTriangleMeshShape__operator_20new_28unsigned_20long_29(44 | 0) | 0; $10 = HEAP32[($6 + 28 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 12 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0) | 0; btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_28btBvhTriangleMeshShape__2c_20btVector3_20const__29($9 | 0, $10 | 0, $6 + 12 | 0 | 0) | 0; __stack_pointer = $6 + 48 | 0; return $9 | 0; } function btScaledBvhTriangleMeshShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function ConvexTriangleMeshShape_new_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btConvexTriangleMeshShape__operator_20new_28unsigned_20long_29(104 | 0) | 0; btConvexTriangleMeshShape__btConvexTriangleMeshShape_28btStridingMeshInterface__2c_20bool_29($6 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btConvexTriangleMeshShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function EmptyShape_static_28_29() { var $13 = 0; label$1 : { if (!(((HEAPU8[(GOT_data_internal___memory_base + 113784 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } $13 = GOT_data_internal___memory_base; btEmptyShape__btEmptyShape_28_29($13 + 113744 | 0 | 0) | 0; __cxa_atexit(GOT_data_internal___table_base + 5 | 0 | 0, 0 | 0, $13 + 65536 | 0 | 0) | 0; HEAP8[($13 + 113784 | 0) >> 0] = 1; } return GOT_data_internal___memory_base + 113744 | 0 | 0; } function __cxx_global_array_dtor_9($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btEmptyShape___btEmptyShape_28_29(GOT_data_internal___memory_base + 113744 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function SimplexShape_new_28_29() { var $1 = 0; $1 = btBU_Simplex1to4__operator_20new_28unsigned_20long_29(168 | 0) | 0; btBU_Simplex1to4__btBU_Simplex1to4_28_29($1 | 0) | 0; return $1 | 0; } function btBU_Simplex1to4__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function SimplexShape_addVertex_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btBU_Simplex1to4__addVertex_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function TerrainShape_new_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0, $10 = 0, $22 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAPF32[($8 + 16 | 0) >> 2] = $3; HEAPF32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; $10 = btHeightfieldTerrainShape__operator_20new_28unsigned_20long_29(132 | 0) | 0; btHeightfieldTerrainShape__btHeightfieldTerrainShape_28int_2c_20int_2c_20void_20const__2c_20float_2c_20float_2c_20float_2c_20int_2c_20PHY_ScalarType_2c_20bool_29($10 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2])), 1 | 0, 0 | 0, 0 & 1 | 0 | 0) | 0; HEAP32[($8 + 4 | 0) >> 2] = $10; $22 = HEAP32[($8 + 4 | 0) >> 2] | 0; __stack_pointer = $8 + 32 | 0; return $22 | 0; } function btHeightfieldTerrainShape__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function DefaultCollisionConfiguration_static_28_29() { var $2 = 0, $18 = 0; $2 = __stack_pointer - 32 | 0; __stack_pointer = $2; label$1 : { if (!(((HEAPU8[(GOT_data_internal___memory_base + 113876 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_28_29($2 + 8 | 0 | 0) | 0; $18 = GOT_data_internal___memory_base; btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_28btDefaultCollisionConstructionInfo_20const__29($18 + 113788 | 0 | 0, $2 + 8 | 0 | 0) | 0; __cxa_atexit(GOT_data_internal___table_base + 6 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; HEAP8[($18 + 113876 | 0) >> 0] = 1; } __stack_pointer = $2 + 32 | 0; return GOT_data_internal___memory_base + 113788 | 0 | 0; } function btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 4096; HEAP32[($4 + 12 | 0) >> 2] = 4096; HEAP32[($4 + 16 | 0) >> 2] = 0; HEAP32[($4 + 20 | 0) >> 2] = 1; return $4 | 0; } function __cxx_global_array_dtor_10($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29(GOT_data_internal___memory_base + 113788 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function Dispatcher_getNumManifolds_28int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $5 = HEAP32[($3 + 8 | 0) >> 2] | 0; $8 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($5) | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function Dispatcher_getManifoldByIndexInternal_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; $10 = FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0; __stack_pointer = $4 + 16 | 0; return $10 | 0; } function CollisionDispatcher_new_28_29() { var $1 = 0; $1 = operator_20new_28unsigned_20long_29(10448 | 0) | 0; btCollisionDispatcher__btCollisionDispatcher_28btCollisionConfiguration__29($1 | 0, DefaultCollisionConfiguration_static_28_29() | 0 | 0) | 0; return $1 | 0; } function DbvtBroadphase_new_28_29() { var $1 = 0; $1 = operator_20new_28unsigned_20long_29(176 | 0) | 0; btDbvtBroadphase__btDbvtBroadphase_28btOverlappingPairCache__29($1 | 0, 0 | 0) | 0; return $1 | 0; } function SequentialImpulseConstraintSolver_new_28_29() { var $1 = 0; $1 = btSequentialImpulseConstraintSolver__operator_20new_28unsigned_20long_29(236 | 0) | 0; btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_28_29($1 | 0) | 0; return $1 | 0; } function btSequentialImpulseConstraintSolver__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function CollisionWorld_rayTest_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); __stack_pointer = $6 + 32 | 0; return; } function btCollisionWorld__getDispatchInfo_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0 | 0; } function CollisionWorld_addCollisionObject_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); __stack_pointer = $6 + 32 | 0; return; } function CollisionWorld_removeCollisionObject_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function CollisionWorld_convexSweepTest_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); var $8 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($8 + 28 | 0) >> 2] | 0; btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))); __stack_pointer = $8 + 32 | 0; return; } function CollisionWorld_setDebugDrawer_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function CollisionWorld_debugDrawWorld_28int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $5 = HEAP32[($3 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($5); __stack_pointer = $3 + 16 | 0; return; } function DynamicsWorld_addAction_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function DynamicsWorld_removeAction_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function btDynamicsWorld__getSolverInfo_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 92 | 0 | 0; } function ccDiscreteDynamicsWorld_new_28int_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $7 = cc__ccDiscreteDynamicsWorld__operator_20new_28unsigned_20long_29(348 | 0) | 0; cc__ccDiscreteDynamicsWorld__ccDiscreteDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btConstraintSolver__2c_20btCollisionConfiguration__29($7 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, DefaultCollisionConfiguration_static_28_29() | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $7 | 0; } function cc__ccDiscreteDynamicsWorld__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function DynamicsWorld_setGravity_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function DynamicsWorld_addRigidBody_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 88 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); __stack_pointer = $6 + 32 | 0; return; } function DynamicsWorld_removeRigidBody_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 92 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function DynamicsWorld_addConstraint_28int_2c_20int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $8 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; $8 = HEAP32[$5 >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, HEAP32[($5 + 8 | 0) >> 2] | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0); __stack_pointer = $5 + 16 | 0; return; } function DynamicsWorld_removeConstraint_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function DynamicsWorld_stepSimulation_28int_2c_20float_2c_20int_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $8 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAPF32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAPF32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($8, Math_fround(HEAPF32[($6 + 24 | 0) >> 2]), HEAP32[($6 + 20 | 0) >> 2] | 0, Math_fround(HEAPF32[($6 + 16 | 0) >> 2])) | 0; __stack_pointer = $6 + 32 | 0; return; } function ccDiscreteDynamicsWorld_setAllowSleep_28int_2c_20bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; cc__ccDiscreteDynamicsWorld__setAllowSleep_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function cc__ccDiscreteDynamicsWorld__setAllowSleep_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; $5 = 1; HEAP8[($4 + 11 | 0) >> 0] = $1 & $5 | 0; HEAP8[GOT_data_internal_gDisableDeactivation >> 0] = ((HEAPU8[($4 + 11 | 0) >> 0] | 0) ^ -1 | 0) & $5 | 0; return; } function TypedConstraint_getFixedBody_28_29() { return btTypedConstraint__getFixedBody_28_29() | 0 | 0; } function TypedConstraint_getDbgDrawSize_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = Math_fround(btTypedConstraint__getDbgDrawSize_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0)); __stack_pointer = $3 + 16 | 0; return Math_fround($6); } function btTypedConstraint__getDbgDrawSize_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2])); } function TypedConstraint_setDbgDrawSize_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btTypedConstraint__setDbgDrawSize_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btTypedConstraint__setDbgDrawSize_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function HingeConstraint_new_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $12 = 0, $20 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; HEAP32[($6 + 16 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; $12 = btHingeConstraint__operator_20new_28unsigned_20long_29(768 | 0) | 0; btHingeConstraint__btHingeConstraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20bool_29($12 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = $12; $20 = HEAP32[($6 + 12 | 0) >> 2] | 0; __stack_pointer = $6 + 48 | 0; return $20 | 0; } function btHingeConstraint__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function HingeConstraint_setFrames_28int_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; btHingeConstraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function HingeConstraint_setLimit_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAPF32[($8 + 24 | 0) >> 2] = $1; HEAPF32[($8 + 20 | 0) >> 2] = $2; HEAPF32[($8 + 16 | 0) >> 2] = $3; HEAPF32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($8 + 28 | 0) >> 2] | 0; btHingeConstraint__setLimit_28float_2c_20float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))); __stack_pointer = $8 + 32 | 0; return; } function btHingeConstraint__setLimit_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAPF32[($8 + 24 | 0) >> 2] = $1; HEAPF32[($8 + 20 | 0) >> 2] = $2; HEAPF32[($8 + 16 | 0) >> 2] = $3; HEAPF32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; btAngularLimit__set_28float_2c_20float_2c_20float_2c_20float_2c_20float_29((HEAP32[($8 + 28 | 0) >> 2] | 0) + 688 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))); __stack_pointer = $8 + 32 | 0; return; } function HingeConstraint_setAngularOnly_28int_2c_20bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btHingeConstraint__setAngularOnly_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btHingeConstraint__setAngularOnly_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 736 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; return; } function HingeConstraint_enableMotor_28int_2c_20bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btHingeConstraint__enableMotor_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btHingeConstraint__enableMotor_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 737 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; return; } function HingeConstraint_setMotorVelocity_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btHingeConstraint__setMotorTargetVelocity_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btHingeConstraint__setMotorTargetVelocity_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 680 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function HingeConstraint_setMaxMotorImpulse_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btHingeConstraint__setMaxMotorImpulse_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btHingeConstraint__setMaxMotorImpulse_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 684 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function HingeConstraint_setMotorTarget_28int_2c_20float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btHingeConstraint__setMotorTarget_28float_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function P2PConstraint_new_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $12 = 0, $17 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; HEAP32[($6 + 16 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; $12 = btPoint2PointConstraint__operator_20new_28unsigned_20long_29(360 | 0) | 0; btPoint2PointConstraint__btPoint2PointConstraint_28btRigidBody__2c_20btRigidBody__2c_20btVector3_20const__2c_20btVector3_20const__29($12 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = $12; $17 = HEAP32[($6 + 12 | 0) >> 2] | 0; __stack_pointer = $6 + 48 | 0; return $17 | 0; } function btPoint2PointConstraint__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function P2PConstraint_setPivotA_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btPoint2PointConstraint__setPivotA_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btPoint2PointConstraint__setPivotA_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 300 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function P2PConstraint_setPivotB_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btPoint2PointConstraint__setPivotB_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btPoint2PointConstraint__setPivotB_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 316 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function FixedConstraint_new_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $12 = 0, $17 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; HEAP32[($6 + 16 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; $12 = btGeneric6DofSpring2Constraint__operator_20new_28unsigned_20long_29(1460 | 0) | 0; btFixedConstraint__btFixedConstraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__29($12 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = $12; $17 = HEAP32[($6 + 12 | 0) >> 2] | 0; __stack_pointer = $6 + 48 | 0; return $17 | 0; } function btGeneric6DofSpring2Constraint__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function FixedConstraint_setFrames_28int_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function TypedConstraint_setMaxImpulseThreshold_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btTypedConstraint__setBreakingImpulseThreshold_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btTypedConstraint__setBreakingImpulseThreshold_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function Generic6DofSpring2Constraint_new_28int_2c_20int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $13 = 0, $19 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 44 | 0) >> 2] = $0; HEAP32[($7 + 40 | 0) >> 2] = $1; HEAP32[($7 + 36 | 0) >> 2] = $2; HEAP32[($7 + 32 | 0) >> 2] = $3; HEAP32[($7 + 28 | 0) >> 2] = $4; HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($7 + 44 | 0) >> 2] | 0; HEAP32[($7 + 20 | 0) >> 2] = HEAP32[($7 + 40 | 0) >> 2] | 0; HEAP32[($7 + 16 | 0) >> 2] = HEAP32[($7 + 36 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($7 + 32 | 0) >> 2] | 0; $13 = btGeneric6DofSpring2Constraint__operator_20new_28unsigned_20long_29(1460 | 0) | 0; btGeneric6DofSpring2Constraint__btGeneric6DofSpring2Constraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20RotateOrder_29($13 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0) | 0; HEAP32[($7 + 8 | 0) >> 2] = $13; $19 = HEAP32[($7 + 8 | 0) >> 2] | 0; __stack_pointer = $7 + 48 | 0; return $19 | 0; } function Generic6DofSpring2Constraint_setFrames_28int_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function Generic6DofSpring2Constraint_setLimit_28int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAPF32[($6 + 20 | 0) >> 2] = $2; HEAPF32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setLimit_28int_2c_20float_2c_20float_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))); __stack_pointer = $6 + 32 | 0; return; } function btGeneric6DofSpring2Constraint__setLimit_28int_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $7 = 0, $15 = Math_fround(0), $23 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$2 } $15 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($7 + 680 | 0 | 0) | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $15), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $23 = Math_fround(HEAPF32[$6 >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 16 | 0 | 0) | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $23), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$1; } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(HEAPF32[$6 >> 2]))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[(($7 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); } __stack_pointer = $6 + 16 | 0; return; } function btNormalizeAngle_28float_29($0) { $0 = Math_fround($0); var $3 = 0, $24 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAPF32[($3 + 8 | 0) >> 2] = $0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btFmod_28float_2c_20float_29(Math_fround(Math_fround(HEAPF32[($3 + 8 | 0) >> 2])), Math_fround(Math_fround(6.2831854820251465))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) < Math_fround(-3.1415927410125732) & 1 | 0)) { break label$2 } HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) + Math_fround(6.2831854820251465)); break label$1; } label$3 : { if (!(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) > Math_fround(3.1415927410125732) & 1 | 0)) { break label$3 } HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) - Math_fround(6.2831854820251465)); break label$1; } HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(HEAPF32[($3 + 8 | 0) >> 2]); } $24 = Math_fround(HEAPF32[($3 + 12 | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($24); } function Generic6DofSpring2Constraint_enableMotor_28int_2c_20int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__enableMotor_28int_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_setMaxMotorForce_28int_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setMaxMotorForce_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_setTargetVelocity_28int_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setTargetVelocity_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_setServo_28int_2c_20int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setServo_28int_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_setServoTarget_28int_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setServoTarget_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_enableSpring_28int_2c_20int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__enableSpring_28int_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_setStiffness_28int_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setStiffness_28int_2c_20float_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2])), 1 & 1 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_setDamping_28int_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setDamping_28int_2c_20float_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2])), 1 & 1 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_setBounce_28int_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setBounce_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function Generic6DofSpring2Constraint_setEquilibriumPoint_28int_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__setEquilibriumPoint_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function DebugDraw_setDebugMode_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function DebugDraw_getDebugMode_28int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $5 = HEAP32[($3 + 8 | 0) >> 2] | 0; $8 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($5) | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function DebugDraw_setActiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0, $26 = 0; $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAPF32[($6 + 152 | 0) >> 2] = $1; HEAPF32[($6 + 148 | 0) >> 2] = $2; HEAPF32[($6 + 144 | 0) >> 2] = $3; HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); btVector3__setX_28float_29($6 + 12 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); btVector3__setY_28float_29($6 + 12 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); btVector3__setZ_28float_29($6 + 12 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); $26 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($26, $6 + 12 | 0); __stack_pointer = $6 + 160 | 0; return; } function btVector3__setY_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btVector3__setZ_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function DebugDraw_setDeactiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0, $32 = 0; $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAPF32[($6 + 152 | 0) >> 2] = $1; HEAPF32[($6 + 148 | 0) >> 2] = $2; HEAPF32[($6 + 144 | 0) >> 2] = $3; HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); btVector3__setX_28float_29(($6 + 12 | 0) + 16 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); btVector3__setY_28float_29(($6 + 12 | 0) + 16 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); btVector3__setZ_28float_29(($6 + 12 | 0) + 16 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); __stack_pointer = $6 + 160 | 0; return; } function DebugDraw_setWantsDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0, $32 = 0; $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAPF32[($6 + 152 | 0) >> 2] = $1; HEAPF32[($6 + 148 | 0) >> 2] = $2; HEAPF32[($6 + 144 | 0) >> 2] = $3; HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); btVector3__setX_28float_29(($6 + 12 | 0) + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); btVector3__setY_28float_29(($6 + 12 | 0) + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); btVector3__setZ_28float_29(($6 + 12 | 0) + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); __stack_pointer = $6 + 160 | 0; return; } function DebugDraw_setDisabledDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0, $32 = 0; $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAPF32[($6 + 152 | 0) >> 2] = $1; HEAPF32[($6 + 148 | 0) >> 2] = $2; HEAPF32[($6 + 144 | 0) >> 2] = $3; HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); btVector3__setX_28float_29(($6 + 12 | 0) + 48 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); btVector3__setY_28float_29(($6 + 12 | 0) + 48 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); btVector3__setZ_28float_29(($6 + 12 | 0) + 48 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); __stack_pointer = $6 + 160 | 0; return; } function DebugDraw_setDisabledSimulationObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0, $32 = 0; $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAPF32[($6 + 152 | 0) >> 2] = $1; HEAPF32[($6 + 148 | 0) >> 2] = $2; HEAPF32[($6 + 144 | 0) >> 2] = $3; HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); btVector3__setX_28float_29(($6 + 12 | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); btVector3__setY_28float_29(($6 + 12 | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); btVector3__setZ_28float_29(($6 + 12 | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); __stack_pointer = $6 + 160 | 0; return; } function DebugDraw_setAABBColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0, $32 = 0; $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAPF32[($6 + 152 | 0) >> 2] = $1; HEAPF32[($6 + 148 | 0) >> 2] = $2; HEAPF32[($6 + 144 | 0) >> 2] = $3; HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); btVector3__setX_28float_29(($6 + 12 | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); btVector3__setY_28float_29(($6 + 12 | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); btVector3__setZ_28float_29(($6 + 12 | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); __stack_pointer = $6 + 160 | 0; return; } function DebugDraw_setContactPointColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0, $32 = 0; $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAPF32[($6 + 152 | 0) >> 2] = $1; HEAPF32[($6 + 148 | 0) >> 2] = $2; HEAPF32[($6 + 144 | 0) >> 2] = $3; HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); btVector3__setX_28float_29(($6 + 12 | 0) + 96 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); btVector3__setY_28float_29(($6 + 12 | 0) + 96 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); btVector3__setZ_28float_29(($6 + 12 | 0) + 96 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); __stack_pointer = $6 + 160 | 0; return; } function DebugDraw_setConstraintLimitColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0, $32 = 0; $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAPF32[($6 + 152 | 0) >> 2] = $1; HEAPF32[($6 + 148 | 0) >> 2] = $2; HEAPF32[($6 + 144 | 0) >> 2] = $3; HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); btVector3__setX_28float_29(($6 + 12 | 0) + 112 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); btVector3__setY_28float_29(($6 + 12 | 0) + 112 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); btVector3__setZ_28float_29(($6 + 12 | 0) + 112 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); __stack_pointer = $6 + 160 | 0; return; } function _malloc_28int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = dlmalloc(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function _free_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; dlfree(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function _read_f32_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2])); } function _write_f32_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function Vec3_new_28float_2c_20float_2c_20float_29($0, $1, $2) { $0 = Math_fround($0); $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAPF32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $7 = btVector3__operator_20new_28unsigned_20long_29(16 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $7 | 0; } function btVector3__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function Vec3_set_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAPF32[($6 + 24 | 0) >> 2] = $1; HEAPF32[($6 + 20 | 0) >> 2] = $2; HEAPF32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0); __stack_pointer = $6 + 32 | 0; return; } function Vec3_x_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btVector3__x_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function Vec3_y_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btVector3__y_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function Vec3_z_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btVector3__z_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0; } function Quat_new_28float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = Math_fround($0); $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $8 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAPF32[($6 + 12 | 0) >> 2] = $0; HEAPF32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; $8 = operator_20new_28unsigned_20long_29(16 | 0) | 0; btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0, $6 | 0) | 0; __stack_pointer = $6 + 16 | 0; return $8 | 0; } function btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; btQuadWord__btQuadWord_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $7 + 32 | 0; return $8 | 0; } function btQuadWord__btQuadWord_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAPF32[$8 >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 20 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 16 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2]); return $8 | 0; } function Quat_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAPF32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, $7 + 24 | 0 | 0, $7 + 20 | 0 | 0, $7 + 16 | 0 | 0, $7 + 12 | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAPF32[$8 >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 20 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 16 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2]); return; } function Quat_x_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btQuadWord__x_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function Quat_y_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btQuadWord__y_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function Quat_z_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btQuadWord__z_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0; } function Quat_w_28int_29($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btQuadWord__w_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0 | 0; } function Transform_new_28_29() { var $2 = 0, $4 = 0, $6 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; $4 = operator_20new_28unsigned_20long_29(64 | 0) | 0; btTransform__btTransform_28_29($4 | 0) | 0; HEAP32[($2 + 12 | 0) >> 2] = $4; btTransform__setIdentity_28_29(HEAP32[($2 + 12 | 0) >> 2] | 0 | 0); $6 = HEAP32[($2 + 12 | 0) >> 2] | 0; __stack_pointer = $2 + 16 | 0; return $6 | 0; } function btMatrix3x3__btMatrix3x3_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $7 = 0, $8 = 0, $10 = 0, $6 = 0, $16 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; $6 = $4 + 48 | 0; $7 = $4; label$1 : while (1) { $8 = $7; btVector3__btVector3_28_29($8 | 0) | 0; $10 = $8 + 16 | 0; $7 = $10; if (!(($10 | 0) == ($6 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $16 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $16 | 0; } function btMatrix3x3__setIdentity_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 48 | 0; __stack_pointer = $3; HEAP32[($3 + 44 | 0) >> 2] = $0; $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(1.0); btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($4 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0); __stack_pointer = $3 + 48 | 0; return; } function Transform_setIdentity_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btTransform__setIdentity_28_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTransform__setOrigin_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 48 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function Transform_setRotation_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btTransform__setRotation_28btQuaternion_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btTransform__setRotation_28btQuaternion_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btMatrix3x3__setRotation_28btQuaternion_20const__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btMatrix3x3__setRotation_28btQuaternion_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 112 | 0; __stack_pointer = $4; HEAP32[($4 + 108 | 0) >> 2] = $0; HEAP32[($4 + 104 | 0) >> 2] = $1; $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btQuaternion__length2_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(Math_fround(2.0) / Math_fround(HEAPF32[($4 + 100 | 0) >> 2])); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 92 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 84 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 92 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 84 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 84 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 84 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(HEAPF32[($4 + 56 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 48 | 0) >> 2]))); HEAPF32[($4 + 40 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 64 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 72 | 0) >> 2])); HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 76 | 0) >> 2])); HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 64 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 72 | 0) >> 2])); HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(HEAPF32[($4 + 68 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 48 | 0) >> 2]))); HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 80 | 0) >> 2])); HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 60 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 76 | 0) >> 2])); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 80 | 0) >> 2])); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(HEAPF32[($4 + 68 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 56 | 0) >> 2]))); btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($5 | 0, $4 + 44 | 0 | 0, $4 + 40 | 0 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0); __stack_pointer = $4 + 112 | 0; return; } function Transform_getOrigin_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btTransform__getOrigin_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btTransform__getOrigin_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 48 | 0 | 0; } function Transform_getRotation_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $10 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; btMatrix3x3__getRotation_28btQuaternion__29_20const(btTransform__getBasis_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); $10 = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $10 | 0; } function btTransform__getBasis_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btMatrix3x3__getRotation_28btQuaternion__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $86 = 0, $190 = Math_fround(0), $195 = 0, $220 = Math_fround(0), $225 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 64 | 0; __stack_pointer = $4; HEAP32[($4 + 60 | 0) >> 2] = $0; HEAP32[($4 + 56 | 0) >> 2] = $1; $5 = HEAP32[($4 + 60 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) + Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) + Math_fround(1.0)))))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 28 | 0) >> 2]) * Math_fround(.5)); HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(Math_fround(.5) / Math_fround(HEAPF32[($4 + 28 | 0) >> 2])); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; break label$1; } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$4 } $86 = Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) & 1 | 0 ? 2 : 1; break label$3; } $86 = Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) & 1 | 0 ? 2 : 0; } HEAP32[($4 + 24 | 0) >> 2] = $86; HEAP32[($4 + 20 | 0) >> 2] = ((HEAP32[($4 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0; HEAP32[($4 + 16 | 0) >> 2] = ((HEAP32[($4 + 24 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(1.0)))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; HEAPF32[(($4 + 32 | 0) + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) * Math_fround(.5)); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(Math_fround(.5) / Math_fround(HEAPF32[($4 + 12 | 0) >> 2])); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 12 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; $190 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); $195 = btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; HEAPF32[(($4 + 32 | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround($190 + Math_fround(HEAPF32[($195 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 12 | 0) >> 2])); $220 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); $225 = btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; HEAPF32[(($4 + 32 | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround($220 + Math_fround(HEAPF32[($225 + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 12 | 0) >> 2])); } btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, $4 + 32 | 0 | 0, ($4 + 32 | 0) + 4 | 0 | 0, ($4 + 32 | 0) + 8 | 0 | 0, ($4 + 32 | 0) + 12 | 0 | 0); __stack_pointer = $4 + 64 | 0; return; } function btSqrt_28float_29($0) { $0 = Math_fround($0); var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAPF32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(Math_sqrt(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); } function btVector3__operator_20float_20const__28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function Transform_getRotationAndOrigin_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($4 + 28 | 0) >> 2] | 0; HEAP32[($4 + 16 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; btMatrix3x3__getRotation_28btQuaternion__29_20const(btTransform__getBasis_28_29(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTransform__getOrigin_28_29(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $12 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 32 | 0; return $12 | 0; } function Vec3_array_at_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $8 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $8 = btAlignedObjectArray_btVector3___at_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $8 | 0; } function btAlignedObjectArray_btVector3___at_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $14 = 0, $29 = 0, $5 = 0, $40 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } $14 = GOT_data_internal___memory_base; __assert_fail($14 + 85840 | 0 | 0, $14 + 78192 | 0 | 0, 169 | 0, $14 + 68983 | 0 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } $29 = GOT_data_internal___memory_base; __assert_fail($29 + 87321 | 0 | 0, $29 + 78192 | 0 | 0, 170 | 0, $29 + 68983 | 0 | 0); wasm2js_trap(); } $40 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $40 | 0; } function btAlignedObjectArray_btVector3___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function int_array_size_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btAlignedObjectArray_int___size_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btAlignedObjectArray_int___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function int_array_at_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; $9 = HEAP32[(btAlignedObjectArray_int___at_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $9 | 0; } function btAlignedObjectArray_int___at_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $14 = 0, $29 = 0, $5 = 0, $40 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } $14 = GOT_data_internal___memory_base; __assert_fail($14 + 85840 | 0 | 0, $14 + 78192 | 0 | 0, 169 | 0, $14 + 68983 | 0 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } $29 = GOT_data_internal___memory_base; __assert_fail($29 + 87321 | 0 | 0, $29 + 78192 | 0 | 0, 170 | 0, $29 + 68983 | 0 | 0); wasm2js_trap(); } $40 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $40 | 0; } function ccMaterial_new_28_29() { var $2 = Math_fround(0), $1 = 0; $1 = operator_20new_28unsigned_20long_29(16 | 0) | 0; $2 = Math_fround(.10000000149011612); cc__ccMaterial__ccMaterial_28float_2c_20float_2c_20float_2c_20float_29($1 | 0, Math_fround($2), Math_fround(Math_fround(.6000000238418579)), Math_fround($2), Math_fround($2)) | 0; return $1 | 0; } function cc__ccMaterial__ccMaterial_28float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAPF32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAPF32[$8 >> 2] = Math_fround(HEAPF32[($7 + 24 | 0) >> 2]); HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(HEAPF32[($7 + 20 | 0) >> 2]); HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]); HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); return $8 | 0; } function ccMaterial_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAPF32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAPF32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($7 + 24 | 0) >> 2]); HEAPF32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[($7 + 20 | 0) >> 2]); HEAPF32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]); HEAPF32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); return; } function MotionState_getWorldTransform($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $7 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; $7 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($7, HEAP32[$4 >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function MotionState_setWorldTransform($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $7 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; $7 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($7, HEAP32[$4 >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $9 = 0, $12 = 0, $44 = 0, $54 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btMatrix3x3__btMatrix3x3_28btMatrix3x3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; $9 = $6 + 48 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $44 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[i64toi32_i32$0 >> 2] = $44; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $12 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $54 = i64toi32_i32$1; i64toi32_i32$1 = $9 + $12 | 0; HEAP32[i64toi32_i32$1 >> 2] = $54; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btMotionState__btMotionState_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btMotionState + 8 | 0; return $4 | 0; } function btTransform__btTransform_28btTransform_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $13 = 0, $46 = 0, $56 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btMatrix3x3__btMatrix3x3_28btMatrix3x3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; $8 = $5 + 48 | 0; i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $46 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $46; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $56 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $56; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function ccMotionState_setup($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; cc__ccMotionState__setup_28int_2c_20btTransform_20const__29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function cc__ccMotionState__setup_28int_2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29($6 + 8 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return; } function btTransform__operator__28btTransform_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $11 = 0, $13 = 0, $46 = 0, $56 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btMatrix3x3__operator__28btMatrix3x3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; $11 = $5 + 48 | 0; i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $46 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $46; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $56 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $56; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $8 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15 = 0, $18 = 0, $86 = 0, $96 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAPF32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAPF32[$8 >> 2] = Math_fround(HEAPF32[($7 + 24 | 0) >> 2]); HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; btTransform__btTransform_28_29($8 + 8 | 0 | 0) | 0; HEAP32[($8 + 72 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; $15 = $8 + 76 | 0; i64toi32_i32$2 = HEAP32[($7 + 12 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$0; i64toi32_i32$0 = $15; HEAP32[i64toi32_i32$0 >> 2] = $86; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $18 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $18 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$1; i64toi32_i32$1 = $15 + $18 | 0; HEAP32[i64toi32_i32$1 >> 2] = $96; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 100 | 0) >> 2] = Math_fround(.5); HEAPF32[($8 + 104 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 108 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 112 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 116 | 0) >> 2] = Math_fround(.800000011920929); HEAPF32[($8 + 120 | 0) >> 2] = Math_fround(1.0); HEAP8[($8 + 124 | 0) >> 0] = 0; HEAPF32[($8 + 128 | 0) >> 2] = Math_fround(.004999999888241291); HEAPF32[($8 + 132 | 0) >> 2] = Math_fround(.009999999776482582); HEAPF32[($8 + 136 | 0) >> 2] = Math_fround(.009999999776482582); HEAPF32[($8 + 140 | 0) >> 2] = Math_fround(.009999999776482582); btTransform__setIdentity_28_29($8 + 8 | 0 | 0); __stack_pointer = $7 + 32 | 0; return $8 | 0; } function RigidBody_new_28float_2c_20int_29($0, $1) { $0 = Math_fround($0); $1 = $1 | 0; var $4 = 0, $54 = 0, $58 = 0; $4 = __stack_pointer - 208 | 0; __stack_pointer = $4; HEAPF32[($4 + 204 | 0) >> 2] = $0; HEAP32[($4 + 200 | 0) >> 2] = $1; HEAPF32[($4 + 180 | 0) >> 2] = Math_fround(1.6666666269302368); HEAPF32[($4 + 176 | 0) >> 2] = Math_fround(1.6666666269302368); HEAPF32[($4 + 172 | 0) >> 2] = Math_fround(1.6666666269302368); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 184 | 0 | 0, $4 + 180 | 0 | 0, $4 + 176 | 0 | 0, $4 + 172 | 0 | 0) | 0; label$1 : { if (!(Math_fround(HEAPF32[($4 + 204 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($4 + 168 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 164 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 160 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 184 | 0 | 0, $4 + 168 | 0 | 0, $4 + 164 | 0 | 0, $4 + 160 | 0 | 0); } btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29($4 + 16 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 204 | 0) >> 2])), HEAP32[($4 + 200 | 0) >> 2] | 0 | 0, EmptyShape_static_28_29() | 0 | 0, $4 + 184 | 0 | 0) | 0; $54 = btCollisionObject__operator_20new_28unsigned_20long_29(676 | 0) | 0; btRigidBody__btRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($54 | 0, $4 + 16 | 0 | 0) | 0; HEAP32[($4 + 12 | 0) >> 2] = $54; $58 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 208 | 0; return $58 | 0; } function RigidBody_setSleepingThresholds_28int_2c_20float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btRigidBody__setSleepingThresholds_28float_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function btRigidBody__setSleepingThresholds_28float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAPF32[($6 + 532 | 0) >> 2] = Math_fround(HEAPF32[($5 + 8 | 0) >> 2]); HEAPF32[($6 + 536 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); return; } function RigidBody_getLinearSleepingThreshold_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = Math_fround(btRigidBody__getLinearSleepingThreshold_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0)); __stack_pointer = $3 + 16 | 0; return Math_fround($6); } function btRigidBody__getLinearSleepingThreshold_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 532 | 0) >> 2])); } function RigidBody_setDamping_28int_2c_20float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btRigidBody__setDamping_28float_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function RigidBody_setMass_28int_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $23 = 0, $44 = 0, $51 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAPF32[($4 + 40 | 0) >> 2] = $1; HEAP32[($4 + 36 | 0) >> 2] = HEAP32[($4 + 44 | 0) >> 2] | 0; HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(1.6666666269302368); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(1.6666666269302368); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(1.6666666269302368); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getCollisionShape_28_29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $23 = HEAP32[($4 + 4 | 0) >> 2] | 0; label$1 : { if (!(strcmp(FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($23) | 0 | 0, GOT_data_internal___memory_base + 65654 | 0 | 0) | 0)) { break label$1 } label$2 : { label$3 : { if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$3 } HEAP32[$4 >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; label$4 : { if (!((btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { break label$4 } $44 = HEAP32[$4 >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$44 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($44, Math_fround(HEAPF32[($4 + 40 | 0) >> 2]), $4 + 20 | 0); } break label$2; } $51 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$51 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($51, Math_fround(HEAPF32[($4 + 40 | 0) >> 2]), $4 + 20 | 0); } } btRigidBody__setMassProps_28float_2c_20btVector3_20const__29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 40 | 0) >> 2])), $4 + 20 | 0 | 0); __stack_pointer = $4 + 48 | 0; return; } function btRigidBody__getCollisionShape_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0 | 0; } function RigidBody_setMassProps_28int_2c_20float_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAPF32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; btRigidBody__setMassProps_28float_2c_20btVector3_20const__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2])), HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function RigidBody_setLinearFactor_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btRigidBody__setLinearFactor_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__setLinearFactor_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $5 = 0, $8 = 0, $10 = 0, $22 = 0, $24 = 0, $51 = 0, $61 = 0, $81 = 0, $94 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; $8 = $5 + 408 | 0; i64toi32_i32$2 = HEAP32[($4 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $51 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $51; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $61 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $61; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($4 + 8 | 0 | 0, $5 + 408 | 0 | 0, $5 + 404 | 0 | 0); $22 = $5 + 620 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 12 | 0) >> 2] | 0; $81 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $81; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = ($4 + 8 | 0) + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $94 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $94; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 32 | 0; return; } function operator__28btVector3_20const__2c_20float_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function RigidBody_setAngularFactor_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btRigidBody__setAngularFactor_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__setAngularFactor_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $11 = 0, $13 = 0, $42 = 0, $52 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; $11 = $5 + 604 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $42; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $52 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $52; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function RigidBody_getLinearVelocity_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btRigidBody__getLinearVelocity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 372 | 0 | 0; } function RigidBody_getAngularVelocity_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btRigidBody__getAngularVelocity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 388 | 0 | 0; } function RigidBody_setLinearVelocity_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btRigidBody__setLinearVelocity_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__setLinearVelocity_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $11 = 0, $13 = 0, $42 = 0, $52 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; $11 = $5 + 372 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $42; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $52 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $52; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function RigidBody_setAngularVelocity_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btRigidBody__setAngularVelocity_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__setAngularVelocity_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $11 = 0, $13 = 0, $42 = 0, $52 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; $11 = $5 + 388 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $42; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $52 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $52; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function RigidBody_setGravity_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btRigidBody__setGravity_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function RigidBody_applyTorque_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btRigidBody__applyTorque_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__applyTorque_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, $5 + 604 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($5 + 488 | 0 | 0, $4 + 8 | 0 | 0) | 0; __stack_pointer = $4 + 32 | 0; return; } function btVector3__operator___28btVector3_20const__29_1($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) + Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])); return $5 | 0; } function RigidBody_applyForce_28int_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btRigidBody__applyForce_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btRigidBody__applyForce_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $8 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; btRigidBody__applyCentralForce_28btVector3_20const__29($6 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); $8 = HEAP32[($5 + 36 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, $6 + 408 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $8 | 0, $5 + 4 | 0 | 0); btRigidBody__applyTorque_28btVector3_20const__29($6 | 0, $5 + 20 | 0 | 0); __stack_pointer = $5 + 48 | 0; return; } function btRigidBody__applyCentralForce_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, $5 + 408 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($5 + 472 | 0 | 0, $4 + 8 | 0 | 0) | 0; __stack_pointer = $4 + 32 | 0; return; } function btVector3__cross_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])))); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[$6 >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])))); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[$6 >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])))); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btRigidBody__applyTorqueImpulse_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($4 + 8 | 0 | 0, $5 + 324 | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 24 | 0 | 0, $4 + 8 | 0 | 0, $5 + 604 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($5 + 388 | 0 | 0, $4 + 24 | 0 | 0) | 0; __stack_pointer = $4 + 48 | 0; return; } function operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function RigidBody_applyImpulse_28int_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; btRigidBody__applyImpulse_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btRigidBody__applyImpulse_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $23 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; label$1 : { if (!(Math_fround(HEAPF32[($6 + 404 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } btRigidBody__applyCentralImpulse_28btVector3_20const__29($6 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); label$2 : { if (!((btVector3__operator_20float__28_29($6 + 604 | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $23 = HEAP32[($5 + 36 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, $6 + 408 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $23 | 0, $5 + 4 | 0 | 0); btRigidBody__applyTorqueImpulse_28btVector3_20const__29($6 | 0, $5 + 20 | 0 | 0); } } __stack_pointer = $5 + 48 | 0; return; } function btRigidBody__applyCentralImpulse_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 8 | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 408 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($4 + 24 | 0 | 0, $4 + 8 | 0 | 0, $5 + 404 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($5 + 372 | 0 | 0, $4 + 24 | 0 | 0) | 0; __stack_pointer = $4 + 48 | 0; return; } function btRigidBody__getTotalForce_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 472 | 0 | 0; } function btRigidBody__getTotalTorque_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 488 | 0 | 0; } function RigidBody_getFlags_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btRigidBody__getFlags_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btRigidBody__getFlags_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 564 | 0) >> 2] | 0 | 0; } function RigidBody_setFlags_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; btRigidBody__setFlags_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__setFlags_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 564 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function RigidBody_clearForces_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; btRigidBody__clearForces_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btRigidBody__clearForces_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 472 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0); HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 488 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0); __stack_pointer = $3 + 32 | 0; return; } function RigidBody_wantsSleeping_28int_29($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $8 = (btRigidBody__wantsSleeping_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btRigidBody__wantsSleeping_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $60 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { break label$2 } HEAP8[($3 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$3 : { label$4 : { if ((HEAPU8[GOT_data_internal_gDisableDeactivation >> 0] | 0) & 1 | 0) { break label$4 } if (!(Math_fround(HEAPF32[GOT_data_internal_gDeactivationTime >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$3 } } HEAP8[($3 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$5 : { label$6 : { if ((btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) == (2 | 0) & 1 | 0) { break label$6 } if (!((btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) == (3 | 0) & 1 | 0)) { break label$5 } } HEAP8[($3 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } label$7 : { if (!(Math_fround(HEAPF32[($4 + 224 | 0) >> 2]) > Math_fround(HEAPF32[GOT_data_internal_gDeactivationTime >> 2]) & 1 | 0)) { break label$7 } HEAP8[($3 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($3 + 15 | 0) >> 0] = 0 & 1 | 0; } $60 = (HEAPU8[($3 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $60 | 0; } function RigidBody_clearState_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; btRigidBody__clearState_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btRigidBody__clearState_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 64 | 0; __stack_pointer = $3; HEAP32[($3 + 60 | 0) >> 2] = $0; $4 = HEAP32[($3 + 60 | 0) >> 2] | 0; HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 372 | 0 | 0, $3 + 56 | 0 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0); HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 388 | 0 | 0, $3 + 44 | 0 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0); HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 472 | 0 | 0, $3 + 32 | 0 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 488 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0); __stack_pointer = $3 + 64 | 0; return; } function RigidBody_getMotionState_28int_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = btRigidBody__getMotionState_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btRigidBody__getMotionState_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 540 | 0) >> 2] | 0 | 0; } function RigidBody_getWorldTransform_28int_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($4 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getMotionState_28_29(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 12 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; $9 = HEAP32[($4 + 16 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($9, HEAP32[($4 + 12 | 0) >> 2] | 0); __stack_pointer = $4 + 32 | 0; return; } function __cxx_global_var_init_12() { EmBindInit_bullet__EmBindInit_bullet_28_29(GOT_data_internal___memory_base + 113880 | 0 | 0) | 0; return; } function EmBindInit_bullet__EmBindInit_bullet_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; emscripten__internal__InitFunc__InitFunc_28void_20_28__29_28_29_29($4 | 0, GOT_data_internal___table_base + 7 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function embind_init_bullet_28_29() { var $2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $29 = 0, $125 = 0, $105 = 0, $109 = 0, $127 = 0, $129 = 0, $167 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $17 = 0, $18 = 0, $20 = 0, $21 = 0, $23 = 0, $24 = 0, $25 = 0, $1388 = 0, $32 = 0, $33 = 0, $38 = 0, $39 = 0, $40 = 0, $1422 = 0, $1435 = 0, $47 = 0, $48 = 0, $51 = 0, $52 = 0, $53 = 0, $1466 = 0, $1479 = 0, $60 = 0, $61 = 0, $64 = 0, $65 = 0, $66 = 0, $1510 = 0, $73 = 0, $74 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $86 = 0, $87 = 0, $89 = 0, $90 = 0, $92 = 0, $93 = 0, $94 = 0, $101 = 0, $111 = 0, $113 = 0, $114 = 0, $117 = 0, $120 = 0, $130 = 0, $131 = 0, $134 = 0, $137 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $155 = 0, $156 = 0, $158 = 0, $159 = 0, $161 = 0, $162 = 0, $163 = 0, $1782 = 0, $169 = 0, $170 = 0, $175 = 0, $176 = 0, $177 = 0, $1816 = 0, $184 = 0, $185 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $197 = 0, $198 = 0, $200 = 0, $201 = 0, $203 = 0, $204 = 0, $205 = 0, $212 = 0, $218 = 0, $220 = 0, $221 = 0, $224 = 0, $227 = 0, $233 = 0, $234 = 0, $237 = 0, $240 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $258 = 0, $259 = 0, $261 = 0, $262 = 0, $264 = 0, $265 = 0, $266 = 0, $2078 = 0, $271 = 0, $272 = 0, $277 = 0, $278 = 0, $279 = 0, $2112 = 0, $286 = 0, $287 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $299 = 0, $300 = 0, $302 = 0, $303 = 0, $305 = 0, $306 = 0, $307 = 0, $314 = 0, $320 = 0, $322 = 0, $323 = 0, $326 = 0, $329 = 0, $335 = 0, $336 = 0, $340 = 0, $344 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $2 = __stack_pointer - 960 | 0; __stack_pointer = $2; HEAP32[($2 + 356 | 0) >> 2] = $2 + 335 | 0; $6 = GOT_data_internal___memory_base; HEAP32[($2 + 352 | 0) >> 2] = $6 + 67306 | 0; void_20emscripten__internal__NoBaseClass__verify_btDebugDraw__28_29(); HEAP32[($2 + 348 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_btDebugDraw__28btDebugDraw__29; (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_btDebugDraw__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_btDebugDraw__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; HEAP32[($2 + 336 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_btDebugDraw__28btDebugDraw__29; $12 = emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0; $13 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20void___get_28_29() | 0; $14 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDraw_20const__2c_20void___get_28_29() | 0; $15 = emscripten__internal__NoBaseClass__get_28_29() | 0; HEAP32[($2 + 612 | 0) >> 2] = HEAP32[($2 + 348 | 0) >> 2] | 0; $17 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $18 = HEAP32[($2 + 348 | 0) >> 2] | 0; HEAP32[($2 + 636 | 0) >> 2] = HEAP32[($2 + 344 | 0) >> 2] | 0; $20 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; $21 = HEAP32[($2 + 344 | 0) >> 2] | 0; HEAP32[($2 + 632 | 0) >> 2] = HEAP32[($2 + 340 | 0) >> 2] | 0; $23 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; $24 = HEAP32[($2 + 340 | 0) >> 2] | 0; $25 = HEAP32[($2 + 352 | 0) >> 2] | 0; HEAP32[($2 + 640 | 0) >> 2] = HEAP32[($2 + 336 | 0) >> 2] | 0; _embind_register_class($12 | 0, $13 | 0, $14 | 0, $15 | 0, $17 | 0, $18 | 0, $20 | 0, $21 | 0, $23 | 0, $24 | 0, $25 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 336 | 0) >> 2] | 0 | 0); $29 = 1; HEAP32[($2 + 328 | 0) >> 2] = $29; HEAP32[($2 + 324 | 0) >> 2] = 100; i64toi32_i32$0 = HEAP32[($2 + 324 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($2 + 328 | 0) >> 2] | 0; $1388 = i64toi32_i32$0; i64toi32_i32$0 = $2; HEAP32[($2 + 392 | 0) >> 2] = $1388; HEAP32[($2 + 396 | 0) >> 2] = i64toi32_i32$1; $32 = HEAP32[($2 + 392 | 0) >> 2] | 0; $33 = HEAP32[($2 + 396 | 0) >> 2] | 0; HEAP32[($2 + 420 | 0) >> 2] = $2 + 335 | 0; HEAP32[($2 + 416 | 0) >> 2] = $6 + 70055 | 0; HEAP32[($2 + 412 | 0) >> 2] = $33; HEAP32[($2 + 408 | 0) >> 2] = $32; $38 = HEAP32[($2 + 420 | 0) >> 2] | 0; $39 = HEAP32[($2 + 416 | 0) >> 2] | 0; $40 = HEAP32[($2 + 408 | 0) >> 2] | 0; HEAP32[($2 + 404 | 0) >> 2] = HEAP32[($2 + 412 | 0) >> 2] | 0; HEAP32[($2 + 400 | 0) >> 2] = $40; i64toi32_i32$1 = HEAP32[($2 + 400 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($2 + 404 | 0) >> 2] | 0; $1422 = i64toi32_i32$1; i64toi32_i32$1 = $2; HEAP32[($2 + 40 | 0) >> 2] = $1422; HEAP32[($2 + 44 | 0) >> 2] = i64toi32_i32$0; void_20emscripten__internal__RegisterClassMethod_void_20_28btIDebugDraw____29_28_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btIDebugDraw____29_28_29_29($39 | 0, $2 + 40 | 0 | 0); HEAP32[($2 + 320 | 0) >> 2] = $29; HEAP32[($2 + 316 | 0) >> 2] = 104; i64toi32_i32$0 = HEAP32[($2 + 316 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($2 + 320 | 0) >> 2] | 0; $1435 = i64toi32_i32$0; i64toi32_i32$0 = $2; HEAP32[($2 + 360 | 0) >> 2] = $1435; HEAP32[($2 + 364 | 0) >> 2] = i64toi32_i32$1; $47 = HEAP32[($2 + 360 | 0) >> 2] | 0; $48 = HEAP32[($2 + 364 | 0) >> 2] | 0; HEAP32[($2 + 388 | 0) >> 2] = $38; HEAP32[($2 + 384 | 0) >> 2] = $6 + 70066 | 0; HEAP32[($2 + 380 | 0) >> 2] = $48; HEAP32[($2 + 376 | 0) >> 2] = $47; $51 = HEAP32[($2 + 388 | 0) >> 2] | 0; $52 = HEAP32[($2 + 384 | 0) >> 2] | 0; $53 = HEAP32[($2 + 376 | 0) >> 2] | 0; HEAP32[($2 + 372 | 0) >> 2] = HEAP32[($2 + 380 | 0) >> 2] | 0; HEAP32[($2 + 368 | 0) >> 2] = $53; i64toi32_i32$1 = HEAP32[($2 + 368 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($2 + 372 | 0) >> 2] | 0; $1466 = i64toi32_i32$1; i64toi32_i32$1 = $2; HEAP32[($2 + 32 | 0) >> 2] = $1466; HEAP32[($2 + 36 | 0) >> 2] = i64toi32_i32$0; void_20emscripten__internal__RegisterClassMethod_void_20_28btIDebugDraw____29_28_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btIDebugDraw____29_28_29_29($52 | 0, $2 + 32 | 0 | 0); HEAP32[($2 + 312 | 0) >> 2] = $29; HEAP32[($2 + 308 | 0) >> 2] = 108; i64toi32_i32$0 = HEAP32[($2 + 308 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($2 + 312 | 0) >> 2] | 0; $1479 = i64toi32_i32$0; i64toi32_i32$0 = $2; HEAP32[($2 + 424 | 0) >> 2] = $1479; HEAP32[($2 + 428 | 0) >> 2] = i64toi32_i32$1; $60 = HEAP32[($2 + 424 | 0) >> 2] | 0; $61 = HEAP32[($2 + 428 | 0) >> 2] | 0; HEAP32[($2 + 456 | 0) >> 2] = $51; HEAP32[($2 + 452 | 0) >> 2] = $6 + 81794 | 0; HEAP32[($2 + 448 | 0) >> 2] = $61; HEAP32[($2 + 444 | 0) >> 2] = $60; $64 = HEAP32[($2 + 456 | 0) >> 2] | 0; $65 = HEAP32[($2 + 452 | 0) >> 2] | 0; $66 = HEAP32[($2 + 444 | 0) >> 2] | 0; HEAP32[($2 + 440 | 0) >> 2] = HEAP32[($2 + 448 | 0) >> 2] | 0; HEAP32[($2 + 436 | 0) >> 2] = $66; i64toi32_i32$1 = HEAP32[($2 + 436 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($2 + 440 | 0) >> 2] | 0; $1510 = i64toi32_i32$1; i64toi32_i32$1 = $2; HEAP32[($2 + 24 | 0) >> 2] = $1510; HEAP32[($2 + 28 | 0) >> 2] = i64toi32_i32$0; void_20emscripten__internal__RegisterClassMethod_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_29($65 | 0, $2 + 24 | 0 | 0); HEAP32[($2 + 468 | 0) >> 2] = $64; HEAP32[($2 + 464 | 0) >> 2] = $6 + 71171 | 0; $73 = HEAP32[($2 + 468 | 0) >> 2] | 0; $74 = HEAP32[($2 + 464 | 0) >> 2] | 0; HEAP32[($2 + 664 | 0) >> 2] = $2 + 463 | 0; HEAP32[($2 + 660 | 0) >> 2] = $74; void_20emscripten__base_btDebugDraw___verify_btDebugDrawWrapper__28_29(); HEAP32[($2 + 656 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_btDebugDrawWrapper__28btDebugDrawWrapper__29; (wasm2js_i32$0 = $2, wasm2js_i32$1 = btDebugDraw__20_28_emscripten__base_btDebugDraw___getUpcaster_btDebugDrawWrapper__28_29_29_28btDebugDrawWrapper__29() | 0), HEAP32[(wasm2js_i32$0 + 652 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $2, wasm2js_i32$1 = btDebugDrawWrapper__20_28_emscripten__base_btDebugDraw___getDowncaster_btDebugDrawWrapper__28_29_29_28btDebugDraw__29() | 0), HEAP32[(wasm2js_i32$0 + 648 | 0) >> 2] = wasm2js_i32$1; HEAP32[($2 + 644 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_btDebugDrawWrapper__28btDebugDrawWrapper__29; $81 = emscripten__internal__TypeID_btDebugDrawWrapper_2c_20void___get_28_29() | 0; $82 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20void___get_28_29() | 0; $83 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper_20const__2c_20void___get_28_29() | 0; $84 = emscripten__base_btDebugDraw___get_28_29() | 0; HEAP32[($2 + 720 | 0) >> 2] = HEAP32[($2 + 656 | 0) >> 2] | 0; $86 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $87 = HEAP32[($2 + 656 | 0) >> 2] | 0; HEAP32[($2 + 724 | 0) >> 2] = HEAP32[($2 + 652 | 0) >> 2] | 0; $89 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $90 = HEAP32[($2 + 652 | 0) >> 2] | 0; HEAP32[($2 + 728 | 0) >> 2] = HEAP32[($2 + 648 | 0) >> 2] | 0; $92 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $93 = HEAP32[($2 + 648 | 0) >> 2] | 0; $94 = HEAP32[($2 + 660 | 0) >> 2] | 0; HEAP32[($2 + 732 | 0) >> 2] = HEAP32[($2 + 644 | 0) >> 2] | 0; _embind_register_class($81 | 0, $82 | 0, $83 | 0, $84 | 0, $86 | 0, $87 | 0, $89 | 0, $90 | 0, $92 | 0, $93 | 0, $94 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 644 | 0) >> 2] | 0 | 0); $101 = void_20_28_emscripten__select_overload_void_20_28btDebugDrawWrapper__29__28void_20_28__29_28btDebugDrawWrapper__29_29_29_28btDebugDrawWrapper__29(emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29__operator_20void_20_28__29_28btDebugDrawWrapper__29_28_29_20const($2 + 462 | 0 | 0) | 0 | 0) | 0; HEAP32[($2 + 676 | 0) >> 2] = $2 + 463 | 0; $105 = $6 + 76334 | 0; HEAP32[($2 + 672 | 0) >> 2] = $105; HEAP32[($2 + 668 | 0) >> 2] = $101; void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28btDebugDrawWrapper__29___invoke_btDebugDrawWrapper__28char_20const__2c_20void_20_28__29_28btDebugDrawWrapper__29_29(HEAP32[($2 + 672 | 0) >> 2] | 0 | 0, HEAP32[($2 + 668 | 0) >> 2] | 0 | 0); HEAP32[($2 + 696 | 0) >> 2] = $73; $109 = $6 + 67879 | 0; HEAP32[($2 + 692 | 0) >> 2] = $109; HEAP32[($2 + 688 | 0) >> 2] = GOT_func_internal_btDebugDrawWrapper__20emscripten__internal__wrapped_new_btDebugDrawWrapper__2c_20btDebugDrawWrapper_2c_20emscripten__val__28emscripten__val___29; $111 = HEAP32[($2 + 696 | 0) >> 2] | 0; HEAP32[($2 + 680 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_btDebugDrawWrapper__2c_20emscripten__val_____invoke_28btDebugDrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29; $113 = emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0; $114 = HEAP32[($2 + 692 | 0) >> 2] | 0; $117 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btDebugDrawWrapper__2c_20emscripten__val_____getCount_28_29_20const($2 + 687 | 0 | 0) | 0; $120 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btDebugDrawWrapper__2c_20emscripten__val_____getTypes_28_29_20const($2 + 687 | 0 | 0) | 0; HEAP32[($2 + 736 | 0) >> 2] = HEAP32[($2 + 680 | 0) >> 2] | 0; $125 = 0; _embind_register_class_class_function($113 | 0, $114 | 0, $117 | 0, $120 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 680 | 0) >> 2] | 0 | 0, HEAP32[($2 + 688 | 0) >> 2] | 0 | 0, $125 | 0); HEAP32[($2 + 716 | 0) >> 2] = $111; $127 = $6 + 82233 | 0; HEAP32[($2 + 712 | 0) >> 2] = $127; HEAP32[($2 + 708 | 0) >> 2] = GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_btDebugDrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29; $129 = GOT_func_internal_emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29; HEAP32[($2 + 700 | 0) >> 2] = $129; $130 = emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0; $131 = HEAP32[($2 + 712 | 0) >> 2] | 0; $134 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($2 + 707 | 0 | 0) | 0; $137 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($2 + 707 | 0 | 0) | 0; HEAP32[($2 + 740 | 0) >> 2] = HEAP32[($2 + 700 | 0) >> 2] | 0; _embind_register_class_class_function($130 | 0, $131 | 0, $134 | 0, $137 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 700 | 0) >> 2] | 0 | 0, HEAP32[($2 + 708 | 0) >> 2] | 0 | 0, $125 | 0); HEAP32[($2 + 492 | 0) >> 2] = $2 + 306 | 0; HEAP32[($2 + 488 | 0) >> 2] = $6 + 67478 | 0; void_20emscripten__internal__NoBaseClass__verify_btControllerHitReport__28_29(); HEAP32[($2 + 484 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_btControllerHitReport__28btControllerHitReport__29; (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_btControllerHitReport__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 480 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_btControllerHitReport__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 476 | 0) >> 2] = wasm2js_i32$1; HEAP32[($2 + 472 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_btControllerHitReport__28btControllerHitReport__29; $150 = emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0; $151 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20void___get_28_29() | 0; $152 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReport_20const__2c_20void___get_28_29() | 0; $153 = emscripten__internal__NoBaseClass__get_28_29() | 0; HEAP32[($2 + 744 | 0) >> 2] = HEAP32[($2 + 484 | 0) >> 2] | 0; $155 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $156 = HEAP32[($2 + 484 | 0) >> 2] | 0; HEAP32[($2 + 628 | 0) >> 2] = HEAP32[($2 + 480 | 0) >> 2] | 0; $158 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; $159 = HEAP32[($2 + 480 | 0) >> 2] | 0; HEAP32[($2 + 624 | 0) >> 2] = HEAP32[($2 + 476 | 0) >> 2] | 0; $161 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; $162 = HEAP32[($2 + 476 | 0) >> 2] | 0; $163 = HEAP32[($2 + 488 | 0) >> 2] | 0; HEAP32[($2 + 748 | 0) >> 2] = HEAP32[($2 + 472 | 0) >> 2] | 0; _embind_register_class($150 | 0, $151 | 0, $152 | 0, $153 | 0, $155 | 0, $156 | 0, $158 | 0, $159 | 0, $161 | 0, $162 | 0, $163 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 472 | 0) >> 2] | 0 | 0); HEAP32[($2 + 300 | 0) >> 2] = $29; $167 = 16; HEAP32[($2 + 296 | 0) >> 2] = $167; i64toi32_i32$0 = HEAP32[($2 + 296 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($2 + 300 | 0) >> 2] | 0; $1782 = i64toi32_i32$0; i64toi32_i32$0 = $2; HEAP32[($2 + 496 | 0) >> 2] = $1782; HEAP32[($2 + 500 | 0) >> 2] = i64toi32_i32$1; $169 = HEAP32[($2 + 496 | 0) >> 2] | 0; $170 = HEAP32[($2 + 500 | 0) >> 2] | 0; HEAP32[($2 + 528 | 0) >> 2] = $2 + 306 | 0; HEAP32[($2 + 524 | 0) >> 2] = $6 + 67323 | 0; HEAP32[($2 + 520 | 0) >> 2] = $170; HEAP32[($2 + 516 | 0) >> 2] = $169; $175 = HEAP32[($2 + 528 | 0) >> 2] | 0; $176 = HEAP32[($2 + 524 | 0) >> 2] | 0; $177 = HEAP32[($2 + 516 | 0) >> 2] | 0; HEAP32[($2 + 512 | 0) >> 2] = HEAP32[($2 + 520 | 0) >> 2] | 0; HEAP32[($2 + 508 | 0) >> 2] = $177; i64toi32_i32$1 = HEAP32[($2 + 508 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($2 + 512 | 0) >> 2] | 0; $1816 = i64toi32_i32$1; i64toi32_i32$1 = $2; HEAP32[($2 + 16 | 0) >> 2] = $1816; HEAP32[($2 + 20 | 0) >> 2] = i64toi32_i32$0; void_20emscripten__internal__RegisterClassMethod_void_20_28btControllerHitReport____29_28int_2c_20int_29___invoke_btControllerHitReport__28char_20const__2c_20void_20_28btControllerHitReport____29_28int_2c_20int_29_29($176 | 0, $2 + 16 | 0 | 0); HEAP32[($2 + 540 | 0) >> 2] = $175; HEAP32[($2 + 536 | 0) >> 2] = $6 + 71183 | 0; $184 = HEAP32[($2 + 540 | 0) >> 2] | 0; $185 = HEAP32[($2 + 536 | 0) >> 2] | 0; HEAP32[($2 + 772 | 0) >> 2] = $2 + 535 | 0; HEAP32[($2 + 768 | 0) >> 2] = $185; void_20emscripten__base_btControllerHitReport___verify_btControllerHitReportWrapper__28_29(); HEAP32[($2 + 764 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_btControllerHitReportWrapper__28btControllerHitReportWrapper__29; (wasm2js_i32$0 = $2, wasm2js_i32$1 = btControllerHitReport__20_28_emscripten__base_btControllerHitReport___getUpcaster_btControllerHitReportWrapper__28_29_29_28btControllerHitReportWrapper__29() | 0), HEAP32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $2, wasm2js_i32$1 = btControllerHitReportWrapper__20_28_emscripten__base_btControllerHitReport___getDowncaster_btControllerHitReportWrapper__28_29_29_28btControllerHitReport__29() | 0), HEAP32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_i32$1; HEAP32[($2 + 752 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_btControllerHitReportWrapper__28btControllerHitReportWrapper__29; $192 = emscripten__internal__TypeID_btControllerHitReportWrapper_2c_20void___get_28_29() | 0; $193 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20void___get_28_29() | 0; $194 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper_20const__2c_20void___get_28_29() | 0; $195 = emscripten__base_btControllerHitReport___get_28_29() | 0; HEAP32[($2 + 832 | 0) >> 2] = HEAP32[($2 + 764 | 0) >> 2] | 0; $197 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $198 = HEAP32[($2 + 764 | 0) >> 2] | 0; HEAP32[($2 + 836 | 0) >> 2] = HEAP32[($2 + 760 | 0) >> 2] | 0; $200 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $201 = HEAP32[($2 + 760 | 0) >> 2] | 0; HEAP32[($2 + 840 | 0) >> 2] = HEAP32[($2 + 756 | 0) >> 2] | 0; $203 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $204 = HEAP32[($2 + 756 | 0) >> 2] | 0; $205 = HEAP32[($2 + 768 | 0) >> 2] | 0; HEAP32[($2 + 844 | 0) >> 2] = HEAP32[($2 + 752 | 0) >> 2] | 0; _embind_register_class($192 | 0, $193 | 0, $194 | 0, $195 | 0, $197 | 0, $198 | 0, $200 | 0, $201 | 0, $203 | 0, $204 | 0, $205 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 752 | 0) >> 2] | 0 | 0); $212 = void_20_28_emscripten__select_overload_void_20_28btControllerHitReportWrapper__29__28void_20_28__29_28btControllerHitReportWrapper__29_29_29_28btControllerHitReportWrapper__29(emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29__operator_20void_20_28__29_28btControllerHitReportWrapper__29_28_29_20const($2 + 534 | 0 | 0) | 0 | 0) | 0; HEAP32[($2 + 784 | 0) >> 2] = $2 + 535 | 0; HEAP32[($2 + 780 | 0) >> 2] = $105; HEAP32[($2 + 776 | 0) >> 2] = $212; void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28btControllerHitReportWrapper__29___invoke_btControllerHitReportWrapper__28char_20const__2c_20void_20_28__29_28btControllerHitReportWrapper__29_29(HEAP32[($2 + 780 | 0) >> 2] | 0 | 0, HEAP32[($2 + 776 | 0) >> 2] | 0 | 0); HEAP32[($2 + 804 | 0) >> 2] = $184; HEAP32[($2 + 800 | 0) >> 2] = $109; HEAP32[($2 + 796 | 0) >> 2] = GOT_func_internal_btControllerHitReportWrapper__20emscripten__internal__wrapped_new_btControllerHitReportWrapper__2c_20btControllerHitReportWrapper_2c_20emscripten__val__28emscripten__val___29; $218 = HEAP32[($2 + 804 | 0) >> 2] | 0; HEAP32[($2 + 788 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_btControllerHitReportWrapper__2c_20emscripten__val_____invoke_28btControllerHitReportWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29; $220 = emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0; $221 = HEAP32[($2 + 800 | 0) >> 2] | 0; $224 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btControllerHitReportWrapper__2c_20emscripten__val_____getCount_28_29_20const($2 + 795 | 0 | 0) | 0; $227 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btControllerHitReportWrapper__2c_20emscripten__val_____getTypes_28_29_20const($2 + 795 | 0 | 0) | 0; HEAP32[($2 + 848 | 0) >> 2] = HEAP32[($2 + 788 | 0) >> 2] | 0; _embind_register_class_class_function($220 | 0, $221 | 0, $224 | 0, $227 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 788 | 0) >> 2] | 0 | 0, HEAP32[($2 + 796 | 0) >> 2] | 0 | 0, $125 | 0); HEAP32[($2 + 824 | 0) >> 2] = $218; HEAP32[($2 + 820 | 0) >> 2] = $127; HEAP32[($2 + 816 | 0) >> 2] = GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_btControllerHitReportWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29; HEAP32[($2 + 808 | 0) >> 2] = $129; $233 = emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0; $234 = HEAP32[($2 + 820 | 0) >> 2] | 0; $237 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($2 + 815 | 0 | 0) | 0; $240 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($2 + 815 | 0 | 0) | 0; HEAP32[($2 + 828 | 0) >> 2] = HEAP32[($2 + 808 | 0) >> 2] | 0; _embind_register_class_class_function($233 | 0, $234 | 0, $237 | 0, $240 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 808 | 0) >> 2] | 0 | 0, HEAP32[($2 + 816 | 0) >> 2] | 0 | 0, $125 | 0); HEAP32[($2 + 564 | 0) >> 2] = $2 + 294 | 0; HEAP32[($2 + 560 | 0) >> 2] = $6 + 81279 | 0; void_20emscripten__internal__NoBaseClass__verify_cc__ccMotionState__28_29(); HEAP32[($2 + 556 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_cc__ccMotionState__28cc__ccMotionState__29; (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_cc__ccMotionState__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_cc__ccMotionState__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 548 | 0) >> 2] = wasm2js_i32$1; HEAP32[($2 + 544 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_cc__ccMotionState__28cc__ccMotionState__29; $253 = emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0; $254 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20void___get_28_29() | 0; $255 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_cc__ccMotionState_20const__2c_20void___get_28_29() | 0; $256 = emscripten__internal__NoBaseClass__get_28_29() | 0; HEAP32[($2 + 852 | 0) >> 2] = HEAP32[($2 + 556 | 0) >> 2] | 0; $258 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $259 = HEAP32[($2 + 556 | 0) >> 2] | 0; HEAP32[($2 + 620 | 0) >> 2] = HEAP32[($2 + 552 | 0) >> 2] | 0; $261 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; $262 = HEAP32[($2 + 552 | 0) >> 2] | 0; HEAP32[($2 + 616 | 0) >> 2] = HEAP32[($2 + 548 | 0) >> 2] | 0; $264 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; $265 = HEAP32[($2 + 548 | 0) >> 2] | 0; $266 = HEAP32[($2 + 560 | 0) >> 2] | 0; HEAP32[($2 + 856 | 0) >> 2] = HEAP32[($2 + 544 | 0) >> 2] | 0; _embind_register_class($253 | 0, $254 | 0, $255 | 0, $256 | 0, $258 | 0, $259 | 0, $261 | 0, $262 | 0, $264 | 0, $265 | 0, $266 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 544 | 0) >> 2] | 0 | 0); HEAP32[($2 + 288 | 0) >> 2] = $29; HEAP32[($2 + 284 | 0) >> 2] = $167; i64toi32_i32$0 = HEAP32[($2 + 284 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($2 + 288 | 0) >> 2] | 0; $2078 = i64toi32_i32$0; i64toi32_i32$0 = $2; HEAP32[($2 + 568 | 0) >> 2] = $2078; HEAP32[($2 + 572 | 0) >> 2] = i64toi32_i32$1; $271 = HEAP32[($2 + 568 | 0) >> 2] | 0; $272 = HEAP32[($2 + 572 | 0) >> 2] | 0; HEAP32[($2 + 596 | 0) >> 2] = $2 + 294 | 0; HEAP32[($2 + 592 | 0) >> 2] = $6 + 70462 | 0; HEAP32[($2 + 588 | 0) >> 2] = $272; HEAP32[($2 + 584 | 0) >> 2] = $271; $277 = HEAP32[($2 + 596 | 0) >> 2] | 0; $278 = HEAP32[($2 + 592 | 0) >> 2] | 0; $279 = HEAP32[($2 + 584 | 0) >> 2] | 0; HEAP32[($2 + 580 | 0) >> 2] = HEAP32[($2 + 588 | 0) >> 2] | 0; HEAP32[($2 + 576 | 0) >> 2] = $279; i64toi32_i32$1 = HEAP32[($2 + 576 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($2 + 580 | 0) >> 2] | 0; $2112 = i64toi32_i32$1; i64toi32_i32$1 = $2; HEAP32[($2 + 8 | 0) >> 2] = $2112; HEAP32[($2 + 12 | 0) >> 2] = i64toi32_i32$0; void_20emscripten__internal__RegisterClassMethod_void_20_28cc__ccMotionState____29_28int_29___invoke_cc__ccMotionState__28char_20const__2c_20void_20_28cc__ccMotionState____29_28int_29_29($278 | 0, $2 + 8 | 0 | 0); HEAP32[($2 + 608 | 0) >> 2] = $277; HEAP32[($2 + 604 | 0) >> 2] = $6 + 71210 | 0; $286 = HEAP32[($2 + 608 | 0) >> 2] | 0; $287 = HEAP32[($2 + 604 | 0) >> 2] | 0; HEAP32[($2 + 880 | 0) >> 2] = $2 + 603 | 0; HEAP32[($2 + 876 | 0) >> 2] = $287; void_20emscripten__base_cc__ccMotionState___verify_ccMotionStateWrapper__28_29(); HEAP32[($2 + 872 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_ccMotionStateWrapper__28ccMotionStateWrapper__29; (wasm2js_i32$0 = $2, wasm2js_i32$1 = cc__ccMotionState__20_28_emscripten__base_cc__ccMotionState___getUpcaster_ccMotionStateWrapper__28_29_29_28ccMotionStateWrapper__29() | 0), HEAP32[(wasm2js_i32$0 + 868 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $2, wasm2js_i32$1 = ccMotionStateWrapper__20_28_emscripten__base_cc__ccMotionState___getDowncaster_ccMotionStateWrapper__28_29_29_28cc__ccMotionState__29() | 0), HEAP32[(wasm2js_i32$0 + 864 | 0) >> 2] = wasm2js_i32$1; HEAP32[($2 + 860 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_ccMotionStateWrapper__28ccMotionStateWrapper__29; $294 = emscripten__internal__TypeID_ccMotionStateWrapper_2c_20void___get_28_29() | 0; $295 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20void___get_28_29() | 0; $296 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper_20const__2c_20void___get_28_29() | 0; $297 = emscripten__base_cc__ccMotionState___get_28_29() | 0; HEAP32[($2 + 940 | 0) >> 2] = HEAP32[($2 + 872 | 0) >> 2] | 0; $299 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $300 = HEAP32[($2 + 872 | 0) >> 2] | 0; HEAP32[($2 + 944 | 0) >> 2] = HEAP32[($2 + 868 | 0) >> 2] | 0; $302 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $303 = HEAP32[($2 + 868 | 0) >> 2] | 0; HEAP32[($2 + 948 | 0) >> 2] = HEAP32[($2 + 864 | 0) >> 2] | 0; $305 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; $306 = HEAP32[($2 + 864 | 0) >> 2] | 0; $307 = HEAP32[($2 + 876 | 0) >> 2] | 0; HEAP32[($2 + 952 | 0) >> 2] = HEAP32[($2 + 860 | 0) >> 2] | 0; _embind_register_class($294 | 0, $295 | 0, $296 | 0, $297 | 0, $299 | 0, $300 | 0, $302 | 0, $303 | 0, $305 | 0, $306 | 0, $307 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 860 | 0) >> 2] | 0 | 0); $314 = void_20_28_emscripten__select_overload_void_20_28ccMotionStateWrapper__29__28void_20_28__29_28ccMotionStateWrapper__29_29_29_28ccMotionStateWrapper__29(emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29__operator_20void_20_28__29_28ccMotionStateWrapper__29_28_29_20const($2 + 602 | 0 | 0) | 0 | 0) | 0; HEAP32[($2 + 892 | 0) >> 2] = $2 + 603 | 0; HEAP32[($2 + 888 | 0) >> 2] = $105; HEAP32[($2 + 884 | 0) >> 2] = $314; void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28ccMotionStateWrapper__29___invoke_ccMotionStateWrapper__28char_20const__2c_20void_20_28__29_28ccMotionStateWrapper__29_29(HEAP32[($2 + 888 | 0) >> 2] | 0 | 0, HEAP32[($2 + 884 | 0) >> 2] | 0 | 0); HEAP32[($2 + 912 | 0) >> 2] = $286; HEAP32[($2 + 908 | 0) >> 2] = $109; HEAP32[($2 + 904 | 0) >> 2] = GOT_func_internal_ccMotionStateWrapper__20emscripten__internal__wrapped_new_ccMotionStateWrapper__2c_20ccMotionStateWrapper_2c_20emscripten__val__28emscripten__val___29; $320 = HEAP32[($2 + 912 | 0) >> 2] | 0; HEAP32[($2 + 896 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_ccMotionStateWrapper__2c_20emscripten__val_____invoke_28ccMotionStateWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29; $322 = emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0; $323 = HEAP32[($2 + 908 | 0) >> 2] | 0; $326 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_ccMotionStateWrapper__2c_20emscripten__val_____getCount_28_29_20const($2 + 903 | 0 | 0) | 0; $329 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_ccMotionStateWrapper__2c_20emscripten__val_____getTypes_28_29_20const($2 + 903 | 0 | 0) | 0; HEAP32[($2 + 956 | 0) >> 2] = HEAP32[($2 + 896 | 0) >> 2] | 0; _embind_register_class_class_function($322 | 0, $323 | 0, $326 | 0, $329 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 896 | 0) >> 2] | 0 | 0, HEAP32[($2 + 904 | 0) >> 2] | 0 | 0, $125 | 0); HEAP32[($2 + 932 | 0) >> 2] = $320; HEAP32[($2 + 928 | 0) >> 2] = $127; HEAP32[($2 + 924 | 0) >> 2] = GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_ccMotionStateWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29; HEAP32[($2 + 916 | 0) >> 2] = $129; $335 = emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0; $336 = HEAP32[($2 + 928 | 0) >> 2] | 0; $340 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($2 + 923 | 0 | 0) | 0; $344 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($2 + 923 | 0 | 0) | 0; HEAP32[($2 + 936 | 0) >> 2] = HEAP32[($2 + 916 | 0) >> 2] | 0; _embind_register_class_class_function($335 | 0, $336 | 0, $340 | 0, $344 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 916 | 0) >> 2] | 0 | 0, HEAP32[($2 + 924 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); void_20emscripten__function_int_2c_20int__28char_20const__2c_20int_20_28__29_28int_29_29(GOT_data_internal___memory_base + 82822 | 0 | 0, GOT_func_internal__malloc_28int_29 | 0); void_20emscripten__function_void_2c_20int__28char_20const__2c_20void_20_28__29_28int_29_29(GOT_data_internal___memory_base + 81920 | 0 | 0, GOT_func_internal__free_28int_29 | 0); void_20emscripten__function_float_2c_20int__28char_20const__2c_20float_20_28__29_28int_29_29(GOT_data_internal___memory_base + 85454 | 0 | 0, GOT_func_internal__read_f32_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_29(GOT_data_internal___memory_base + 85443 | 0 | 0, GOT_func_internal__write_f32_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_29(GOT_data_internal___memory_base + 81178 | 0 | 0, GOT_func_internal__safe_delete_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67297 | 0 | 0, GOT_func_internal_Vec3_new_28float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66636 | 0 | 0, GOT_func_internal_Vec3_x_28int_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66255 | 0 | 0, GOT_func_internal_Vec3_y_28int_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65543 | 0 | 0, GOT_func_internal_Vec3_z_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68428 | 0 | 0, GOT_func_internal_Vec3_set_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66797 | 0 | 0, GOT_func_internal_Quat_new_28float_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66629 | 0 | 0, GOT_func_internal_Quat_x_28int_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66248 | 0 | 0, GOT_func_internal_Quat_y_28int_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65536 | 0 | 0, GOT_func_internal_Quat_z_28int_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67316 | 0 | 0, GOT_func_internal_Quat_w_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68404 | 0 | 0, GOT_func_internal_Quat_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66926 | 0 | 0, GOT_func_internal_Transform_new_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65706 | 0 | 0, GOT_func_internal_Transform_setIdentity_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76623 | 0 | 0, GOT_func_internal_Transform_setRotation_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76952 | 0 | 0, GOT_func_internal_Transform_getOrigin_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76645 | 0 | 0, GOT_func_internal_Transform_getRotation_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76972 | 0 | 0, GOT_func_internal_Transform_getRotationAndOrigin_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77099 | 0 | 0, GOT_func_internal_MotionState_getWorldTransform | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77007 | 0 | 0, GOT_func_internal_MotionState_setWorldTransform | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 71265 | 0 | 0, GOT_func_internal_ccMotionState_setup | 0); void_20emscripten__function_int_2c_20int__28char_20const__2c_20int_20_28__29_28int_29_29(GOT_data_internal___memory_base + 80799 | 0 | 0, GOT_func_internal_int_array_size_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_29(GOT_data_internal___memory_base + 68959 | 0 | 0, GOT_func_internal_int_array_at_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_29(GOT_data_internal___memory_base + 68972 | 0 | 0, GOT_func_internal_Vec3_array_at_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66154 | 0 | 0, GOT_func_internal_TypedConstraint_getFixedBody_28_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80876 | 0 | 0, GOT_func_internal_TypedConstraint_getDbgDrawSize_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80845 | 0 | 0, GOT_func_internal_TypedConstraint_setDbgDrawSize_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82695 | 0 | 0, GOT_func_internal_TypedConstraint_setMaxImpulseThreshold_28int_2c_20float_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66686 | 0 | 0, GOT_func_internal_HingeConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70077 | 0 | 0, GOT_func_internal_HingeConstraint_setFrames_28int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67939 | 0 | 0, GOT_func_internal_HingeConstraint_setLimit_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70597 | 0 | 0, GOT_func_internal_HingeConstraint_enableMotor_28int_2c_20bool_29 | 0); void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65988 | 0 | 0, GOT_func_internal_HingeConstraint_setAngularOnly_28int_2c_20bool_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81452 | 0 | 0, GOT_func_internal_HingeConstraint_setMaxMotorImpulse_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68548 | 0 | 0, GOT_func_internal_HingeConstraint_setMotorTarget_28int_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65775 | 0 | 0, GOT_func_internal_HingeConstraint_setMotorVelocity_28int_2c_20float_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66726 | 0 | 0, GOT_func_internal_P2PConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84571 | 0 | 0, GOT_func_internal_P2PConstraint_setPivotA_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84443 | 0 | 0, GOT_func_internal_P2PConstraint_setPivotB_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66706 | 0 | 0, GOT_func_internal_FixedConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70103 | 0 | 0, GOT_func_internal_FixedConstraint_setFrames_28int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66744 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_new_28int_2c_20int_2c_20int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70129 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setFrames_28int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67964 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setLimit_28int_2c_20int_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80563 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_enableSpring_28int_2c_20int_2c_20bool_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69315 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setStiffness_28int_2c_20int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80646 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setDamping_28int_2c_20int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82138 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setBounce_28int_2c_20int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67656 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setEquilibriumPoint_28int_2c_20int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70625 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_enableMotor_28int_2c_20int_2c_20bool_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82092 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setMaxMotorForce_28int_2c_20int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65728 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setTargetVelocity_28int_2c_20int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76151 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setServo_28int_2c_20int_2c_20bool_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68579 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setServoTarget_28int_2c_20int_2c_20float_29 | 0); void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82187 | 0 | 0, GOT_func_internal_CollisionShape_isCompound_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80737 | 0 | 0, GOT_func_internal_CollisionShape_setLocalScaling_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 83768 | 0 | 0, GOT_func_internal_CollisionShape_calculateLocalInertia_28int_2c_20float_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 83038 | 0 | 0, GOT_func_internal_CollisionShape_getAabb_28int_2c_20int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76927 | 0 | 0, GOT_func_internal_CollisionShape_setMargin_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77625 | 0 | 0, GOT_func_internal_CollisionShape_setMaterial_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 71141 | 0 | 0, GOT_func_internal_CollisionShape_setUserPointer_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82977 | 0 | 0, GOT_func_internal_EmptyShape_static_28_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69726 | 0 | 0, GOT_func_internal_ConvexInternalShape_getImplicitShapeDimensions_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66991 | 0 | 0, GOT_func_internal_BoxShape_new_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69207 | 0 | 0, GOT_func_internal_BoxShape_setUnscaledHalfExtents_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67115 | 0 | 0, GOT_func_internal_SphereShape_new_28float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69116 | 0 | 0, GOT_func_internal_SphereShape_setUnscaledRadius_28int_2c_20float_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67021 | 0 | 0, GOT_func_internal_CylinderShape_new_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76029 | 0 | 0, GOT_func_internal_CylinderShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29 | 0); void_20emscripten__function_int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67166 | 0 | 0, GOT_func_internal_CapsuleShape_new_28float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76054 | 0 | 0, GOT_func_internal_CapsuleShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29 | 0); void_20emscripten__function_int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67131 | 0 | 0, GOT_func_internal_ConeShape_new_28float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69056 | 0 | 0, GOT_func_internal_ConeShape_setRadius_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68137 | 0 | 0, GOT_func_internal_ConeShape_setHeight_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66485 | 0 | 0, GOT_func_internal_ConeShape_setConeUpIndex_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67145 | 0 | 0, GOT_func_internal_StaticPlaneShape_new_28int_2c_20float_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77533 | 0 | 0, GOT_func_internal_StaticPlaneShape_getPlaneNormal_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67889 | 0 | 0, GOT_func_internal_StaticPlaneShape_setPlaneConstant_28int_2c_20float_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67039 | 0 | 0, GOT_func_internal_TerrainShape_new_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66955 | 0 | 0, GOT_func_internal_TriangleMesh_new_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81861 | 0 | 0, GOT_func_internal_TriangleMesh_addTriangle_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29 | 0); void_20emscripten__function_int_2c_20int_2c_20bool_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67090 | 0 | 0, GOT_func_internal_BvhTriangleMeshShape_new_28int_2c_20bool_2c_20bool_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77809 | 0 | 0, GOT_func_internal_BvhTriangleMeshShape_getOptimizedBvh_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77772 | 0 | 0, GOT_func_internal_BvhTriangleMeshShape_setOptimizedBvh_28int_2c_20int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67084 | 0 | 0, GOT_func_internal_ScaledBvhTriangleMeshShape_new_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67056 | 0 | 0, GOT_func_internal_ConvexTriangleMeshShape_new_28int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67004 | 0 | 0, GOT_func_internal_SimplexShape_new_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66289 | 0 | 0, GOT_func_internal_SimplexShape_addVertex_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67183 | 0 | 0, GOT_func_internal_ccCompoundShape_new_28_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70023 | 0 | 0, GOT_func_internal_CompoundShape_getNumChildShapes_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81761 | 0 | 0, GOT_func_internal_CompoundShape_addChildShape_28int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81684 | 0 | 0, GOT_func_internal_CompoundShape_getChildShape_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81730 | 0 | 0, GOT_func_internal_CompoundShape_removeChildShape_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77129 | 0 | 0, GOT_func_internal_CompoundShape_updateChildTransform_28int_2c_20int_2c_20int_2c_20bool_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66777 | 0 | 0, GOT_func_internal_CollisionObject_new_28_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81583 | 0 | 0, GOT_func_internal_CollisionObject_getCollisionShape_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81549 | 0 | 0, GOT_func_internal_CollisionObject_setCollisionShape_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82612 | 0 | 0, GOT_func_internal_CollisionObject_setContactProcessingThreshold_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80710 | 0 | 0, GOT_func_internal_CollisionObject_isSleeping_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81291 | 0 | 0, GOT_func_internal_CollisionObject_getActivationState_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81348 | 0 | 0, GOT_func_internal_CollisionObject_forceActivationState_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81191 | 0 | 0, GOT_func_internal_CollisionObject_activate_28int_2c_20bool_29 | 0); void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81078 | 0 | 0, GOT_func_internal_CollisionObject_isActive_28int_29 | 0); void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68855 | 0 | 0, GOT_func_internal_CollisionObject_isKinematicObject_28int_29 | 0); void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68824 | 0 | 0, GOT_func_internal_CollisionObject_isStaticObject_28int_29 | 0); void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68889 | 0 | 0, GOT_func_internal_CollisionObject_isStaticOrKinematicObject_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77065 | 0 | 0, GOT_func_internal_CollisionObject_getWorldTransform_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69926 | 0 | 0, GOT_func_internal_CollisionObject_setCollisionFlags_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69960 | 0 | 0, GOT_func_internal_CollisionObject_getCollisionFlags_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82574 | 0 | 0, GOT_func_internal_CollisionObject_setCcdMotionThreshold_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69076 | 0 | 0, GOT_func_internal_CollisionObject_setCcdSweptSphereRadius_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66427 | 0 | 0, GOT_func_internal_CollisionObject_setUserIndex_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66456 | 0 | 0, GOT_func_internal_CollisionObject_getUserIndex_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77597 | 0 | 0, GOT_func_internal_CollisionObject_setMaterial_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77671 | 0 | 0, GOT_func_internal_CollisionObject_setIgnoreCollisionCheck_28int_2c_20int_2c_20bool_29 | 0); void_20emscripten__function_int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66672 | 0 | 0, GOT_func_internal_RigidBody_new_28float_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69907 | 0 | 0, GOT_func_internal_RigidBody_getFlags_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69832 | 0 | 0, GOT_func_internal_RigidBody_setFlags_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65660 | 0 | 0, GOT_func_internal_RigidBody_setGravity_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80625 | 0 | 0, GOT_func_internal_RigidBody_setDamping_28int_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69397 | 0 | 0, GOT_func_internal_RigidBody_setMass_28int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69626 | 0 | 0, GOT_func_internal_RigidBody_setMassProps_28int_2c_20float_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70693 | 0 | 0, GOT_func_internal_RigidBody_setLinearFactor_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70666 | 0 | 0, GOT_func_internal_RigidBody_setAngularFactor_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65866 | 0 | 0, GOT_func_internal_RigidBody_setLinearVelocity_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65894 | 0 | 0, GOT_func_internal_RigidBody_getLinearVelocity_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65808 | 0 | 0, GOT_func_internal_RigidBody_setAngularVelocity_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65837 | 0 | 0, GOT_func_internal_RigidBody_getAngularVelocity_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81216 | 0 | 0, GOT_func_internal_RigidBody_clearState_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70245 | 0 | 0, GOT_func_internal_RigidBody_clearForces_28int_29 | 0); void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80686 | 0 | 0, GOT_func_internal_RigidBody_wantsSleeping_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70366 | 0 | 0, GOT_func_internal_RigidBody_setSleepingThresholds_28int_2c_20float_2c_20float_29 | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82658 | 0 | 0, GOT_func_internal_RigidBody_getLinearSleepingThreshold_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81237 | 0 | 0, GOT_func_internal_RigidBody_getMotionState_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81103 | 0 | 0, GOT_func_internal_RigidBody_applyTorque_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82071 | 0 | 0, GOT_func_internal_RigidBody_applyForce_28int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81429 | 0 | 0, GOT_func_internal_RigidBody_applyImpulse_28int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77037 | 0 | 0, GOT_func_internal_RigidBody_getWorldTransform_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82830 | 0 | 0, GOT_func_internal_DefaultCollisionConfiguration_static_28_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66902 | 0 | 0, GOT_func_internal_CollisionDispatcher_new_28_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70435 | 0 | 0, GOT_func_internal_Dispatcher_getNumManifolds_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77401 | 0 | 0, GOT_func_internal_Dispatcher_getManifoldByIndexInternal_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85747 | 0 | 0, GOT_func_internal_ManifoldPoint_getShape0_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85525 | 0 | 0, GOT_func_internal_ManifoldPoint_getShape1_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85708 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_index0_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85498 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_index1_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85680 | 0 | 0, GOT_func_internal_PersistentManifold_getBody0_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85470 | 0 | 0, GOT_func_internal_PersistentManifold_getBody1_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69256 | 0 | 0, GOT_func_internal_PersistentManifold_getNumContacts_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67566 | 0 | 0, GOT_func_internal_PersistentManifold_getContactPoint_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84595 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_localPointA_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84467 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_localPointB_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84627 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_positionWorldOnA_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84499 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_positionWorldOnB_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84536 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_normalWorldOnB_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84499 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_positionWorldOnB_28int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66972 | 0 | 0, GOT_func_internal_DbvtBroadphase_new_28_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66806 | 0 | 0, GOT_func_internal_SequentialImpulseConstraintSolver_new_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68790 | 0 | 0, GOT_func_internal_CollisionWorld_addCollisionObject_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68753 | 0 | 0, GOT_func_internal_CollisionWorld_removeCollisionObject_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67374 | 0 | 0, GOT_func_internal_CollisionWorld_rayTest_28int_2c_20int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67397 | 0 | 0, GOT_func_internal_CollisionWorld_convexSweepTest_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 71111 | 0 | 0, GOT_func_internal_CollisionWorld_setDebugDrawer_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82240 | 0 | 0, GOT_func_internal_CollisionWorld_debugDrawWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67203 | 0 | 0, GOT_func_internal_ccDiscreteDynamicsWorld_new_28int_2c_20int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76113 | 0 | 0, GOT_func_internal_ccDiscreteDynamicsWorld_setAllowSleep_28int_2c_20bool_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65681 | 0 | 0, GOT_func_internal_DynamicsWorld_setGravity_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76731 | 0 | 0, GOT_func_internal_DynamicsWorld_stepSimulation_28int_2c_20float_2c_20int_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66127 | 0 | 0, GOT_func_internal_DynamicsWorld_addRigidBody_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66097 | 0 | 0, GOT_func_internal_DynamicsWorld_removeRigidBody_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67753 | 0 | 0, GOT_func_internal_DynamicsWorld_addConstraint_28int_2c_20int_2c_20bool_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67722 | 0 | 0, GOT_func_internal_DynamicsWorld_removeConstraint_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76563 | 0 | 0, GOT_func_internal_DynamicsWorld_addAction_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76536 | 0 | 0, GOT_func_internal_DynamicsWorld_removeAction_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82016 | 0 | 0, GOT_func_internal_DebugDraw_setDebugMode_28int_2c_20int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82039 | 0 | 0, GOT_func_internal_DebugDraw_getDebugMode_28int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70947 | 0 | 0, GOT_func_internal_DebugDraw_setActiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70914 | 0 | 0, GOT_func_internal_DebugDraw_setDeactiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70784 | 0 | 0, GOT_func_internal_DebugDraw_setWantsDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70826 | 0 | 0, GOT_func_internal_DebugDraw_setDisabledDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70871 | 0 | 0, GOT_func_internal_DebugDraw_setDisabledSimulationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70978 | 0 | 0, GOT_func_internal_DebugDraw_setAABBColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70719 | 0 | 0, GOT_func_internal_DebugDraw_setContactPointColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70750 | 0 | 0, GOT_func_internal_DebugDraw_setConstraintLimitColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68036 | 0 | 0, GOT_func_internal_RayCallback_hasHit_28int_29 | 0); void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68055 | 0 | 0, GOT_func_internal_ConvexCallback_hasHit_28int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82895 | 0 | 0, GOT_func_internal_ccAllRayCallback_static_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69881 | 0 | 0, GOT_func_internal_ccAllRayCallback_setFlags_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68325 | 0 | 0, GOT_func_internal_ccAllRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82308 | 0 | 0, GOT_func_internal_ccAllRayCallback_getHitPointWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82459 | 0 | 0, GOT_func_internal_ccAllRayCallback_getHitNormalWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69415 | 0 | 0, GOT_func_internal_ccAllRayCallback_getCollisionShapePtrs_28int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82867 | 0 | 0, GOT_func_internal_ccClosestRayCallback_static_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69851 | 0 | 0, GOT_func_internal_ccClosestRayCallback_setFlags_28int_2c_20int_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68298 | 0 | 0, GOT_func_internal_ccClosestRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82270 | 0 | 0, GOT_func_internal_ccClosestRayCallback_getHitPointWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82420 | 0 | 0, GOT_func_internal_ccClosestRayCallback_getHitNormalWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70496 | 0 | 0, GOT_func_internal_ccClosestRayCallback_getCollisionShapePtr_28int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82950 | 0 | 0, GOT_func_internal_ccAllConvexCallback_static_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68378 | 0 | 0, GOT_func_internal_ccAllConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82383 | 0 | 0, GOT_func_internal_ccAllConvexCallback_getHitPointWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82536 | 0 | 0, GOT_func_internal_ccAllConvexCallback_getHitNormalWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69454 | 0 | 0, GOT_func_internal_ccAllConvexCallback_getCollisionShapePtrs_28int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82919 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_static_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68348 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82342 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_getHitPointWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82494 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_getHitNormalWorld_28int_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70538 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_getCollisionShapePtr_28int_29 | 0); void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66940 | 0 | 0, GOT_func_internal_ccMaterial_new_28_29 | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68413 | 0 | 0, GOT_func_internal_ccMaterial_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68634 | 0 | 0, GOT_func_internal_CharacterController_getGhostObject | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81617 | 0 | 0, GOT_func_internal_CharacterController_getCollisionShape | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69649 | 0 | 0, GOT_func_internal_ControllerHit_getHitWorldPos | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77565 | 0 | 0, GOT_func_internal_ControllerHit_getHitWorldNormal | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 71081 | 0 | 0, GOT_func_internal_ControllerHit_getHitMotionDir | 0); void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77846 | 0 | 0, GOT_func_internal_ControllerHit_getHitMotionLength | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81518 | 0 | 0, GOT_func_internal_ControllerShapeHit_getHitShape | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68712 | 0 | 0, GOT_func_internal_ControllerShapeHit_getHitCollisionObject | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81053 | 0 | 0, GOT_func_internal_CharacterController_move | 0); void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76302 | 0 | 0, GOT_func_internal_CharacterController_getPosition | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68194 | 0 | 0, GOT_func_internal_CharacterController_setContactOffset | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68231 | 0 | 0, GOT_func_internal_CharacterController_setStepOffset | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68002 | 0 | 0, GOT_func_internal_CharacterController_setSlopeLimit | 0); void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76789 | 0 | 0, GOT_func_internal_CharacterController_setCollision | 0); void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65949 | 0 | 0, GOT_func_internal_CharacterController_setOverlapRecovery | 0); void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67262 | 0 | 0, GOT_func_internal_CapsuleCharacterControllerDesc_new | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66871 | 0 | 0, GOT_func_internal_CapsuleCharacterController_new | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69019 | 0 | 0, GOT_func_internal_CapsuleCharacterController_setRadius | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68100 | 0 | 0, GOT_func_internal_CapsuleCharacterController_setHeight | 0); void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67231 | 0 | 0, GOT_func_internal_BoxCharacterControllerDesc_new | 0); void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66844 | 0 | 0, GOT_func_internal_BoxCharacterController_new | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68157 | 0 | 0, GOT_func_internal_BoxCharacterController_setHalfHeight | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67794 | 0 | 0, GOT_func_internal_BoxCharacterController_setHalfSideExtent | 0); void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67835 | 0 | 0, GOT_func_internal_BoxCharacterController_setHalfForwardExtent | 0); __stack_pointer = $2 + 960 | 0; return; } function emscripten__internal__InitFunc__InitFunc_28void_20_28__29_28_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = 0; FUNCTION_TABLE[HEAP32[($4 + 8 | 0) >> 2] | 0 | 0](); _embind_register_bindings($5 | 0); __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btCollisionWorld__RayResultCallback__RayResultCallback_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__RayResultCallback + 8 | 0; HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 16 | 0) >> 2] = 0; return $4 | 0; } function cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccClosestRayResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0)) { break label$2 } label$3 : { if ((HEAPU8[($5 + 88 | 0) >> 0] | 0) & 1 | 0) { break label$3 } if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btCollisionObject__hasContactResponse_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $35 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $35 | 0; } function btCollisionObject__hasContactResponse_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 4 | 0 | 0) == (0 | 0) & 1 | 0 | 0; } function cc__ccClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $37 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP8[($5 + 23 | 0) >> 0] = $2; $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29_20const(HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; break label$1; } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; } $37 = Math_fround(btCollisionWorld__ClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($7 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0 | 0)); __stack_pointer = $5 + 32 | 0; return Math_fround($37); } function btCollisionObject__getCollisionShape_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0 | 0; } function btCompoundShape__getChildShape_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $10 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $10 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $10 | 0; } function btCollisionWorld__ClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $15 = 0, $33 = 0, $35 = 0, $49 = 0, $51 = 0, $140 = 0, $150 = 0, $175 = 0, $188 = 0, $66 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP8[($5 + 23 | 0) >> 0] = $2; $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; label$1 : { if (Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2]) <= Math_fround(HEAPF32[($7 + 4 | 0) >> 2]) & 1 | 0) { break label$1 } $15 = GOT_data_internal___memory_base; __assert_fail($15 + 76437 | 0 | 0, $15 + 79821 | 0 | 0, 275 | 0, $15 + 67923 | 0 | 0); wasm2js_trap(); } HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2]); HEAP32[($7 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; label$2 : { label$3 : { if (!((HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } $33 = $7 + 52 | 0; i64toi32_i32$2 = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $140 = i64toi32_i32$0; i64toi32_i32$0 = $33; HEAP32[i64toi32_i32$0 >> 2] = $140; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $35 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $35 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $150 = i64toi32_i32$1; i64toi32_i32$1 = $33 + $35 | 0; HEAP32[i64toi32_i32$1 >> 2] = $150; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$2; } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0 | 0); $49 = $7 + 52 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; $175 = i64toi32_i32$0; i64toi32_i32$0 = $49; HEAP32[i64toi32_i32$0 >> 2] = $175; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $51 = 8; i64toi32_i32$2 = ($5 + 4 | 0) + $51 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $188 = i64toi32_i32$1; i64toi32_i32$1 = $49 + $51 | 0; HEAP32[i64toi32_i32$1 >> 2] = $188; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($7 + 68 | 0 | 0, $7 + 20 | 0 | 0, $7 + 36 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2]))); $66 = Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2]); __stack_pointer = $5 + 32 | 0; return Math_fround($66); } function btCollisionWorld__RayResultCallback___RayResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__RayResultCallback + 8 | 0; return $4 | 0; } function btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__RayResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $20 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP8[($4 + 7 | 0) >> 0] = ((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0; $20 = 0; label$1 : { if (!((HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $20 = ((HEAP32[($5 + 12 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); } HEAP8[($4 + 7 | 0) >> 0] = $20 & 1 | 0; return (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0 | 0; } function btCollisionObject__getWorldTransform_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btTransform__getBasis_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAPF32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($6 + 16 | 0) >> 2])); HEAPF32[$7 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2]))); HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2]))); HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2]))); return; } function btCollisionWorld__RayResultCallback___RayResultCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btMatrix3x3__operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return (HEAP32[($4 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0; } function btVector3__dot_28btVector3_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]))))); } function btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $14 = 0, $29 = 0, $5 = 0, $40 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } $14 = GOT_data_internal___memory_base; __assert_fail($14 + 85840 | 0 | 0, $14 + 78192 | 0 | 0, 176 | 0, $14 + 83901 | 0 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } $29 = GOT_data_internal___memory_base; __assert_fail($29 + 87321 | 0 | 0, $29 + 78192 | 0 | 0, 177 | 0, $29 + 83901 | 0 | 0); wasm2js_trap(); } $40 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 80) | 0; __stack_pointer = $4 + 16 | 0; return $40 | 0; } function btAlignedObjectArray_btCollisionObject_20const____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btCollisionObject_20const__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btCollisionObject_20const____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btVector3_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btVector3___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_float___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_float_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_float___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_int_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_int___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccAllHitsRayResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0)) { break label$2 } label$3 : { if ((HEAPU8[($5 + 152 | 0) >> 0] | 0) & 1 | 0) { break label$3 } if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btCollisionObject__hasContactResponse_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $35 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $35 | 0; } function cc__ccAllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $45 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP8[($5 + 23 | 0) >> 0] = $2; $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29_20const(HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___push_back_28int_20const__29($7 + 132 | 0 | 0, $5 + 4 | 0 | 0); break label$1; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___push_back_28int_20const__29($7 + 132 | 0 | 0, $5 | 0); } $45 = Math_fround(btCollisionWorld__AllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($7 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0 | 0)); __stack_pointer = $5 + 32 | 0; return Math_fround($45); } function btAlignedObjectArray_int___push_back_28int_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_int___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_int___reserve_28int_29($5 | 0, btAlignedObjectArray_int___allocSize_28int_29($5 | 0, btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btCollisionWorld__AllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $21 = 0, $22 = 0, $38 = 0, $128 = 0, $132 = 0, $166 = 0, $170 = 0, $68 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAP32[($5 + 56 | 0) >> 2] = $1; HEAP8[($5 + 55 | 0) >> 0] = $2; $7 = HEAP32[($5 + 60 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5 + 56 | 0) >> 2] | 0) >> 2] | 0; btAlignedObjectArray_btCollisionObject_20const____push_back_28btCollisionObject_20const__20const__29($7 + 20 | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); btVector3__btVector3_28_29($5 + 32 | 0 | 0) | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 55 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $21 = (HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0; $22 = 8; i64toi32_i32$2 = $21 + $22 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $128 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 32 | 0) + $22 | 0; HEAP32[i64toi32_i32$0 >> 2] = $128; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $21; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $132 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 32 | 0) >> 2] = $132; HEAP32[($5 + 36 | 0) >> 2] = i64toi32_i32$0; break label$1; } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 16 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0 | 0); $38 = 8; i64toi32_i32$2 = ($5 + 16 | 0) + $38 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $166 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 32 | 0) + $38 | 0; HEAP32[i64toi32_i32$0 >> 2] = $166; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; $170 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 32 | 0) >> 2] = $170; HEAP32[($5 + 36 | 0) >> 2] = i64toi32_i32$0; } btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 72 | 0 | 0, $5 + 32 | 0 | 0); btVector3__btVector3_28_29($5 | 0) | 0; btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($5 | 0, $7 + 40 | 0 | 0, $7 + 56 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2]))); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 92 | 0 | 0, $5 | 0); btAlignedObjectArray_float___push_back_28float_20const__29($7 + 112 | 0 | 0, (HEAP32[($5 + 56 | 0) >> 2] | 0) + 24 | 0 | 0); $68 = Math_fround(HEAPF32[($7 + 4 | 0) >> 2]); __stack_pointer = $5 + 64 | 0; return Math_fround($68); } function btAlignedAllocator_btCollisionObject_20const__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionObject_20const____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btVector3_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btVector3___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_float_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_float___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_float____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_float___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btVector3___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btCollisionObject_20const_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCollisionObject_20const____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22 = 0, $25 = 0, $88 = 0, $98 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btVector3___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btVector3___reserve_28int_29($5 | 0, btAlignedObjectArray_btVector3___allocSize_28int_29($5 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $22 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $88 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $88; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $98 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $98; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_float___push_back_28float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_float___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_float___reserve_28int_29($5 | 0, btAlignedObjectArray_float___allocSize_28int_29($5 | 0, btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_float___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_float___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_float___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_float___deallocate_28_29($4 | 0); btAlignedObjectArray_float___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btVector3___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btVector3___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btVector3___deallocate_28_29($4 | 0); btAlignedObjectArray_btVector3___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCollisionObject_20const____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btCollisionObject_20const____deallocate_28_29($4 | 0); btAlignedObjectArray_btCollisionObject_20const____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_float___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_float___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_float___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_float_2c_2016u___deallocate_28float__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_float_2c_2016u___deallocate_28float__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btVector3___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btVector3___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btVector3_2c_2016u___deallocate_28btVector3__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btVector3_2c_2016u___deallocate_28btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btCollisionObject_20const____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btCollisionObject_20const__2c_2016u___deallocate_28btCollisionObject_20const___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btCollisionObject_20const__2c_2016u___deallocate_28btCollisionObject_20const___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionObject_20const____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btCollisionObject_20const____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btCollisionObject_20const____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionObject_20const____copy_28int_2c_20int_2c_20btCollisionObject_20const___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btCollisionObject_20const____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btCollisionObject_20const____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btVector3___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btVector3___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btVector3___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btVector3___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btVector3___copy_28int_2c_20int_2c_20btVector3__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btVector3___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btVector3___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btVector3__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_float___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_float___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_float___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_float___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_float___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_float___copy_28int_2c_20int_2c_20float__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_float___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_float___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCollisionObject_20const__2c_2016u___allocate_28int_2c_20btCollisionObject_20const__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btCollisionObject_20const____copy_28int_2c_20int_2c_20btCollisionObject_20const___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btCollisionObject_20const__2c_2016u___allocate_28int_2c_20btCollisionObject_20const__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btVector3___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btVector3_2c_2016u___allocate_28int_2c_20btVector3_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btVector3___copy_28int_2c_20int_2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22 = 0, $29 = 0, $7 = 0, $97 = 0, $107 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $22 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $97 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $97; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $107 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $107; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedAllocator_btVector3_2c_2016u___allocate_28int_2c_20btVector3_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_float___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_float_2c_2016u___allocate_28int_2c_20float_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_float___copy_28int_2c_20int_2c_20float__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAPF32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_float_2c_2016u___allocate_28int_2c_20float_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_int___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_int___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_int___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_int___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___copy_28int_2c_20int_2c_20int__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_int___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_int___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_int___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_int_2c_2016u___allocate_28int_2c_20int_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_int___copy_28int_2c_20int_2c_20int__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_int___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_int___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_int_2c_2016u___deallocate_28int__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_int_2c_2016u___allocate_28int_2c_20int_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_int_2c_2016u___deallocate_28int__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_int___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_int___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_int___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_int___deallocate_28_29($4 | 0); btAlignedObjectArray_int___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__ConvexResultCallback__ConvexResultCallback_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__ConvexResultCallback + 8 | 0; HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); HEAP32[($4 + 8 | 0) >> 2] = 1; HEAP32[($4 + 12 | 0) >> 2] = -1; HEAP32[($4 + 16 | 0) >> 2] = 0; return $4 | 0; } function cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccClosestConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0)) { break label$2 } label$3 : { if ((HEAPU8[($5 + 88 | 0) >> 0] | 0) & 1 | 0) { break label$3 } if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btCollisionObject__hasContactResponse_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $35 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $35 | 0; } function cc__ccClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $16 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(HEAP32[((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; $16 = Math_fround(btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0)); __stack_pointer = $5 + 16 | 0; return Math_fround($16); } function btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, i64toi32_i32$2 = 0, $7 = 0, $15 = 0, $33 = 0, $35 = 0, $49 = 0, $51 = 0, $61 = 0, $63 = 0, $142 = 0, $152 = 0, $177 = 0, $190 = 0, $202 = 0, $212 = 0, $68 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP8[($5 + 23 | 0) >> 0] = $2; $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; label$1 : { if (Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2]) <= Math_fround(HEAPF32[($7 + 4 | 0) >> 2]) & 1 | 0) { break label$1 } $15 = GOT_data_internal___memory_base; __assert_fail($15 + 76485 | 0 | 0, $15 + 79821 | 0 | 0, 408 | 0, $15 + 67923 | 0 | 0); wasm2js_trap(); } HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2]); HEAP32[($7 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; label$2 : { label$3 : { if (!((HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } $33 = $7 + 52 | 0; i64toi32_i32$2 = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $142 = i64toi32_i32$0; i64toi32_i32$0 = $33; HEAP32[i64toi32_i32$0 >> 2] = $142; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $35 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $35 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $152 = i64toi32_i32$1; i64toi32_i32$1 = $33 + $35 | 0; HEAP32[i64toi32_i32$1 >> 2] = $152; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$2; } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0 | 0); $49 = $7 + 52 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; $177 = i64toi32_i32$0; i64toi32_i32$0 = $49; HEAP32[i64toi32_i32$0 >> 2] = $177; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $51 = 8; i64toi32_i32$2 = ($5 + 4 | 0) + $51 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $190 = i64toi32_i32$1; i64toi32_i32$1 = $49 + $51 | 0; HEAP32[i64toi32_i32$1 >> 2] = $190; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } $61 = $7 + 68 | 0; i64toi32_i32$2 = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $202 = i64toi32_i32$0; i64toi32_i32$0 = $61; HEAP32[i64toi32_i32$0 >> 2] = $202; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $63 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $63 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $212 = i64toi32_i32$1; i64toi32_i32$1 = $61 + $63 | 0; HEAP32[i64toi32_i32$1 >> 2] = $212; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $68 = Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2]); __stack_pointer = $5 + 32 | 0; return Math_fround($68); } function btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__ConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $20 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP8[($4 + 7 | 0) >> 0] = ((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0; $20 = 0; label$1 : { if (!((HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $20 = ((HEAP32[($5 + 8 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); } HEAP8[($4 + 7 | 0) >> 0] = $20 & 1 | 0; return (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0 | 0; } function btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccAllHitsConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0)) { break label$2 } label$3 : { if ((HEAPU8[($5 + 152 | 0) >> 0] | 0) & 1 | 0) { break label$3 } if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btCollisionObject__hasContactResponse_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $35 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $35 | 0; } function cc__ccAllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $19 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(HEAP32[((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___push_back_28int_20const__29($7 + 132 | 0 | 0, $5 | 0); $19 = Math_fround(btCollisionWorld__AllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0)); __stack_pointer = $5 + 16 | 0; return Math_fround($19); } function btCollisionWorld__AllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $22 = 0, $23 = 0, $37 = 0, $120 = 0, $124 = 0, $152 = 0, $156 = 0, $59 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP8[($5 + 39 | 0) >> 0] = $2; $7 = HEAP32[($5 + 44 | 0) >> 2] | 0; HEAP32[($7 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5 + 40 | 0) >> 2] | 0) >> 2] | 0; btAlignedObjectArray_btCollisionObject_20const____push_back_28btCollisionObject_20const__20const__29($7 + 20 | 0 | 0, $7 + 16 | 0 | 0); btVector3__btVector3_28_29($5 + 16 | 0 | 0) | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 39 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $22 = (HEAP32[($5 + 40 | 0) >> 2] | 0) + 8 | 0; $23 = 8; i64toi32_i32$2 = $22 + $23 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $120 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 16 | 0) + $23 | 0; HEAP32[i64toi32_i32$0 >> 2] = $120; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $22; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $124 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 16 | 0) >> 2] = $124; HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; break label$1; } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 8 | 0 | 0); $37 = 8; i64toi32_i32$2 = $5 + $37 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $152 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 16 | 0) + $37 | 0; HEAP32[i64toi32_i32$0 >> 2] = $152; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; $156 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 16 | 0) >> 2] = $156; HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; } btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 72 | 0 | 0, $5 + 16 | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 92 | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 24 | 0 | 0); btAlignedObjectArray_float___push_back_28float_20const__29($7 + 112 | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 40 | 0 | 0); $59 = Math_fround(HEAPF32[($7 + 4 | 0) >> 2]); __stack_pointer = $5 + 48 | 0; return Math_fround($59); } function btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____findLinearSearch_28btCollisionObject_20const__20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[$4 >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; break label$1; } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; continue label$2; }; } $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btCollisionObject_20const____removeAtIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btCollisionObject_20const____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); btAlignedObjectArray_btCollisionObject_20const____pop_back_28_29($5 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; return; } function btAlignedObjectArray_btCollisionObject_20const____pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $13 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } $13 = GOT_data_internal___memory_base; __assert_fail($13 + 85800 | 0 | 0, $13 + 78192 | 0 | 0, 201 | 0, $13 + 77711 | 0 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btVector3__length2_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $5 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $5 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 | 0, $4 | 0)); __stack_pointer = $3 + 16 | 0; return Math_fround($5); } function btVector3__minAxis_28_29_20const($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $18 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) & 1 | 0)) { break label$2 } $18 = Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0 ? 0 : 2; break label$1; } $18 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0 ? 1 : 2; } return $18 | 0; } function btConvexInternalShape__setSafeMargin_28float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 8 | 0) >> 2])); label$1 : { if (!(Math_fround(HEAPF32[$5 >> 2]) < Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) & 1 | 0)) { break label$1 } FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($6, Math_fround(HEAPF32[$5 >> 2])); } __stack_pointer = $5 + 16 | 0; return; } function cc__ccCompoundShape___ccCompoundShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCompoundShape___btCompoundShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function cc__ccCompoundShape___ccCompoundShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccCompoundShape___ccCompoundShape_28_29($4 | 0) | 0; cc__ccCompoundShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccCompoundShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundShape__getLocalScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 84 | 0 | 0; } function btCompoundShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return GOT_data_internal___memory_base + 82224 | 0 | 0; } function btCollisionShape__getAnisotropicRollingFrictionDirection_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); HEAPF32[$4 >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btCompoundShape__setMargin_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btCompoundShape__getMargin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2])); } function btCompoundShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 24 | 0; } function btFmod_28float_2c_20float_29($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $4 = 0, $7 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAPF32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $7 = Math_fround(fmodf(Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2])))); __stack_pointer = $4 + 16 | 0; return Math_fround($7); } function btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, $13 = 0; $12 = __stack_pointer - 48 | 0; __stack_pointer = $12; HEAP32[($12 + 44 | 0) >> 2] = $0; HEAP32[($12 + 40 | 0) >> 2] = $1; HEAP32[($12 + 36 | 0) >> 2] = $2; HEAP32[($12 + 32 | 0) >> 2] = $3; HEAP32[($12 + 28 | 0) >> 2] = $4; HEAP32[($12 + 24 | 0) >> 2] = $5; HEAP32[($12 + 20 | 0) >> 2] = $6; HEAP32[($12 + 16 | 0) >> 2] = $7; HEAP32[($12 + 12 | 0) >> 2] = $8; HEAP32[($12 + 8 | 0) >> 2] = $9; $13 = HEAP32[($12 + 44 | 0) >> 2] | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($13 | 0, HEAP32[($12 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12 + 32 | 0) >> 2] | 0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($13 + 16 | 0 | 0, HEAP32[($12 + 28 | 0) >> 2] | 0 | 0, HEAP32[($12 + 24 | 0) >> 2] | 0 | 0, HEAP32[($12 + 20 | 0) >> 2] | 0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($13 + 32 | 0 | 0, HEAP32[($12 + 16 | 0) >> 2] | 0 | 0, HEAP32[($12 + 12 | 0) >> 2] | 0 | 0, HEAP32[($12 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $12 + 48 | 0; return; } function btQuaternion__length2_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $5 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $5 = Math_fround(btQuaternion__dot_28btQuaternion_20const__29_20const($4 | 0, $4 | 0)); __stack_pointer = $3 + 16 | 0; return Math_fround($5); } function btQuaternion__dot_28btQuaternion_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $16 = Math_fround(0), $22 = Math_fround(0), $27 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $16 = Math_fround(Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))); $22 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $16); $27 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2])) + $22); __stack_pointer = $4 + 16 | 0; return Math_fround($27); } function btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, $13 = 0, $16 = 0, $17 = 0, $19 = 0, $15 = 0, $34 = 0; $12 = __stack_pointer - 48 | 0; __stack_pointer = $12; HEAP32[($12 + 40 | 0) >> 2] = $0; HEAP32[($12 + 36 | 0) >> 2] = $1; HEAP32[($12 + 32 | 0) >> 2] = $2; HEAP32[($12 + 28 | 0) >> 2] = $3; HEAP32[($12 + 24 | 0) >> 2] = $4; HEAP32[($12 + 20 | 0) >> 2] = $5; HEAP32[($12 + 16 | 0) >> 2] = $6; HEAP32[($12 + 12 | 0) >> 2] = $7; HEAP32[($12 + 8 | 0) >> 2] = $8; HEAP32[($12 + 4 | 0) >> 2] = $9; $13 = HEAP32[($12 + 40 | 0) >> 2] | 0; HEAP32[($12 + 44 | 0) >> 2] = $13; $15 = $13 + 48 | 0; $16 = $13; label$1 : while (1) { $17 = $16; btVector3__btVector3_28_29($17 | 0) | 0; $19 = $17 + 16 | 0; $16 = $19; if (!(($19 | 0) == ($15 | 0) & 1 | 0)) { continue label$1 } break label$1; }; btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($13 | 0, HEAP32[($12 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12 + 32 | 0) >> 2] | 0 | 0, HEAP32[($12 + 28 | 0) >> 2] | 0 | 0, HEAP32[($12 + 24 | 0) >> 2] | 0 | 0, HEAP32[($12 + 20 | 0) >> 2] | 0 | 0, HEAP32[($12 + 16 | 0) >> 2] | 0 | 0, HEAP32[($12 + 12 | 0) >> 2] | 0 | 0, HEAP32[($12 + 8 | 0) >> 2] | 0 | 0, HEAP32[($12 + 4 | 0) >> 2] | 0 | 0); $34 = HEAP32[($12 + 44 | 0) >> 2] | 0; __stack_pointer = $12 + 48 | 0; return $34 | 0; } function btMatrix3x3__btMatrix3x3_28btMatrix3x3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $8 = 0, $9 = 0, $11 = 0, $19 = 0, $27 = 0, $29 = 0, $37 = 0, $39 = 0, $7 = 0, $85 = 0, $95 = 0, $107 = 0, $117 = 0, $129 = 0, $139 = 0, $43 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = $5; $7 = $5 + 48 | 0; $8 = $5; label$1 : while (1) { $9 = $8; btVector3__btVector3_28_29($9 | 0) | 0; $11 = $9 + 16 | 0; $8 = $11; if (!(($11 | 0) == ($7 | 0) & 1 | 0)) { continue label$1 } break label$1; }; i64toi32_i32$2 = HEAP32[($4 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[i64toi32_i32$0 >> 2] = $85; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $95 = i64toi32_i32$1; i64toi32_i32$1 = $5 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $95; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $27 = $5 + 16 | 0; i64toi32_i32$2 = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $107 = i64toi32_i32$0; i64toi32_i32$0 = $27; HEAP32[i64toi32_i32$0 >> 2] = $107; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $117 = i64toi32_i32$1; i64toi32_i32$1 = $27 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $117; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $37 = $5 + 32 | 0; i64toi32_i32$2 = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $129 = i64toi32_i32$0; i64toi32_i32$0 = $37; HEAP32[i64toi32_i32$0 >> 2] = $129; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $39 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $39 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $139 = i64toi32_i32$1; i64toi32_i32$1 = $37 + $39 | 0; HEAP32[i64toi32_i32$1 >> 2] = $139; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $43 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $43 | 0; } function btMotionState___btMotionState_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btTransform__inverse_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 96 | 0; __stack_pointer = $4; HEAP32[($4 + 92 | 0) >> 2] = $0; HEAP32[($4 + 88 | 0) >> 2] = $1; $5 = HEAP32[($4 + 88 | 0) >> 2] | 0; btMatrix3x3__transpose_28_29_20const($4 + 40 | 0 | 0, $5 | 0); operator__28btVector3_20const__29($4 + 8 | 0 | 0, $5 + 48 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($4 + 24 | 0 | 0, $4 + 40 | 0 | 0, $4 + 8 | 0 | 0); btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($0 | 0, $4 + 40 | 0 | 0, $4 + 24 | 0 | 0) | 0; __stack_pointer = $4 + 96 | 0; return; } function btTransform__operator__28btTransform_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 80 | 0; __stack_pointer = $5; HEAP32[($5 + 76 | 0) >> 2] = $0; HEAP32[($5 + 72 | 0) >> 2] = $1; HEAP32[($5 + 68 | 0) >> 2] = $2; $6 = HEAP32[($5 + 72 | 0) >> 2] | 0; operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($5 + 20 | 0 | 0, $6 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($5 + 4 | 0 | 0, $6 | 0, (HEAP32[($5 + 68 | 0) >> 2] | 0) + 48 | 0 | 0); btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 4 | 0 | 0) | 0; __stack_pointer = $5 + 80 | 0; return; } function btMotionState___btMotionState_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; __stack_pointer = $5 + 48 | 0; return; } function btTransform__operator_28_29_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const($6 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const($6 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const($6 | 0, 2 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($0 | 0, $5 + 8 | 0 | 0, $6 + 48 | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btMatrix3x3__transpose_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__x_28_29_20const($5 | 0) | 0 | 0, btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0 | 0, btVector3__x_28_29_20const($5 + 32 | 0 | 0) | 0 | 0, btVector3__y_28_29_20const($5 | 0) | 0 | 0, btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0 | 0, btVector3__y_28_29_20const($5 + 32 | 0 | 0) | 0 | 0, btVector3__z_28_29_20const($5 | 0) | 0 | 0, btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0 | 0, btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function operator__28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2])); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[$4 >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btMatrix3x3__operator__28btMatrix3x3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $8 = 0, $16 = 0, $18 = 0, $26 = 0, $28 = 0, $47 = 0, $57 = 0, $69 = 0, $79 = 0, $91 = 0, $101 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $47 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[i64toi32_i32$0 >> 2] = $47; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $8 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $57 = i64toi32_i32$1; i64toi32_i32$1 = $5 + $8 | 0; HEAP32[i64toi32_i32$1 >> 2] = $57; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $16 = $5 + 16 | 0; i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $69 = i64toi32_i32$0; i64toi32_i32$0 = $16; HEAP32[i64toi32_i32$0 >> 2] = $69; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $18 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $18 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $79 = i64toi32_i32$1; i64toi32_i32$1 = $16 + $18 | 0; HEAP32[i64toi32_i32$1 >> 2] = $79; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $26 = $5 + 32 | 0; i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $91 = i64toi32_i32$0; i64toi32_i32$0 = $26; HEAP32[i64toi32_i32$0 >> 2] = $91; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $28 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $101 = i64toi32_i32$1; i64toi32_i32$1 = $26 + $28 | 0; HEAP32[i64toi32_i32$1 >> 2] = $101; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return $5 | 0; } function btMatrix3x3__tdotx_28btVector3_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $20 = Math_fround(0), $29 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))); $29 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20); __stack_pointer = $4 + 16 | 0; return Math_fround($29); } function btMatrix3x3__tdoty_28btVector3_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $20 = Math_fround(0), $29 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))); $29 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20); __stack_pointer = $4 + 16 | 0; return Math_fround($29); } function btMatrix3x3__tdotz_28btVector3_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $20 = Math_fround(0), $29 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))); $29 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20); __stack_pointer = $4 + 16 | 0; return Math_fround($29); } function btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $1; HEAP32[($7 + 24 | 0) >> 2] = $2; HEAP32[($7 + 20 | 0) >> 2] = $3; HEAP32[($7 + 16 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $7 + 12 | 0 | 0, $7 + 8 | 0 | 0, $7 + 4 | 0 | 0) | 0; __stack_pointer = $7 + 32 | 0; return; } function operator__28btVector3_20const__2c_20btVector3_20const__29_2($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) + Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function void_20emscripten__internal__NoBaseClass__verify_btDebugDraw__28_29() { } function void_20const__20emscripten__internal__getActualType_btDebugDraw__28btDebugDraw__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = void_20const__20emscripten__internal__getLightTypeID_btDebugDraw__28btDebugDraw_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_btDebugDraw__28_29_29_28_29() { return 0 | 0; } function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_btDebugDraw__28_29_29_28_29() { return 0 | 0; } function void_20emscripten__internal__raw_destructor_btDebugDraw__28btDebugDraw__29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (($4 | 0) == (0 | 0) & 1 | 0) { break label$1 } FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($4); } __stack_pointer = $3 + 16 | 0; return; } function emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btDebugDraw___get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btDebugDraw____get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDraw_20const__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btDebugDraw_20const____get_28_29() | 0 | 0; } function emscripten__internal__NoBaseClass__get_28_29() { return 0 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29__signature | 0; } function char_20const__20emscripten__internal__getGenericSignature_void__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void__28_29__signature | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29__signature | 0; } function void_20emscripten__internal__RegisterClassMethod_void_20_28btIDebugDraw____29_28_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btIDebugDraw____29_28_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $13 = 0, $17 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; $5 = HEAP32[$1 >> 2] | 0; $6 = HEAP32[($1 + 4 | 0) >> 2] | 0; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $6; HEAP32[($4 + 16 | 0) >> 2] = $5; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btIDebugDraw____29_28_29_2c_20void_2c_20btIDebugDraw____invoke_28void_20_28btIDebugDraw____20const__29_28_29_2c_20btIDebugDraw__29; $8 = emscripten__internal__TypeID_btIDebugDraw_2c_20void___get_28_29() | 0; $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; $13 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw____getCount_28_29_20const($4 + 11 | 0 | 0) | 0; $17 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw____getTypes_28_29_20const($4 + 11 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_class_function($8 | 0, $9 | 0, $13 | 0, $17 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28btIDebugDraw____emscripten__internal__getContext_void_20_28btIDebugDraw____29_28_29__28void_20_28btIDebugDraw____20const__29_28_29_29_29_28_29($4 + 16 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__internal__RegisterClassMethod_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $13 = 0, $17 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; $5 = HEAP32[$1 >> 2] | 0; $6 = HEAP32[($1 + 4 | 0) >> 2] | 0; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $6; HEAP32[($4 + 16 | 0) >> 2] = $5; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_2c_20void_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int___invoke_28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int_29; $8 = emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0; $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; $13 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 11 | 0 | 0) | 0; $17 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 11 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_class_function($8 | 0, $9 | 0, $13 | 0, $17 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28btDebugDraw____emscripten__internal__getContext_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29__28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_29_29_28int_2c_20int_2c_20int_29($4 + 16 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__base_btDebugDraw___verify_btDebugDrawWrapper__28_29() { } function void_20const__20emscripten__internal__getActualType_btDebugDrawWrapper__28btDebugDrawWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = void_20const__20emscripten__internal__getLightTypeID_btDebugDrawWrapper__28btDebugDrawWrapper_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function btDebugDraw__20_28_emscripten__base_btDebugDraw___getUpcaster_btDebugDrawWrapper__28_29_29_28btDebugDrawWrapper__29() { return GOT_func_internal_btDebugDraw__20emscripten__base_btDebugDraw___convertPointer_btDebugDrawWrapper_2c_20btDebugDraw__28btDebugDrawWrapper__29 | 0; } function btDebugDrawWrapper__20_28_emscripten__base_btDebugDraw___getDowncaster_btDebugDrawWrapper__28_29_29_28btDebugDraw__29() { return GOT_func_internal_btDebugDrawWrapper__20emscripten__base_btDebugDraw___convertPointer_btDebugDraw_2c_20btDebugDrawWrapper__28btDebugDraw__29 | 0; } function void_20emscripten__internal__raw_destructor_btDebugDrawWrapper__28btDebugDrawWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (($4 | 0) == (0 | 0) & 1 | 0) { break label$1 } FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($4); } __stack_pointer = $3 + 16 | 0; return; } function emscripten__internal__TypeID_btDebugDrawWrapper_2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btDebugDrawWrapper___get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btDebugDrawWrapper____get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper_20const__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btDebugDrawWrapper_20const____get_28_29() | 0 | 0; } function emscripten__base_btDebugDraw___get_28_29() { return emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0 | 0; } function emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29__operator_20void_20_28__29_28btDebugDrawWrapper__29_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return GOT_func_internal_emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29____invoke_28btDebugDrawWrapper__29 | 0; } function void_20_28_emscripten__select_overload_void_20_28btDebugDrawWrapper__29__28void_20_28__29_28btDebugDrawWrapper__29_29_29_28btDebugDrawWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28btDebugDrawWrapper__29___invoke_btDebugDrawWrapper__28char_20const__2c_20void_20_28__29_28btDebugDrawWrapper__29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $7 = 0, $11 = 0, $15 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28btDebugDrawWrapper__29_2c_20void_2c_20btDebugDrawWrapper____invoke_28void_20_28___29_28btDebugDrawWrapper__29_2c_20btDebugDrawWrapper__29; $6 = emscripten__internal__TypeID_btDebugDrawWrapper_2c_20void___get_28_29() | 0; $7 = HEAP32[($4 + 24 | 0) >> 2] | 0; $11 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btDebugDrawWrapper____getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $15 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btDebugDrawWrapper____getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_class_function($6 | 0, $7 | 0, $11 | 0, $15 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28__emscripten__internal__getContext_void_20_28__29_28btDebugDrawWrapper__29__28void_20_28__20const__29_28btDebugDrawWrapper__29_29_29_28btDebugDrawWrapper__29($4 + 20 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function btDebugDrawWrapper__20emscripten__internal__wrapped_new_btDebugDrawWrapper__2c_20btDebugDrawWrapper_2c_20emscripten__val__28emscripten__val___29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = btDebugDraw__operator_20new_28unsigned_20long_29(144 | 0) | 0; btDebugDrawWrapper__btDebugDrawWrapper___28emscripten__val___29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function emscripten__internal__Invoker_btDebugDrawWrapper__2c_20emscripten__val_____invoke_28btDebugDrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $14 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($4 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); $14 = emscripten__internal__BindingType_btDebugDrawWrapper__2c_20void___toWireType_28btDebugDrawWrapper__29(FUNCTION_TABLE[$5 | 0]($4 + 4 | 0) | 0 | 0) | 0; emscripten__val___val_28_29($4 + 4 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $14 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btDebugDrawWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btDebugDrawWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20emscripten__val______get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__val_20emscripten__internal__wrapped_extend_btDebugDrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; emscripten__val__take_ownership_28emscripten___EM_VAL__29($0 | 0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, emscripten__internal__TypeID_btDebugDrawWrapper_2c_20void___get_28_29() | 0 | 0, emscripten__val__as_handle_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $23 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void___fromWireType_28emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___29($5 + 4 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($5 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[$6 | 0]($5 + 16 | 0, $5 + 4 | 0, $5); $23 = emscripten__internal__BindingType_emscripten__val_2c_20void___toWireType_28emscripten__val_20const__29($5 + 16 | 0 | 0) | 0; emscripten__val___val_28_29($5 + 16 | 0 | 0) | 0; emscripten__val___val_28_29($5 | 0) | 0; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($5 + 4 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return $23 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; } function void_20emscripten__internal__NoBaseClass__verify_btControllerHitReport__28_29() { } function void_20const__20emscripten__internal__getActualType_btControllerHitReport__28btControllerHitReport__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = void_20const__20emscripten__internal__getLightTypeID_btControllerHitReport__28btControllerHitReport_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_btControllerHitReport__28_29_29_28_29() { return 0 | 0; } function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_btControllerHitReport__28_29_29_28_29() { return 0 | 0; } function void_20emscripten__internal__raw_destructor_btControllerHitReport__28btControllerHitReport__29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (($4 | 0) == (0 | 0) & 1 | 0) { break label$1 } FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($4); } __stack_pointer = $3 + 16 | 0; return; } function emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btControllerHitReport___get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btControllerHitReport____get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReport_20const__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btControllerHitReport_20const____get_28_29() | 0 | 0; } function void_20emscripten__internal__RegisterClassMethod_void_20_28btControllerHitReport____29_28int_2c_20int_29___invoke_btControllerHitReport__28char_20const__2c_20void_20_28btControllerHitReport____29_28int_2c_20int_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $13 = 0, $17 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; $5 = HEAP32[$1 >> 2] | 0; $6 = HEAP32[($1 + 4 | 0) >> 2] | 0; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $6; HEAP32[($4 + 16 | 0) >> 2] = $5; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btControllerHitReport____29_28int_2c_20int_29_2c_20void_2c_20btControllerHitReport__2c_20int_2c_20int___invoke_28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_2c_20btControllerHitReport__2c_20int_2c_20int_29; $8 = emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0; $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; $13 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int___getCount_28_29_20const($4 + 11 | 0 | 0) | 0; $17 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int___getTypes_28_29_20const($4 + 11 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_class_function($8 | 0, $9 | 0, $13 | 0, $17 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28btControllerHitReport____emscripten__internal__getContext_void_20_28btControllerHitReport____29_28int_2c_20int_29__28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_29_29_28int_2c_20int_29($4 + 16 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__base_btControllerHitReport___verify_btControllerHitReportWrapper__28_29() { } function void_20const__20emscripten__internal__getActualType_btControllerHitReportWrapper__28btControllerHitReportWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = void_20const__20emscripten__internal__getLightTypeID_btControllerHitReportWrapper__28btControllerHitReportWrapper_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function btControllerHitReport__20_28_emscripten__base_btControllerHitReport___getUpcaster_btControllerHitReportWrapper__28_29_29_28btControllerHitReportWrapper__29() { return GOT_func_internal_btControllerHitReport__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReportWrapper_2c_20btControllerHitReport__28btControllerHitReportWrapper__29 | 0; } function btControllerHitReportWrapper__20_28_emscripten__base_btControllerHitReport___getDowncaster_btControllerHitReportWrapper__28_29_29_28btControllerHitReport__29() { return GOT_func_internal_btControllerHitReportWrapper__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReport_2c_20btControllerHitReportWrapper__28btControllerHitReport__29 | 0; } function void_20emscripten__internal__raw_destructor_btControllerHitReportWrapper__28btControllerHitReportWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (($4 | 0) == (0 | 0) & 1 | 0) { break label$1 } FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($4); } __stack_pointer = $3 + 16 | 0; return; } function emscripten__internal__TypeID_btControllerHitReportWrapper_2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btControllerHitReportWrapper___get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btControllerHitReportWrapper____get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper_20const__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btControllerHitReportWrapper_20const____get_28_29() | 0 | 0; } function emscripten__base_btControllerHitReport___get_28_29() { return emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0 | 0; } function emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29__operator_20void_20_28__29_28btControllerHitReportWrapper__29_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return GOT_func_internal_emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29____invoke_28btControllerHitReportWrapper__29 | 0; } function void_20_28_emscripten__select_overload_void_20_28btControllerHitReportWrapper__29__28void_20_28__29_28btControllerHitReportWrapper__29_29_29_28btControllerHitReportWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28btControllerHitReportWrapper__29___invoke_btControllerHitReportWrapper__28char_20const__2c_20void_20_28__29_28btControllerHitReportWrapper__29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $7 = 0, $11 = 0, $15 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28btControllerHitReportWrapper__29_2c_20void_2c_20btControllerHitReportWrapper____invoke_28void_20_28___29_28btControllerHitReportWrapper__29_2c_20btControllerHitReportWrapper__29; $6 = emscripten__internal__TypeID_btControllerHitReportWrapper_2c_20void___get_28_29() | 0; $7 = HEAP32[($4 + 24 | 0) >> 2] | 0; $11 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btControllerHitReportWrapper____getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $15 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btControllerHitReportWrapper____getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_class_function($6 | 0, $7 | 0, $11 | 0, $15 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28__emscripten__internal__getContext_void_20_28__29_28btControllerHitReportWrapper__29__28void_20_28__20const__29_28btControllerHitReportWrapper__29_29_29_28btControllerHitReportWrapper__29($4 + 20 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function btControllerHitReportWrapper__20emscripten__internal__wrapped_new_btControllerHitReportWrapper__2c_20btControllerHitReportWrapper_2c_20emscripten__val__28emscripten__val___29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(12 | 0) | 0; btControllerHitReportWrapper__btControllerHitReportWrapper___28emscripten__val___29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function emscripten__internal__Invoker_btControllerHitReportWrapper__2c_20emscripten__val_____invoke_28btControllerHitReportWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $14 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($4 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); $14 = emscripten__internal__BindingType_btControllerHitReportWrapper__2c_20void___toWireType_28btControllerHitReportWrapper__29(FUNCTION_TABLE[$5 | 0]($4 + 4 | 0) | 0 | 0) | 0; emscripten__val___val_28_29($4 + 4 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $14 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btControllerHitReportWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btControllerHitReportWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20emscripten__val______get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__val_20emscripten__internal__wrapped_extend_btControllerHitReportWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; emscripten__val__take_ownership_28emscripten___EM_VAL__29($0 | 0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, emscripten__internal__TypeID_btControllerHitReportWrapper_2c_20void___get_28_29() | 0 | 0, emscripten__val__as_handle_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function void_20emscripten__internal__NoBaseClass__verify_cc__ccMotionState__28_29() { } function void_20const__20emscripten__internal__getActualType_cc__ccMotionState__28cc__ccMotionState__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = void_20const__20emscripten__internal__getLightTypeID_cc__ccMotionState__28cc__ccMotionState_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_cc__ccMotionState__28_29_29_28_29() { return 0 | 0; } function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_cc__ccMotionState__28_29_29_28_29() { return 0 | 0; } function void_20emscripten__internal__raw_destructor_cc__ccMotionState__28cc__ccMotionState__29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (($4 | 0) == (0 | 0) & 1 | 0) { break label$1 } FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($4); } __stack_pointer = $3 + 16 | 0; return; } function emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() { return emscripten__internal__LightTypeID_cc__ccMotionState___get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_cc__ccMotionState____get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_cc__ccMotionState_20const__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_cc__ccMotionState_20const____get_28_29() | 0 | 0; } function void_20emscripten__internal__RegisterClassMethod_void_20_28cc__ccMotionState____29_28int_29___invoke_cc__ccMotionState__28char_20const__2c_20void_20_28cc__ccMotionState____29_28int_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $13 = 0, $17 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; $5 = HEAP32[$1 >> 2] | 0; $6 = HEAP32[($1 + 4 | 0) >> 2] | 0; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $6; HEAP32[($4 + 16 | 0) >> 2] = $5; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28cc__ccMotionState____29_28int_29_2c_20void_2c_20cc__ccMotionState__2c_20int___invoke_28void_20_28cc__ccMotionState____20const__29_28int_29_2c_20cc__ccMotionState__2c_20int_29; $8 = emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0; $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; $13 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int___getCount_28_29_20const($4 + 11 | 0 | 0) | 0; $17 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int___getTypes_28_29_20const($4 + 11 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_class_function($8 | 0, $9 | 0, $13 | 0, $17 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28cc__ccMotionState____emscripten__internal__getContext_void_20_28cc__ccMotionState____29_28int_29__28void_20_28cc__ccMotionState____20const__29_28int_29_29_29_28int_29($4 + 16 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__base_cc__ccMotionState___verify_ccMotionStateWrapper__28_29() { } function void_20const__20emscripten__internal__getActualType_ccMotionStateWrapper__28ccMotionStateWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = void_20const__20emscripten__internal__getLightTypeID_ccMotionStateWrapper__28ccMotionStateWrapper_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function cc__ccMotionState__20_28_emscripten__base_cc__ccMotionState___getUpcaster_ccMotionStateWrapper__28_29_29_28ccMotionStateWrapper__29() { return GOT_func_internal_cc__ccMotionState__20emscripten__base_cc__ccMotionState___convertPointer_ccMotionStateWrapper_2c_20cc__ccMotionState__28ccMotionStateWrapper__29 | 0; } function ccMotionStateWrapper__20_28_emscripten__base_cc__ccMotionState___getDowncaster_ccMotionStateWrapper__28_29_29_28cc__ccMotionState__29() { return GOT_func_internal_ccMotionStateWrapper__20emscripten__base_cc__ccMotionState___convertPointer_cc__ccMotionState_2c_20ccMotionStateWrapper__28cc__ccMotionState__29 | 0; } function void_20emscripten__internal__raw_destructor_ccMotionStateWrapper__28ccMotionStateWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (($4 | 0) == (0 | 0) & 1 | 0) { break label$1 } FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($4); } __stack_pointer = $3 + 16 | 0; return; } function emscripten__internal__TypeID_ccMotionStateWrapper_2c_20void___get_28_29() { return emscripten__internal__LightTypeID_ccMotionStateWrapper___get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_ccMotionStateWrapper____get_28_29() | 0 | 0; } function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper_20const__2c_20void___get_28_29() { return emscripten__internal__LightTypeID_ccMotionStateWrapper_20const____get_28_29() | 0 | 0; } function emscripten__base_cc__ccMotionState___get_28_29() { return emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0 | 0; } function emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29__operator_20void_20_28__29_28ccMotionStateWrapper__29_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return GOT_func_internal_emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29____invoke_28ccMotionStateWrapper__29 | 0; } function void_20_28_emscripten__select_overload_void_20_28ccMotionStateWrapper__29__28void_20_28__29_28ccMotionStateWrapper__29_29_29_28ccMotionStateWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28ccMotionStateWrapper__29___invoke_ccMotionStateWrapper__28char_20const__2c_20void_20_28__29_28ccMotionStateWrapper__29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $7 = 0, $11 = 0, $15 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28ccMotionStateWrapper__29_2c_20void_2c_20ccMotionStateWrapper____invoke_28void_20_28___29_28ccMotionStateWrapper__29_2c_20ccMotionStateWrapper__29; $6 = emscripten__internal__TypeID_ccMotionStateWrapper_2c_20void___get_28_29() | 0; $7 = HEAP32[($4 + 24 | 0) >> 2] | 0; $11 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20ccMotionStateWrapper____getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $15 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20ccMotionStateWrapper____getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_class_function($6 | 0, $7 | 0, $11 | 0, $15 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28__emscripten__internal__getContext_void_20_28__29_28ccMotionStateWrapper__29__28void_20_28__20const__29_28ccMotionStateWrapper__29_29_29_28ccMotionStateWrapper__29($4 + 20 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function ccMotionStateWrapper__20emscripten__internal__wrapped_new_ccMotionStateWrapper__2c_20ccMotionStateWrapper_2c_20emscripten__val__28emscripten__val___29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(80 | 0) | 0; ccMotionStateWrapper__ccMotionStateWrapper___28emscripten__val___29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function emscripten__internal__Invoker_ccMotionStateWrapper__2c_20emscripten__val_____invoke_28ccMotionStateWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $14 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($4 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); $14 = emscripten__internal__BindingType_ccMotionStateWrapper__2c_20void___toWireType_28ccMotionStateWrapper__29(FUNCTION_TABLE[$5 | 0]($4 + 4 | 0) | 0 | 0) | 0; emscripten__val___val_28_29($4 + 4 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $14 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_ccMotionStateWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_ccMotionStateWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20emscripten__val______get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__val_20emscripten__internal__wrapped_extend_ccMotionStateWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; emscripten__val__take_ownership_28emscripten___EM_VAL__29($0 | 0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, emscripten__internal__TypeID_ccMotionStateWrapper_2c_20void___get_28_29() | 0 | 0, emscripten__val__as_handle_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function void_20emscripten__function_int_2c_20int__28char_20const__2c_20int_20_28__29_28int_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29; $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int__28char_20const__2c_20void_20_28__29_28int_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29; $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_float_2c_20int__28char_20const__2c_20float_20_28__29_28int_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29; $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29; $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20float___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20float___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int___invoke_28int_20_28__29_28_29_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20int__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20bool_29_2c_20int_2c_20bool_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20bool_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_bool_2c_20int___invoke_28bool_20_28__29_28int_29_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float___invoke_28int_20_28__29_28float_29_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20float_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_29_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20float___invoke_28int_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20bool_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20bool_2c_20bool___invoke_28int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20int_2c_20bool_2c_20bool_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20bool_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20bool_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20bool_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20int___invoke_28int_20_28__29_28float_2c_20int_29_2c_20float_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20int_2c_20float_2c_20int_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $14 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29; $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[$5 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $12 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($4 + 4 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $12 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$5 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $12 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$5 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $12 = Math_fround(emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($4 + 4 | 0 | 0)); __stack_pointer = $4 + 16 | 0; return Math_fround($12); } function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$6 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))); __stack_pointer = $5 + 16 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$6 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $5 + 16 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $7 = 0, $18 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAPF32[($6 + 24 | 0) >> 2] = $1; HEAPF32[($6 + 20 | 0) >> 2] = $2; HEAPF32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[$7 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $18 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($6 + 12 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $18 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $8 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAPF32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[$8 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 24 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $21 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($7 + 8 | 0 | 0) | 0; __stack_pointer = $7 + 32 | 0; return $21 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0, $9 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAPF32[($8 + 20 | 0) >> 2] = $2; HEAPF32[($8 + 16 | 0) >> 2] = $3; HEAPF32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))))); __stack_pointer = $8 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 6 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int___invoke_28int_20_28__29_28_29_29($0) { $0 = $0 | 0; var $3 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($3 + 12 | 0) >> 2] | 0 | 0]() | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $9 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($3 + 8 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 1 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[$6 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $13 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($5 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $13 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 >> 2] | 0 | 0) | 0); __stack_pointer = $6 + 16 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $21 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($7 + 8 | 0 | 0) | 0; __stack_pointer = $7 + 32 | 0; return $21 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); $6 = Math_fround($6); var $9 = 0, $10 = 0; $9 = __stack_pointer - 32 | 0; __stack_pointer = $9; HEAP32[($9 + 28 | 0) >> 2] = $0; HEAP32[($9 + 24 | 0) >> 2] = $1; HEAPF32[($9 + 20 | 0) >> 2] = $2; HEAPF32[($9 + 16 | 0) >> 2] = $3; HEAPF32[($9 + 12 | 0) >> 2] = $4; HEAPF32[($9 + 8 | 0) >> 2] = $5; HEAPF32[($9 + 4 | 0) >> 2] = $6; $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 8 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 4 | 0) >> 2]))))); __stack_pointer = $9 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 7 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20bool_29_2c_20int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); __stack_pointer = $5 + 16 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20bool___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20bool___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20bool____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[$6 >> 2]))))); __stack_pointer = $6 + 16 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $24 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAP32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $24 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($8 + 4 | 0 | 0) | 0; __stack_pointer = $8 + 32 | 0; return $24 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 6 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP8[($6 + 3 | 0) >> 0] = $3; $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); __stack_pointer = $6 + 16 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20bool____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[$6 >> 2]))))); __stack_pointer = $6 + 16 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_bool_2c_20int___invoke_28bool_20_28__29_28int_29_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $13 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $13 = (emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29((FUNCTION_TABLE[$5 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) | 0) & 1 | 0 | 0) | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $13 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 >> 2] | 0 | 0) | 0); __stack_pointer = $6 + 16 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20float___invoke_28int_20_28__29_28float_29_2c_20float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[$5 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $12 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($4 + 4 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $12 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20float_2c_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_29_2c_20float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $6 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[$6 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $13 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($5 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $13 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20float___invoke_28int_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[$6 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $13 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($5 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $13 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = Math_fround($5); $6 = Math_fround($6); var $9 = 0, $10 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $9 = __stack_pointer - 32 | 0; __stack_pointer = $9; HEAP32[($9 + 28 | 0) >> 2] = $0; HEAP32[($9 + 24 | 0) >> 2] = $1; HEAP32[($9 + 20 | 0) >> 2] = $2; HEAP32[($9 + 16 | 0) >> 2] = $3; HEAPF32[($9 + 12 | 0) >> 2] = $4; HEAPF32[($9 + 8 | 0) >> 2] = $5; HEAPF32[($9 + 4 | 0) >> 2] = $6; $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $9, wasm2js_i32$1 = FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 8 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 4 | 0) >> 2]))))) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $25 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($9 | 0) | 0; __stack_pointer = $9 + 32 | 0; return $25 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 7 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $10 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAP8[($8 + 11 | 0) >> 0] = $5; $10 = HEAP32[($8 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($8 + 11 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); __stack_pointer = $8 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 6 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20bool_2c_20bool___invoke_28int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20int_2c_20bool_2c_20bool_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $9 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP8[($6 + 7 | 0) >> 0] = $2; HEAP8[($6 + 6 | 0) >> 0] = $3; $9 = HEAP32[($6 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($6 + 7 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($6 + 6 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $26 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($6 | 0) | 0; __stack_pointer = $6 + 16 | 0; return $26 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20bool_2c_20bool___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20bool_2c_20bool___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20bool_2c_20bool____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0, $9 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAPF32[($8 + 16 | 0) >> 2] = $3; HEAPF32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))))); __stack_pointer = $8 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 6 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $8 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $21 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($7 + 8 | 0 | 0) | 0; __stack_pointer = $7 + 32 | 0; return $21 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; $9 = HEAP32[($7 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_int_2c_20float_2c_20int___invoke_28int_20_28__29_28float_2c_20int_29_2c_20float_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $6 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[$6 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $13 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($5 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $13 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20int__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20int__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); var $9 = 0, $10 = 0; $9 = __stack_pointer - 32 | 0; __stack_pointer = $9; HEAP32[($9 + 28 | 0) >> 2] = $0; HEAP32[($9 + 24 | 0) >> 2] = $1; HEAP32[($9 + 20 | 0) >> 2] = $2; HEAP32[($9 + 16 | 0) >> 2] = $3; HEAP32[($9 + 12 | 0) >> 2] = $4; HEAP32[($9 + 8 | 0) >> 2] = $5; HEAPF32[($9 + 4 | 0) >> 2] = $6; $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 12 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 4 | 0) >> 2]))))); __stack_pointer = $9 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 7 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $18 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $18 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($6 + 12 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $18 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20int_2c_20float_2c_20int_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; $4 = Math_fround($4); var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $10 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAP8[($8 + 11 | 0) >> 0] = $5; $10 = HEAP32[($8 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($8 + 11 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); __stack_pointer = $8 + 32 | 0; return; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 6 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $8 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $21 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($7 + 8 | 0 | 0) | 0; __stack_pointer = $7 + 32 | 0; return $21 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = Math_fround($7); $8 = Math_fround($8); var $11 = 0, $12 = 0, $33 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $11 = __stack_pointer - 48 | 0; __stack_pointer = $11; HEAP32[($11 + 44 | 0) >> 2] = $0; HEAPF32[($11 + 40 | 0) >> 2] = $1; HEAPF32[($11 + 36 | 0) >> 2] = $2; HEAPF32[($11 + 32 | 0) >> 2] = $3; HEAP32[($11 + 28 | 0) >> 2] = $4; HEAP32[($11 + 24 | 0) >> 2] = $5; HEAP32[($11 + 20 | 0) >> 2] = $6; HEAPF32[($11 + 16 | 0) >> 2] = $7; HEAPF32[($11 + 12 | 0) >> 2] = $8; $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $11, wasm2js_i32$1 = FUNCTION_TABLE[$12 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 40 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 36 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 32 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($11 + 28 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($11 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($11 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 12 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $33 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($11 + 8 | 0 | 0) | 0; __stack_pointer = $11 + 48 | 0; return $33 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 9 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; } function emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = Math_fround($7); $8 = Math_fround($8); $9 = Math_fround($9); var $12 = 0, $13 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $12 = __stack_pointer - 48 | 0; __stack_pointer = $12; HEAP32[($12 + 44 | 0) >> 2] = $0; HEAPF32[($12 + 40 | 0) >> 2] = $1; HEAPF32[($12 + 36 | 0) >> 2] = $2; HEAPF32[($12 + 32 | 0) >> 2] = $3; HEAP32[($12 + 28 | 0) >> 2] = $4; HEAP32[($12 + 24 | 0) >> 2] = $5; HEAP32[($12 + 20 | 0) >> 2] = $6; HEAPF32[($12 + 16 | 0) >> 2] = $7; HEAPF32[($12 + 12 | 0) >> 2] = $8; HEAPF32[($12 + 8 | 0) >> 2] = $9; $13 = HEAP32[($12 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $12, wasm2js_i32$1 = FUNCTION_TABLE[$13 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 40 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 36 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 32 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($12 + 28 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($12 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($12 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 8 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $36 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($12 + 4 | 0 | 0) | 0; __stack_pointer = $12 + 48 | 0; return $36 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 10 | 0; } function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; } function void_20const__20emscripten__internal__getLightTypeID_btDebugDraw__28btDebugDraw_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; } function emscripten__internal__LightTypeID_btDebugDraw___get_28_29() { return GOT_data_internal_typeinfo_20for_20btDebugDraw | 0; } function emscripten__internal__LightTypeID_btDebugDraw____get_28_29() { return GOT_data_internal_typeinfo_20for_20btDebugDraw_ | 0; } function emscripten__internal__LightTypeID_btDebugDraw_20const____get_28_29() { return GOT_data_internal_typeinfo_20for_20btDebugDraw_20const_ | 0; } function emscripten__internal__MethodInvoker_void_20_28btIDebugDraw____29_28_29_2c_20void_2c_20btIDebugDraw____invoke_28void_20_28btIDebugDraw____20const__29_28_29_2c_20btIDebugDraw__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $7 = 0, $8 = 0, $9 = 0, $12 = 0, $18 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $6 = emscripten__internal__BindingType_btIDebugDraw__2c_20void___fromWireType_28btIDebugDraw__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; $7 = HEAP32[($4 + 12 | 0) >> 2] | 0; $8 = HEAP32[($7 + 4 | 0) >> 2] | 0; $9 = HEAP32[$7 >> 2] | 0; $12 = $6 + ($8 >> 1 | 0) | 0; label$1 : { label$2 : { if (!($8 & 1 | 0)) { break label$2 } $18 = HEAP32[((HEAP32[$12 >> 2] | 0) + $9 | 0) >> 2] | 0; break label$1; } $18 = $9; } FUNCTION_TABLE[$18 | 0]($12); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__TypeID_btIDebugDraw_2c_20void___get_28_29() { return emscripten__internal__LightTypeID_btIDebugDraw___get_28_29() | 0 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw_____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function void_20_28btIDebugDraw____emscripten__internal__getContext_void_20_28btIDebugDraw____29_28_29__28void_20_28btIDebugDraw____20const__29_28_29_29_29_28_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(8 | 0) | 0; $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = HEAP32[$6 >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[$5 >> 2] = $7; HEAP32[($3 + 8 | 0) >> 2] = $5; $9 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function emscripten__internal__BindingType_btIDebugDraw__2c_20void___fromWireType_28btIDebugDraw__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__LightTypeID_btIDebugDraw___get_28_29() { return GOT_data_internal_typeinfo_20for_20btIDebugDraw | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw_____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw_____get_28_29__types | 0; } function emscripten__internal__MethodInvoker_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_2c_20void_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int___invoke_28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $10 = 0, $11 = 0, $12 = 0, $15 = 0, $21 = 0, $9 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $9 = emscripten__internal__BindingType_btDebugDraw__2c_20void___fromWireType_28btDebugDraw__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0; $10 = HEAP32[($7 + 28 | 0) >> 2] | 0; $11 = HEAP32[($10 + 4 | 0) >> 2] | 0; $12 = HEAP32[$10 >> 2] | 0; $15 = $9 + ($11 >> 1 | 0) | 0; label$1 : { label$2 : { if (!($11 & 1 | 0)) { break label$2 } $21 = HEAP32[((HEAP32[$15 >> 2] | 0) + $12 | 0) >> 2] | 0; break label$1; } $21 = $12; } FUNCTION_TABLE[$21 | 0]($15, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 5 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function void_20_28btDebugDraw____emscripten__internal__getContext_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29__28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_29_29_28int_2c_20int_2c_20int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(8 | 0) | 0; $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = HEAP32[$6 >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[$5 >> 2] = $7; HEAP32[($3 + 8 | 0) >> 2] = $5; $9 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function emscripten__internal__BindingType_btDebugDraw__2c_20void___fromWireType_28btDebugDraw__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29____invoke_28btDebugDrawWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29__operator_28_29_28btDebugDrawWrapper__29_20const($3 + 11 | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDebugDraw__operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btDebugDrawWrapper__btDebugDrawWrapper___28emscripten__val___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; emscripten__wrapper_btDebugDraw___wrapper___28emscripten__val___29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20btDebugDrawWrapper + 8 | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function emscripten__val__as_handle_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; } function emscripten__val__take_ownership_28emscripten___EM_VAL__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; emscripten__val__val_28emscripten___EM_VAL__29($0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function void_20const__20emscripten__internal__getLightTypeID_btDebugDrawWrapper__28btDebugDrawWrapper_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; } function btDebugDraw__20emscripten__base_btDebugDraw___convertPointer_btDebugDrawWrapper_2c_20btDebugDraw__28btDebugDrawWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btDebugDrawWrapper__20emscripten__base_btDebugDraw___convertPointer_btDebugDraw_2c_20btDebugDrawWrapper__28btDebugDraw__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__LightTypeID_btDebugDrawWrapper___get_28_29() { return GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper | 0; } function emscripten__internal__LightTypeID_btDebugDrawWrapper____get_28_29() { return GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper_ | 0; } function emscripten__internal__LightTypeID_btDebugDrawWrapper_20const____get_28_29() { return GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper_20const_ | 0; } function emscripten__internal__FunctionInvoker_void_20_28__29_28btDebugDrawWrapper__29_2c_20void_2c_20btDebugDrawWrapper____invoke_28void_20_28___29_28btDebugDrawWrapper__29_2c_20btDebugDrawWrapper__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $6 = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; FUNCTION_TABLE[$6 | 0](emscripten__internal__GenericBindingType_btDebugDrawWrapper___fromWireType_28btDebugDrawWrapper__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btDebugDrawWrapper____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btDebugDrawWrapper____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btDebugDrawWrapper_____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function void_20_28__emscripten__internal__getContext_void_20_28__29_28btDebugDrawWrapper__29__28void_20_28__20const__29_28btDebugDrawWrapper__29_29_29_28btDebugDrawWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(4 | 0) | 0; HEAP32[$5 >> 2] = HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = $5; $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function emscripten__internal__GenericBindingType_btDebugDrawWrapper___fromWireType_28btDebugDrawWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btDebugDrawWrapper_____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btDebugDrawWrapper_____get_28_29__types | 0; } function emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29__operator_28_29_28btDebugDrawWrapper__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29((HEAP32[($4 + 8 | 0) >> 2] | 0) + 136 | 0 | 0, 1 & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP8[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; return; } function emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__BindingType_btDebugDrawWrapper__2c_20void___toWireType_28btDebugDrawWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__val___val_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; _emval_decref(HEAP32[$4 >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20emscripten__val______get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20emscripten__val______get_28_29__types | 0; } function emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; emscripten__val__take_ownership_28emscripten___EM_VAL__29($0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__val__val_28emscripten___EM_VAL__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return $5 | 0; } function emscripten__wrapper_btDebugDraw___wrapper___28emscripten__val___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = 136; __memset($5 | 0, 0 | 0, $6 | 0) | 0; btDebugDraw__btDebugDraw_28_29($5 | 0) | 0; emscripten__internal__WrapperBase__WrapperBase_28_29($5 + $6 | 0 | 0) | 0; HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_btDebugDraw_ + 8 | 0; emscripten__val__val_28emscripten__val___29($5 + 140 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btDebugDraw__btDebugDraw_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btIDebugDraw__btIDebugDraw_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btDebugDraw + 8 | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; btIDebugDraw__DefaultColors__DefaultColors_28_29($4 + 8 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__WrapperBase__WrapperBase_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[$4 >> 0] = 0; return $4 | 0; } function emscripten__val__val_28emscripten__val___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 0; return $5 | 0; } function btDebugDrawWrapper___btDebugDrawWrapper_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; emscripten__wrapper_btDebugDraw____wrapper_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__wrapper_btDebugDraw____wrapper_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $16 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_btDebugDraw_ + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 136 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } void_20emscripten__wrapper_btDebugDraw___call_void__28char_20const__29_20const($4 | 0, GOT_data_internal___memory_base + 68623 | 0 | 0); } emscripten__val___val_28_29($4 + 140 | 0 | 0) | 0; btDebugDraw___btDebugDraw_28_29($4 | 0) | 0; $16 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $16 | 0; } function btDebugDrawWrapper___btDebugDrawWrapper_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDebugDrawWrapper___btDebugDrawWrapper_28_29($4 | 0) | 0; btDebugDraw__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDebugDraw__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDebugDraw__getDefaultColors_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; __memcpy($0 | 0, (HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, 128 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btDebugDraw__setDefaultColors_28btIDebugDraw__DefaultColors_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; __memcpy((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 128 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btDebugDraw__drawLine_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); __stack_pointer = $6 + 16 | 0; return; } function btIDebugDraw__drawLine_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, HEAP32[($7 + 24 | 0) >> 2] | 0, HEAP32[($7 + 20 | 0) >> 2] | 0, HEAP32[($7 + 16 | 0) >> 2] | 0); __stack_pointer = $7 + 32 | 0; return; } function btIDebugDraw__drawSphere_28float_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $9 = 0, $10 = 0, $115 = 0, $119 = 0; $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $0; HEAPF32[($6 + 104 | 0) >> 2] = $1; HEAP32[($6 + 100 | 0) >> 2] = $2; HEAP32[($6 + 96 | 0) >> 2] = $3; $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; $9 = btTransform__getOrigin_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0; $10 = 8; i64toi32_i32$2 = $9 + $10 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $115 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 80 | 0) + $10 | 0; HEAP32[i64toi32_i32$0 >> 2] = $115; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $119 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 80 | 0) >> 2] = $119; HEAP32[($6 + 84 | 0) >> 2] = i64toi32_i32$0; btMatrix3x3__getColumn_28int_29_20const($6 + 64 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0 | 0, 1 | 0); btMatrix3x3__getColumn_28int_29_20const($6 + 48 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0); HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(-1.5707963705062866); HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(1.5707963705062866); HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(-1.5707963705062866); HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(1.5707963705062866); HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(30.0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($7, $6 + 80 | 0, $6 + 64 | 0, $6 + 48 | 0, Math_fround(HEAPF32[($6 + 104 | 0) >> 2]), Math_fround(HEAPF32[($6 + 44 | 0) >> 2]), Math_fround(HEAPF32[($6 + 40 | 0) >> 2]), Math_fround(HEAPF32[($6 + 36 | 0) >> 2]), Math_fround(HEAPF32[($6 + 32 | 0) >> 2]), HEAP32[($6 + 96 | 0) >> 2] | 0, Math_fround(HEAPF32[($6 + 28 | 0) >> 2]), 0 & 1 | 0); operator__28btVector3_20const__29($6 + 12 | 0 | 0, $6 + 48 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($7, $6 + 80 | 0, $6 + 64 | 0, $6 + 12 | 0, Math_fround(HEAPF32[($6 + 104 | 0) >> 2]), Math_fround(HEAPF32[($6 + 44 | 0) >> 2]), Math_fround(HEAPF32[($6 + 40 | 0) >> 2]), Math_fround(HEAPF32[($6 + 36 | 0) >> 2]), Math_fround(HEAPF32[($6 + 32 | 0) >> 2]), HEAP32[($6 + 96 | 0) >> 2] | 0, Math_fround(HEAPF32[($6 + 28 | 0) >> 2]), 0 & 1 | 0); __stack_pointer = $6 + 112 | 0; return; } function btTransform__getOrigin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 48 | 0 | 0; } function btMatrix3x3__getColumn_28int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, (btVector3__operator_20float_20const__28_29_20const($6 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($6 + 16 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($6 + 32 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return; } function btIDebugDraw__drawSphere_28btVector3_20const__2c_20float_2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAPF32[($6 + 68 | 0) >> 2] = $2; HEAP32[($6 + 64 | 0) >> 2] = $3; $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; btTransform__btTransform_28_29($6 | 0) | 0; btTransform__setIdentity_28_29($6 | 0); btTransform__setOrigin_28btVector3_20const__29($6 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($7, Math_fround(HEAPF32[($6 + 68 | 0) >> 2]), $6, HEAP32[($6 + 64 | 0) >> 2] | 0); __stack_pointer = $6 + 80 | 0; return; } function btIDebugDraw__drawTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = Math_fround($8); var $11 = 0, $12 = 0; $11 = __stack_pointer - 48 | 0; __stack_pointer = $11; HEAP32[($11 + 44 | 0) >> 2] = $0; HEAP32[($11 + 40 | 0) >> 2] = $1; HEAP32[($11 + 36 | 0) >> 2] = $2; HEAP32[($11 + 32 | 0) >> 2] = $3; HEAP32[($11 + 28 | 0) >> 2] = $4; HEAP32[($11 + 24 | 0) >> 2] = $5; HEAP32[($11 + 20 | 0) >> 2] = $6; HEAP32[($11 + 16 | 0) >> 2] = $7; HEAPF32[($11 + 12 | 0) >> 2] = $8; $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($12, HEAP32[($11 + 40 | 0) >> 2] | 0, HEAP32[($11 + 36 | 0) >> 2] | 0, HEAP32[($11 + 32 | 0) >> 2] | 0, HEAP32[($11 + 16 | 0) >> 2] | 0, Math_fround(HEAPF32[($11 + 12 | 0) >> 2])); __stack_pointer = $11 + 48 | 0; return; } function btIDebugDraw__drawTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); var $8 = 0, $9 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($8 + 24 | 0) >> 2] | 0, HEAP32[($8 + 20 | 0) >> 2] | 0, HEAP32[($8 + 12 | 0) >> 2] | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($8 + 20 | 0) >> 2] | 0, HEAP32[($8 + 16 | 0) >> 2] | 0, HEAP32[($8 + 12 | 0) >> 2] | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($8 + 16 | 0) >> 2] | 0, HEAP32[($8 + 24 | 0) >> 2] | 0, HEAP32[($8 + 12 | 0) >> 2] | 0); __stack_pointer = $8 + 32 | 0; return; } function btDebugDraw__drawContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $10 = 0, $11 = 0, $31 = 0, $32 = 0, $33 = 0; $8 = __stack_pointer - 96 | 0; __stack_pointer = $8; HEAP32[($8 + 92 | 0) >> 2] = $0; HEAP32[($8 + 88 | 0) >> 2] = $1; HEAP32[($8 + 84 | 0) >> 2] = $2; HEAPF32[($8 + 80 | 0) >> 2] = $3; HEAP32[($8 + 76 | 0) >> 2] = $4; HEAP32[($8 + 72 | 0) >> 2] = $5; $9 = HEAP32[($8 + 92 | 0) >> 2] | 0; $10 = HEAP32[($8 + 88 | 0) >> 2] | 0; $11 = HEAP32[($8 + 88 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($8 + 40 | 0 | 0, HEAP32[($8 + 84 | 0) >> 2] | 0 | 0, $8 + 80 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 56 | 0 | 0, $11 | 0, $8 + 40 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $10, $8 + 56 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0); $31 = HEAP32[($8 + 88 | 0) >> 2] | 0; $32 = HEAP32[($8 + 88 | 0) >> 2] | 0; $33 = HEAP32[($8 + 84 | 0) >> 2] | 0; HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(.009999999776482582); operator__28btVector3_20const__2c_20float_20const__29($8 + 8 | 0 | 0, $33 | 0, $8 + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 24 | 0 | 0, $32 | 0, $8 + 8 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $31, $8 + 24 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0); __stack_pointer = $8 + 96 | 0; return; } function btDebugDraw__reportErrorWarning_28char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btDebugDraw__draw3dText_28btVector3_20const__2c_20char_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btDebugDraw__setDebugMode_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btDebugDraw__getDebugMode_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btIDebugDraw__drawAabb_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $120 = 0, $145 = 0, $194 = 0, $236 = 0, $259 = 0, $505 = 0, $509 = 0, $648 = 0, $652 = 0, $732 = 0, $736 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 256 | 0; __stack_pointer = $6; HEAP32[($6 + 252 | 0) >> 2] = $0; HEAP32[($6 + 248 | 0) >> 2] = $1; HEAP32[($6 + 244 | 0) >> 2] = $2; HEAP32[($6 + 240 | 0) >> 2] = $3; $7 = HEAP32[($6 + 252 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 208 | 0 | 0, HEAP32[($6 + 244 | 0) >> 2] | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0); HEAPF32[($6 + 204 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($6 + 224 | 0 | 0, $6 + 208 | 0 | 0, $6 + 204 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 172 | 0 | 0, HEAP32[($6 + 244 | 0) >> 2] | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0); HEAPF32[($6 + 168 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($6 + 188 | 0 | 0, $6 + 172 | 0 | 0, $6 + 168 | 0 | 0); HEAPF32[($6 + 140 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 136 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 132 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $6 + 140 | 0 | 0, $6 + 136 | 0 | 0, $6 + 132 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 112 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 96 | 0 | 0) | 0; HEAP32[($6 + 164 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 164 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$1 } HEAP32[($6 + 160 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($6 + 160 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 80 | 0 | 0, $6 + 76 | 0 | 0, $6 + 72 | 0 | 0, $6 + 68 | 0 | 0) | 0; $120 = 8; i64toi32_i32$2 = ($6 + 80 | 0) + $120 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $505 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 112 | 0) + $120 | 0; HEAP32[i64toi32_i32$0 >> 2] = $505; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 80 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 84 | 0) >> 2] | 0; $509 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 112 | 0) >> 2] = $509; HEAP32[($6 + 116 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29_1($6 + 112 | 0 | 0, $6 + 188 | 0 | 0) | 0; HEAP32[($6 + 64 | 0) >> 2] = (HEAP32[($6 + 160 | 0) >> 2] | 0 | 0) % (3 | 0) | 0; $145 = (btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + ((HEAP32[($6 + 64 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$145 >> 2] = Math_fround(Math_fround(HEAPF32[$145 >> 2]) * Math_fround(-1.0)); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0) | 0; $194 = 8; i64toi32_i32$2 = ($6 + 48 | 0) + $194 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $648 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 96 | 0) + $194 | 0; HEAP32[i64toi32_i32$0 >> 2] = $648; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 52 | 0) >> 2] | 0; $652 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 96 | 0) >> 2] = $652; HEAP32[($6 + 100 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29_1($6 + 96 | 0 | 0, $6 + 188 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 112 | 0, $6 + 96 | 0, HEAP32[($6 + 240 | 0) >> 2] | 0); HEAP32[($6 + 160 | 0) >> 2] = (HEAP32[($6 + 160 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(-1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; $236 = 8; i64toi32_i32$2 = ($6 + 20 | 0) + $236 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $732 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 144 | 0) + $236 | 0; HEAP32[i64toi32_i32$0 >> 2] = $732; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 24 | 0) >> 2] | 0; $736 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 144 | 0) >> 2] = $736; HEAP32[($6 + 148 | 0) >> 2] = i64toi32_i32$0; label$5 : { if (!((HEAP32[($6 + 164 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$5 } $259 = (btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + ((HEAP32[($6 + 164 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$259 >> 2] = Math_fround(Math_fround(HEAPF32[$259 >> 2]) * Math_fround(-1.0)); } HEAP32[($6 + 164 | 0) >> 2] = (HEAP32[($6 + 164 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 256 | 0; return; } function btIDebugDraw__drawTransform_28btTransform_20const__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $224 = 0, $228 = 0, $17 = 0, $76 = 0, $135 = 0; $5 = __stack_pointer - 288 | 0; __stack_pointer = $5; HEAP32[($5 + 284 | 0) >> 2] = $0; HEAP32[($5 + 280 | 0) >> 2] = $1; HEAPF32[($5 + 276 | 0) >> 2] = $2; $6 = HEAP32[($5 + 284 | 0) >> 2] | 0; $8 = btTransform__getOrigin_28_29_20const(HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; $9 = 8; i64toi32_i32$2 = $8 + $9 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $224 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 256 | 0) + $9 | 0; HEAP32[i64toi32_i32$0 >> 2] = $224; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $228 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 256 | 0) >> 2] = $228; HEAP32[($5 + 260 | 0) >> 2] = i64toi32_i32$0; $17 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($5 + 204 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 200 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 208 | 0 | 0, $5 + 276 | 0 | 0, $5 + 204 | 0 | 0, $5 + 200 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 224 | 0 | 0, $17 | 0, $5 + 208 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 240 | 0 | 0, $5 + 256 | 0 | 0, $5 + 224 | 0 | 0); HEAPF32[($5 + 180 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 176 | 0) >> 2] = Math_fround(.30000001192092896); HEAPF32[($5 + 172 | 0) >> 2] = Math_fround(.30000001192092896); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 184 | 0 | 0, $5 + 180 | 0 | 0, $5 + 176 | 0 | 0, $5 + 172 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, $5 + 256 | 0, $5 + 240 | 0, $5 + 184 | 0); $76 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 116 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 124 | 0 | 0, $5 + 120 | 0 | 0, $5 + 276 | 0 | 0, $5 + 116 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 140 | 0 | 0, $76 | 0, $5 + 124 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 156 | 0 | 0, $5 + 256 | 0 | 0, $5 + 140 | 0 | 0); HEAPF32[($5 + 96 | 0) >> 2] = Math_fround(.30000001192092896); HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 88 | 0) >> 2] = Math_fround(.30000001192092896); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 100 | 0 | 0, $5 + 96 | 0 | 0, $5 + 92 | 0 | 0, $5 + 88 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, $5 + 256 | 0, $5 + 156 | 0, $5 + 100 | 0); $135 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 276 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 56 | 0 | 0, $135 | 0, $5 + 40 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 72 | 0 | 0, $5 + 256 | 0 | 0, $5 + 56 | 0 | 0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(.30000001192092896); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(.30000001192092896); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, $5 + 256 | 0, $5 + 72 | 0, $5 + 16 | 0); __stack_pointer = $5 + 288 | 0; return; } function btIDebugDraw__drawArc_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20float_2c_20float_2c_20float_2c_20btVector3_20const__2c_20bool_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = Math_fround($5); $6 = Math_fround($6); $7 = Math_fround($7); $8 = $8 | 0; $9 = $9 | 0; $10 = Math_fround($10); var $13 = 0, $15 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $30 = Math_fround(0), $36 = 0, $185 = 0, $41 = 0, $124 = 0, $590 = 0, $594 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $13 = __stack_pointer - 288 | 0; __stack_pointer = $13; HEAP32[($13 + 284 | 0) >> 2] = $0; HEAP32[($13 + 280 | 0) >> 2] = $1; HEAP32[($13 + 276 | 0) >> 2] = $2; HEAP32[($13 + 272 | 0) >> 2] = $3; HEAPF32[($13 + 268 | 0) >> 2] = $4; HEAPF32[($13 + 264 | 0) >> 2] = $5; HEAPF32[($13 + 260 | 0) >> 2] = $6; HEAPF32[($13 + 256 | 0) >> 2] = $7; HEAP32[($13 + 252 | 0) >> 2] = $8; HEAP8[($13 + 251 | 0) >> 0] = $9; HEAPF32[($13 + 244 | 0) >> 2] = $10; $15 = HEAP32[($13 + 284 | 0) >> 2] | 0; HEAP32[($13 + 240 | 0) >> 2] = HEAP32[($13 + 272 | 0) >> 2] | 0; btVector3__cross_28btVector3_20const__29_20const($13 + 224 | 0 | 0, HEAP32[($13 + 276 | 0) >> 2] | 0 | 0, HEAP32[($13 + 272 | 0) >> 2] | 0 | 0); HEAPF32[($13 + 220 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($13 + 244 | 0) >> 2]) * Math_fround(.01745329238474369)); $30 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($13 + 256 | 0) >> 2]) - Math_fround(HEAPF32[($13 + 260 | 0) >> 2])) / Math_fround(HEAPF32[($13 + 220 | 0) >> 2]))))); label$1 : { label$2 : { if (!(Math_fround(Math_abs($30)) < Math_fround(2147483648.0))) { break label$2 } $36 = ~~$30; break label$1; } $36 = -2147483648; } HEAP32[($13 + 216 | 0) >> 2] = $36; label$3 : { if (HEAP32[($13 + 216 | 0) >> 2] | 0) { break label$3 } HEAP32[($13 + 216 | 0) >> 2] = 1; } $41 = HEAP32[($13 + 280 | 0) >> 2] | 0; operator__28float_20const__2c_20btVector3_20const__29($13 + 152 | 0 | 0, $13 + 268 | 0 | 0, HEAP32[($13 + 240 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 260 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($13 + 168 | 0 | 0, $13 + 152 | 0 | 0, $13 + 148 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 184 | 0 | 0, $41 | 0, $13 + 168 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($13 + 116 | 0 | 0, $13 + 264 | 0 | 0, $13 + 224 | 0 | 0); (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 260 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($13 + 132 | 0 | 0, $13 + 116 | 0 | 0, $13 + 112 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 200 | 0 | 0, $13 + 184 | 0 | 0, $13 + 132 | 0 | 0); label$4 : { if (!((HEAPU8[($13 + 251 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($15, HEAP32[($13 + 280 | 0) >> 2] | 0, $13 + 200 | 0, HEAP32[($13 + 252 | 0) >> 2] | 0); } HEAP32[($13 + 108 | 0) >> 2] = 1; label$5 : { label$6 : while (1) { if (!((HEAP32[($13 + 108 | 0) >> 2] | 0 | 0) <= (HEAP32[($13 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } HEAPF32[($13 + 104 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($13 + 260 | 0) >> 2]) + Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($13 + 256 | 0) >> 2]) - Math_fround(HEAPF32[($13 + 260 | 0) >> 2])) * Math_fround(HEAP32[($13 + 108 | 0) >> 2] | 0 | 0)) / Math_fround(HEAP32[($13 + 216 | 0) >> 2] | 0 | 0))); $124 = HEAP32[($13 + 280 | 0) >> 2] | 0; operator__28float_20const__2c_20btVector3_20const__29($13 + 40 | 0 | 0, $13 + 268 | 0 | 0, HEAP32[($13 + 240 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 104 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($13 + 56 | 0 | 0, $13 + 40 | 0 | 0, $13 + 36 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 72 | 0 | 0, $124 | 0, $13 + 56 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($13 + 4 | 0 | 0, $13 + 264 | 0 | 0, $13 + 224 | 0 | 0); (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 104 | 0) >> 2]))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($13 + 20 | 0 | 0, $13 + 4 | 0 | 0, $13 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 88 | 0 | 0, $13 + 72 | 0 | 0, $13 + 20 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($15, $13 + 200 | 0, $13 + 88 | 0, HEAP32[($13 + 252 | 0) >> 2] | 0); $185 = 8; i64toi32_i32$2 = ($13 + 88 | 0) + $185 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $590 = i64toi32_i32$0; i64toi32_i32$0 = ($13 + 200 | 0) + $185 | 0; HEAP32[i64toi32_i32$0 >> 2] = $590; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $13; i64toi32_i32$1 = HEAP32[($13 + 88 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($13 + 92 | 0) >> 2] | 0; $594 = i64toi32_i32$1; i64toi32_i32$1 = $13; HEAP32[($13 + 200 | 0) >> 2] = $594; HEAP32[($13 + 204 | 0) >> 2] = i64toi32_i32$0; HEAP32[($13 + 108 | 0) >> 2] = (HEAP32[($13 + 108 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } label$7 : { if (!((HEAPU8[($13 + 251 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($15, HEAP32[($13 + 280 | 0) >> 2] | 0, $13 + 200 | 0, HEAP32[($13 + 252 | 0) >> 2] | 0); } __stack_pointer = $13 + 288 | 0; return; } function btFabs_28float_29($0) { $0 = Math_fround($0); var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAPF32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(Math_abs(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); } function operator__28float_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; operator__28btVector3_20const__2c_20float_20const__29($0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btCos_28float_29($0) { $0 = Math_fround($0); var $3 = 0, $5 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAPF32[($3 + 12 | 0) >> 2] = $0; $5 = Math_fround(cosf(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); __stack_pointer = $3 + 16 | 0; return Math_fround($5); } function btSin_28float_29($0) { $0 = Math_fround($0); var $3 = 0, $5 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAPF32[($3 + 12 | 0) >> 2] = $0; $5 = Math_fround(sinf(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); __stack_pointer = $3 + 16 | 0; return Math_fround($5); } function btIDebugDraw__drawSpherePatch_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_2c_20btVector3_20const__2c_20float_2c_20bool_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = Math_fround($5); $6 = Math_fround($6); $7 = Math_fround($7); $8 = Math_fround($8); $9 = $9 | 0; $10 = Math_fround($10); $11 = $11 | 0; var $14 = 0, i64toi32_i32$0 = 0, $16 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $19 = 0, $22 = 0, $23 = 0, $25 = 0, $33 = 0, $36 = 0, $37 = 0, $39 = 0, $129 = Math_fround(0), $135 = 0, $180 = Math_fround(0), $186 = 0, $305 = 0, $307 = 0, $361 = 0, $362 = 0, $21 = 0, $35 = 0, $51 = 0, $65 = 0, $247 = 0, $1091 = 0, $1104 = 0, $1232 = 0, $1236 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $14 = __stack_pointer - 2704 | 0; __stack_pointer = $14; HEAP32[($14 + 2700 | 0) >> 2] = $0; HEAP32[($14 + 2696 | 0) >> 2] = $1; HEAP32[($14 + 2692 | 0) >> 2] = $2; HEAP32[($14 + 2688 | 0) >> 2] = $3; HEAPF32[($14 + 2684 | 0) >> 2] = $4; HEAPF32[($14 + 2680 | 0) >> 2] = $5; HEAPF32[($14 + 2676 | 0) >> 2] = $6; HEAPF32[($14 + 2672 | 0) >> 2] = $7; HEAPF32[($14 + 2668 | 0) >> 2] = $8; HEAP32[($14 + 2664 | 0) >> 2] = $9; HEAPF32[($14 + 2660 | 0) >> 2] = $10; HEAP8[($14 + 2659 | 0) >> 0] = $11; $16 = HEAP32[($14 + 2700 | 0) >> 2] | 0; $19 = $14 + 1472 | 0; $21 = $19 + 1184 | 0; $22 = $19; label$1 : while (1) { $23 = $22; btVector3__btVector3_28_29($23 | 0) | 0; $25 = $23 + 16 | 0; $22 = $25; if (!(($25 | 0) == ($21 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $33 = $14 + 288 | 0; $35 = $33 + 1184 | 0; $36 = $33; label$2 : while (1) { $37 = $36; btVector3__btVector3_28_29($37 | 0) | 0; $39 = $37 + 16 | 0; $36 = $39; if (!(($39 | 0) == ($35 | 0) & 1 | 0)) { continue label$2 } break label$2; }; HEAP32[($14 + 284 | 0) >> 2] = $14 + 1472 | 0; HEAP32[($14 + 280 | 0) >> 2] = $14 + 288 | 0; $51 = HEAP32[($14 + 2696 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($14 + 244 | 0 | 0, HEAP32[($14 + 2692 | 0) >> 2] | 0 | 0, $14 + 2684 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($14 + 260 | 0 | 0, $51 | 0, $14 + 244 | 0 | 0); $65 = HEAP32[($14 + 2696 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($14 + 212 | 0 | 0, HEAP32[($14 + 2692 | 0) >> 2] | 0 | 0, $14 + 2684 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($14 + 228 | 0 | 0, $65 | 0, $14 + 212 | 0 | 0); btVector3__btVector3_28_29($14 + 192 | 0 | 0) | 0; HEAPF32[($14 + 188 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($14 + 2660 | 0) >> 2]) * Math_fround(.01745329238474369)); HEAP32[($14 + 184 | 0) >> 2] = HEAP32[($14 + 2692 | 0) >> 2] | 0; HEAP32[($14 + 180 | 0) >> 2] = HEAP32[($14 + 2688 | 0) >> 2] | 0; btVector3__cross_28btVector3_20const__29_20const($14 + 164 | 0 | 0, HEAP32[($14 + 184 | 0) >> 2] | 0 | 0, HEAP32[($14 + 180 | 0) >> 2] | 0 | 0); HEAP8[($14 + 163 | 0) >> 0] = 0; HEAP8[($14 + 162 | 0) >> 0] = 0; label$3 : { if (!(Math_fround(HEAPF32[($14 + 2680 | 0) >> 2]) <= Math_fround(-1.5707963705062866) & 1 | 0)) { break label$3 } HEAPF32[($14 + 2680 | 0) >> 2] = Math_fround(Math_fround(-1.5707963705062866) + Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); HEAP8[($14 + 163 | 0) >> 0] = 1; } label$4 : { if (!(Math_fround(HEAPF32[($14 + 2676 | 0) >> 2]) >= Math_fround(1.5707963705062866) & 1 | 0)) { break label$4 } HEAPF32[($14 + 2676 | 0) >> 2] = Math_fround(Math_fround(1.5707963705062866) - Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); HEAP8[($14 + 162 | 0) >> 0] = 1; } label$5 : { if (!(Math_fround(HEAPF32[($14 + 2680 | 0) >> 2]) > Math_fround(HEAPF32[($14 + 2676 | 0) >> 2]) & 1 | 0)) { break label$5 } HEAPF32[($14 + 2680 | 0) >> 2] = Math_fround(Math_fround(-1.5707963705062866) + Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); HEAPF32[($14 + 2676 | 0) >> 2] = Math_fround(Math_fround(1.5707963705062866) - Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); HEAP8[($14 + 162 | 0) >> 0] = 1; HEAP8[($14 + 163 | 0) >> 0] = 1; } $129 = Math_fround(Math_fround(Math_fround(HEAPF32[($14 + 2676 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2680 | 0) >> 2])) / Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); label$6 : { label$7 : { if (!(Math_fround(Math_abs($129)) < Math_fround(2147483648.0))) { break label$7 } $135 = ~~$129; break label$6; } $135 = -2147483648; } HEAP32[($14 + 156 | 0) >> 2] = $135 + 1 | 0; label$8 : { if (!((HEAP32[($14 + 156 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { break label$8 } HEAP32[($14 + 156 | 0) >> 2] = 2; } HEAPF32[($14 + 152 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($14 + 2676 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2680 | 0) >> 2])) / Math_fround((HEAP32[($14 + 156 | 0) >> 2] | 0) - 1 | 0 | 0)); HEAP8[($14 + 151 | 0) >> 0] = 0; label$9 : { label$10 : { if (!(Math_fround(HEAPF32[($14 + 2672 | 0) >> 2]) > Math_fround(HEAPF32[($14 + 2668 | 0) >> 2]) & 1 | 0)) { break label$10 } HEAPF32[($14 + 2672 | 0) >> 2] = Math_fround(Math_fround(-3.1415927410125732) + Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); HEAPF32[($14 + 2668 | 0) >> 2] = Math_fround(3.1415927410125732); HEAP8[($14 + 151 | 0) >> 0] = 1; break label$9; } label$11 : { label$12 : { if (!(Math_fround(Math_fround(HEAPF32[($14 + 2668 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2672 | 0) >> 2])) >= Math_fround(6.2831854820251465) & 1 | 0)) { break label$12 } HEAP8[($14 + 151 | 0) >> 0] = 1; break label$11; } HEAP8[($14 + 151 | 0) >> 0] = 0; } } $180 = Math_fround(Math_fround(Math_fround(HEAPF32[($14 + 2668 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2672 | 0) >> 2])) / Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); label$13 : { label$14 : { if (!(Math_fround(Math_abs($180)) < Math_fround(2147483648.0))) { break label$14 } $186 = ~~$180; break label$13; } $186 = -2147483648; } HEAP32[($14 + 144 | 0) >> 2] = $186 + 1 | 0; label$15 : { if (!((HEAP32[($14 + 144 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { break label$15 } HEAP32[($14 + 144 | 0) >> 2] = 2; } HEAPF32[($14 + 140 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($14 + 2668 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2672 | 0) >> 2])) / Math_fround((HEAP32[($14 + 144 | 0) >> 2] | 0) - 1 | 0 | 0)); HEAP32[($14 + 136 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($14 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($14 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } HEAPF32[($14 + 132 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAP32[($14 + 136 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[($14 + 152 | 0) >> 2])) + Math_fround(HEAPF32[($14 + 2680 | 0) >> 2])); (wasm2js_i32$0 = $14, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($14 + 2684 | 0) >> 2]) * Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($14 + 132 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $14, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($14 + 2684 | 0) >> 2]) * Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($14 + 132 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_f32$0; HEAP32[($14 + 120 | 0) >> 2] = 0; label$18 : { label$19 : while (1) { if (!((HEAP32[($14 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($14 + 144 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$18 } HEAPF32[($14 + 116 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAP32[($14 + 120 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[($14 + 140 | 0) >> 2])) + Math_fround(HEAPF32[($14 + 2672 | 0) >> 2])); (wasm2js_i32$0 = $14, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($14 + 116 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $14, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($14 + 116 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; $247 = HEAP32[($14 + 2696 | 0) >> 2] | 0; HEAPF32[($14 + 40 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($14 + 124 | 0) >> 2]) * Math_fround(HEAPF32[($14 + 108 | 0) >> 2])); operator__28float_20const__2c_20btVector3_20const__29($14 + 44 | 0 | 0, $14 + 40 | 0 | 0, HEAP32[($14 + 180 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($14 + 60 | 0 | 0, $247 | 0, $14 + 44 | 0 | 0); HEAPF32[($14 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($14 + 124 | 0) >> 2]) * Math_fround(HEAPF32[($14 + 112 | 0) >> 2])); operator__28float_20const__2c_20btVector3_20const__29($14 + 24 | 0 | 0, $14 + 20 | 0 | 0, $14 + 164 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($14 + 76 | 0 | 0, $14 + 60 | 0 | 0, $14 + 24 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($14 + 4 | 0 | 0, $14 + 128 | 0 | 0, HEAP32[($14 + 184 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($14 + 92 | 0 | 0, $14 + 76 | 0 | 0, $14 + 4 | 0 | 0); $305 = (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $14; i64toi32_i32$0 = HEAP32[($14 + 92 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($14 + 96 | 0) >> 2] | 0; $1091 = i64toi32_i32$0; i64toi32_i32$0 = $305; HEAP32[i64toi32_i32$0 >> 2] = $1091; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $307 = 8; i64toi32_i32$2 = ($14 + 92 | 0) + $307 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1104 = i64toi32_i32$1; i64toi32_i32$1 = $305 + $307 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1104; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$20 : { label$21 : { if (!(HEAP32[($14 + 136 | 0) >> 2] | 0)) { break label$21 } FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, (HEAP32[($14 + 284 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); break label$20; } label$22 : { if (!((HEAPU8[($14 + 162 | 0) >> 0] | 0) & 1 | 0)) { break label$22 } FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, $14 + 228 | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); } } label$23 : { label$24 : { if (!(HEAP32[($14 + 120 | 0) >> 2] | 0)) { break label$24 } FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, (HEAP32[($14 + 280 | 0) >> 2] | 0) + (((HEAP32[($14 + 120 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); break label$23; } $361 = (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0; $362 = 8; i64toi32_i32$2 = $361 + $362 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1232 = i64toi32_i32$0; i64toi32_i32$0 = ($14 + 192 | 0) + $362 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1232; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $361; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1236 = i64toi32_i32$1; i64toi32_i32$1 = $14; HEAP32[($14 + 192 | 0) >> 2] = $1236; HEAP32[($14 + 196 | 0) >> 2] = i64toi32_i32$0; } label$25 : { if (!((HEAP32[($14 + 136 | 0) >> 2] | 0 | 0) == ((HEAP32[($14 + 156 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { break label$25 } if (!((HEAPU8[($14 + 163 | 0) >> 0] | 0) & 1 | 0)) { break label$25 } FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, $14 + 260 | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); } label$26 : { if (!((HEAPU8[($14 + 2659 | 0) >> 0] | 0) & 1 | 0)) { break label$26 } label$27 : { label$28 : { if (!((HEAPU8[($14 + 151 | 0) >> 0] | 0) & 1 | 0)) { break label$28 } label$29 : { if (!((HEAP32[($14 + 120 | 0) >> 2] | 0 | 0) == ((HEAP32[($14 + 144 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { break label$29 } FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, $14 + 192 | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); } break label$27; } label$30 : { label$31 : { if (!(HEAP32[($14 + 136 | 0) >> 2] | 0)) { break label$31 } if (!((HEAP32[($14 + 136 | 0) >> 2] | 0 | 0) == ((HEAP32[($14 + 156 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { break label$30 } } label$32 : { if (!(HEAP32[($14 + 120 | 0) >> 2] | 0)) { break label$32 } if (!((HEAP32[($14 + 120 | 0) >> 2] | 0 | 0) == ((HEAP32[($14 + 144 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { break label$30 } } FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, HEAP32[($14 + 2696 | 0) >> 2] | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); } } } HEAP32[($14 + 120 | 0) >> 2] = (HEAP32[($14 + 120 | 0) >> 2] | 0) + 1 | 0; continue label$19; }; } HEAP32[($14 + 276 | 0) >> 2] = HEAP32[($14 + 284 | 0) >> 2] | 0; HEAP32[($14 + 284 | 0) >> 2] = HEAP32[($14 + 280 | 0) >> 2] | 0; HEAP32[($14 + 280 | 0) >> 2] = HEAP32[($14 + 276 | 0) >> 2] | 0; HEAP32[($14 + 136 | 0) >> 2] = (HEAP32[($14 + 136 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } __stack_pointer = $14 + 2704 | 0; return; } function btIDebugDraw__drawBox_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 400 | 0; __stack_pointer = $6; HEAP32[($6 + 396 | 0) >> 2] = $0; HEAP32[($6 + 392 | 0) >> 2] = $1; HEAP32[($6 + 388 | 0) >> 2] = $2; HEAP32[($6 + 384 | 0) >> 2] = $3; $7 = HEAP32[($6 + 396 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 368 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 352 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 368 | 0, $6 + 352 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 336 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 320 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 336 | 0, $6 + 320 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 288 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 304 | 0, $6 + 288 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 256 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 272 | 0, $6 + 256 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 240 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 224 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 240 | 0, $6 + 224 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 208 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 192 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 208 | 0, $6 + 192 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 176 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 160 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 176 | 0, $6 + 160 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 144 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 128 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 144 | 0, $6 + 128 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 112 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 96 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 112 | 0, $6 + 96 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 80 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 64 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 80 | 0, $6 + 64 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 48 | 0, $6 + 32 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 16 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 16 | 0, $6, HEAP32[($6 + 384 | 0) >> 2] | 0); __stack_pointer = $6 + 400 | 0; return; } function btIDebugDraw__drawBox_28btVector3_20const__2c_20btVector3_20const__2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $9 = 0, $29 = 0, $58 = 0, $78 = 0, $107 = 0, $127 = 0, $156 = 0, $176 = 0, $205 = 0, $225 = 0, $254 = 0, $274 = 0, $303 = 0, $323 = 0, $352 = 0, $372 = 0, $401 = 0, $421 = 0, $450 = 0, $470 = 0, $499 = 0, $519 = 0, $548 = 0, $568 = 0; $7 = __stack_pointer - 800 | 0; __stack_pointer = $7; HEAP32[($7 + 796 | 0) >> 2] = $0; HEAP32[($7 + 792 | 0) >> 2] = $1; HEAP32[($7 + 788 | 0) >> 2] = $2; HEAP32[($7 + 784 | 0) >> 2] = $3; HEAP32[($7 + 780 | 0) >> 2] = $4; $8 = HEAP32[($7 + 796 | 0) >> 2] | 0; $9 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 748 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 764 | 0 | 0, $9 | 0, $7 + 748 | 0 | 0); $29 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 716 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 732 | 0 | 0, $29 | 0, $7 + 716 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 764 | 0, $7 + 732 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $58 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 684 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 700 | 0 | 0, $58 | 0, $7 + 684 | 0 | 0); $78 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 652 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 668 | 0 | 0, $78 | 0, $7 + 652 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 700 | 0, $7 + 668 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $107 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 620 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 636 | 0 | 0, $107 | 0, $7 + 620 | 0 | 0); $127 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 588 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 604 | 0 | 0, $127 | 0, $7 + 588 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 636 | 0, $7 + 604 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $156 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 556 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 572 | 0 | 0, $156 | 0, $7 + 556 | 0 | 0); $176 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 524 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 540 | 0 | 0, $176 | 0, $7 + 524 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 572 | 0, $7 + 540 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $205 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 492 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 508 | 0 | 0, $205 | 0, $7 + 492 | 0 | 0); $225 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 460 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 476 | 0 | 0, $225 | 0, $7 + 460 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 508 | 0, $7 + 476 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $254 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 428 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 444 | 0 | 0, $254 | 0, $7 + 428 | 0 | 0); $274 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 396 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 412 | 0 | 0, $274 | 0, $7 + 396 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 444 | 0, $7 + 412 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $303 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 364 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 380 | 0 | 0, $303 | 0, $7 + 364 | 0 | 0); $323 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 332 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 348 | 0 | 0, $323 | 0, $7 + 332 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 380 | 0, $7 + 348 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $352 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 300 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 316 | 0 | 0, $352 | 0, $7 + 300 | 0 | 0); $372 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 268 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 284 | 0 | 0, $372 | 0, $7 + 268 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 316 | 0, $7 + 284 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $401 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 236 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 252 | 0 | 0, $401 | 0, $7 + 236 | 0 | 0); $421 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 204 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 220 | 0 | 0, $421 | 0, $7 + 204 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 252 | 0, $7 + 220 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $450 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 172 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 188 | 0 | 0, $450 | 0, $7 + 172 | 0 | 0); $470 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 140 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 156 | 0 | 0, $470 | 0, $7 + 140 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 188 | 0, $7 + 156 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $499 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 108 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 124 | 0 | 0, $499 | 0, $7 + 108 | 0 | 0); $519 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 76 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 92 | 0 | 0, $519 | 0, $7 + 76 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 124 | 0, $7 + 92 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); $548 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 44 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 60 | 0 | 0, $548 | 0, $7 + 44 | 0 | 0); $568 = HEAP32[($7 + 784 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 12 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 28 | 0 | 0, $568 | 0, $7 + 12 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 60 | 0, $7 + 28 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); __stack_pointer = $7 + 800 | 0; return; } function btTransform__operator__28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; btTransform__operator_28_29_28btVector3_20const__29_20const($0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btIDebugDraw__drawCapsule_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $80 = 0, $82 = 0, $91 = 0, $92 = 0, $165 = 0, $167 = 0, $176 = 0, $177 = 0, $231 = 0, $232 = 0, $253 = Math_fround(0), $284 = Math_fround(0), $30 = Math_fround(0), $57 = Math_fround(0), $513 = 0, $526 = 0, $545 = 0, $549 = 0, $683 = 0, $696 = 0, $715 = 0, $719 = 0, $828 = 0, $832 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 480 | 0; __stack_pointer = $8; HEAP32[($8 + 476 | 0) >> 2] = $0; HEAPF32[($8 + 472 | 0) >> 2] = $1; HEAPF32[($8 + 468 | 0) >> 2] = $2; HEAP32[($8 + 464 | 0) >> 2] = $3; HEAP32[($8 + 460 | 0) >> 2] = $4; HEAP32[($8 + 456 | 0) >> 2] = $5; $9 = HEAP32[($8 + 476 | 0) >> 2] | 0; HEAP32[($8 + 452 | 0) >> 2] = 30; HEAPF32[($8 + 432 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 428 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 424 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 436 | 0 | 0, $8 + 432 | 0 | 0, $8 + 428 | 0 | 0, $8 + 424 | 0 | 0) | 0; $30 = Math_fround(-Math_fround(HEAPF32[($8 + 468 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 436 | 0 | 0) | 0) + ((HEAP32[($8 + 464 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $30), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($8 + 404 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 400 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 396 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 408 | 0 | 0, $8 + 404 | 0 | 0, $8 + 400 | 0 | 0, $8 + 396 | 0 | 0) | 0; $57 = Math_fround(HEAPF32[($8 + 468 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 408 | 0 | 0) | 0) + ((HEAP32[($8 + 464 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $57), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btTransform__btTransform_28btTransform_20const__29($8 + 332 | 0 | 0, HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($8 + 316 | 0 | 0, HEAP32[($8 + 460 | 0) >> 2] | 0 | 0, $8 + 436 | 0 | 0); $80 = btTransform__getOrigin_28_29($8 + 332 | 0 | 0) | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 316 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 320 | 0) >> 2] | 0; $513 = i64toi32_i32$0; i64toi32_i32$0 = $80; HEAP32[i64toi32_i32$0 >> 2] = $513; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $82 = 8; i64toi32_i32$2 = ($8 + 316 | 0) + $82 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $526 = i64toi32_i32$1; i64toi32_i32$1 = $80 + $82 | 0; HEAP32[i64toi32_i32$1 >> 2] = $526; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $91 = btTransform__getOrigin_28_29($8 + 332 | 0 | 0) | 0; $92 = 8; i64toi32_i32$2 = $91 + $92 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $545 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 296 | 0) + $92 | 0; HEAP32[i64toi32_i32$0 >> 2] = $545; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $91; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $549 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 296 | 0) >> 2] = $549; HEAP32[($8 + 300 | 0) >> 2] = i64toi32_i32$0; btMatrix3x3__getColumn_28int_29_20const($8 + 280 | 0 | 0, btTransform__getBasis_28_29($8 + 332 | 0 | 0) | 0 | 0, ((HEAP32[($8 + 464 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0 | 0); btMatrix3x3__getColumn_28int_29_20const($8 + 248 | 0 | 0, btTransform__getBasis_28_29($8 + 332 | 0 | 0) | 0 | 0, HEAP32[($8 + 464 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__29($8 + 264 | 0 | 0, $8 + 248 | 0 | 0); HEAPF32[($8 + 244 | 0) >> 2] = Math_fround(-1.5707963705062866); HEAPF32[($8 + 240 | 0) >> 2] = Math_fround(1.5707963705062866); HEAPF32[($8 + 236 | 0) >> 2] = Math_fround(-1.5707963705062866); HEAPF32[($8 + 232 | 0) >> 2] = Math_fround(1.5707963705062866); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($9, $8 + 296 | 0, $8 + 280 | 0, $8 + 264 | 0, Math_fround(HEAPF32[($8 + 472 | 0) >> 2]), Math_fround(HEAPF32[($8 + 244 | 0) >> 2]), Math_fround(HEAPF32[($8 + 240 | 0) >> 2]), Math_fround(HEAPF32[($8 + 236 | 0) >> 2]), Math_fround(HEAPF32[($8 + 232 | 0) >> 2]), HEAP32[($8 + 456 | 0) >> 2] | 0, Math_fround(HEAP32[($8 + 452 | 0) >> 2] | 0 | 0), 0 & 1 | 0); btTransform__btTransform_28btTransform_20const__29($8 + 168 | 0 | 0, HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($8 + 152 | 0 | 0, HEAP32[($8 + 460 | 0) >> 2] | 0 | 0, $8 + 408 | 0 | 0); $165 = btTransform__getOrigin_28_29($8 + 168 | 0 | 0) | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 152 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 156 | 0) >> 2] | 0; $683 = i64toi32_i32$0; i64toi32_i32$0 = $165; HEAP32[i64toi32_i32$0 >> 2] = $683; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $167 = 8; i64toi32_i32$2 = ($8 + 152 | 0) + $167 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $696 = i64toi32_i32$1; i64toi32_i32$1 = $165 + $167 | 0; HEAP32[i64toi32_i32$1 >> 2] = $696; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $176 = btTransform__getOrigin_28_29($8 + 168 | 0 | 0) | 0; $177 = 8; i64toi32_i32$2 = $176 + $177 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $715 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 136 | 0) + $177 | 0; HEAP32[i64toi32_i32$0 >> 2] = $715; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $176; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $719 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 136 | 0) >> 2] = $719; HEAP32[($8 + 140 | 0) >> 2] = i64toi32_i32$0; btMatrix3x3__getColumn_28int_29_20const($8 + 120 | 0 | 0, btTransform__getBasis_28_29($8 + 168 | 0 | 0) | 0 | 0, ((HEAP32[($8 + 464 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0 | 0); btMatrix3x3__getColumn_28int_29_20const($8 + 104 | 0 | 0, btTransform__getBasis_28_29($8 + 168 | 0 | 0) | 0 | 0, HEAP32[($8 + 464 | 0) >> 2] | 0 | 0); HEAPF32[($8 + 100 | 0) >> 2] = Math_fround(-1.5707963705062866); HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(1.5707963705062866); HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(-1.5707963705062866); HEAPF32[($8 + 88 | 0) >> 2] = Math_fround(1.5707963705062866); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($9, $8 + 136 | 0, $8 + 120 | 0, $8 + 104 | 0, Math_fround(HEAPF32[($8 + 472 | 0) >> 2]), Math_fround(HEAPF32[($8 + 100 | 0) >> 2]), Math_fround(HEAPF32[($8 + 96 | 0) >> 2]), Math_fround(HEAPF32[($8 + 92 | 0) >> 2]), Math_fround(HEAPF32[($8 + 88 | 0) >> 2]), HEAP32[($8 + 456 | 0) >> 2] | 0, Math_fround(HEAP32[($8 + 452 | 0) >> 2] | 0 | 0), 0 & 1 | 0); $231 = btTransform__getOrigin_28_29_20const(HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0; $232 = 8; i64toi32_i32$2 = $231 + $232 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $828 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 72 | 0) + $232 | 0; HEAP32[i64toi32_i32$0 >> 2] = $828; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $231; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $832 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 72 | 0) >> 2] = $832; HEAP32[($8 + 76 | 0) >> 2] = i64toi32_i32$0; HEAP32[($8 + 68 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) < (360 | 0) & 1 | 0)) { break label$1 } $253 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 472 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 436 | 0 | 0) | 0) + ((((HEAP32[($8 + 464 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $253), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 408 | 0 | 0) | 0) + ((((HEAP32[($8 + 464 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $253), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $284 = Math_fround(Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 472 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 436 | 0 | 0) | 0) + ((((HEAP32[($8 + 464 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $284), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 408 | 0 | 0) | 0) + ((((HEAP32[($8 + 464 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $284), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 36 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 436 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 52 | 0 | 0, $8 + 72 | 0 | 0, $8 + 36 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 4 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 408 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 20 | 0 | 0, $8 + 72 | 0 | 0, $8 + 4 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 52 | 0, $8 + 20 | 0, HEAP32[($8 + 456 | 0) >> 2] | 0); HEAP32[($8 + 68 | 0) >> 2] = (HEAP32[($8 + 68 | 0) >> 2] | 0) + (HEAP32[($8 + 452 | 0) >> 2] | 0) | 0; continue label$2; }; } __stack_pointer = $8 + 480 | 0; return; } function btIDebugDraw__drawCylinder_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $11 = 0, $12 = 0, $116 = Math_fround(0), $147 = Math_fround(0), $421 = 0, $425 = 0, $37 = Math_fround(0), $66 = Math_fround(0), $93 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 384 | 0; __stack_pointer = $8; HEAP32[($8 + 380 | 0) >> 2] = $0; HEAPF32[($8 + 376 | 0) >> 2] = $1; HEAPF32[($8 + 372 | 0) >> 2] = $2; HEAP32[($8 + 368 | 0) >> 2] = $3; HEAP32[($8 + 364 | 0) >> 2] = $4; HEAP32[($8 + 360 | 0) >> 2] = $5; $9 = HEAP32[($8 + 380 | 0) >> 2] | 0; $11 = btTransform__getOrigin_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0; $12 = 8; i64toi32_i32$2 = $11 + $12 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $421 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 344 | 0) + $12 | 0; HEAP32[i64toi32_i32$0 >> 2] = $421; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $425 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 344 | 0) >> 2] = $425; HEAP32[($8 + 348 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 324 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 320 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 316 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 328 | 0 | 0, $8 + 324 | 0 | 0, $8 + 320 | 0 | 0, $8 + 316 | 0 | 0) | 0; $37 = Math_fround(HEAPF32[($8 + 372 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 328 | 0 | 0) | 0) + ((HEAP32[($8 + 368 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $37), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($8 + 312 | 0) >> 2] = 30; HEAPF32[($8 + 292 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 288 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 284 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 296 | 0 | 0, $8 + 292 | 0 | 0, $8 + 288 | 0 | 0, $8 + 284 | 0 | 0) | 0; $66 = Math_fround(-Math_fround(HEAPF32[($8 + 372 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 296 | 0 | 0) | 0) + ((HEAP32[($8 + 368 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $66), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($8 + 264 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 260 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 256 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 268 | 0 | 0, $8 + 264 | 0 | 0, $8 + 260 | 0 | 0, $8 + 256 | 0 | 0) | 0; $93 = Math_fround(HEAPF32[($8 + 372 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 268 | 0 | 0) | 0) + ((HEAP32[($8 + 368 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $93), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($8 + 252 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($8 + 252 | 0) >> 2] | 0 | 0) < (360 | 0) & 1 | 0)) { break label$1 } $116 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 252 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 376 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 296 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $116), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 268 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $116), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $147 = Math_fround(Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 252 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 376 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 296 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $147), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 268 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $147), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 220 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 296 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 236 | 0 | 0, $8 + 344 | 0 | 0, $8 + 220 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 188 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 268 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 204 | 0 | 0, $8 + 344 | 0 | 0, $8 + 188 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 236 | 0, $8 + 204 | 0, HEAP32[($8 + 360 | 0) >> 2] | 0); HEAP32[($8 + 252 | 0) >> 2] = (HEAP32[($8 + 252 | 0) >> 2] | 0) + (HEAP32[($8 + 312 | 0) >> 2] | 0) | 0; continue label$2; }; } HEAPF32[($8 + 168 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 164 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 160 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 172 | 0 | 0, $8 + 168 | 0 | 0, $8 + 164 | 0 | 0, $8 + 160 | 0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 172 | 0 | 0) | 0) + ((HEAP32[($8 + 368 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($8 + 140 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 136 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 132 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 144 | 0 | 0, $8 + 140 | 0 | 0, $8 + 136 | 0 | 0, $8 + 132 | 0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 144 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 100 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 328 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 116 | 0 | 0, $8 + 344 | 0 | 0, $8 + 100 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 84 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 172 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 68 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 144 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($9, $8 + 116 | 0, $8 + 84 | 0, $8 + 68 | 0, Math_fround(HEAPF32[($8 + 376 | 0) >> 2]), Math_fround(HEAPF32[($8 + 376 | 0) >> 2]), Math_fround(0 | 0), Math_fround(6.2831854820251465), HEAP32[($8 + 360 | 0) >> 2] | 0, 0 & 1 | 0, Math_fround(10.0)); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 36 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 328 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 52 | 0 | 0, $8 + 344 | 0 | 0, $8 + 36 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 20 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 172 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 4 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 144 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($9, $8 + 52 | 0, $8 + 20 | 0, $8 + 4 | 0, Math_fround(HEAPF32[($8 + 376 | 0) >> 2]), Math_fround(HEAPF32[($8 + 376 | 0) >> 2]), Math_fround(0 | 0), Math_fround(6.2831854820251465), HEAP32[($8 + 360 | 0) >> 2] | 0, 0 & 1 | 0, Math_fround(10.0)); __stack_pointer = $8 + 384 | 0; return; } function btIDebugDraw__drawCone_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $12 = 0, $13 = 0, $611 = 0, $615 = 0, $41 = Math_fround(0), $68 = Math_fround(0), $99 = Math_fround(0), $131 = Math_fround(0), $154 = Math_fround(0), $173 = Math_fround(0), $250 = 0, $308 = 0, $366 = 0, $424 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 736 | 0; __stack_pointer = $8; HEAP32[($8 + 732 | 0) >> 2] = $0; HEAPF32[($8 + 728 | 0) >> 2] = $1; HEAPF32[($8 + 724 | 0) >> 2] = $2; HEAP32[($8 + 720 | 0) >> 2] = $3; HEAP32[($8 + 716 | 0) >> 2] = $4; HEAP32[($8 + 712 | 0) >> 2] = $5; $9 = HEAP32[($8 + 732 | 0) >> 2] | 0; HEAP32[($8 + 708 | 0) >> 2] = 30; $12 = btTransform__getOrigin_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; $13 = 8; i64toi32_i32$2 = $12 + $13 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $611 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 688 | 0) + $13 | 0; HEAP32[i64toi32_i32$0 >> 2] = $611; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $615 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 688 | 0) >> 2] = $615; HEAP32[($8 + 692 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 668 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 664 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 660 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 672 | 0 | 0, $8 + 668 | 0 | 0, $8 + 664 | 0 | 0, $8 + 660 | 0 | 0) | 0; HEAPF32[($8 + 656 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 724 | 0) >> 2]) * Math_fround(.5)); $41 = Math_fround(HEAPF32[($8 + 656 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 672 | 0 | 0) | 0) + ((HEAP32[($8 + 720 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $41), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($8 + 636 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 632 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 628 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 640 | 0 | 0, $8 + 636 | 0 | 0, $8 + 632 | 0 | 0, $8 + 628 | 0 | 0) | 0; $68 = Math_fround(HEAPF32[($8 + 728 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 640 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $68), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($8 + 608 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 604 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 600 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 612 | 0 | 0, $8 + 608 | 0 | 0, $8 + 604 | 0 | 0, $8 + 600 | 0 | 0) | 0; $99 = Math_fround(HEAPF32[($8 + 728 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 612 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $99), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($8 + 580 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 576 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 572 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 584 | 0 | 0, $8 + 580 | 0 | 0, $8 + 576 | 0 | 0, $8 + 572 | 0 | 0) | 0; $131 = Math_fround(-Math_fround(HEAPF32[($8 + 656 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 584 | 0 | 0) | 0) + ((HEAP32[($8 + 720 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $131), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($8 + 568 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($8 + 568 | 0) >> 2] | 0 | 0) < (360 | 0) & 1 | 0)) { break label$1 } $154 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 568 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 728 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 584 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $154), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $173 = Math_fround(Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 568 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 728 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 584 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $173), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 536 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 552 | 0 | 0, $8 + 688 | 0 | 0, $8 + 536 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 504 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 584 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 520 | 0 | 0, $8 + 688 | 0 | 0, $8 + 504 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 552 | 0, $8 + 520 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); HEAP32[($8 + 568 | 0) >> 2] = (HEAP32[($8 + 568 | 0) >> 2] | 0) + (HEAP32[($8 + 708 | 0) >> 2] | 0) | 0; continue label$2; }; } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 472 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 488 | 0 | 0, $8 + 688 | 0 | 0, $8 + 472 | 0 | 0); $250 = btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; operator__28btVector3_20const__29($8 + 408 | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 424 | 0 | 0, $8 + 408 | 0 | 0, $8 + 640 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 440 | 0 | 0, $250 | 0, $8 + 424 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 456 | 0 | 0, $8 + 688 | 0 | 0, $8 + 440 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 488 | 0, $8 + 456 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 376 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 392 | 0 | 0, $8 + 688 | 0 | 0, $8 + 376 | 0 | 0); $308 = btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; operator__28btVector3_20const__29($8 + 312 | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 328 | 0 | 0, $8 + 312 | 0 | 0, $8 + 640 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 344 | 0 | 0, $308 | 0, $8 + 328 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 360 | 0 | 0, $8 + 688 | 0 | 0, $8 + 344 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 392 | 0, $8 + 360 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 280 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 296 | 0 | 0, $8 + 688 | 0 | 0, $8 + 280 | 0 | 0); $366 = btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; operator__28btVector3_20const__29($8 + 216 | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 232 | 0 | 0, $8 + 216 | 0 | 0, $8 + 612 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 248 | 0 | 0, $366 | 0, $8 + 232 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 264 | 0 | 0, $8 + 688 | 0 | 0, $8 + 248 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 296 | 0, $8 + 264 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 184 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 200 | 0 | 0, $8 + 688 | 0 | 0, $8 + 184 | 0 | 0); $424 = btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; operator__28btVector3_20const__29($8 + 120 | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 136 | 0 | 0, $8 + 120 | 0 | 0, $8 + 612 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 152 | 0 | 0, $424 | 0, $8 + 136 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 168 | 0 | 0, $8 + 688 | 0 | 0, $8 + 152 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 200 | 0, $8 + 168 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); HEAPF32[($8 + 100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 104 | 0 | 0, $8 + 100 | 0 | 0, $8 + 96 | 0 | 0, $8 + 92 | 0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 104 | 0 | 0) | 0) + ((HEAP32[($8 + 720 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($8 + 72 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 68 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 64 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 76 | 0 | 0, $8 + 72 | 0 | 0, $8 + 68 | 0 | 0, $8 + 64 | 0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 76 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 32 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 48 | 0 | 0, $8 + 688 | 0 | 0, $8 + 32 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 16 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 104 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 76 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($9, $8 + 48 | 0, $8 + 16 | 0, $8, Math_fround(HEAPF32[($8 + 728 | 0) >> 2]), Math_fround(HEAPF32[($8 + 728 | 0) >> 2]), Math_fround(0 | 0), Math_fround(6.2831854820251465), HEAP32[($8 + 712 | 0) >> 2] | 0, 0 & 1 | 0, Math_fround(10.0)); __stack_pointer = $8 + 736 | 0; return; } function btIDebugDraw__drawPlane_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 272 | 0; __stack_pointer = $7; HEAP32[($7 + 268 | 0) >> 2] = $0; HEAP32[($7 + 264 | 0) >> 2] = $1; HEAPF32[($7 + 260 | 0) >> 2] = $2; HEAP32[($7 + 256 | 0) >> 2] = $3; HEAP32[($7 + 252 | 0) >> 2] = $4; $8 = HEAP32[($7 + 268 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($7 + 236 | 0 | 0, HEAP32[($7 + 264 | 0) >> 2] | 0 | 0, $7 + 260 | 0 | 0); btVector3__btVector3_28_29($7 + 220 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 204 | 0 | 0) | 0; void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29(HEAP32[($7 + 264 | 0) >> 2] | 0 | 0, $7 + 220 | 0 | 0, $7 + 204 | 0 | 0); HEAPF32[($7 + 200 | 0) >> 2] = Math_fround(100.0); operator__28btVector3_20const__2c_20float_20const__29($7 + 168 | 0 | 0, $7 + 220 | 0 | 0, $7 + 200 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 184 | 0 | 0, $7 + 236 | 0 | 0, $7 + 168 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($7 + 136 | 0 | 0, $7 + 220 | 0 | 0, $7 + 200 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 152 | 0 | 0, $7 + 236 | 0 | 0, $7 + 136 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($7 + 104 | 0 | 0, $7 + 204 | 0 | 0, $7 + 200 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 120 | 0 | 0, $7 + 236 | 0 | 0, $7 + 104 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($7 + 72 | 0 | 0, $7 + 204 | 0 | 0, $7 + 200 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 88 | 0 | 0, $7 + 236 | 0 | 0, $7 + 72 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 56 | 0 | 0, HEAP32[($7 + 256 | 0) >> 2] | 0 | 0, $7 + 184 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 40 | 0 | 0, HEAP32[($7 + 256 | 0) >> 2] | 0 | 0, $7 + 152 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 56 | 0, $7 + 40 | 0, HEAP32[($7 + 252 | 0) >> 2] | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 24 | 0 | 0, HEAP32[($7 + 256 | 0) >> 2] | 0 | 0, $7 + 120 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 8 | 0 | 0, HEAP32[($7 + 256 | 0) >> 2] | 0 | 0, $7 + 88 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 24 | 0, $7 + 8 | 0, HEAP32[($7 + 252 | 0) >> 2] | 0); __stack_pointer = $7 + 272 | 0; return; } function void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $42 = Math_fround(0), $49 = Math_fround(0), $54 = Math_fround(0), $64 = Math_fround(0), $73 = Math_fround(0), $100 = Math_fround(0), $107 = Math_fround(0), $121 = Math_fround(0), $130 = Math_fround(0), $135 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; label$1 : { label$2 : { if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])))) > Math_fround(.7071067690849304) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $42 = Math_fround(Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $42), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $49 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $49), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $54 = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $54), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $64 = Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $64), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $73 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $73), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; break label$1; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $100 = Math_fround(Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $100), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $107 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $107), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $121 = Math_fround(Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $121), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $130 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $130), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $135 = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $135), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } __stack_pointer = $5 + 32 | 0; return; } function btDebugDrawWrapper__clearLines_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; void_20emscripten__wrapper_btDebugDraw___call_void__28char_20const__29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 70055 | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function void_20emscripten__wrapper_btDebugDraw___call_void__28char_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; void_20emscripten__val__call_void__28char_20const__29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 140 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btDebugDrawWrapper__flushLines_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; void_20emscripten__wrapper_btDebugDraw___call_void__28char_20const__29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 70066 | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDebugDrawWrapper__onDebugDrawLine_28int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; void_20emscripten__wrapper_btDebugDraw___call_void_2c_20int_20const__2c_20int_20const__2c_20int___28char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 81794 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0, $6 | 0); __stack_pointer = $6 + 16 | 0; return; } function void_20emscripten__wrapper_btDebugDraw___call_void_2c_20int_20const__2c_20int_20const__2c_20int___28char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; void_20emscripten__val__call_void_2c_20int_20const__2c_20int_20const__2c_20int___28char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29_20const((HEAP32[($7 + 28 | 0) >> 2] | 0) + 140 | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function btIDebugDraw__btIDebugDraw_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btIDebugDraw + 8 | 0; return $4 | 0; } function btIDebugDraw__DefaultColors__DefaultColors_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 112 | 0; __stack_pointer = $3; HEAP32[($3 + 108 | 0) >> 2] = $0; $4 = HEAP32[($3 + 108 | 0) >> 2] | 0; HEAPF32[($3 + 104 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 100 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 96 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 | 0, $3 + 104 | 0 | 0, $3 + 100 | 0 | 0, $3 + 96 | 0 | 0) | 0; HEAPF32[($3 + 92 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 88 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 84 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 16 | 0 | 0, $3 + 92 | 0 | 0, $3 + 88 | 0 | 0, $3 + 84 | 0 | 0) | 0; HEAPF32[($3 + 80 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 76 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 72 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 32 | 0 | 0, $3 + 80 | 0 | 0, $3 + 76 | 0 | 0, $3 + 72 | 0 | 0) | 0; HEAPF32[($3 + 68 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 64 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 48 | 0 | 0, $3 + 68 | 0 | 0, $3 + 64 | 0 | 0, $3 + 60 | 0 | 0) | 0; HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $3 + 56 | 0 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0) | 0; HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 80 | 0 | 0, $3 + 44 | 0 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0) | 0; HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 96 | 0 | 0, $3 + 32 | 0 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0) | 0; HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 112 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0) | 0; __stack_pointer = $3 + 112 | 0; return $4 | 0; } function btDebugDraw___btDebugDraw_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btIDebugDraw___btIDebugDraw_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__wrapper_btDebugDraw____wrapper_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btIDebugDraw__clearLines_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btIDebugDraw__flushLines_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btIDebugDraw___btIDebugDraw_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btDebugDraw___btDebugDraw_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btIDebugDraw___btIDebugDraw_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btIDebugDraw__getDefaultColors_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; btIDebugDraw__DefaultColors__DefaultColors_28_29($0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btIDebugDraw__setDefaultColors_28btIDebugDraw__DefaultColors_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function void_20emscripten__val__call_void__28char_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; emscripten__internal__MethodCaller_void___call_28emscripten___EM_VAL__2c_20char_20const__29(HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__MethodCaller_void___call_28emscripten___EM_VAL__2c_20char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = emscripten__internal__Signature_void___get_method_caller_28_29() | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; emscripten__internal__WireTypePack____WireTypePack_28_29($4 + 8 | 0 | 0) | 0; _emval_call_void_method(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, emscripten__internal__WireTypePack____operator_20void_20const__28_29_20const($4 + 8 | 0 | 0) | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function emscripten__internal__Signature_void___get_method_caller_28_29() { var $2 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; label$1 : { if (!((((HEAPU8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void___get_method_caller_28_29__mc >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = GOT_data_internal_emscripten__internal__Signature_void___get_method_caller_28_29__mc, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void___getCount_28_29_20const($2 + 15 | 0 | 0) | 0 | 0, emscripten__internal__WithPolicies____ArgTypeList_void___getTypes_28_29_20const($2 + 15 | 0 | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void___get_method_caller_28_29__mc >> 0] = 1; } $26 = HEAP32[GOT_data_internal_emscripten__internal__Signature_void___get_method_caller_28_29__mc >> 2] | 0; __stack_pointer = $2 + 16 | 0; return $26 | 0; } function emscripten__internal__WireTypePack____WireTypePack_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29($3 + 8 | 0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__internal__WireTypePack____operator_20void_20const__28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 1 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 | 0; } function emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29__types | 0; } function void_20emscripten__val__call_void_2c_20int_20const__2c_20int_20const__2c_20int___28char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; emscripten__internal__MethodCaller_void_2c_20int_20const__2c_20int_20const__2c_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29(HEAP32[(HEAP32[($7 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function emscripten__internal__MethodCaller_void_2c_20int_20const__2c_20int_20const__2c_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 44 | 0) >> 2] = $0; HEAP32[($7 + 40 | 0) >> 2] = $1; HEAP32[($7 + 36 | 0) >> 2] = $2; HEAP32[($7 + 32 | 0) >> 2] = $3; HEAP32[($7 + 28 | 0) >> 2] = $4; (wasm2js_i32$0 = $7, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29() | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; emscripten__internal__WireTypePack_int_20const__2c_20int_20const__2c_20int____WireTypePack_28int_20const__2c_20int_20const__2c_20int__29($7 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0) | 0; _emval_call_void_method(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7 + 40 | 0) >> 2] | 0 | 0, emscripten__internal__WireTypePack_int_20const__2c_20int_20const__2c_20int____operator_20void_20const__28_29_20const($7 | 0) | 0 | 0); __stack_pointer = $7 + 48 | 0; return; } function emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29() { var $2 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; label$1 : { if (!((((HEAPU8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const__2c_20int____getCount_28_29_20const($2 + 15 | 0 | 0) | 0 | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const__2c_20int____getTypes_28_29_20const($2 + 15 | 0 | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc >> 0] = 1; } $26 = HEAP32[GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc >> 2] | 0; __stack_pointer = $2 + 16 | 0; return $26 | 0; } function emscripten__internal__WireTypePack_int_20const__2c_20int_20const__2c_20int____WireTypePack_28int_20const__2c_20int_20const__2c_20int__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $9 = 0, $10 = 0, $11 = 0, $19 = 0, $20 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; HEAP32[($6 + 24 | 0) >> 2] = $0; HEAP32[($6 + 20 | 0) >> 2] = $1; HEAP32[($6 + 16 | 0) >> 2] = $2; HEAP32[($6 + 12 | 0) >> 2] = $3; $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29($7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $9 = HEAP32[($6 + 20 | 0) >> 2] | 0; $10 = HEAP32[($6 + 16 | 0) >> 2] | 0; $11 = HEAP32[($6 + 12 | 0) >> 2] | 0; HEAP32[($6 + 40 | 0) >> 2] = $6 + 8 | 0; HEAP32[($6 + 36 | 0) >> 2] = $9; HEAP32[($6 + 32 | 0) >> 2] = $10; HEAP32[($6 + 28 | 0) >> 2] = $11; void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0 | 0); $19 = HEAP32[($6 + 32 | 0) >> 2] | 0; $20 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 52 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; HEAP32[($6 + 48 | 0) >> 2] = $19; HEAP32[($6 + 44 | 0) >> 2] = $20; void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) | 0 | 0); $25 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; HEAP32[($6 + 56 | 0) >> 2] = $25; void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) | 0 | 0); emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0); __stack_pointer = $6 + 64 | 0; return $7 | 0; } function emscripten__internal__WireTypePack_int_20const__2c_20int_20const__2c_20int____operator_20void_20const__28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const__2c_20int____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const__2c_20int____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const__2c_20int_____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; } function void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $8 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[(HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; $8 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$8 >> 2] = (HEAP32[$8 >> 2] | 0) + 8 | 0; return; } function std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const__2c_20int_____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const__2c_20int_____get_28_29__types | 0; } function emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void___fromWireType_28emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_28char_20const__2c_20unsigned_20long_29($0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__BindingType_emscripten__val_2c_20void___toWireType_28emscripten__val_20const__29($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; _emval_incref(HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); $7 = HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29__types | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_28char_20const__2c_20unsigned_20long_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $15 = 0, $23 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAP32[($5 + 16 | 0) >> 2] = $2; $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 28 | 0) >> 2] = $6; std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char______compressed_pair_5babi_v160004_5d_std____2____default_init_tag_2c_20std____2____default_init_tag__28std____2____default_init_tag___2c_20std____2____default_init_tag___29($6 | 0, $5 + 15 | 0 | 0, $5 + 14 | 0 | 0) | 0; $15 = 1; label$1 : { if (!(HEAP32[($5 + 16 | 0) >> 2] | 0)) { break label$1 } $15 = (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (0 | 0); } std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______init_28char_20const__2c_20unsigned_20long_29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($6 | 0); $23 = HEAP32[($5 + 28 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return $23 | 0; } function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 8 | 0) >> 2] = $0; return HEAP32[($3 + 8 | 0) >> 2] | 0 | 0; } function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; std____2__allocator_char___allocator_5babi_v160004_5d_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function std____2__allocator_char___allocator_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; std____2____non_trivial_if_true_2c_20std____2__allocator_char______non_trivial_if_5babi_v160004_5d_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function std____2____non_trivial_if_true_2c_20std____2__allocator_char______non_trivial_if_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____data_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_pointer_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_pointer_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($4 | 0) | 0) & 1 | 0)) { break label$2 } $9 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29_20const($4 | 0) | 0; break label$1; } $9 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29_20const($4 | 0) | 0; } __stack_pointer = $3 + 16 | 0; return $9 | 0; } function char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $16 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $16 = (((HEAPU8[((std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) + 11 | 0) >> 0] | 0) >>> 7 | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $16 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = HEAP32[(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = std____2__pointer_traits_char_20const____pointer_to_5babi_v160004_5d_28char_20const__29(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function std____2__pointer_traits_char_20const____pointer_to_5babi_v160004_5d_28char_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function void_20const__20emscripten__internal__getLightTypeID_btControllerHitReport__28btControllerHitReport_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; } function emscripten__internal__LightTypeID_btControllerHitReport___get_28_29() { return GOT_data_internal_typeinfo_20for_20btControllerHitReport | 0; } function emscripten__internal__LightTypeID_btControllerHitReport____get_28_29() { return GOT_data_internal_typeinfo_20for_20btControllerHitReport_ | 0; } function emscripten__internal__LightTypeID_btControllerHitReport_20const____get_28_29() { return GOT_data_internal_typeinfo_20for_20btControllerHitReport_20const_ | 0; } function emscripten__internal__MethodInvoker_void_20_28btControllerHitReport____29_28int_2c_20int_29_2c_20void_2c_20btControllerHitReport__2c_20int_2c_20int___invoke_28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_2c_20btControllerHitReport__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $9 = 0, $10 = 0, $11 = 0, $14 = 0, $20 = 0, $8 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $8 = emscripten__internal__BindingType_btControllerHitReport__2c_20void___fromWireType_28btControllerHitReport__29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; $9 = HEAP32[($6 + 12 | 0) >> 2] | 0; $10 = HEAP32[($9 + 4 | 0) >> 2] | 0; $11 = HEAP32[$9 >> 2] | 0; $14 = $8 + ($10 >> 1 | 0) | 0; label$1 : { label$2 : { if (!($10 & 1 | 0)) { break label$2 } $20 = HEAP32[((HEAP32[$14 >> 2] | 0) + $11 | 0) >> 2] | 0; break label$1; } $20 = $11; } FUNCTION_TABLE[$20 | 0]($14, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 >> 2] | 0 | 0) | 0); __stack_pointer = $6 + 16 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 4 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function void_20_28btControllerHitReport____emscripten__internal__getContext_void_20_28btControllerHitReport____29_28int_2c_20int_29__28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_29_29_28int_2c_20int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(8 | 0) | 0; $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = HEAP32[$6 >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[$5 >> 2] = $7; HEAP32[($3 + 8 | 0) >> 2] = $5; $9 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function emscripten__internal__BindingType_btControllerHitReport__2c_20void___fromWireType_28btControllerHitReport__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29____invoke_28btControllerHitReportWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29__operator_28_29_28btControllerHitReportWrapper__29_20const($3 + 11 | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btControllerHitReportWrapper__btControllerHitReportWrapper___28emscripten__val___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; emscripten__wrapper_btControllerHitReport___wrapper___28emscripten__val___29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20btControllerHitReportWrapper + 8 | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function void_20const__20emscripten__internal__getLightTypeID_btControllerHitReportWrapper__28btControllerHitReportWrapper_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; } function btControllerHitReport__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReportWrapper_2c_20btControllerHitReport__28btControllerHitReportWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btControllerHitReportWrapper__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReport_2c_20btControllerHitReportWrapper__28btControllerHitReport__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__LightTypeID_btControllerHitReportWrapper___get_28_29() { return GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper | 0; } function emscripten__internal__LightTypeID_btControllerHitReportWrapper____get_28_29() { return GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper_ | 0; } function emscripten__internal__LightTypeID_btControllerHitReportWrapper_20const____get_28_29() { return GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper_20const_ | 0; } function emscripten__internal__FunctionInvoker_void_20_28__29_28btControllerHitReportWrapper__29_2c_20void_2c_20btControllerHitReportWrapper____invoke_28void_20_28___29_28btControllerHitReportWrapper__29_2c_20btControllerHitReportWrapper__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $6 = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; FUNCTION_TABLE[$6 | 0](emscripten__internal__GenericBindingType_btControllerHitReportWrapper___fromWireType_28btControllerHitReportWrapper__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btControllerHitReportWrapper____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btControllerHitReportWrapper____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btControllerHitReportWrapper_____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function void_20_28__emscripten__internal__getContext_void_20_28__29_28btControllerHitReportWrapper__29__28void_20_28__20const__29_28btControllerHitReportWrapper__29_29_29_28btControllerHitReportWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(4 | 0) | 0; HEAP32[$5 >> 2] = HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = $5; $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function emscripten__internal__GenericBindingType_btControllerHitReportWrapper___fromWireType_28btControllerHitReportWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btControllerHitReportWrapper_____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btControllerHitReportWrapper_____get_28_29__types | 0; } function emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29__operator_28_29_28btControllerHitReportWrapper__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0 | 0, 1 & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__BindingType_btControllerHitReportWrapper__2c_20void___toWireType_28btControllerHitReportWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20emscripten__val______get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20emscripten__val______get_28_29__types | 0; } function emscripten__wrapper_btControllerHitReport___wrapper___28emscripten__val___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = 0; btControllerHitReport__btControllerHitReport_28_29($5 | 0) | 0; emscripten__internal__WrapperBase__WrapperBase_28_29($5 + 4 | 0 | 0) | 0; HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_btControllerHitReport_ + 8 | 0; emscripten__val__val_28emscripten__val___29($5 + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btControllerHitReport__btControllerHitReport_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btUserControllerHitReport__btUserControllerHitReport_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btControllerHitReport + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btControllerHitReport__onShapeHit_28btControllerShapeHit_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function btControllerHitReport__onControllerHit_28btControllersHit_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btControllerHitReportWrapper___btControllerHitReportWrapper_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; emscripten__wrapper_btControllerHitReport____wrapper_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__wrapper_btControllerHitReport____wrapper_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $16 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_btControllerHitReport_ + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 4 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } void_20emscripten__wrapper_btControllerHitReport___call_void__28char_20const__29_20const($4 | 0, GOT_data_internal___memory_base + 68623 | 0 | 0); } emscripten__val___val_28_29($4 + 8 | 0 | 0) | 0; btControllerHitReport___btControllerHitReport_28_29($4 | 0) | 0; $16 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $16 | 0; } function btControllerHitReportWrapper___btControllerHitReportWrapper_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btControllerHitReportWrapper___btControllerHitReportWrapper_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btControllerHitReportWrapper__onShapeHitExt_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; void_20emscripten__wrapper_btControllerHitReport___call_void_2c_20int_20const__2c_20int_20const___28char_20const__2c_20int_20const__2c_20int_20const__29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 67323 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function void_20emscripten__wrapper_btControllerHitReport___call_void_2c_20int_20const__2c_20int_20const___28char_20const__2c_20int_20const__2c_20int_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; void_20emscripten__val__call_void_2c_20int_20const__2c_20int_20const___28char_20const__2c_20int_20const__2c_20int_20const__29_20const((HEAP32[($6 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); __stack_pointer = $6 + 16 | 0; return; } function btUserControllerHitReport__btUserControllerHitReport_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btUserControllerHitReport + 8 | 0; return $4 | 0; } function void_20emscripten__wrapper_btControllerHitReport___call_void__28char_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; void_20emscripten__val__call_void__28char_20const__29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btControllerHitReport___btControllerHitReport_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btUserControllerHitReport___btUserControllerHitReport_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__wrapper_btControllerHitReport____wrapper_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btUserControllerHitReport___btUserControllerHitReport_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btControllerHitReport___btControllerHitReport_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btUserControllerHitReport___btUserControllerHitReport_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function void_20emscripten__val__call_void_2c_20int_20const__2c_20int_20const___28char_20const__2c_20int_20const__2c_20int_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; emscripten__internal__MethodCaller_void_2c_20int_20const__2c_20int_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__2c_20int_20const__29(HEAP32[(HEAP32[($6 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); __stack_pointer = $6 + 16 | 0; return; } function emscripten__internal__MethodCaller_void_2c_20int_20const__2c_20int_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__2c_20int_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; (wasm2js_i32$0 = $6, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29() | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; emscripten__internal__WireTypePack_int_20const__2c_20int_20const____WireTypePack_28int_20const__2c_20int_20const__29($6 + 8 | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0; _emval_call_void_method(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, emscripten__internal__WireTypePack_int_20const__2c_20int_20const____operator_20void_20const__28_29_20const($6 + 8 | 0 | 0) | 0 | 0); __stack_pointer = $6 + 48 | 0; return; } function emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29() { var $2 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; label$1 : { if (!((((HEAPU8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const____getCount_28_29_20const($2 + 15 | 0 | 0) | 0 | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const____getTypes_28_29_20const($2 + 15 | 0 | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc >> 0] = 1; } $26 = HEAP32[GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc >> 2] | 0; __stack_pointer = $2 + 16 | 0; return $26 | 0; } function emscripten__internal__WireTypePack_int_20const__2c_20int_20const____WireTypePack_28int_20const__2c_20int_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $8 = 0, $9 = 0, $17 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAP32[($5 + 16 | 0) >> 2] = $2; $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $8 = HEAP32[($5 + 20 | 0) >> 2] | 0; $9 = HEAP32[($5 + 16 | 0) >> 2] | 0; HEAP32[($5 + 36 | 0) >> 2] = $5 + 12 | 0; HEAP32[($5 + 32 | 0) >> 2] = $8; HEAP32[($5 + 28 | 0) >> 2] = $9; void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); $17 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 36 | 0) >> 2] | 0; HEAP32[($5 + 40 | 0) >> 2] = $17; void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0 | 0); emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 48 | 0; return $6 | 0; } function emscripten__internal__WireTypePack_int_20const__2c_20int_20const____operator_20void_20const__28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const_____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const_____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const_____get_28_29__types | 0; } function void_20const__20emscripten__internal__getLightTypeID_cc__ccMotionState__28cc__ccMotionState_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; } function emscripten__internal__LightTypeID_cc__ccMotionState___get_28_29() { return GOT_data_internal_typeinfo_20for_20cc__ccMotionState | 0; } function emscripten__internal__LightTypeID_cc__ccMotionState____get_28_29() { return GOT_data_internal_typeinfo_20for_20cc__ccMotionState_ | 0; } function emscripten__internal__LightTypeID_cc__ccMotionState_20const____get_28_29() { return GOT_data_internal_typeinfo_20for_20cc__ccMotionState_20const_ | 0; } function emscripten__internal__MethodInvoker_void_20_28cc__ccMotionState____29_28int_29_2c_20void_2c_20cc__ccMotionState__2c_20int___invoke_28void_20_28cc__ccMotionState____20const__29_28int_29_2c_20cc__ccMotionState__2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $8 = 0, $9 = 0, $10 = 0, $13 = 0, $19 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $7 = emscripten__internal__BindingType_cc__ccMotionState__2c_20void___fromWireType_28cc__ccMotionState__29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; $8 = HEAP32[($5 + 12 | 0) >> 2] | 0; $9 = HEAP32[($8 + 4 | 0) >> 2] | 0; $10 = HEAP32[$8 >> 2] | 0; $13 = $7 + ($9 >> 1 | 0) | 0; label$1 : { label$2 : { if (!($9 & 1 | 0)) { break label$2 } $19 = HEAP32[((HEAP32[$13 >> 2] | 0) + $10 | 0) >> 2] | 0; break label$1; } $19 = $10; } FUNCTION_TABLE[$19 | 0]($13, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $5 + 16 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int___getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int___getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function void_20_28cc__ccMotionState____emscripten__internal__getContext_void_20_28cc__ccMotionState____29_28int_29__28void_20_28cc__ccMotionState____20const__29_28int_29_29_29_28int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(8 | 0) | 0; $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = HEAP32[$6 >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[$5 >> 2] = $7; HEAP32[($3 + 8 | 0) >> 2] = $5; $9 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function emscripten__internal__BindingType_cc__ccMotionState__2c_20void___fromWireType_28cc__ccMotionState__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int____get_28_29__types | 0; } function emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29____invoke_28ccMotionStateWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29__operator_28_29_28ccMotionStateWrapper__29_20const($3 + 11 | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function ccMotionStateWrapper__ccMotionStateWrapper___28emscripten__val___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; emscripten__wrapper_cc__ccMotionState___wrapper___28emscripten__val___29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20ccMotionStateWrapper + 8 | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function void_20const__20emscripten__internal__getLightTypeID_ccMotionStateWrapper__28ccMotionStateWrapper_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; } function cc__ccMotionState__20emscripten__base_cc__ccMotionState___convertPointer_ccMotionStateWrapper_2c_20cc__ccMotionState__28ccMotionStateWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function ccMotionStateWrapper__20emscripten__base_cc__ccMotionState___convertPointer_cc__ccMotionState_2c_20ccMotionStateWrapper__28cc__ccMotionState__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__LightTypeID_ccMotionStateWrapper___get_28_29() { return GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper | 0; } function emscripten__internal__LightTypeID_ccMotionStateWrapper____get_28_29() { return GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper_ | 0; } function emscripten__internal__LightTypeID_ccMotionStateWrapper_20const____get_28_29() { return GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper_20const_ | 0; } function emscripten__internal__FunctionInvoker_void_20_28__29_28ccMotionStateWrapper__29_2c_20void_2c_20ccMotionStateWrapper____invoke_28void_20_28___29_28ccMotionStateWrapper__29_2c_20ccMotionStateWrapper__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $6 = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; FUNCTION_TABLE[$6 | 0](emscripten__internal__GenericBindingType_ccMotionStateWrapper___fromWireType_28ccMotionStateWrapper__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20ccMotionStateWrapper____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20ccMotionStateWrapper____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20ccMotionStateWrapper_____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function void_20_28__emscripten__internal__getContext_void_20_28__29_28ccMotionStateWrapper__29__28void_20_28__20const__29_28ccMotionStateWrapper__29_29_29_28ccMotionStateWrapper__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = operator_20new_28unsigned_20long_29(4 | 0) | 0; HEAP32[$5 >> 2] = HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = $5; $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function emscripten__internal__GenericBindingType_ccMotionStateWrapper___fromWireType_28ccMotionStateWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20ccMotionStateWrapper_____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20ccMotionStateWrapper_____get_28_29__types | 0; } function emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29__operator_28_29_28ccMotionStateWrapper__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29((HEAP32[($4 + 8 | 0) >> 2] | 0) + 72 | 0 | 0, 1 & 1 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function emscripten__internal__BindingType_ccMotionStateWrapper__2c_20void___toWireType_28ccMotionStateWrapper__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20emscripten__val______get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20emscripten__val______get_28_29__types | 0; } function emscripten__wrapper_cc__ccMotionState___wrapper___28emscripten__val___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; cc__ccMotionState__ccMotionState_28_29($5 | 0) | 0; emscripten__internal__WrapperBase__WrapperBase_28_29($5 + 72 | 0 | 0) | 0; HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_cc__ccMotionState_ + 8 | 0; emscripten__val__val_28emscripten__val___29($5 + 76 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function cc__ccMotionState__ccMotionState_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btMotionState__btMotionState_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20cc__ccMotionState + 8 | 0; btTransform__btTransform_28_29($4 + 8 | 0 | 0) | 0; HEAP32[($4 + 4 | 0) >> 2] = -1; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function ccMotionStateWrapper___ccMotionStateWrapper_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; emscripten__wrapper_cc__ccMotionState____wrapper_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__wrapper_cc__ccMotionState____wrapper_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $16 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_cc__ccMotionState_ + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 72 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } void_20emscripten__wrapper_cc__ccMotionState___call_void__28char_20const__29_20const($4 | 0, GOT_data_internal___memory_base + 68623 | 0 | 0); } emscripten__val___val_28_29($4 + 76 | 0 | 0) | 0; cc__ccMotionState___ccMotionState_28_29($4 | 0) | 0; $16 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $16 | 0; } function ccMotionStateWrapper___ccMotionStateWrapper_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; ccMotionStateWrapper___ccMotionStateWrapper_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccMotionState__getWorldTransform_28btTransform__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btTransform__operator__28btTransform_20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function cc__ccMotionState__setWorldTransform_28btTransform_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29($5 + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5, HEAP32[($5 + 4 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function ccMotionStateWrapper__syncPhysicsToGraphics_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; void_20emscripten__wrapper_cc__ccMotionState___call_void_2c_20int_20const___28char_20const__2c_20int_20const__29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 70462 | 0 | 0, $4 + 8 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function void_20emscripten__wrapper_cc__ccMotionState___call_void_2c_20int_20const___28char_20const__2c_20int_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; void_20emscripten__val__call_void_2c_20int_20const___28char_20const__2c_20int_20const__29_20const((HEAP32[($5 + 12 | 0) >> 2] | 0) + 76 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function void_20emscripten__wrapper_cc__ccMotionState___call_void__28char_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; void_20emscripten__val__call_void__28char_20const__29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 76 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function cc__ccMotionState___ccMotionState_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btMotionState___btMotionState_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function emscripten__wrapper_cc__ccMotionState____wrapper_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function cc__ccMotionState___ccMotionState_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function void_20emscripten__val__call_void_2c_20int_20const___28char_20const__2c_20int_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; emscripten__internal__MethodCaller_void_2c_20int_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__29(HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function emscripten__internal__MethodCaller_void_2c_20int_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29() | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; emscripten__internal__WireTypePack_int_20const____WireTypePack_28int_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; _emval_call_void_method(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, emscripten__internal__WireTypePack_int_20const____operator_20void_20const__28_29_20const($5 + 8 | 0 | 0) | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29() { var $2 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; label$1 : { if (!((((HEAPU8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const____getCount_28_29_20const($2 + 15 | 0 | 0) | 0 | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const____getTypes_28_29_20const($2 + 15 | 0 | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc >> 0] = 1; } $26 = HEAP32[GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc >> 2] | 0; __stack_pointer = $2 + 16 | 0; return $26 | 0; } function emscripten__internal__WireTypePack_int_20const____WireTypePack_28int_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 20 | 0) >> 2] = $0; HEAP32[($4 + 16 | 0) >> 2] = $1; $5 = HEAP32[($4 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $7 = HEAP32[($4 + 16 | 0) >> 2] | 0; HEAP32[($4 + 28 | 0) >> 2] = $4 + 12 | 0; HEAP32[($4 + 24 | 0) >> 2] = $7; void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0 | 0); emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 32 | 0; return $5 | 0; } function emscripten__internal__WireTypePack_int_20const____operator_20void_20const__28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const____getCount_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const____getTypes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const_____get_28_29() | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const_____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const_____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29__types | 0; } function emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2])); } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29__types | 0; } function emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29($0) { $0 = Math_fround($0); var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAPF32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])); } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP8[($3 + 15 | 0) >> 0] = $0; return (HEAPU8[($3 + 15 | 0) >> 0] | 0) & 1 | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20bool____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20bool____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20bool____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20bool____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float____get_28_29__types | 0; } function emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP8[($3 + 15 | 0) >> 0] = $0; return (HEAPU8[($3 + 15 | 0) >> 0] | 0) & 1 | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20bool_2c_20bool____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20bool_2c_20bool____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20int____get_28_29__types | 0; } function emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types | 0; } function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; } function std____2____constexpr_strlen_5babi_v160004_5d_28char_20const__29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = strlen(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function _GLOBAL__sub_I_BulletWebBindings_cpp() { __cxx_global_var_init(); __cxx_global_var_init_1(); __cxx_global_var_init_12(); return; } function __cxx_global_var_init_2() { btInfMaskConverter__btInfMaskConverter_28int_29(113920 | 0, 2139095040 | 0) | 0; return; } function btAlignedAllocDefault_28unsigned_20long_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 112816 | 0) >> 2] | 0 | 0](((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = char__20btAlignPointer_char__28char__2c_20unsigned_20long_29((HEAP32[$4 >> 2] | 0) + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + -4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; break label$1; } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; } $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedFreeDefault_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; label$1 : { if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[($3 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + -4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(0 + 112820 | 0) >> 2] | 0 | 0](HEAP32[($3 + 8 | 0) >> 2] | 0); } __stack_pointer = $3 + 16 | 0; return; } function char__20btAlignPointer_char__28char__2c_20unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[$4 >> 2] = ((HEAP32[($4 + 8 | 0) >> 2] | 0) - 1 | 0) ^ -1 | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) - 1 | 0) | 0; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) & (HEAP32[$4 >> 2] | 0) | 0; return HEAP32[($4 + 4 | 0) >> 2] | 0 | 0; } function btAllocDefault_28unsigned_20long_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = dlmalloc(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function btFreeDefault_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; dlfree(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocInternal_28unsigned_20long_2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[(0 + 113924 | 0) >> 2] = (HEAP32[(0 + 113924 | 0) >> 2] | 0) + 1 | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 112808 | 0) >> 2] | 0 | 0](HEAP32[($4 + 12 | 0) >> 2] | 0, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $15 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $15 | 0; } function btAlignedFreeInternal_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; label$1 : { label$2 : { if ((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } break label$1; } HEAP32[(0 + 113928 | 0) >> 2] = (HEAP32[(0 + 113928 | 0) >> 2] | 0) + 1 | 0; FUNCTION_TABLE[HEAP32[(0 + 112812 | 0) >> 2] | 0 | 0](HEAP32[($3 + 12 | 0) >> 2] | 0); } __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_btAlignedAllocator_cpp() { __cxx_global_var_init_2(); return; } function __cxx_global_var_init_3() { btInfMaskConverter__btInfMaskConverter_28int_29(113932 | 0, 2139095040 | 0) | 0; return; } function btDbvt__btDbvt_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btDbvt__sStkNN___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = -1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 16 | 0) >> 2] = 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btDbvt__sStkNN___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btDbvt__sStkNN_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btDbvt__sStkNN___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_btDbvt__sStkNN_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btDbvt__sStkNN___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btDbvt___btDbvt_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__clear_28_29($4 | 0); btAlignedObjectArray_btDbvt__sStkNN____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btDbvt__clear_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } recursedeletenode_28btDbvt__2c_20btDbvtNode__29($4 | 0, HEAP32[$4 >> 2] | 0 | 0); } btAlignedFreeInternal_28void__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = -1; btAlignedObjectArray_btDbvt__sStkNN___clear_28_29($4 + 20 | 0 | 0); HEAP32[($4 + 16 | 0) >> 2] = 0; __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btDbvt__sStkNN____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btDbvt__sStkNN___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function recursedeletenode_28btDbvt__2c_20btDbvtNode__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { if ((btDbvtNode__isleaf_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } recursedeletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); recursedeletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); } label$2 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = 0; } deletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btDbvt__sStkNN___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btDbvt__sStkNN___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btDbvt__sStkNN___deallocate_28_29($4 | 0); btAlignedObjectArray_btDbvt__sStkNN___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function deletenode_28btDbvt__2c_20btDbvtNode__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return; } function createnode_28btDbvt__2c_20btDbvtNode__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20void__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; (wasm2js_i32$0 = $7, wasm2js_i32$1 = createnode_28btDbvt__2c_20btDbvtNode__2c_20void__29(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0); $15 = HEAP32[($7 + 8 | 0) >> 2] | 0; __stack_pointer = $7 + 32 | 0; return $15 | 0; } function btDot_28btVector3_20const__2c_20btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $7 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $7 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)); __stack_pointer = $4 + 16 | 0; return Math_fround($7); } function createnode_28btDbvt__2c_20btDbvtNode__2c_20btDbvtAabbMm_20const__2c_20void__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $11 = 0, $14 = 0, $18 = 0, $22 = 0, $61 = 0, $71 = 0, $81 = 0, $91 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; (wasm2js_i32$0 = $6, wasm2js_i32$1 = createnode_28btDbvt__2c_20btDbvtNode__2c_20void__29(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $11 = HEAP32[($6 + 20 | 0) >> 2] | 0; $12 = HEAP32[($6 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $61 = i64toi32_i32$0; i64toi32_i32$0 = $12; HEAP32[i64toi32_i32$0 >> 2] = $61; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $14 = 24; i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $71 = i64toi32_i32$1; i64toi32_i32$1 = $12 + $14 | 0; HEAP32[i64toi32_i32$1 >> 2] = $71; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $18 = 16; i64toi32_i32$2 = $11 + $18 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $81 = i64toi32_i32$0; i64toi32_i32$0 = $12 + $18 | 0; HEAP32[i64toi32_i32$0 >> 2] = $81; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $22 = 8; i64toi32_i32$2 = $11 + $22 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $91 = i64toi32_i32$1; i64toi32_i32$1 = $12 + $22 | 0; HEAP32[i64toi32_i32$1 >> 2] = $91; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $26 = HEAP32[($6 + 12 | 0) >> 2] | 0; __stack_pointer = $6 + 32 | 0; return $26 | 0; } function btDbvt__optimizeIncremental_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $59 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$1 } HEAP32[($4 + 8 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; } label$2 : { if (!((HEAP32[$5 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$2 } label$3 : while (1) { HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$5 >> 2] | 0; HEAP32[$4 >> 2] = 0; label$4 : { label$5 : while (1) { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(((sort_28btDbvtNode__2c_20btDbvtNode___29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, $5 | 0) | 0) + 36 | 0) + ((((HEAP32[($5 + 16 | 0) >> 2] | 0) >>> (HEAP32[$4 >> 2] | 0) | 0) & 1 | 0) << 2 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[$4 >> 2] = ((HEAP32[$4 >> 2] | 0) + 1 | 0) & 31 | 0; continue label$5; }; } btDbvt__update_28btDbvtNode__2c_20int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, -1 | 0); HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) + 1 | 0; $59 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + -1 | 0; HEAP32[($4 + 8 | 0) >> 2] = $59; if ($59) { continue label$3 } break label$3; }; } __stack_pointer = $4 + 16 | 0; return; } function sort_28btDbvtNode__2c_20btDbvtNode___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $62 = 0, $111 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; HEAP32[($4 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; label$1 : { if ((btDbvtNode__isinternal_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } __assert_fail(87305 | 0, 71457 | 0, 406 | 0, 67455 | 0); wasm2js_trap(); } label$2 : { label$3 : { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = indexof_28btDbvtNode_20const__29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 8 | 0) >> 2] = 1 - (HEAP32[($4 + 12 | 0) >> 2] | 0) | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($4 + 16 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; label$4 : { if ((HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[(((HEAP32[($4 + 16 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0) { break label$4 } __assert_fail(83885 | 0, 71457 | 0, 413 | 0, 67455 | 0); wasm2js_trap(); } label$5 : { label$6 : { if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } $62 = HEAP32[($4 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = ((HEAP32[$4 >> 2] | 0) + 36 | 0) + ((indexof_28btDbvtNode_20const__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0, wasm2js_i32$1 = $62), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$5; } HEAP32[(HEAP32[($4 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; } HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; HEAP32[((HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 16 | 0) >> 2] | 0; HEAP32[((HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 16 | 0) >> 2] | 0; HEAP32[(((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4 + 16 | 0) >> 2] | 0; HEAP32[(((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; void_20btSwap_btDbvtAabbMm__28btDbvtAabbMm__2c_20btDbvtAabbMm__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 16 | 0) >> 2] | 0; break label$2; } HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; } $111 = HEAP32[($4 + 28 | 0) >> 2] | 0; __stack_pointer = $4 + 32 | 0; return $111 | 0; } function btDbvt__update_28btDbvtNode__2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = removeleaf_28btDbvt__2c_20btDbvtNode__29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { label$3 : { if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = 0; label$4 : while (1) { $32 = 0; label$5 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } $32 = (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0); } label$6 : { if (!($32 & 1 | 0)) { break label$6 } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; } break label$4; }; break label$2; } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[$6 >> 2] | 0; } } insertleaf_28btDbvt__2c_20btDbvtNode__2c_20btDbvtNode__29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function indexof_28btDbvtNode_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) & 1 | 0 | 0; } function void_20btSwap_btDbvtAabbMm__28btDbvtAabbMm__2c_20btDbvtAabbMm__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4 = 0, $5 = 0, $26 = 0, $40 = 0, $25 = 0, $6 = 0, $12 = 0, $18 = 0, $28 = 0, $32 = 0, $36 = 0, $42 = 0, $48 = 0, $54 = 0, $82 = 0, $95 = 0, $108 = 0, $112 = 0, $120 = 0, $130 = 0, $140 = 0, $150 = 0, $156 = 0, $169 = 0, $182 = 0, $195 = 0; $4 = __stack_pointer - 48 | 0; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; $6 = 24; i64toi32_i32$2 = $5 + $6 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $82 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 8 | 0) + $6 | 0; HEAP32[i64toi32_i32$0 >> 2] = $82; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $12 = 16; i64toi32_i32$2 = $5 + $12 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $95 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 8 | 0) + $12 | 0; HEAP32[i64toi32_i32$1 >> 2] = $95; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $18 = 8; i64toi32_i32$2 = $5 + $18 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $108 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 8 | 0) + $18 | 0; HEAP32[i64toi32_i32$0 >> 2] = $108; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $112 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $112; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; $25 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; $26 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; i64toi32_i32$2 = $25; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $120 = i64toi32_i32$0; i64toi32_i32$0 = $26; HEAP32[i64toi32_i32$0 >> 2] = $120; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $28 = 24; i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $130 = i64toi32_i32$1; i64toi32_i32$1 = $26 + $28 | 0; HEAP32[i64toi32_i32$1 >> 2] = $130; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $32 = 16; i64toi32_i32$2 = $25 + $32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $140 = i64toi32_i32$0; i64toi32_i32$0 = $26 + $32 | 0; HEAP32[i64toi32_i32$0 >> 2] = $140; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $36 = 8; i64toi32_i32$2 = $25 + $36 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $150 = i64toi32_i32$1; i64toi32_i32$1 = $26 + $36 | 0; HEAP32[i64toi32_i32$1 >> 2] = $150; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $40 = HEAP32[($4 + 40 | 0) >> 2] | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $156 = i64toi32_i32$0; i64toi32_i32$0 = $40; HEAP32[i64toi32_i32$0 >> 2] = $156; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $42 = 24; i64toi32_i32$2 = (i64toi32_i32$2 + 8 | 0) + $42 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $169 = i64toi32_i32$1; i64toi32_i32$1 = $40 + $42 | 0; HEAP32[i64toi32_i32$1 >> 2] = $169; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $48 = 16; i64toi32_i32$2 = ($4 + 8 | 0) + $48 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $182 = i64toi32_i32$0; i64toi32_i32$0 = $40 + $48 | 0; HEAP32[i64toi32_i32$0 >> 2] = $182; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $54 = 8; i64toi32_i32$2 = ($4 + 8 | 0) + $54 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $195 = i64toi32_i32$1; i64toi32_i32$1 = $40 + $54 | 0; HEAP32[i64toi32_i32$1 >> 2] = $195; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function removeleaf_28btDbvt__2c_20btDbvtNode__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $58 = 0, $59 = 0, $65 = 0, $71 = 0, $100 = 0, $38 = 0, $249 = 0, $262 = 0, $275 = 0, $279 = 0, $112 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 64 | 0; __stack_pointer = $4; HEAP32[($4 + 56 | 0) >> 2] = $0; HEAP32[($4 + 52 | 0) >> 2] = $1; label$1 : { label$2 : { if (!((HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] = 0; HEAP32[($4 + 60 | 0) >> 2] = 0; break label$1; } HEAP32[($4 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; HEAP32[($4 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(((HEAP32[($4 + 48 | 0) >> 2] | 0) + 36 | 0) + ((1 - (indexof_28btDbvtNode_20const__29(HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) | 0) | 0) << 2 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } $38 = HEAP32[($4 + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = ((HEAP32[($4 + 44 | 0) >> 2] | 0) + 36 | 0) + ((indexof_28btDbvtNode_20const__29(HEAP32[($4 + 48 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0, wasm2js_i32$1 = $38), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($4 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 44 | 0) >> 2] | 0; deletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4 + 48 | 0) >> 2] | 0 | 0); label$4 : { label$5 : while (1) { if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } $58 = HEAP32[($4 + 44 | 0) >> 2] | 0; $59 = 24; i64toi32_i32$2 = $58 + $59 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $249 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 8 | 0) + $59 | 0; HEAP32[i64toi32_i32$0 >> 2] = $249; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $65 = 16; i64toi32_i32$2 = $58 + $65 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $262 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 8 | 0) + $65 | 0; HEAP32[i64toi32_i32$1 >> 2] = $262; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $71 = 8; i64toi32_i32$2 = $58 + $71 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $275 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 8 | 0) + $71 | 0; HEAP32[i64toi32_i32$0 >> 2] = $275; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $58; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $279 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 8 | 0) >> 2] = $279; HEAP32[($4 + 12 | 0) >> 2] = i64toi32_i32$0; Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29(HEAP32[((HEAP32[($4 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4 + 44 | 0) >> 2] | 0 | 0); label$6 : { label$7 : { if (!((NotEqual_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($4 + 8 | 0 | 0, HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } HEAP32[($4 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; break label$6; } break label$4; } continue label$5; }; } label$8 : { label$9 : { if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } $100 = HEAP32[($4 + 44 | 0) >> 2] | 0; break label$8; } $100 = HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] | 0; } HEAP32[($4 + 60 | 0) >> 2] = $100; break label$1; } HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 40 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; deletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4 + 48 | 0) >> 2] | 0 | 0); HEAP32[($4 + 60 | 0) >> 2] = HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] | 0; } $112 = HEAP32[($4 + 60 | 0) >> 2] | 0; __stack_pointer = $4 + 64 | 0; return $112 | 0; } function insertleaf_28btDbvt__2c_20btDbvtNode__2c_20btDbvtNode__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $85 = 0, $56 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; label$1 : { label$2 : { if ((HEAP32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } HEAP32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; break label$1; } label$3 : { if ((btDbvtNode__isleaf_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } label$4 : while (1) { (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(((HEAP32[($5 + 24 | 0) >> 2] | 0) + 36 | 0) + ((Select_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; if (((btDbvtNode__isleaf_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0) { continue label$4 } break label$4; }; } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = createnode_28btDbvt__2c_20btDbvtNode__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20void__29(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$5 : { label$6 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } $56 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = ((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) + ((indexof_28btDbvtNode_20const__29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0, wasm2js_i32$1 = $56), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; label$7 : { label$8 : while (1) { label$9 : { label$10 : { if ((btDbvtAabbMm__Contain_28btDbvtAabbMm_20const__29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$10 } Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29(HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); break label$9; } break label$7; } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; $85 = HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = $85; if ((0 | 0) != ($85 | 0) & 1 | 0) { continue label$8 } break label$8; }; } break label$5; } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; } } __stack_pointer = $5 + 32 | 0; return; } function btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = createnode_28btDbvt__2c_20btDbvtNode__2c_20btDbvtAabbMm_20const__2c_20void__29($6 | 0, 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; insertleaf_28btDbvt__2c_20btDbvtNode__2c_20btDbvtNode__29($6 | 0, HEAP32[$6 >> 2] | 0 | 0, HEAP32[$5 >> 2] | 0 | 0); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; $16 = HEAP32[$5 >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $16 | 0; } function createnode_28btDbvt__2c_20btDbvtNode__2c_20void__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$1 = 0, $20 = 0, i64toi32_i32$0 = 0, $21 = 0, $39 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[$5 >> 2] = HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; break label$1; } $20 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(44 | 0, 16 | 0) | 0; i64toi32_i32$0 = 0; $21 = 0; i64toi32_i32$1 = $20; HEAP32[i64toi32_i32$1 >> 2] = $21; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = 0; i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; HEAP32[i64toi32_i32$1 >> 2] = $21; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $20 + 24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $21; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $20 + 16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $21; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $20 + 8 | 0; HEAP32[i64toi32_i32$1 >> 2] = $21; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btDbvtNode__btDbvtNode_28_29($20 | 0) | 0; HEAP32[$5 >> 2] = $20; } HEAP32[((HEAP32[$5 >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[((HEAP32[$5 >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; HEAP32[((HEAP32[$5 >> 2] | 0) + 40 | 0) >> 2] = 0; $39 = HEAP32[$5 >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $39 | 0; } function Select_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $17 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $17 = Math_fround(Proximity_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0)) < Math_fround(Proximity_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0)) & 1 | 0 ? 0 : 1; __stack_pointer = $5 + 16 | 0; return $17 | 0; } function btDbvtAabbMm__Contain_28btDbvtAabbMm_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $15 = 0; label$1 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $15 = 0; if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $15 = 0; if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $15 = 0; if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $15 = 0; if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $15 = Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]); } __stack_pointer = $4 + 16 | 0; return $15 & 1 | 0 | 0; } function NotEqual_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $15 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $15 = 1; label$1 : { if (Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$1 } $15 = 1; if (Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$1 } $15 = 1; if (Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$1 } $15 = 1; if (Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$1 } $15 = 1; if (Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$1 } $15 = Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]); } __stack_pointer = $4 + 16 | 0; return $15 & 1 | 0 | 0; } function btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $49 = 0, $48 = 0, $32 = 0, $51 = 0, $55 = 0, $59 = 0, $168 = 0, $178 = 0, $188 = 0, $198 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = removeleaf_28btDbvt__2c_20btDbvtNode__29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { label$3 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = 0; label$4 : while (1) { $32 = 0; label$5 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } $32 = (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0); } label$6 : { if (!($32 & 1 | 0)) { break label$6 } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; } break label$4; }; break label$2; } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[$6 >> 2] | 0; } } $48 = HEAP32[($5 + 20 | 0) >> 2] | 0; $49 = HEAP32[($5 + 24 | 0) >> 2] | 0; i64toi32_i32$2 = $48; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $168 = i64toi32_i32$0; i64toi32_i32$0 = $49; HEAP32[i64toi32_i32$0 >> 2] = $168; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $51 = 24; i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $178 = i64toi32_i32$1; i64toi32_i32$1 = $49 + $51 | 0; HEAP32[i64toi32_i32$1 >> 2] = $178; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $55 = 16; i64toi32_i32$2 = $48 + $55 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $188 = i64toi32_i32$0; i64toi32_i32$0 = $49 + $55 | 0; HEAP32[i64toi32_i32$0 >> 2] = $188; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $59 = 8; i64toi32_i32$2 = $48 + $59 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $198 = i64toi32_i32$1; i64toi32_i32$1 = $49 + $59 | 0; HEAP32[i64toi32_i32$1 >> 2] = $198; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; insertleaf_28btDbvt__2c_20btDbvtNode__2c_20btDbvtNode__29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); var $7 = 0, $23 = 0, $8 = 0, $17 = 0, $36 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 40 | 0) >> 2] = $0; HEAP32[($7 + 36 | 0) >> 2] = $1; HEAP32[($7 + 32 | 0) >> 2] = $2; HEAP32[($7 + 28 | 0) >> 2] = $3; HEAPF32[($7 + 24 | 0) >> 2] = $4; $8 = HEAP32[($7 + 40 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((btDbvtAabbMm__Contain_28btDbvtAabbMm_20const__29_20const(HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } HEAP8[($7 + 47 | 0) >> 0] = 0 & 1 | 0; break label$1; } $17 = HEAP32[($7 + 32 | 0) >> 2] | 0; $23 = $7 + 24 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 8 | 0 | 0, $23 | 0, $23 | 0, $23 | 0) | 0; btDbvtAabbMm__Expand_28btVector3_20const__29($17 | 0, $7 + 8 | 0 | 0); btDbvtAabbMm__SignedExpand_28btVector3_20const__29(HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__29($8 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0); HEAP8[($7 + 47 | 0) >> 0] = 1 & 1 | 0; } $36 = (HEAPU8[($7 + 47 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $7 + 48 | 0; return $36 | 0; } function btDbvtAabbMm__Expand_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btVector3__operator___28btVector3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($5 + 16 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btDbvtAabbMm__SignedExpand_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$2 } btVector3__setX_28float_29($5 + 16 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))); break label$1; } btVector3__setX_28float_29($5 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))); } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } btVector3__setY_28float_29($5 + 16 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])))); break label$3; } btVector3__setY_28float_29($5 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])))); } label$5 : { label$6 : { if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$6 } btVector3__setZ_28float_29($5 + 16 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])))); break label$5; } btVector3__setZ_28float_29($5 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])))); } __stack_pointer = $4 + 16 | 0; return; } function btDbvt__remove_28btDbvtNode__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; removeleaf_28btDbvt__2c_20btDbvtNode__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; deletenode_28btDbvt__2c_20btDbvtNode__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btDbvtNode__btDbvtNode_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvtAabbMm__btDbvtAabbMm_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function Proximity_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $47 = Math_fround(0); $4 = __stack_pointer - 64 | 0; __stack_pointer = $4; HEAP32[($4 + 60 | 0) >> 2] = $0; HEAP32[($4 + 56 | 0) >> 2] = $1; operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 24 | 0 | 0, HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($4 + 60 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 8 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4 + 56 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 40 | 0 | 0, $4 + 24 | 0 | 0, $4 + 8 | 0 | 0); $47 = Math_fround(Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($4 + 40 | 0 | 0) | 0) >> 2])))) + Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($4 + 40 | 0 | 0) | 0) >> 2]))))) + Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($4 + 40 | 0 | 0) | 0) >> 2]))))); __stack_pointer = $4 + 64 | 0; return Math_fround($47); } function _GLOBAL__sub_I_btDbvt_cpp() { __cxx_global_var_init_3(); return; } function __cxx_global_var_init_4() { btInfMaskConverter__btInfMaskConverter_28int_29(113936 | 0, 2139095040 | 0) | 0; return; } function btDbvtBroadphase__btDbvtBroadphase_28btOverlappingPairCache__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, $66 = 0, $10 = 0, $13 = 0, $14 = 0, $16 = 0, $61 = 0, $64 = 0, $12 = 0, $54 = 0, $98 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 40 | 0) >> 2] = $0; HEAP32[($4 + 36 | 0) >> 2] = $1; $5 = HEAP32[($4 + 40 | 0) >> 2] | 0; HEAP32[($4 + 44 | 0) >> 2] = $5; btBroadphaseInterface__btBroadphaseInterface_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 90076 + 8 | 0; $10 = $5 + 4 | 0; $12 = $10 + 80 | 0; $13 = $10; label$1 : while (1) { $14 = $13; btDbvt__btDbvt_28_29($14 | 0) | 0; $16 = $14 + 40 | 0; $13 = $16; if (!(($16 | 0) == ($12 | 0) & 1 | 0)) { continue label$1 } break label$1; }; btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($5 + 156 | 0 | 0) | 0; HEAP8[($5 + 153 | 0) >> 0] = 0; HEAP8[($5 + 154 | 0) >> 0] = 1; HEAP8[($5 + 152 | 0) >> 0] = ((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 0 : 1) & 1 | 0; HEAPF32[($5 + 100 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($5 + 104 | 0) >> 2] = 0; HEAP32[($5 + 124 | 0) >> 2] = 0; HEAP32[($5 + 108 | 0) >> 2] = 1; HEAP32[($5 + 112 | 0) >> 2] = 0; HEAP32[($5 + 116 | 0) >> 2] = 10; HEAP32[($5 + 120 | 0) >> 2] = 1; HEAP32[($5 + 128 | 0) >> 2] = 0; HEAP32[($5 + 132 | 0) >> 2] = 0; HEAPF32[($5 + 136 | 0) >> 2] = Math_fround(0 | 0); $54 = (HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) != (0 | 0); HEAP8[($4 + 27 | 0) >> 0] = 0 & 1 | 0; label$2 : { label$3 : { if (!($54 & 1 | 0)) { break label$3 } $61 = HEAP32[($4 + 36 | 0) >> 2] | 0; break label$2; } $64 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(72 | 0, 16 | 0) | 0; $66 = btHashedOverlappingPairCache__operator_20new_28unsigned_20long_2c_20void__29(72 | 0, $64 | 0) | 0; HEAP32[($4 + 32 | 0) >> 2] = $66; HEAP32[($4 + 28 | 0) >> 2] = $64; HEAP8[($4 + 27 | 0) >> 0] = 1 & 1 | 0; btHashedOverlappingPairCache__btHashedOverlappingPairCache_28_29($66 | 0) | 0; $61 = $66; } HEAP32[($5 + 96 | 0) >> 2] = $61; HEAP32[($5 + 148 | 0) >> 2] = 0; HEAP32[($5 + 140 | 0) >> 2] = 0; HEAP32[($5 + 144 | 0) >> 2] = 0; HEAP32[($4 + 20 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { break label$4 } HEAP32[(($5 + 84 | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($4 | 0) | 0; btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____resize_28int_2c_20btAlignedObjectArray_btDbvtNode_20const___20const__29($5 + 156 | 0 | 0, 1 | 0, $4 | 0); btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($4 | 0) | 0; $98 = HEAP32[($4 + 44 | 0) >> 2] | 0; __stack_pointer = $4 + 48 | 0; return $98 | 0; } function btBroadphaseInterface__btBroadphaseInterface_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 90204 + 8 | 0; return $4 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHashedOverlappingPairCache__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btDbvtNode_20const__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btDbvtNode_20const____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____resize_28int_2c_20btAlignedObjectArray_btDbvtNode_20const___20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 20) | 0 | 0) | 0; HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28btAlignedObjectArray_btDbvtNode_20const___20const__29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 20) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btDbvtNode_20const____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____copy_28int_2c_20int_2c_20btAlignedObjectArray_btDbvtNode_20const____29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28btAlignedObjectArray_btDbvtNode_20const___20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btAlignedAllocator_btDbvtNode_20const__2c_2016u___btAlignedAllocator_28_29($5 | 0) | 0; btAlignedObjectArray_btDbvtNode_20const____init_28_29($5 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $8 = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($5 | 0, $8 | 0, $4 | 0); btAlignedObjectArray_btDbvtNode_20const____copy_28int_2c_20int_2c_20btDbvtNode_20const___29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btAlignedAllocator_btDbvtNode_20const__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btDbvtNode_20const____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btDbvtNode_20const____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btDbvtNode_20const____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btDbvtNode_20const____deallocate_28_29($4 | 0); btAlignedObjectArray_btDbvtNode_20const____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDbvtBroadphase___btDbvtBroadphase_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $24 = 0, $11 = 0, $18 = 0, $21 = 0, $30 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 90076 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 152 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $11 = HEAP32[($4 + 96 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$11 >> 2] | 0) >> 2] | 0 | 0]($11) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 96 | 0) >> 2] | 0 | 0); } btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const______btAlignedObjectArray_28_29($4 + 156 | 0 | 0) | 0; $18 = $4 + 4 | 0; $21 = $18 + 80 | 0; label$2 : while (1) { $24 = $21 + -40 | 0; btDbvt___btDbvt_28_29($24 | 0) | 0; $21 = $24; if (!(($24 | 0) == ($18 | 0) & 1 | 0)) { continue label$2 } break label$2; }; btBroadphaseInterface___btBroadphaseInterface_28_29($4 | 0) | 0; $30 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $30 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const______btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBroadphaseInterface___btBroadphaseInterface_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____deallocate_28_29($4 | 0); btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDbvtBroadphase___btDbvtBroadphase_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[443 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDbvtBroadphase__createProxy_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20void__2c_20int_2c_20int_2c_20btDispatcher__29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, $11 = 0, $16 = 0, $31 = 0, $39 = 0, $70 = 0; $10 = __stack_pointer - 80 | 0; __stack_pointer = $10; HEAP32[($10 + 76 | 0) >> 2] = $0; HEAP32[($10 + 72 | 0) >> 2] = $1; HEAP32[($10 + 68 | 0) >> 2] = $2; HEAP32[($10 + 64 | 0) >> 2] = $3; HEAP32[($10 + 60 | 0) >> 2] = $4; HEAP32[($10 + 56 | 0) >> 2] = $5; HEAP32[($10 + 52 | 0) >> 2] = $6; HEAP32[($10 + 48 | 0) >> 2] = $7; $11 = HEAP32[($10 + 76 | 0) >> 2] | 0; $16 = btBroadphaseProxy__operator_20new_28unsigned_20long_2c_20void__29(64 | 0, btAlignedAllocInternal_28unsigned_20long_2c_20int_29(64 | 0, 16 | 0) | 0 | 0) | 0; btDbvtProxy__btDbvtProxy_28btVector3_20const__2c_20btVector3_20const__2c_20void__2c_20int_2c_20int_29($16 | 0, HEAP32[($10 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10 + 60 | 0) >> 2] | 0 | 0, HEAP32[($10 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10 + 52 | 0) >> 2] | 0 | 0) | 0; HEAP32[($10 + 44 | 0) >> 2] = $16; btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($10 + 12 | 0 | 0, HEAP32[($10 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10 + 68 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($10 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($11 + 104 | 0) >> 2] | 0; $31 = (HEAP32[($11 + 148 | 0) >> 2] | 0) + 1 | 0; HEAP32[($11 + 148 | 0) >> 2] = $31; HEAP32[((HEAP32[($10 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = $31; $39 = btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29($11 + 4 | 0 | 0, $10 + 12 | 0 | 0, HEAP32[($10 + 44 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[($10 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] = $39; void_20listappend_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($10 + 44 | 0) >> 2] | 0 | 0, ($11 + 84 | 0) + ((HEAP32[($11 + 104 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); label$1 : { if ((HEAPU8[($11 + 153 | 0) >> 0] | 0) & 1 | 0) { break label$1 } btDbvtTreeCollider__btDbvtTreeCollider_28btDbvtBroadphase__29($10 | 0, $11 | 0) | 0; HEAP32[($10 + 8 | 0) >> 2] = HEAP32[($10 + 44 | 0) >> 2] | 0; btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const($11 + 4 | 0 | 0, HEAP32[($11 + 4 | 0) >> 2] | 0 | 0, $10 + 12 | 0 | 0, $10 | 0); btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const(($11 + 4 | 0) + 40 | 0 | 0, HEAP32[($11 + 44 | 0) >> 2] | 0 | 0, $10 + 12 | 0 | 0, $10 | 0); btDbvtTreeCollider___btDbvtTreeCollider_28_29($10 | 0) | 0; } $70 = HEAP32[($10 + 44 | 0) >> 2] | 0; __stack_pointer = $10 + 80 | 0; return $70 | 0; } function btBroadphaseProxy__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btDbvtProxy__btDbvtProxy_28btVector3_20const__2c_20btVector3_20const__2c_20void__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAP32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; btBroadphaseProxy__btBroadphaseProxy_28btVector3_20const__2c_20btVector3_20const__2c_20void__2c_20int_2c_20int_29($9 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[($9 + 56 | 0) >> 2] = 0; HEAP32[($9 + 52 | 0) >> 2] = 0; __stack_pointer = $8 + 32 | 0; return $9 | 0; } function btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $14 = 0, $16 = 0, $38 = 0, $48 = 0, $57 = 0, $67 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; btDbvtAabbMm__btDbvtAabbMm_28_29($0 | 0) | 0; i64toi32_i32$2 = HEAP32[($5 + 12 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $38 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $38; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $8 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $48 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $8 | 0; HEAP32[i64toi32_i32$1 >> 2] = $48; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $14 = $0 + 16 | 0; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $57 = i64toi32_i32$0; i64toi32_i32$0 = $14; HEAP32[i64toi32_i32$0 >> 2] = $57; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $67 = i64toi32_i32$1; i64toi32_i32$1 = $14 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $67; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 16 | 0; return; } function void_20listappend_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; label$1 : { if (!((HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; } HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; return; } function btDbvtTreeCollider__btDbvtTreeCollider_28btDbvtBroadphase__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btDbvt__ICollide__ICollide_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 90268 + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $14 = 0, $15 = 0, $21 = 0, $27 = 0, $98 = 0, $156 = 0, $169 = 0, $182 = 0, $186 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 352 | 0; __stack_pointer = $6; HEAP32[($6 + 348 | 0) >> 2] = $0; HEAP32[($6 + 344 | 0) >> 2] = $1; HEAP32[($6 + 340 | 0) >> 2] = $2; HEAP32[($6 + 336 | 0) >> 2] = $3; label$1 : { if (!((HEAP32[($6 + 344 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $14 = HEAP32[($6 + 340 | 0) >> 2] | 0; $15 = 24; i64toi32_i32$2 = $14 + $15 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $156 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 304 | 0) + $15 | 0; HEAP32[i64toi32_i32$0 >> 2] = $156; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $21 = 16; i64toi32_i32$2 = $14 + $21 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $169 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 304 | 0) + $21 | 0; HEAP32[i64toi32_i32$1 >> 2] = $169; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $27 = 8; i64toi32_i32$2 = $14 + $27 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $182 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 304 | 0) + $27 | 0; HEAP32[i64toi32_i32$0 >> 2] = $182; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $14; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $186 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 304 | 0) >> 2] = $186; HEAP32[($6 + 308 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($6 + 284 | 0 | 0) | 0; HEAP32[($6 + 280 | 0) >> 2] = 0; btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($6 + 284 | 0 | 0, 0 | 0, $6 + 280 | 0 | 0); btAlignedObjectArray_btDbvtNode_20const____initializeFromBuffer_28void__2c_20int_2c_20int_29($6 + 284 | 0 | 0, $6 + 16 | 0 | 0, 0 | 0, 64 | 0); btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29($6 + 284 | 0 | 0, $6 + 344 | 0 | 0); label$2 : while (1) { (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 284 | 0 | 0, (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 + 284 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btDbvtNode_20const____pop_back_28_29($6 + 284 | 0 | 0); label$3 : { if (!((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, $6 + 304 | 0 | 0) | 0) & 1 | 0)) { break label$3 } label$4 : { label$5 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29($6 + 284 | 0 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + 36 | 0 | 0); btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29($6 + 284 | 0 | 0, ((HEAP32[($6 + 12 | 0) >> 2] | 0) + 36 | 0) + 4 | 0 | 0); break label$4; } $98 = HEAP32[($6 + 336 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$98 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($98, HEAP32[($6 + 12 | 0) >> 2] | 0); } } if ((btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 + 284 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0) { continue label$2 } break label$2; }; btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($6 + 284 | 0 | 0) | 0; } __stack_pointer = $6 + 352 | 0; return; } function btDbvtTreeCollider___btDbvtTreeCollider_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBroadphaseProxy__btBroadphaseProxy_28btVector3_20const__2c_20btVector3_20const__2c_20void__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $14 = 0, $17 = 0, $22 = 0, $25 = 0, $67 = 0, $77 = 0, $86 = 0, $96 = 0; $8 = __stack_pointer - 32 | 0; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAP32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; HEAP32[$9 >> 2] = HEAP32[($8 + 16 | 0) >> 2] | 0; HEAP32[($9 + 4 | 0) >> 2] = HEAP32[($8 + 12 | 0) >> 2] | 0; HEAP32[($9 + 8 | 0) >> 2] = HEAP32[($8 + 8 | 0) >> 2] | 0; $14 = $9 + 16 | 0; i64toi32_i32$2 = HEAP32[($8 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $67 = i64toi32_i32$0; i64toi32_i32$0 = $14; HEAP32[i64toi32_i32$0 >> 2] = $67; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $17 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $17 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $77 = i64toi32_i32$1; i64toi32_i32$1 = $14 + $17 | 0; HEAP32[i64toi32_i32$1 >> 2] = $77; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $22 = $9 + 32 | 0; i64toi32_i32$2 = HEAP32[($8 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $86; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $96; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return $9 | 0; } function btDbvtAabbMm__btDbvtAabbMm_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btDbvt__ICollide__ICollide_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 90364 + 8 | 0; return $4 | 0; } function btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btDbvtNode_20const____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btDbvtNode_20const____initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btDbvtNode_20const____clear_28_29($7 | 0); HEAP8[($7 + 16 | 0) >> 0] = 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; __stack_pointer = $6 + 16 | 0; return; } function btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btDbvtNode_20const____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btDbvtNode_20const____reserve_28int_29($5 | 0, btAlignedObjectArray_btDbvtNode_20const____allocSize_28int_29($5 | 0, btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btDbvtNode_20const____pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $17 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $17 = 0; label$1 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $17 = 0; if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $17 = 0; if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $17 = 0; if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $17 = 0; if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$1 } $17 = Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); } __stack_pointer = $4 + 16 | 0; return $17 & 1 | 0 | 0; } function btDbvtNode__isinternal_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $9 = ((btDbvtNode__isleaf_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function btDbvt__ICollide___ICollide_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btDbvtBroadphase__destroyProxy_28btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $34 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[$5 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { break label$2 } btDbvt__remove_28btDbvtNode__29(($6 + 4 | 0) + 40 | 0 | 0, HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); break label$1; } btDbvt__remove_28btDbvtNode__29($6 + 4 | 0 | 0, HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); } void_20listremove_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[$5 >> 2] | 0 | 0, ($6 + 84 | 0) + ((HEAP32[((HEAP32[$5 >> 2] | 0) + 60 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); $34 = HEAP32[($6 + 96 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$34 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($34, HEAP32[$5 >> 2] | 0, HEAP32[($5 + 4 | 0) >> 2] | 0); btAlignedFreeInternal_28void__29(HEAP32[$5 >> 2] | 0 | 0); HEAP8[($6 + 154 | 0) >> 0] = 1; __stack_pointer = $5 + 16 | 0; return; } function void_20listremove_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; break label$1; } HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; } label$3 : { if (!((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; } return; } function btDbvtBroadphase__getAabb_28btBroadphaseProxy__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $11 = 0, $13 = 0, $20 = 0, $22 = 0, $52 = 0, $62 = 0, $73 = 0, $83 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; $11 = HEAP32[($6 + 20 | 0) >> 2] | 0; i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $52 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $52; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $62 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $62; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $20 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $73 = i64toi32_i32$0; i64toi32_i32$0 = $20; HEAP32[i64toi32_i32$0 >> 2] = $73; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $22 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $83 = i64toi32_i32$1; i64toi32_i32$1 = $20 + $22 | 0; HEAP32[i64toi32_i32$1 >> 2] = $83; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btDbvtBroadphase__rayTest_28btVector3_20const__2c_20btVector3_20const__2c_20btBroadphaseRayCallback__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $8 = __stack_pointer - 48 | 0; __stack_pointer = $8; HEAP32[($8 + 44 | 0) >> 2] = $0; HEAP32[($8 + 40 | 0) >> 2] = $1; HEAP32[($8 + 36 | 0) >> 2] = $2; HEAP32[($8 + 32 | 0) >> 2] = $3; HEAP32[($8 + 28 | 0) >> 2] = $4; HEAP32[($8 + 24 | 0) >> 2] = $5; $9 = HEAP32[($8 + 44 | 0) >> 2] | 0; BroadphaseRayTester__BroadphaseRayTester_28btBroadphaseRayCallback__29($8 + 16 | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____operator_5b_5d_28int_29($9 + 156 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; btDbvt__rayTestInternal_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const($9 + 4 | 0 | 0, HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, HEAP32[($8 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 20 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2])), HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, $8 + 16 | 0 | 0); btDbvt__rayTestInternal_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const(($9 + 4 | 0) + 40 | 0 | 0, HEAP32[($9 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 20 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2])), HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, $8 + 16 | 0 | 0); BroadphaseRayTester___BroadphaseRayTester_28_29($8 + 16 | 0 | 0) | 0; __stack_pointer = $8 + 48 | 0; return; } function BroadphaseRayTester__BroadphaseRayTester_28btBroadphaseRayCallback__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btDbvt__ICollide__ICollide_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 90400 + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 20) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btDbvt__rayTestInternal_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; $10 = $10 | 0; var $13 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $38 = 0, $41 = 0, $42 = 0, $44 = 0, $53 = 0, $64 = 0, $66 = 0, $82 = 0, $84 = 0, $136 = 0, $143 = 0, $147 = 0, $26 = 0, $32 = 0, $40 = 0, $50 = 0, $284 = 0, $297 = 0, $321 = 0, $334 = 0, $120 = 0, $124 = 0, $134 = 0, $135 = 0, $141 = 0, $142 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $13 = __stack_pointer - 176 | 0; __stack_pointer = $13; HEAP32[($13 + 172 | 0) >> 2] = $0; HEAP32[($13 + 168 | 0) >> 2] = $1; HEAP32[($13 + 164 | 0) >> 2] = $2; HEAP32[($13 + 160 | 0) >> 2] = $3; HEAP32[($13 + 156 | 0) >> 2] = $4; HEAP32[($13 + 152 | 0) >> 2] = $5; HEAPF32[($13 + 148 | 0) >> 2] = $6; HEAP32[($13 + 144 | 0) >> 2] = $7; HEAP32[($13 + 140 | 0) >> 2] = $8; HEAP32[($13 + 136 | 0) >> 2] = $9; HEAP32[($13 + 132 | 0) >> 2] = $10; label$1 : { if (!((HEAP32[($13 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28_29($13 + 116 | 0 | 0) | 0; HEAP32[($13 + 112 | 0) >> 2] = 1; HEAP32[($13 + 108 | 0) >> 2] = 126; $26 = HEAP32[($13 + 136 | 0) >> 2] | 0; HEAP32[($13 + 104 | 0) >> 2] = 0; btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($26 | 0, 128 | 0, $13 + 104 | 0 | 0); $32 = HEAP32[($13 + 168 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29(HEAP32[($13 + 136 | 0) >> 2] | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $32), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $38 = $13 + 64 | 0; $40 = $38 + 32 | 0; $41 = $38; label$2 : while (1) { $42 = $41; btVector3__btVector3_28_29($42 | 0) | 0; $44 = $42 + 16 | 0; $41 = $44; if (!(($44 | 0) == ($40 | 0) & 1 | 0)) { continue label$2 } break label$2; }; label$3 : while (1) { $50 = HEAP32[($13 + 136 | 0) >> 2] | 0; $53 = (HEAP32[($13 + 112 | 0) >> 2] | 0) + -1 | 0; HEAP32[($13 + 112 | 0) >> 2] = $53; (wasm2js_i32$0 = $13, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($50 | 0, $53 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($13 + 44 | 0 | 0, btDbvtAabbMm__Mins_28_29_20const(HEAP32[($13 + 60 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($13 + 140 | 0) >> 2] | 0 | 0); $64 = $13 + 64 | 0; i64toi32_i32$2 = $13; i64toi32_i32$0 = HEAP32[($13 + 44 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($13 + 48 | 0) >> 2] | 0; $284 = i64toi32_i32$0; i64toi32_i32$0 = $64; HEAP32[i64toi32_i32$0 >> 2] = $284; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $66 = 8; i64toi32_i32$2 = ($13 + 44 | 0) + $66 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $297 = i64toi32_i32$1; i64toi32_i32$1 = $64 + $66 | 0; HEAP32[i64toi32_i32$1 >> 2] = $297; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($13 + 28 | 0 | 0, btDbvtAabbMm__Maxs_28_29_20const(HEAP32[($13 + 60 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($13 + 144 | 0) >> 2] | 0 | 0); $82 = ($13 + 64 | 0) + 16 | 0; i64toi32_i32$2 = $13; i64toi32_i32$0 = HEAP32[($13 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($13 + 32 | 0) >> 2] | 0; $321 = i64toi32_i32$0; i64toi32_i32$0 = $82; HEAP32[i64toi32_i32$0 >> 2] = $321; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $84 = 8; i64toi32_i32$2 = ($13 + 28 | 0) + $84 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $334 = i64toi32_i32$1; i64toi32_i32$1 = $82 + $84 | 0; HEAP32[i64toi32_i32$1 >> 2] = $334; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($13 + 24 | 0) >> 2] = Math_fround(1.0); HEAPF32[($13 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($13 + 16 | 0) >> 2] = 0; (wasm2js_i32$0 = $13, wasm2js_i32$1 = (btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29(HEAP32[($13 + 164 | 0) >> 2] | 0 | 0, HEAP32[($13 + 156 | 0) >> 2] | 0 | 0, HEAP32[($13 + 152 | 0) >> 2] | 0 | 0, $13 + 64 | 0 | 0, $13 + 24 | 0 | 0, Math_fround(Math_fround(HEAPF32[($13 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($13 + 148 | 0) >> 2]))) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$4 : { if (!(HEAP32[($13 + 16 | 0) >> 2] | 0)) { break label$4 } label$5 : { label$6 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($13 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } label$7 : { if (!((HEAP32[($13 + 112 | 0) >> 2] | 0 | 0) > (HEAP32[($13 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } $120 = HEAP32[($13 + 136 | 0) >> 2] | 0; $124 = (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($13 + 136 | 0) >> 2] | 0 | 0) | 0) << 1 | 0; HEAP32[($13 + 12 | 0) >> 2] = 0; btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($120 | 0, $124 | 0, $13 + 12 | 0 | 0); (wasm2js_i32$0 = $13, wasm2js_i32$1 = (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($13 + 136 | 0) >> 2] | 0 | 0) | 0) - 2 | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; } $134 = HEAP32[((HEAP32[($13 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; $135 = HEAP32[($13 + 136 | 0) >> 2] | 0; $136 = HEAP32[($13 + 112 | 0) >> 2] | 0; HEAP32[($13 + 112 | 0) >> 2] = $136 + 1 | 0; (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($135 | 0, $136 | 0) | 0, wasm2js_i32$1 = $134), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $141 = HEAP32[((HEAP32[($13 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; $142 = HEAP32[($13 + 136 | 0) >> 2] | 0; $143 = HEAP32[($13 + 112 | 0) >> 2] | 0; HEAP32[($13 + 112 | 0) >> 2] = $143 + 1 | 0; (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($142 | 0, $143 | 0) | 0, wasm2js_i32$1 = $141), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$5; } $147 = HEAP32[($13 + 132 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$147 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($147, HEAP32[($13 + 60 | 0) >> 2] | 0); } } if (HEAP32[($13 + 112 | 0) >> 2] | 0) { continue label$3 } break label$3; }; } __stack_pointer = $13 + 176 | 0; return; } function BroadphaseRayTester___BroadphaseRayTester_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btDbvtAabbMm__Mins_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btDbvtAabbMm__Maxs_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0 | 0; } function btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); $6 = Math_fround($6); var $9 = 0, $176 = 0, $25 = Math_fround(0), $185 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $9 = __stack_pointer - 64 | 0; __stack_pointer = $9; HEAP32[($9 + 56 | 0) >> 2] = $0; HEAP32[($9 + 52 | 0) >> 2] = $1; HEAP32[($9 + 48 | 0) >> 2] = $2; HEAP32[($9 + 44 | 0) >> 2] = $3; HEAP32[($9 + 40 | 0) >> 2] = $4; HEAPF32[($9 + 36 | 0) >> 2] = $5; HEAPF32[($9 + 32 | 0) >> 2] = $6; $25 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2])); HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2] = $25; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((1 - (HEAP32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2] | 0) | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getY_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($9 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getY_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((1 - (HEAP32[((HEAP32[($9 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { label$3 : { if (Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($9 + 20 | 0) >> 2]) & 1 | 0) { break label$3 } if (!(Math_fround(HEAPF32[($9 + 24 | 0) >> 2]) > Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) & 1 | 0)) { break label$2 } } HEAP8[($9 + 63 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$4 : { if (!(Math_fround(HEAPF32[($9 + 24 | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$4 } HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($9 + 24 | 0) >> 2]); } label$5 : { if (!(Math_fround(HEAPF32[($9 + 20 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) & 1 | 0)) { break label$5 } HEAPF32[($9 + 28 | 0) >> 2] = Math_fround(HEAPF32[($9 + 20 | 0) >> 2]); } (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($9 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((1 - (HEAP32[((HEAP32[($9 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; label$6 : { label$7 : { if (Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($9 + 12 | 0) >> 2]) & 1 | 0) { break label$7 } if (!(Math_fround(HEAPF32[($9 + 16 | 0) >> 2]) > Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) & 1 | 0)) { break label$6 } } HEAP8[($9 + 63 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$8 : { if (!(Math_fround(HEAPF32[($9 + 16 | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$8 } HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($9 + 16 | 0) >> 2]); } label$9 : { if (!(Math_fround(HEAPF32[($9 + 12 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) & 1 | 0)) { break label$9 } HEAPF32[($9 + 28 | 0) >> 2] = Math_fround(HEAPF32[($9 + 12 | 0) >> 2]); } $176 = 0; label$10 : { if (!(Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[($9 + 32 | 0) >> 2]) & 1 | 0)) { break label$10 } $176 = Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) > Math_fround(HEAPF32[($9 + 36 | 0) >> 2]); } HEAP8[($9 + 63 | 0) >> 0] = $176 & 1 | 0; } $185 = (HEAPU8[($9 + 63 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $9 + 64 | 0; return $185 | 0; } function btDbvtBroadphase__aabbTest_28btVector3_20const__2c_20btVector3_20const__2c_20btBroadphaseAabbCallback__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; HEAP32[($6 + 60 | 0) >> 2] = $0; HEAP32[($6 + 56 | 0) >> 2] = $1; HEAP32[($6 + 52 | 0) >> 2] = $2; HEAP32[($6 + 48 | 0) >> 2] = $3; $7 = HEAP32[($6 + 60 | 0) >> 2] | 0; BroadphaseAabbTester__BroadphaseAabbTester_28btBroadphaseAabbCallback__29($6 + 40 | 0 | 0, HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) | 0; btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($6 + 8 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0); btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const($7 + 4 | 0 | 0, HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, $6 + 40 | 0 | 0); btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const(($7 + 4 | 0) + 40 | 0 | 0, HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, $6 + 40 | 0 | 0); BroadphaseAabbTester___BroadphaseAabbTester_28_29($6 + 40 | 0 | 0) | 0; __stack_pointer = $6 + 64 | 0; return; } function BroadphaseAabbTester__BroadphaseAabbTester_28btBroadphaseAabbCallback__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btDbvt__ICollide__ICollide_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 90472 + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function BroadphaseAabbTester___BroadphaseAabbTester_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btDbvtBroadphase__setAabb_28btBroadphaseProxy__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btDispatcher__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $184 = 0, $186 = 0, $193 = 0, $195 = 0, $36 = 0, $99 = Math_fround(0), $119 = Math_fround(0), $139 = Math_fround(0), $598 = 0, $608 = 0, $619 = 0, $629 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 144 | 0; __stack_pointer = $7; HEAP32[($7 + 140 | 0) >> 2] = $0; HEAP32[($7 + 136 | 0) >> 2] = $1; HEAP32[($7 + 132 | 0) >> 2] = $2; HEAP32[($7 + 128 | 0) >> 2] = $3; HEAP32[($7 + 124 | 0) >> 2] = $4; $8 = HEAP32[($7 + 140 | 0) >> 2] | 0; HEAP32[($7 + 120 | 0) >> 2] = HEAP32[($7 + 136 | 0) >> 2] | 0; btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($7 + 88 | 0 | 0, HEAP32[($7 + 132 | 0) >> 2] | 0 | 0, HEAP32[($7 + 128 | 0) >> 2] | 0 | 0); HEAP8[($7 + 87 | 0) >> 0] = 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { break label$2 } btDbvt__remove_28btDbvtNode__29(($8 + 4 | 0) + 40 | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); $36 = btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29($8 + 4 | 0 | 0, $7 + 88 | 0 | 0, HEAP32[($7 + 120 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] = $36; HEAP8[($7 + 87 | 0) >> 0] = 1; break label$1; } HEAP32[($8 + 128 | 0) >> 2] = (HEAP32[($8 + 128 | 0) >> 2] | 0) + 1 | 0; label$3 : { label$4 : { if (!((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 88 | 0 | 0) | 0) & 1 | 0)) { break label$4 } operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 68 | 0 | 0, HEAP32[($7 + 132 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 120 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 20 | 0 | 0, (HEAP32[($7 + 120 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 120 | 0) >> 2] | 0) + 16 | 0 | 0); HEAPF32[($7 + 16 | 0) >> 2] = Math_fround(2.0); operator__28btVector3_20const__2c_20float_20const__29_1($7 + 36 | 0 | 0, $7 + 20 | 0 | 0, $7 + 16 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($7 + 52 | 0 | 0, $7 + 36 | 0 | 0, $8 + 100 | 0 | 0); label$5 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($7 + 68 | 0 | 0) | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$5 } $99 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0, wasm2js_f32$0 = $99), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } label$6 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 68 | 0 | 0) | 0) + 4 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$6 } $119 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0) + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0, wasm2js_f32$0 = $119), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; } label$7 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 68 | 0 | 0) | 0) + 8 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$7 } $139 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0) + 8 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0, wasm2js_f32$0 = $139), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } label$8 : { if (!((btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__2c_20btVector3_20const__2c_20float_29($8 + 4 | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 88 | 0 | 0, $7 + 52 | 0 | 0, Math_fround(Math_fround(.05000000074505806))) | 0) & 1 | 0)) { break label$8 } HEAP32[($8 + 132 | 0) >> 2] = (HEAP32[($8 + 132 | 0) >> 2] | 0) + 1 | 0; HEAP8[($7 + 87 | 0) >> 0] = 1; } break label$3; } btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__29($8 + 4 | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 88 | 0 | 0); HEAP32[($8 + 132 | 0) >> 2] = (HEAP32[($8 + 132 | 0) >> 2] | 0) + 1 | 0; HEAP8[($7 + 87 | 0) >> 0] = 1; } } void_20listremove_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($7 + 120 | 0) >> 2] | 0 | 0, ($8 + 84 | 0) + ((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); $184 = (HEAP32[($7 + 120 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$2 = HEAP32[($7 + 132 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $598 = i64toi32_i32$0; i64toi32_i32$0 = $184; HEAP32[i64toi32_i32$0 >> 2] = $598; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $186 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $186 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $608 = i64toi32_i32$1; i64toi32_i32$1 = $184 + $186 | 0; HEAP32[i64toi32_i32$1 >> 2] = $608; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $193 = (HEAP32[($7 + 120 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$2 = HEAP32[($7 + 128 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $619 = i64toi32_i32$0; i64toi32_i32$0 = $193; HEAP32[i64toi32_i32$0 >> 2] = $619; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $195 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $195 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $629 = i64toi32_i32$1; i64toi32_i32$1 = $193 + $195 | 0; HEAP32[i64toi32_i32$1 >> 2] = $629; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($8 + 104 | 0) >> 2] | 0; void_20listappend_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($7 + 120 | 0) >> 2] | 0 | 0, ($8 + 84 | 0) + ((HEAP32[($8 + 104 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); label$9 : { if (!((HEAPU8[($7 + 87 | 0) >> 0] | 0) & 1 | 0)) { break label$9 } HEAP8[($8 + 154 | 0) >> 0] = 1; label$10 : { if ((HEAPU8[($8 + 153 | 0) >> 0] | 0) & 1 | 0) { break label$10 } btDbvtTreeCollider__btDbvtTreeCollider_28btDbvtBroadphase__29($7 + 4 | 0 | 0, $8 | 0) | 0; btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29(($8 + 4 | 0) + 40 | 0 | 0, HEAP32[($8 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0); btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29($8 + 4 | 0 | 0, HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0); btDbvtTreeCollider___btDbvtTreeCollider_28_29($7 + 4 | 0 | 0) | 0; } } __stack_pointer = $7 + 144 | 0; return; } function operator__28btVector3_20const__2c_20float_20const__29_1($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($0 | 0, $6 | 0, $5 + 4 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $47 = 0, $95 = 0, $109 = 0, $123 = 0, $150 = 0, $164 = 0, $178 = 0, $192 = 0, $205 = 0, $218 = 0, $235 = 0, $246 = 0, $251 = 0, $41 = 0, $339 = 0, $356 = 0, $63 = 0, $98 = 0, $460 = 0, $112 = 0, $493 = 0, $126 = 0, $526 = 0, $153 = 0, $589 = 0, $167 = 0, $622 = 0, $181 = 0, $655 = 0, $195 = 0, $688 = 0, $208 = 0, $719 = 0, $221 = 0, $750 = 0, $238 = 0, $790 = 0, $249 = 0, $818 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 144 | 0; __stack_pointer = $6; HEAP32[($6 + 140 | 0) >> 2] = $0; HEAP32[($6 + 136 | 0) >> 2] = $1; HEAP32[($6 + 132 | 0) >> 2] = $2; HEAP32[($6 + 128 | 0) >> 2] = $3; $7 = HEAP32[($6 + 140 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($6 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((HEAP32[($6 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[($6 + 124 | 0) >> 2] = 1; HEAP32[($6 + 120 | 0) >> 2] = 124; btDbvt__sStkNN__sStkNN_28_29($6 + 112 | 0 | 0) | 0; btAlignedObjectArray_btDbvt__sStkNN___resize_28int_2c_20btDbvt__sStkNN_20const__29($7 + 20 | 0 | 0, 128 | 0, $6 + 112 | 0 | 0); btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 104 | 0 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6 + 132 | 0) >> 2] | 0 | 0) | 0; $41 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 104 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 108 | 0) >> 2] | 0; $339 = i64toi32_i32$0; i64toi32_i32$0 = $41; HEAP32[i64toi32_i32$0 >> 2] = $339; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; label$2 : while (1) { $47 = (HEAP32[($6 + 124 | 0) >> 2] | 0) + -1 | 0; HEAP32[($6 + 124 | 0) >> 2] = $47; i64toi32_i32$2 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $47 | 0) | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $356 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 96 | 0) >> 2] = $356; HEAP32[($6 + 100 | 0) >> 2] = i64toi32_i32$0; label$3 : { if (!((HEAP32[($6 + 124 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } $63 = (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($7 + 20 | 0 | 0) | 0) << 1 | 0; btDbvt__sStkNN__sStkNN_28_29($6 + 88 | 0 | 0) | 0; btAlignedObjectArray_btDbvt__sStkNN___resize_28int_2c_20btDbvt__sStkNN_20const__29($7 + 20 | 0 | 0, $63 | 0, $6 + 88 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($7 + 20 | 0 | 0) | 0) - 4 | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; } label$4 : { label$5 : { if (!((HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } label$6 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 80 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; $95 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $95 + 1 | 0; $98 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $95 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 80 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 84 | 0) >> 2] | 0; $460 = i64toi32_i32$0; i64toi32_i32$0 = $98; HEAP32[i64toi32_i32$0 >> 2] = $460; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 72 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; $109 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $109 + 1 | 0; $112 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $109 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 72 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 76 | 0) >> 2] | 0; $493 = i64toi32_i32$1; i64toi32_i32$1 = $112; HEAP32[i64toi32_i32$1 >> 2] = $493; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 64 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; $123 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $123 + 1 | 0; $126 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $123 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; $526 = i64toi32_i32$0; i64toi32_i32$0 = $126; HEAP32[i64toi32_i32$0 >> 2] = $526; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; } break label$4; } label$7 : { if (!((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } label$8 : { label$9 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$9 } label$10 : { label$11 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$11 } btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 56 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; $150 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $150 + 1 | 0; $153 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $150 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 56 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 60 | 0) >> 2] | 0; $589 = i64toi32_i32$1; i64toi32_i32$1 = $153; HEAP32[i64toi32_i32$1 >> 2] = $589; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 48 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; $164 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $164 + 1 | 0; $167 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $164 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 52 | 0) >> 2] | 0; $622 = i64toi32_i32$0; i64toi32_i32$0 = $167; HEAP32[i64toi32_i32$0 >> 2] = $622; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 40 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; $178 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $178 + 1 | 0; $181 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $178 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 40 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 44 | 0) >> 2] | 0; $655 = i64toi32_i32$1; i64toi32_i32$1 = $181; HEAP32[i64toi32_i32$1 >> 2] = $655; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 32 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; $192 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $192 + 1 | 0; $195 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $192 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; $688 = i64toi32_i32$0; i64toi32_i32$0 = $195; HEAP32[i64toi32_i32$0 >> 2] = $688; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; break label$10; } btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 24 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0; $205 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $205 + 1 | 0; $208 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $205 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; $719 = i64toi32_i32$1; i64toi32_i32$1 = $208; HEAP32[i64toi32_i32$1 >> 2] = $719; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 16 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0; $218 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $218 + 1 | 0; $221 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $218 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; $750 = i64toi32_i32$0; i64toi32_i32$0 = $221; HEAP32[i64toi32_i32$0 >> 2] = $750; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; } break label$8; } label$12 : { label$13 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$13 } btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 8 | 0 | 0, HEAP32[($6 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; $235 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $235 + 1 | 0; $238 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $235 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 12 | 0) >> 2] | 0; $790 = i64toi32_i32$1; i64toi32_i32$1 = $238; HEAP32[i64toi32_i32$1 >> 2] = $790; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 | 0, HEAP32[($6 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; $246 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 124 | 0) >> 2] = $246 + 1 | 0; $249 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $246 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; $818 = i64toi32_i32$0; i64toi32_i32$0 = $249; HEAP32[i64toi32_i32$0 >> 2] = $818; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; break label$12; } $251 = HEAP32[($6 + 128 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$251 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($251, HEAP32[($6 + 96 | 0) >> 2] | 0, HEAP32[($6 + 100 | 0) >> 2] | 0); } } } } if (HEAP32[($6 + 124 | 0) >> 2] | 0) { continue label$2 } break label$2; }; } __stack_pointer = $6 + 144 | 0; return; } function btDbvt__sStkNN__sStkNN_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btDbvt__sStkNN___resize_28int_2c_20btDbvt__sStkNN_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $162 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btDbvt__sStkNN___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $162 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$0 >> 2] = $162; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$6 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; return $6 | 0; } function btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btDbvtBroadphase__calculateOverlappingPairs_28btDispatcher__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btDbvtBroadphase__collide_28btDispatcher__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btDbvtBroadphase__performDeferredRemoval_28btDispatcher__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btDbvtBroadphase__collide_28btDispatcher__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $144 = 0, $202 = 0, $101 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 112 | 0; __stack_pointer = $4; HEAP32[($4 + 108 | 0) >> 2] = $0; HEAP32[($4 + 104 | 0) >> 2] = $1; $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; btDbvt__optimizeIncremental_28int_29($5 + 4 | 0 | 0, ((Math_imul(HEAP32[($5 + 16 | 0) >> 2] | 0, HEAP32[($5 + 112 | 0) >> 2] | 0) | 0) / (100 | 0) | 0) + 1 | 0 | 0); label$1 : { if (!(HEAP32[($5 + 124 | 0) >> 2] | 0)) { break label$1 } HEAP32[($4 + 100 | 0) >> 2] = ((Math_imul(HEAP32[($5 + 56 | 0) >> 2] | 0, HEAP32[($5 + 108 | 0) >> 2] | 0) | 0) / (100 | 0) | 0) + 1 | 0; btDbvt__optimizeIncremental_28int_29(($5 + 4 | 0) + 40 | 0 | 0, ((Math_imul(HEAP32[($5 + 56 | 0) >> 2] | 0, HEAP32[($5 + 108 | 0) >> 2] | 0) | 0) / (100 | 0) | 0) + 1 | 0 | 0); HEAP32[($4 + 96 | 0) >> 2] = 0; HEAP32[($4 + 92 | 0) >> 2] = (HEAP32[($5 + 124 | 0) >> 2] | 0) - (HEAP32[($4 + 100 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 96 | 0 | 0, $4 + 92 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; } HEAP32[($5 + 104 | 0) >> 2] = ((HEAP32[($5 + 104 | 0) >> 2] | 0) + 1 | 0 | 0) % (2 | 0) | 0; HEAP32[($4 + 88 | 0) >> 2] = HEAP32[(($5 + 84 | 0) + ((HEAP32[($5 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; label$2 : { if (!((HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } label$3 : while (1) { HEAP32[($4 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; void_20listremove_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($4 + 88 | 0) >> 2] | 0 | 0, ($5 + 84 | 0) + ((HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); void_20listappend_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($4 + 88 | 0) >> 2] | 0 | 0, ($5 + 84 | 0) + 8 | 0 | 0); btDbvt__remove_28btDbvtNode__29($5 + 4 | 0 | 0, HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($4 + 52 | 0 | 0, (HEAP32[($4 + 88 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($4 + 88 | 0) >> 2] | 0) + 32 | 0 | 0); $101 = btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29(($5 + 4 | 0) + 40 | 0 | 0, $4 + 52 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 48 | 0) >> 2] = $101; HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] = 2; HEAP32[($4 + 88 | 0) >> 2] = HEAP32[($4 + 84 | 0) >> 2] | 0; if ((HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { continue label$3 } break label$3; }; HEAP32[($5 + 124 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; HEAP8[($5 + 154 | 0) >> 0] = 1; } btDbvtTreeCollider__btDbvtTreeCollider_28btDbvtBroadphase__29($4 + 40 | 0 | 0, $5 | 0) | 0; label$4 : { if (!((HEAPU8[($5 + 153 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29($5 + 4 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0); } label$5 : { if (!((HEAPU8[($5 + 153 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29($5 + 4 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0); } btDbvtTreeCollider___btDbvtTreeCollider_28_29($4 + 40 | 0 | 0) | 0; label$6 : { if (!((HEAPU8[($5 + 154 | 0) >> 0] | 0) & 1 | 0)) { break label$6 } $144 = HEAP32[($5 + 96 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$144 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($144) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; label$7 : { if (!((btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { break label$7 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (Math_imul(btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0, HEAP32[($5 + 116 | 0) >> 2] | 0) | 0) / (100 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMin_int__28int_20const__2c_20int_20const__29($4 + 28 | 0 | 0, int_20const__20btMax_int__28int_20const__2c_20int_20const__29($5 + 120 | 0 | 0, $4 + 24 | 0 | 0) | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 20 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, ((HEAP32[($5 + 144 | 0) >> 2] | 0) + (HEAP32[($4 + 20 | 0) >> 2] | 0) | 0 | 0) % (btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4 + 16 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($4 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; label$10 : { if ((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$10 } $202 = HEAP32[($5 + 96 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$202 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($202, HEAP32[($4 + 12 | 0) >> 2] | 0, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[($4 + 104 | 0) >> 2] | 0) | 0; HEAP32[($4 + 32 | 0) >> 2] = (HEAP32[($4 + 32 | 0) >> 2] | 0) + -1 | 0; HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + -1 | 0; } HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$9; }; } label$11 : { label$12 : { if (!((btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { break label$12 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = ((HEAP32[($5 + 144 | 0) >> 2] | 0) + (HEAP32[($4 + 32 | 0) >> 2] | 0) | 0 | 0) % (btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; break label$11; } HEAP32[($5 + 144 | 0) >> 2] = 0; } } } HEAP32[($5 + 140 | 0) >> 2] = (HEAP32[($5 + 140 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 120 | 0) >> 2] = 1; HEAP8[($5 + 154 | 0) >> 0] = 0; label$13 : { label$14 : { if (!((HEAP32[($5 + 128 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { break label$14 } HEAPF32[($5 + 136 | 0) >> 2] = Math_fround(Math_fround((HEAP32[($5 + 132 | 0) >> 2] | 0) >>> 0) / Math_fround((HEAP32[($5 + 128 | 0) >> 2] | 0) >>> 0)); break label$13; } HEAPF32[($5 + 136 | 0) >> 2] = Math_fround(0 | 0); } HEAP32[($5 + 132 | 0) >> 2] = (HEAP32[($5 + 132 | 0) >> 2] | 0) >>> 1 | 0; HEAP32[($5 + 128 | 0) >> 2] = (HEAP32[($5 + 128 | 0) >> 2] | 0) >>> 1 | 0; __stack_pointer = $4 + 112 | 0; return; } function btDbvtBroadphase__performDeferredRemoval_28btDispatcher__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $12 = 0, $46 = 0, $47 = 0, $90 = 0, $235 = 0, $239 = 0, $109 = 0, $113 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAP32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; $6 = HEAP32[($5 + 96 | 0) >> 2] | 0; label$1 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($6) | 0) & 1 | 0)) { break label$1 } $12 = HEAP32[($5 + 96 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($12) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; void_20btAlignedObjectArray_btBroadphasePair___quickSort_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__29(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0, $4 + 67 | 0 | 0); HEAP32[($4 + 60 | 0) >> 2] = 0; btBroadphasePair__btBroadphasePair_28_29($4 + 40 | 0 | 0) | 0; HEAP32[($4 + 40 | 0) >> 2] = 0; HEAP32[($4 + 44 | 0) >> 2] = 0; HEAP32[($4 + 48 | 0) >> 2] = 0; HEAP32[($4 + 56 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (operator___28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 35 | 0) >> 0] = wasm2js_i32$1; $46 = HEAP32[($4 + 36 | 0) >> 2] | 0; $47 = 8; i64toi32_i32$2 = $46 + $47 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $235 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 40 | 0) + $47 | 0; HEAP32[i64toi32_i32$0 >> 2] = $235; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $46; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $239 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 40 | 0) >> 2] = $239; HEAP32[($4 + 44 | 0) >> 2] = i64toi32_i32$0; HEAP8[($4 + 34 | 0) >> 0] = 0; label$4 : { label$5 : { if ((HEAPU8[($4 + 35 | 0) >> 0] | 0) & 1 | 0) { break label$5 } HEAP32[($4 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4 + 36 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($4 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[((HEAP32[($4 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 23 | 0) >> 0] = wasm2js_i32$1; label$6 : { label$7 : { if (!((HEAPU8[($4 + 23 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } HEAP8[($4 + 34 | 0) >> 0] = 0; break label$6; } HEAP8[($4 + 34 | 0) >> 0] = 1; } break label$4; } HEAP8[($4 + 34 | 0) >> 0] = 1; label$8 : { if (!((HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } __assert_fail(77164 | 0, 74016 | 0, 493 | 0, 77271 | 0); wasm2js_trap(); } } label$9 : { if (!((HEAPU8[($4 + 34 | 0) >> 0] | 0) & 1 | 0)) { break label$9 } $90 = HEAP32[($5 + 96 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$90 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($90, HEAP32[($4 + 36 | 0) >> 2] | 0, HEAP32[($4 + 72 | 0) >> 2] | 0); HEAP32[(HEAP32[($4 + 36 | 0) >> 2] | 0) >> 2] = 0; HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; HEAP32[($4 + 60 | 0) >> 2] = (HEAP32[($4 + 60 | 0) >> 2] | 0) + 1 | 0; } HEAP32[($4 + 56 | 0) >> 2] = (HEAP32[($4 + 56 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } void_20btAlignedObjectArray_btBroadphasePair___quickSort_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__29(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0, $4 + 22 | 0 | 0); $109 = HEAP32[($4 + 68 | 0) >> 2] | 0; $113 = (btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0) - (HEAP32[($4 + 60 | 0) >> 2] | 0) | 0; btBroadphasePair__btBroadphasePair_28_29($4 + 4 | 0 | 0) | 0; btAlignedObjectArray_btBroadphasePair___resize_28int_2c_20btBroadphasePair_20const__29($109 | 0, $113 | 0, $4 + 4 | 0 | 0); } __stack_pointer = $4 + 80 | 0; return; } function int_20const__20btMax_int__28int_20const__2c_20int_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $15 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } $15 = HEAP32[($4 + 12 | 0) >> 2] | 0; break label$1; } $15 = HEAP32[($4 + 8 | 0) >> 2] | 0; } return $15 | 0; } function btAlignedObjectArray_btBroadphasePair___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function int_20const__20btMin_int__28int_20const__2c_20int_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $15 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } $15 = HEAP32[($4 + 12 | 0) >> 2] | 0; break label$1; } $15 = HEAP32[($4 + 8 | 0) >> 2] | 0; } return $15 | 0; } function btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function void_20btAlignedObjectArray_btBroadphasePair___quickSort_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { break label$1 } void_20btAlignedObjectArray_btBroadphasePair___quickSortInternal_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btBroadphasePair__btBroadphasePair_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = 0; return $4 | 0; } function operator___28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $15 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $15 = 0; label$1 : { if (!((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $15 = (HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); } return $15 & 1 | 0 | 0; } function btAlignedObjectArray_btBroadphasePair___resize_28int_2c_20btBroadphasePair_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btBroadphasePair___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29(btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function void_20btAlignedObjectArray_btBroadphasePair___quickSortInternal_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29($6 + 8 | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 36 | 0) >> 2] | 0) + (HEAP32[($6 + 32 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 4 | 0) | 0 | 0) | 0; label$1 : while (1) { label$2 : { label$3 : while (1) { if (!((btBroadphasePairSortPredicate__operator_28_29_28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $6 + 8 | 0 | 0) | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } label$4 : { label$5 : while (1) { if (!((btBroadphasePairSortPredicate__operator_28_29_28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; continue label$5; }; } label$6 : { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btAlignedObjectArray_btBroadphasePair___swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; } if ((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$1 } break label$1; }; label$7 : { if (!((HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } void_20btAlignedObjectArray_btBroadphasePair___quickSortInternal_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); } label$8 : { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } void_20btAlignedObjectArray_btBroadphasePair___quickSortInternal_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 48 | 0; return; } function btAlignedObjectArray_btBroadphasePair___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btBroadphasePair___copy_28int_2c_20int_2c_20btBroadphasePair__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btBroadphasePair___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btBroadphasePair___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; return $5 | 0; } function btDbvtBroadphase__getOverlappingPairCache_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0; } function btDbvtBroadphase__getOverlappingPairCache_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0; } function btDbvtBroadphase__getBroadphaseAabb_28btVector3__2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $6 = 0, $27 = 0, $54 = 0, $28 = 0, $34 = 0, $40 = 0, $55 = 0, $61 = 0, $67 = 0, $100 = 0, $108 = 0, $116 = 0, $129 = 0, $131 = 0, $139 = 0, $141 = 0, $212 = 0, $225 = 0, $238 = 0, $242 = 0, $269 = 0, $282 = 0, $295 = 0, $299 = 0, $361 = 0, $377 = 0, $393 = 0, $397 = 0, $128 = 0, $409 = 0, $419 = 0, $138 = 0, $431 = 0, $441 = 0; $5 = __stack_pointer - 112 | 0; __stack_pointer = $5; HEAP32[($5 + 108 | 0) >> 2] = $0; HEAP32[($5 + 104 | 0) >> 2] = $1; HEAP32[($5 + 100 | 0) >> 2] = $2; $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; btDbvtAabbMm__btDbvtAabbMm_28_29($5 + 64 | 0 | 0) | 0; label$1 : { label$2 : { if ((btDbvt__empty_28_29_20const($6 + 4 | 0 | 0) | 0) & 1 | 0) { break label$2 } label$3 : { label$4 : { if ((btDbvt__empty_28_29_20const(($6 + 4 | 0) + 40 | 0 | 0) | 0) & 1 | 0) { break label$4 } Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6 + 44 | 0) >> 2] | 0 | 0, $5 + 64 | 0 | 0); break label$3; } $27 = HEAP32[($6 + 4 | 0) >> 2] | 0; $28 = 24; i64toi32_i32$2 = $27 + $28 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $212 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $28 | 0; HEAP32[i64toi32_i32$0 >> 2] = $212; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $34 = 16; i64toi32_i32$2 = $27 + $34 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $225 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 64 | 0) + $34 | 0; HEAP32[i64toi32_i32$1 >> 2] = $225; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $40 = 8; i64toi32_i32$2 = $27 + $40 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $238 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $40 | 0; HEAP32[i64toi32_i32$0 >> 2] = $238; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $27; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $242 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $242; HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; } break label$1; } label$5 : { label$6 : { if ((btDbvt__empty_28_29_20const(($6 + 4 | 0) + 40 | 0 | 0) | 0) & 1 | 0) { break label$6 } $54 = HEAP32[($6 + 44 | 0) >> 2] | 0; $55 = 24; i64toi32_i32$2 = $54 + $55 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $269 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $55 | 0; HEAP32[i64toi32_i32$0 >> 2] = $269; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $61 = 16; i64toi32_i32$2 = $54 + $61 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $282 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 64 | 0) + $61 | 0; HEAP32[i64toi32_i32$1 >> 2] = $282; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $67 = 8; i64toi32_i32$2 = $54 + $67 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $295 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $67 | 0; HEAP32[i64toi32_i32$0 >> 2] = $295; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $54; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $299 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $299; HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; break label$5; } HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; btDbvtAabbMm__FromCR_28btVector3_20const__2c_20float_29($5 + 32 | 0 | 0, $5 + 16 | 0 | 0, Math_fround(Math_fround(0 | 0))); $100 = 24; i64toi32_i32$2 = ($5 + 32 | 0) + $100 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $361 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $100 | 0; HEAP32[i64toi32_i32$0 >> 2] = $361; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $108 = 16; i64toi32_i32$2 = ($5 + 32 | 0) + $108 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $377 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 64 | 0) + $108 | 0; HEAP32[i64toi32_i32$1 >> 2] = $377; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $116 = 8; i64toi32_i32$2 = ($5 + 32 | 0) + $116 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $393 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $116 | 0; HEAP32[i64toi32_i32$0 >> 2] = $393; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 32 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 36 | 0) >> 2] | 0; $397 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $397; HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; } } $128 = btDbvtAabbMm__Mins_28_29_20const($5 + 64 | 0 | 0) | 0; $129 = HEAP32[($5 + 104 | 0) >> 2] | 0; i64toi32_i32$2 = $128; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $409 = i64toi32_i32$0; i64toi32_i32$0 = $129; HEAP32[i64toi32_i32$0 >> 2] = $409; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $131 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $131 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $419 = i64toi32_i32$1; i64toi32_i32$1 = $129 + $131 | 0; HEAP32[i64toi32_i32$1 >> 2] = $419; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $138 = btDbvtAabbMm__Maxs_28_29_20const($5 + 64 | 0 | 0) | 0; $139 = HEAP32[($5 + 100 | 0) >> 2] | 0; i64toi32_i32$2 = $138; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $431 = i64toi32_i32$0; i64toi32_i32$0 = $139; HEAP32[i64toi32_i32$0 >> 2] = $431; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $141 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $141 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $441 = i64toi32_i32$1; i64toi32_i32$1 = $139 + $141 | 0; HEAP32[i64toi32_i32$1 >> 2] = $441; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 112 | 0; return; } function btDbvt__empty_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (0 | 0) == (HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0 | 0; } function Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $37 = Math_fround(0), $50 = Math_fround(0), $86 = Math_fround(0), $103 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$4 } $37 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $37), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; } $50 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $50), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } label$5 : { label$6 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($5 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($5 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$6 } $86 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($5 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29((HEAP32[($5 + 4 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $86), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$5; } $103 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($5 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29((HEAP32[($5 + 4 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $103), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $5 + 16 | 0; return; } function btDbvtAabbMm__FromCR_28btVector3_20const__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $12 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAPF32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; $12 = $5 + 24 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 8 | 0 | 0, $12 | 0, $12 | 0, $12 | 0) | 0; btDbvtAabbMm__FromCE_28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $6 | 0, $5 + 8 | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btDbvtAabbMm__FromCE_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $24 = 0, $26 = 0, $59 = 0, $72 = 0, $90 = 0, $103 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $1; HEAP32[($5 + 40 | 0) >> 2] = $2; btDbvtAabbMm__btDbvtAabbMm_28_29($0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 24 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 28 | 0) >> 2] | 0; $59 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $59; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $12 = 8; i64toi32_i32$2 = ($5 + 24 | 0) + $12 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $72 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $12 | 0; HEAP32[i64toi32_i32$1 >> 2] = $72; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 8 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); $24 = $0 + 16 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; $90 = i64toi32_i32$0; i64toi32_i32$0 = $24; HEAP32[i64toi32_i32$0 >> 2] = $90; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = ($5 + 8 | 0) + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $103 = i64toi32_i32$1; i64toi32_i32$1 = $24 + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $103; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 48 | 0; return; } function btDbvtBroadphase__resetPool_28btDispatcher__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) + (HEAP32[($5 + 56 | 0) >> 2] | 0) | 0; label$1 : { if (HEAP32[($4 + 4 | 0) >> 2] | 0) { break label$1 } btDbvt__clear_28_29($5 + 4 | 0 | 0); btDbvt__clear_28_29(($5 + 4 | 0) + 40 | 0 | 0); HEAP8[($5 + 153 | 0) >> 0] = 0; HEAP8[($5 + 154 | 0) >> 0] = 1; HEAP32[($5 + 104 | 0) >> 2] = 0; HEAP32[($5 + 124 | 0) >> 2] = 0; HEAP32[($5 + 108 | 0) >> 2] = 1; HEAP32[($5 + 112 | 0) >> 2] = 0; HEAP32[($5 + 116 | 0) >> 2] = 10; HEAP32[($5 + 120 | 0) >> 2] = 1; HEAP32[($5 + 128 | 0) >> 2] = 0; HEAP32[($5 + 132 | 0) >> 2] = 0; HEAPF32[($5 + 136 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($5 + 148 | 0) >> 2] = 0; HEAP32[($5 + 140 | 0) >> 2] = 0; HEAP32[($5 + 144 | 0) >> 2] = 0; HEAP32[$4 >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { break label$2 } HEAP32[(($5 + 84 | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; continue label$3; }; } } __stack_pointer = $4 + 16 | 0; return; } function btDbvtBroadphase__printStats_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btBroadphaseInterface___btBroadphaseInterface_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btBroadphaseInterface__resetPool_28btDispatcher__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btDbvtTreeCollider___btDbvtTreeCollider_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvtTreeCollider___btDbvtTreeCollider_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDbvtTreeCollider__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $19 = 0, $24 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; $19 = HEAP32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$19 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($19, HEAP32[($5 + 16 | 0) >> 2] | 0, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; $24 = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($24 + 120 | 0) >> 2] = (HEAP32[($24 + 120 | 0) >> 2] | 0) + 1 | 0; } __stack_pointer = $5 + 32 | 0; return; } function btDbvtTreeCollider__Process_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function btDbvt__ICollide__Process_28btDbvtNode_20const__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($6, HEAP32[($5 + 8 | 0) >> 2] | 0); __stack_pointer = $5 + 16 | 0; return; } function btDbvt__ICollide__Descent_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return 1 & 1 | 0 | 0; } function btDbvt__ICollide__AllLeaves_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return 1 & 1 | 0 | 0; } function btDbvt__ICollide___ICollide_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDbvt__ICollide__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btDbvt__ICollide__Process_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btAlignedObjectArray_btDbvtNode_20const____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btDbvtNode_20const____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btDbvtNode_20const____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btDbvtNode_20const____copy_28int_2c_20int_2c_20btDbvtNode_20const___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btDbvtNode_20const____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btDbvtNode_20const____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btDbvtNode_20const____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btDbvtNode_20const____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btDbvtNode__isleaf_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0; } function btAlignedObjectArray_btDbvtNode_20const____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btDbvtNode_20const__2c_2016u___allocate_28int_2c_20btDbvtNode_20const__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btDbvtNode_20const____copy_28int_2c_20int_2c_20btDbvtNode_20const___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btDbvtNode_20const____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btDbvtNode_20const____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btDbvtNode_20const__2c_2016u___deallocate_28btDbvtNode_20const___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btDbvtNode_20const__2c_2016u___allocate_28int_2c_20btDbvtNode_20const__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btDbvtNode_20const__2c_2016u___deallocate_28btDbvtNode_20const___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function BroadphaseRayTester___BroadphaseRayTester_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; BroadphaseRayTester___BroadphaseRayTester_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function BroadphaseRayTester__Process_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $8 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; $8 = HEAP32[($5 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($8, HEAP32[($4 + 4 | 0) >> 2] | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btVector3__getX_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btVector3__getY_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btVector3__getZ_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0; } function BroadphaseAabbTester___BroadphaseAabbTester_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; BroadphaseAabbTester___BroadphaseAabbTester_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function BroadphaseAabbTester__Process_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $8 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; $8 = HEAP32[($5 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($8, HEAP32[($4 + 4 | 0) >> 2] | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btDbvt__sStkNN___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btDbvt__sStkNN___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btDbvt__sStkNN___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btDbvt__sStkNN___copy_28int_2c_20int_2c_20btDbvt__sStkNN__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btDbvt__sStkNN___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btDbvt__sStkNN___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btDbvt__sStkNN___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btDbvt__sStkNN___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btDbvt__sStkNN_2c_2016u___allocate_28int_2c_20btDbvt__sStkNN_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btDbvt__sStkNN___copy_28int_2c_20int_2c_20btDbvt__sStkNN__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $85 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$0 >> 2] = $85; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btDbvt__sStkNN___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btDbvt__sStkNN___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btDbvt__sStkNN_2c_2016u___deallocate_28btDbvt__sStkNN__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btDbvt__sStkNN_2c_2016u___allocate_28int_2c_20btDbvt__sStkNN_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btDbvt__sStkNN_2c_2016u___deallocate_28btDbvt__sStkNN__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 20) | 0 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $5 + 16 | 0; return; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___deallocate_28btAlignedObjectArray_btDbvtNode_20const____29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___deallocate_28btAlignedObjectArray_btDbvtNode_20const____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___allocate_28int_2c_20btAlignedObjectArray_btDbvtNode_20const___20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____copy_28int_2c_20int_2c_20btAlignedObjectArray_btDbvtNode_20const____29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28btAlignedObjectArray_btDbvtNode_20const___20const__29((HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 20) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 20) | 0 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___allocate_28int_2c_20btAlignedObjectArray_btDbvtNode_20const___20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 20) | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btBroadphasePairSortPredicate__operator_28_29_28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $70 = 0, $98 = 0, $17 = 0, $31 = 0, $45 = 0, $59 = 0; $5 = __stack_pointer - 32 | 0; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; label$1 : { label$2 : { if (!((HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $17 = HEAP32[((HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; break label$1; } $17 = -1; } HEAP32[($5 + 16 | 0) >> 2] = $17; label$3 : { label$4 : { if (!((HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } $31 = HEAP32[((HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; break label$3; } $31 = -1; } HEAP32[($5 + 12 | 0) >> 2] = $31; label$5 : { label$6 : { if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } $45 = HEAP32[((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; break label$5; } $45 = -1; } HEAP32[($5 + 8 | 0) >> 2] = $45; label$7 : { label$8 : { if (!((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } $59 = HEAP32[((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; break label$7; } $59 = -1; } HEAP32[($5 + 4 | 0) >> 2] = $59; $70 = 1; label$9 : { if ((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$9 } label$10 : { if (!((HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } $70 = 1; if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$9 } } $98 = 0; label$11 : { if (!((HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$11 } $98 = 0; if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$11 } $98 = (HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0; } $70 = $98; } return $70 & 1 | 0 | 0; } function btAlignedObjectArray_btBroadphasePair___swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $24 = 0, $26 = 0, $34 = 0, $36 = 0, $97 = 0, $107 = 0, $121 = 0, $134 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29($5 + 4 | 0 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; $24 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $97 = i64toi32_i32$0; i64toi32_i32$0 = $24; HEAP32[i64toi32_i32$0 >> 2] = $97; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $107 = i64toi32_i32$1; i64toi32_i32$1 = $24 + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $107; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $34 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; $121 = i64toi32_i32$0; i64toi32_i32$0 = $34; HEAP32[i64toi32_i32$0 >> 2] = $121; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $36 = 8; i64toi32_i32$2 = ($5 + 4 | 0) + $36 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $134 = i64toi32_i32$1; i64toi32_i32$1 = $34 + $36 | 0; HEAP32[i64toi32_i32$1 >> 2] = $134; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btBroadphasePair___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btBroadphasePair_2c_2016u___allocate_28int_2c_20btBroadphasePair_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btBroadphasePair___copy_28int_2c_20int_2c_20btBroadphasePair__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29(btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedObjectArray_btBroadphasePair___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btBroadphasePair___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btBroadphasePair_2c_2016u___deallocate_28btBroadphasePair__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btBroadphasePair_2c_2016u___allocate_28int_2c_20btBroadphasePair_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btBroadphasePair_2c_2016u___deallocate_28btBroadphasePair__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function _GLOBAL__sub_I_btDbvtBroadphase_cpp() { __cxx_global_var_init_4(); return; } function __cxx_global_var_init_5() { btInfMaskConverter__btInfMaskConverter_28int_29(113940 | 0, 2139095040 | 0) | 0; return; } function btEnterProfileZoneDefault_28char_20const__29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btLeaveProfileZoneDefault_28_29() { } function btEnterProfileZone_28char_20const__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; FUNCTION_TABLE[HEAP32[(0 + 112824 | 0) >> 2] | 0 | 0](HEAP32[($3 + 12 | 0) >> 2] | 0); __stack_pointer = $3 + 16 | 0; return; } function btLeaveProfileZone_28_29() { FUNCTION_TABLE[HEAP32[(0 + 112828 | 0) >> 2] | 0 | 0](); return; } function CProfileSample__CProfileSample_28char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btEnterProfileZone_28char_20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return $5 | 0; } function CProfileSample___CProfileSample_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btLeaveProfileZone_28_29(); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function _GLOBAL__sub_I_btQuickprof_cpp() { __cxx_global_var_init_5(); return; } function __cxx_global_var_init_6() { btInfMaskConverter__btInfMaskConverter_28int_29(113944 | 0, 2139095040 | 0) | 0; return; } function btHashedOverlappingPairCache__btHashedOverlappingPairCache_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlappingPairCache__btOverlappingPairCache_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 90544 + 8 | 0; btAlignedObjectArray_btBroadphasePair___btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; HEAP32[($4 + 24 | 0) >> 2] = 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 28 | 0 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 48 | 0 | 0) | 0; HEAP32[($4 + 68 | 0) >> 2] = 0; HEAP32[($3 + 8 | 0) >> 2] = 2; btAlignedObjectArray_btBroadphasePair___reserve_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); btHashedOverlappingPairCache__growTables_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btOverlappingPairCache__btOverlappingPairCache_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlappingPairCallback__btOverlappingPairCallback_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 90736 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btBroadphasePair___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btBroadphasePair_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btBroadphasePair___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHashedOverlappingPairCache__growTables_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $22 = 0, $29 = 0, $97 = 0, $102 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 48 | 0; __stack_pointer = $3; HEAP32[($3 + 44 | 0) >> 2] = $0; $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($4 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((btAlignedObjectArray_int___size_28_29_20const($4 + 28 | 0 | 0) | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($4 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; $22 = HEAP32[($3 + 40 | 0) >> 2] | 0; HEAP32[($3 + 32 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($4 + 28 | 0 | 0, $22 | 0, $3 + 32 | 0 | 0); $29 = HEAP32[($3 + 40 | 0) >> 2] | 0; HEAP32[($3 + 28 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($4 + 48 | 0 | 0, $29 | 0, $3 + 28 | 0 | 0); HEAP32[($3 + 24 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 28 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP32[($3 + 24 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } HEAP32[($3 + 24 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[(HEAP32[($3 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[((HEAP32[($3 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($4 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($4 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $97 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 28 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $97), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $102 = HEAP32[($3 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 28 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $102), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } __stack_pointer = $3 + 48 | 0; return; } function btOverlappingPairCallback__btOverlappingPairCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 90812 + 8 | 0; return $4 | 0; } function btAlignedAllocator_btBroadphasePair_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btBroadphasePair___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_int___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btBroadphaseProxy__getUid_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; } function btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0 | ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 16 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (((HEAP32[$5 >> 2] | 0) << 15 | 0) ^ -1 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 10 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + ((HEAP32[$5 >> 2] | 0) << 3 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 6 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (((HEAP32[$5 >> 2] | 0) << 11 | 0) ^ -1 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 16 | 0) | 0; return HEAP32[$5 >> 2] | 0 | 0; } function btHashedOverlappingPairCache___btHashedOverlappingPairCache_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 90544 + 8 | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 48 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 28 | 0 | 0) | 0; btAlignedObjectArray_btBroadphasePair____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; btOverlappingPairCache___btOverlappingPairCache_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btBroadphasePair____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btBroadphasePair___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btOverlappingPairCache___btOverlappingPairCache_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlappingPairCallback___btOverlappingPairCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btBroadphasePair___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btBroadphasePair___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btBroadphasePair___deallocate_28_29($4 | 0); btAlignedObjectArray_btBroadphasePair___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHashedOverlappingPairCache___btHashedOverlappingPairCache_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[479 | 0]($4) | 0; btHashedOverlappingPairCache__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHashedOverlappingPairCache__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHashedOverlappingPairCache__cleanOverlappingPair_28btBroadphasePair__2c_20btDispatcher__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $22 = 0, $25 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; label$1 : { if (!((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $22 = HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$22 >> 2] | 0) >> 2] | 0 | 0]($22) | 0; $25 = HEAP32[($5 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($25, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; } __stack_pointer = $5 + 16 | 0; return; } function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback__CleanPairCallback_28btBroadphaseProxy__2c_20btOverlappingPairCache__2c_20btDispatcher__29($5 + 4 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, $6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6, $5 + 4 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0); btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29($5 + 4 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback__CleanPairCallback_28btBroadphaseProxy__2c_20btOverlappingPairCache__2c_20btDispatcher__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btOverlapCallback__btOverlapCallback_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 90840 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[$6 >> 2] | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlapCallback___btOverlapCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btOverlapCallback__btOverlapCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 91012 + 8 | 0; return $4 | 0; } function btOverlapCallback___btOverlapCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback__RemovePairCallback_28btBroadphaseProxy__29($5 + 12 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6, $5 + 12 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0); btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29($5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback__RemovePairCallback_28btBroadphaseProxy__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btOverlapCallback__btOverlapCallback_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 91032 + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlapCallback___btOverlapCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHashedOverlappingPairCache__findPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $63 = 0, $110 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAP32[($5 + 16 | 0) >> 2] = $2; $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[(0 + 113960 | 0) >> 2] = (HEAP32[(0 + 113960 | 0) >> 2] | 0) + 1 | 0; label$1 : { if (!((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } void_20btSwap_btBroadphaseProxy___28btBroadphaseProxy___2c_20btBroadphaseProxy___29($5 + 20 | 0 | 0, $5 + 16 | 0 | 0); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$2 : { label$3 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) >= (btAlignedObjectArray_int___size_28_29_20const($6 + 28 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 28 | 0) >> 2] = 0; break label$2; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 28 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$4 : while (1) { $63 = 0; label$5 : { if (!((HEAP32[$5 >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$5 } $63 = ((btHashedOverlappingPairCache__equalsPair_28btBroadphasePair_20const__2c_20int_2c_20int_29($6 | 0, btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); } label$6 : { if (!($63 & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 48 | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; continue label$4; } break label$4; }; label$7 : { if (!((HEAP32[$5 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { break label$7 } HEAP32[($5 + 28 | 0) >> 2] = 0; break label$2; } label$8 : { if ((HEAP32[$5 >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { break label$8 } __assert_fail(87330 | 0, 75261 | 0, 164 | 0, 71055 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; } $110 = HEAP32[($5 + 28 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return $110 | 0; } function void_20btSwap_btBroadphaseProxy___28btBroadphaseProxy___2c_20btBroadphaseProxy___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; return; } function btHashedOverlappingPairCache__equalsPair_28btBroadphasePair_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $17 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $17 = 0; label$1 : { if (!((btBroadphaseProxy__getUid_28_29_20const(HEAP32[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $17 = (btBroadphaseProxy__getUid_28_29_20const(HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[$6 >> 2] | 0 | 0); } __stack_pointer = $6 + 16 | 0; return $17 & 1 | 0 | 0; } function btHashedOverlappingPairCache__internalAddPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $63 = 0, $89 = 0, $100 = 0, $105 = 0, $111 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 40 | 0) >> 2] = $0; HEAP32[($5 + 36 | 0) >> 2] = $1; HEAP32[($5 + 32 | 0) >> 2] = $2; $6 = HEAP32[($5 + 40 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } void_20btSwap_btBroadphaseProxy___28btBroadphaseProxy___2c_20btBroadphaseProxy___29($5 + 36 | 0 | 0, $5 + 32 | 0 | 0); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedOverlappingPairCache__internalFindPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20int_29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$2 : { label$3 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; break label$2; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___expandNonInitializing_28_29($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$4 : { if (!((HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } $63 = HEAP32[($6 + 68 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$63 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($63, HEAP32[($5 + 36 | 0) >> 2] | 0, HEAP32[($5 + 32 | 0) >> 2] | 0) | 0; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$5 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[$5 >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btHashedOverlappingPairCache__growTables_28_29($6 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; } $89 = btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; btBroadphasePair__btBroadphasePair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($89 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 16 | 0) >> 2] = $89; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; $100 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 28 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 48 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $100), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $105 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 28 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $105), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; } $111 = HEAP32[($5 + 44 | 0) >> 2] | 0; __stack_pointer = $5 + 48 | 0; return $111 | 0; } function btHashedOverlappingPairCache__internalFindPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $25 = 0, $72 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 24 | 0) >> 2] = $0; HEAP32[($6 + 20 | 0) >> 2] = $1; HEAP32[($6 + 16 | 0) >> 2] = $2; HEAP32[($6 + 12 | 0) >> 2] = $3; $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : while (1) { $25 = 0; label$2 : { if (!((HEAP32[$6 >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$2 } $25 = ((btHashedOverlappingPairCache__equalsPair_28btBroadphasePair_20const__2c_20int_2c_20int_29($7 | 0, btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); } label$3 : { if (!($25 & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; continue label$1; } break label$1; }; label$4 : { label$5 : { if (!((HEAP32[$6 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { break label$5 } HEAP32[($6 + 28 | 0) >> 2] = 0; break label$4; } label$6 : { if ((HEAP32[$6 >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { break label$6 } __assert_fail(87330 | 0, 79562 | 0, 255 | 0, 71064 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; } $72 = HEAP32[($6 + 28 | 0) >> 2] | 0; __stack_pointer = $6 + 32 | 0; return $72 | 0; } function btAlignedObjectArray_btBroadphasePair___expandNonInitializing_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($4 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btBroadphasePair___reserve_28int_29($4 | 0, btAlignedObjectArray_btBroadphasePair___allocSize_28int_29($4 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 | 0) | 0 | 0) | 0 | 0); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; $22 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function btBroadphasePair__btBroadphasePair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 8 | 0) >> 2] = $0; HEAP32[($5 + 4 | 0) >> 2] = $1; HEAP32[$5 >> 2] = $2; $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = $6; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[$5 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[$6 >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[$5 >> 2] | 0; break label$1; } HEAP32[$6 >> 2] = HEAP32[$5 >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; } HEAP32[($6 + 8 | 0) >> 2] = 0; HEAP32[($6 + 12 | 0) >> 2] = 0; return HEAP32[($5 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btBroadphasePair___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btHashedOverlappingPairCache__removeOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $188 = 0, $298 = 0, $300 = 0, $162 = 0, $171 = 0, $277 = 0, $286 = 0, $294 = 0, $922 = 0, $932 = 0, $308 = 0, $313 = 0, $321 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; HEAP32[($6 + 56 | 0) >> 2] = $0; HEAP32[($6 + 52 | 0) >> 2] = $1; HEAP32[($6 + 48 | 0) >> 2] = $2; HEAP32[($6 + 44 | 0) >> 2] = $3; $7 = HEAP32[($6 + 56 | 0) >> 2] | 0; HEAP32[(0 + 113952 | 0) >> 2] = (HEAP32[(0 + 113952 | 0) >> 2] | 0) + 1 | 0; label$1 : { if (!((HEAP32[((HEAP32[($6 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } void_20btSwap_btBroadphaseProxy___28btBroadphaseProxy___2c_20btBroadphaseProxy___29($6 + 52 | 0 | 0, $6 + 48 | 0 | 0); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($7 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btHashedOverlappingPairCache__internalFindPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20int_29($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; label$2 : { label$3 : { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($6 + 60 | 0) >> 2] = 0; break label$2; } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 28 | 0) >> 2] | 0, HEAP32[($6 + 44 | 0) >> 2] | 0); HEAP32[($6 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; label$4 : { if ((btBroadphaseProxy__getUid_28_29_20const(HEAP32[(HEAP32[($6 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$4 } __assert_fail(85549 | 0, 75261 | 0, 295 | 0, 71006 | 0); wasm2js_trap(); } label$5 : { if ((btBroadphaseProxy__getUid_28_29_20const(HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$5 } __assert_fail(85405 | 0, 75261 | 0, 296 | 0, 71006 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = ((HEAP32[($6 + 28 | 0) >> 2] | 0) - (btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, 0 | 0) | 0) | 0) >> 4 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; label$6 : { if ((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { break label$6 } __assert_fail(87368 | 0, 75261 | 0, 299 | 0, 71006 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$7 : { if ((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0) { break label$7 } __assert_fail(84035 | 0, 75261 | 0, 303 | 0, 71006 | 0); wasm2js_trap(); } HEAP32[($6 + 12 | 0) >> 2] = -1; label$8 : { label$9 : while (1) { if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; continue label$9; }; } label$10 : { label$11 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$11 } label$12 : { if ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$12 } __assert_fail(66363 | 0, 75261 | 0, 314 | 0, 71006 | 0); wasm2js_trap(); } $162 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $162), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$10; } $171 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $171), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($7 + 4 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$13 : { if (!((HEAP32[($7 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$13 } $188 = HEAP32[($7 + 68 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$188 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($188, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 48 | 0) >> 2] | 0, HEAP32[($6 + 44 | 0) >> 2] | 0) | 0; } label$14 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } btAlignedObjectArray_btBroadphasePair___pop_back_28_29($7 + 4 | 0 | 0); HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; break label$2; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($7 | 0, btBroadphaseProxy__getUid_28_29_20const(HEAP32[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0, btBroadphaseProxy__getUid_28_29_20const(HEAP32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($7 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$15 : { if ((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0) { break label$15 } __assert_fail(84035 | 0, 75261 | 0, 344 | 0, 71006 | 0); wasm2js_trap(); } HEAP32[($6 + 12 | 0) >> 2] = -1; label$16 : { label$17 : while (1) { if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; continue label$17; }; } label$18 : { label$19 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$19 } label$20 : { if ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$20 } __assert_fail(66393 | 0, 75261 | 0, 355 | 0, 71006 | 0); wasm2js_trap(); } $277 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $277), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$18; } $286 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $286), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } $294 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; $298 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $294; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $922 = i64toi32_i32$0; i64toi32_i32$0 = $298; HEAP32[i64toi32_i32$0 >> 2] = $922; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $300 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $300 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $932 = i64toi32_i32$1; i64toi32_i32$1 = $298 + $300 | 0; HEAP32[i64toi32_i32$1 >> 2] = $932; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $308 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $308), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $313 = HEAP32[($6 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $313), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btAlignedObjectArray_btBroadphasePair___pop_back_28_29($7 + 4 | 0 | 0); HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; } $321 = HEAP32[($6 + 60 | 0) >> 2] | 0; __stack_pointer = $6 + 64 | 0; return $321 | 0; } function btAlignedObjectArray_btBroadphasePair___pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btHashedOverlappingPairCache__processAllOverlappingPairs_28btOverlapCallback__2c_20btDispatcher__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($5 + 19 | 0 | 0, 69522 | 0) | 0; HEAP32[($5 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $25 = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($25, HEAP32[($5 + 8 | 0) >> 2] | 0) | 0) & 1 | 0)) { break label$4 } FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($6, HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($5 + 20 | 0) >> 2] | 0) | 0; HEAP32[(0 + 113948 | 0) >> 2] = (HEAP32[(0 + 113948 | 0) >> 2] | 0) + -1 | 0; break label$3; } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; } continue label$2; }; } CProfileSample___CProfileSample_28_29($5 + 19 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btHashedOverlappingPairCache__sortOverlappingPairs_28btDispatcher__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; btAlignedObjectArray_btBroadphasePair___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; HEAP32[($4 + 16 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btBroadphasePair___push_back_28btBroadphasePair_20const__29($4 + 20 | 0 | 0, btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0 | 0); HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAP32[($4 + 16 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$3 } ((((wasm2js_i32$1 = $5, wasm2js_i32$2 = HEAP32[(btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$3 = HEAP32[((btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), wasm2js_i32$4 = HEAP32[($4 + 40 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$5 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0) | 0; HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAP32[($4 + 16 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 + 48 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 48 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$4 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$4; HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } void_20btAlignedObjectArray_btBroadphasePair___quickSort_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__29($4 + 20 | 0 | 0, $4 + 15 | 0 | 0); HEAP32[($4 + 16 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$7 } (((wasm2js_i32$4 = $5, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$2 = HEAP32[((btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$5 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0) | 0; HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } btAlignedObjectArray_btBroadphasePair____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; __stack_pointer = $4 + 48 | 0; return; } function btAlignedObjectArray_btBroadphasePair___push_back_28btBroadphasePair_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btBroadphasePair___reserve_28int_29($5 | 0, btAlignedObjectArray_btBroadphasePair___allocSize_28int_29($5 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29(btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btHashedOverlappingPairCache__addOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 8 | 0) >> 2] = $0; HEAP32[($5 + 4 | 0) >> 2] = $1; HEAP32[$5 >> 2] = $2; $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[(0 + 113956 | 0) >> 2] = (HEAP32[(0 + 113956 | 0) >> 2] | 0) + 1 | 0; label$1 : { label$2 : { if ((btHashedOverlappingPairCache__needsBroadphaseCollision_28btBroadphaseProxy__2c_20btBroadphaseProxy__29_20const($6 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedOverlappingPairCache__internalAddPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($6 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; } $21 = HEAP32[($5 + 12 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $21 | 0; } function btHashedOverlappingPairCache__needsBroadphaseCollision_28btBroadphaseProxy__2c_20btBroadphaseProxy__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $14 = 0, $37 = 0, $55 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAP32[($5 + 16 | 0) >> 2] = $2; $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $14 = HEAP32[($6 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($14, HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 16 | 0) >> 2] | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 31 | 0) >> 0] = wasm2js_i32$1; break label$1; } HEAP8[($5 + 15 | 0) >> 0] = ((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0; $37 = 0; label$3 : { if (!((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } $37 = ((HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); } HEAP8[($5 + 15 | 0) >> 0] = $37 & 1 | 0; HEAP8[($5 + 31 | 0) >> 0] = (HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0; } $55 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 32 | 0; return $55 | 0; } function btHashedOverlappingPairCache__getOverlappingPairArrayPtr_28_29($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btHashedOverlappingPairCache__getOverlappingPairArrayPtr_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btHashedOverlappingPairCache__getOverlappingPairArray_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btHashedOverlappingPairCache__getNumOverlappingPairs_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btHashedOverlappingPairCache__setOverlapFilterCallback_28btOverlapFilterCallback__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btHashedOverlappingPairCache__hasDeferredRemoval_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 & 1 | 0 | 0; } function btHashedOverlappingPairCache__setInternalGhostPairCallback_28btOverlappingPairCallback__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btOverlappingPairCallback___btOverlappingPairCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btOverlappingPairCache___btOverlappingPairCache_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btOverlappingPairCallback___btOverlappingPairCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback__processOverlap_28btBroadphasePair__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $22 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$2 } if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } } $22 = HEAP32[($5 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$22 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($22, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[($5 + 12 | 0) >> 2] | 0); } __stack_pointer = $4 + 16 | 0; return 0 & 1 | 0 | 0; } function btOverlapCallback___btOverlapCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback__processOverlap_28btBroadphasePair__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $15 = 1; label$1 : { if ((HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$1 } $15 = (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); } return $15 & 1 | 0 | 0; } function _GLOBAL__sub_I_btOverlappingPairCache_cpp() { __cxx_global_var_init_6(); return; } function __cxx_global_var_init_7() { btInfMaskConverter__btInfMaskConverter_28int_29(113964 | 0, 2139095040 | 0) | 0; return; } function btDispatcher___btDispatcher_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btDispatcher___btDispatcher_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btDispatcher_cpp() { __cxx_global_var_init_7(); return; } function __cxx_global_var_init_8() { btInfMaskConverter__btInfMaskConverter_28int_29(113968 | 0, 2139095040 | 0) | 0; return; } function btCollisionDispatcher__btCollisionDispatcher_28btCollisionConfiguration__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $16 = 0, $20 = 0, $40 = 0, $77 = 0, $45 = 0, $82 = 0, $99 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; $5 = HEAP32[($4 + 24 | 0) >> 2] | 0; HEAP32[($4 + 28 | 0) >> 2] = $5; btDispatcher__btDispatcher_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 91292 + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = 2; btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($5 + 8 | 0 | 0) | 0; btManifoldResult__btManifoldResult_28_29($5 + 28 | 0 | 0) | 0; HEAP32[($5 + 10444 | 0) >> 2] = HEAP32[($4 + 20 | 0) >> 2] | 0; btCollisionDispatcher__setNearCallback_28void_20_28__29_28btBroadphasePair__2c_20btCollisionDispatcher__2c_20btDispatcherInfo_20const__29_29($5 | 0, 510 | 0); $16 = HEAP32[($4 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($16) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; $20 = HEAP32[($4 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$20 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($20) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 16 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (36 | 0) & 1 | 0)) { break label$1 } HEAP32[($4 + 12 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (36 | 0) & 1 | 0)) { break label$3 } $40 = HEAP32[($5 + 10444 | 0) >> 2] | 0; $45 = FUNCTION_TABLE[HEAP32[((HEAP32[$40 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($40, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0) | 0; HEAP32[((($5 + 76 | 0) + Math_imul(HEAP32[($4 + 16 | 0) >> 2] | 0, 144) | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $45; label$5 : { if ((HEAP32[((($5 + 76 | 0) + Math_imul(HEAP32[($4 + 16 | 0) >> 2] | 0, 144) | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$5 } __assert_fail(83849 | 0, 72837 | 0, 54 | 0, 71229 | 0); wasm2js_trap(); } $77 = HEAP32[($5 + 10444 | 0) >> 2] | 0; $82 = FUNCTION_TABLE[HEAP32[((HEAP32[$77 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($77, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0) | 0; HEAP32[((($5 + 5260 | 0) + Math_imul(HEAP32[($4 + 16 | 0) >> 2] | 0, 144) | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $82; HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } $99 = HEAP32[($4 + 28 | 0) >> 2] | 0; __stack_pointer = $4 + 32 | 0; return $99 | 0; } function btDispatcher__btDispatcher_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 91196 + 8 | 0; return $4 | 0; } function btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btPersistentManifold__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btPersistentManifold____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btManifoldResult__btManifoldResult_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result__Result_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 96512 + 8 | 0; HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionDispatcher__defaultNearCallback_28btBroadphasePair__2c_20btCollisionDispatcher__2c_20btDispatcherInfo_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $12 = 0, $29 = 0, $39 = 0, $48 = 0, $87 = 0, $101 = 0, $59 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 112 | 0; __stack_pointer = $5; HEAP32[($5 + 108 | 0) >> 2] = $0; HEAP32[($5 + 104 | 0) >> 2] = $1; HEAP32[($5 + 100 | 0) >> 2] = $2; HEAP32[($5 + 96 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($5 + 108 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 92 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; $12 = HEAP32[($5 + 104 | 0) >> 2] | 0; label$1 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($12, HEAP32[($5 + 96 | 0) >> 2] | 0, HEAP32[($5 + 92 | 0) >> 2] | 0) | 0) & 1 | 0)) { break label$1 } $29 = -1; btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 68 | 0 | 0, 0 | 0, btCollisionObject__getCollisionShape_28_29(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 96 | 0) >> 2] | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, $29 | 0, $29 | 0) | 0; $39 = -1; btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 44 | 0 | 0, 0 | 0, btCollisionObject__getCollisionShape_28_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) | 0 | 0, $39 | 0, $39 | 0) | 0; label$2 : { if ((HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } $48 = HEAP32[($5 + 104 | 0) >> 2] | 0; $59 = FUNCTION_TABLE[HEAP32[((HEAP32[$48 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($48, $5 + 68 | 0, $5 + 44 | 0, 0, 1) | 0; HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] = $59; } label$3 : { if (!((HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } btManifoldResult__btManifoldResult_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($5 + 8 | 0 | 0, $5 + 68 | 0 | 0, $5 + 44 | 0 | 0) | 0; label$4 : { label$5 : { if (!((HEAP32[((HEAP32[($5 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$5 } $87 = HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$87 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($87, $5 + 68 | 0, $5 + 44 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0, $5 + 8 | 0); break label$4; } $101 = HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$101 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($101, HEAP32[($5 + 96 | 0) >> 2] | 0, HEAP32[($5 + 92 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0, $5 + 8 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$6 : { if (!(Math_fround(HEAPF32[((HEAP32[($5 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { break label$6 } HEAPF32[((HEAP32[($5 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); } } btManifoldResult___btManifoldResult_28_29($5 + 8 | 0 | 0) | 0; } } __stack_pointer = $5 + 112 | 0; return; } function btCollisionDispatcher__setNearCallback_28void_20_28__29_28btBroadphasePair__2c_20btCollisionDispatcher__2c_20btDispatcherInfo_20const__29_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btAlignedAllocator_btPersistentManifold__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btPersistentManifold____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btDiscreteCollisionDetectorInterface__Result__Result_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 91400 + 8 | 0; return $4 | 0; } function btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, $10 = 0; $9 = __stack_pointer - 32 | 0; HEAP32[($9 + 28 | 0) >> 2] = $0; HEAP32[($9 + 24 | 0) >> 2] = $1; HEAP32[($9 + 20 | 0) >> 2] = $2; HEAP32[($9 + 16 | 0) >> 2] = $3; HEAP32[($9 + 12 | 0) >> 2] = $4; HEAP32[($9 + 8 | 0) >> 2] = $5; HEAP32[($9 + 4 | 0) >> 2] = $6; $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; HEAP32[$10 >> 2] = HEAP32[($9 + 24 | 0) >> 2] | 0; HEAP32[($10 + 4 | 0) >> 2] = HEAP32[($9 + 20 | 0) >> 2] | 0; HEAP32[($10 + 8 | 0) >> 2] = HEAP32[($9 + 16 | 0) >> 2] | 0; HEAP32[($10 + 12 | 0) >> 2] = HEAP32[($9 + 12 | 0) >> 2] | 0; HEAP32[($10 + 16 | 0) >> 2] = HEAP32[($9 + 8 | 0) >> 2] | 0; HEAP32[($10 + 20 | 0) >> 2] = HEAP32[($9 + 4 | 0) >> 2] | 0; return $10 | 0; } function btManifoldResult___btManifoldResult_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionDispatcher___btCollisionDispatcher_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 91292 + 8 | 0; btManifoldResult___btManifoldResult_28_29($4 + 28 | 0 | 0) | 0; btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 8 | 0 | 0) | 0; btDispatcher___btDispatcher_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btPersistentManifold____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btDiscreteCollisionDetectorInterface__Result___Result_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btPersistentManifold____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btPersistentManifold____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btPersistentManifold____deallocate_28_29($4 | 0); btAlignedObjectArray_btPersistentManifold____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionDispatcher___btCollisionDispatcher_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[511 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionDispatcher__getNewManifold_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $16 = 0, $23 = 0, $37 = Math_fround(0), $75 = 0, $83 = 0, $90 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; HEAP32[(0 + 113972 | 0) >> 2] = (HEAP32[(0 + 113972 | 0) >> 2] | 0) + 1 | 0; label$1 : { label$2 : { if (!((HEAP32[($6 + 4 | 0) >> 2] | 0) & 2 | 0)) { break label$2 } $16 = btCollisionObject__getCollisionShape_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($16, Math_fround(HEAPF32[(0 + 112840 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; $23 = btCollisionObject__getCollisionShape_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($23, Math_fround(HEAPF32[(0 + 112840 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; $37 = Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29($5 + 28 | 0 | 0, $5 + 24 | 0 | 0) | 0) >> 2]); break label$1; } $37 = Math_fround(HEAPF32[(0 + 112840 | 0) >> 2]); } HEAPF32[($5 + 32 | 0) >> 2] = $37; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCollisionObject__getContactProcessingThreshold_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCollisionObject__getContactProcessingThreshold_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPoolAllocator__allocate_28int_29(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, 868 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((0 | 0) == (HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } label$4 : { label$5 : { if ((HEAP32[($6 + 4 | 0) >> 2] | 0) & 4 | 0) { break label$5 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(868 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; break label$4; } __assert_fail(86177 | 0, 72837 | 0, 103 | 0, 82734 | 0); wasm2js_trap(); } } $75 = btPersistentManifold__operator_20new_28unsigned_20long_2c_20void__29(868 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; btPersistentManifold__btPersistentManifold_28btCollisionObject_20const__2c_20btCollisionObject_20const__2c_20int_2c_20float_2c_20float_29($75 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 32 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]))) | 0; HEAP32[($5 + 4 | 0) >> 2] = $75; $83 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($6 + 8 | 0 | 0) | 0; HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 864 | 0) >> 2] = $83; btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($6 + 8 | 0 | 0, $5 + 4 | 0 | 0); $90 = HEAP32[($5 + 4 | 0) >> 2] | 0; __stack_pointer = $5 + 48 | 0; return $90 | 0; } function float_20const__20btMin_float__28float_20const__2c_20float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $13 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$2 } $13 = HEAP32[($4 + 12 | 0) >> 2] | 0; break label$1; } $13 = HEAP32[($4 + 8 | 0) >> 2] | 0; } return $13 | 0; } function btCollisionObject__getContactProcessingThreshold_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2])); } function btPoolAllocator__allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $35 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btMutexLock_28btSpinMutex__29($5 + 20 | 0 | 0); label$1 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$1 } if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[$5 >> 2] | 0 | 0) & 1 | 0) { break label$1 } __assert_fail(80907 | 0, 78639 | 0, 77 | 0, 81385 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; label$2 : { if (!((0 | 0) != (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; } btMutexUnlock_28btSpinMutex__29($5 + 20 | 0 | 0); $35 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $35 | 0; } function btPersistentManifold__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btPersistentManifold__btPersistentManifold_28btCollisionObject_20const__2c_20btCollisionObject_20const__2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0, $9 = 0, $12 = 0, $15 = 0, $16 = 0, $18 = 0, $14 = 0, $29 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 24 | 0) >> 2] = $0; HEAP32[($8 + 20 | 0) >> 2] = $1; HEAP32[($8 + 16 | 0) >> 2] = $2; HEAP32[($8 + 12 | 0) >> 2] = $3; HEAPF32[($8 + 8 | 0) >> 2] = $4; HEAPF32[($8 + 4 | 0) >> 2] = $5; $9 = HEAP32[($8 + 24 | 0) >> 2] | 0; HEAP32[($8 + 28 | 0) >> 2] = $9; btTypedObject__btTypedObject_28int_29($9 | 0, 1025 | 0) | 0; $12 = $9 + 4 | 0; $14 = $12 + 832 | 0; $15 = $12; label$1 : while (1) { $16 = $15; btManifoldPoint__btManifoldPoint_28_29($16 | 0) | 0; $18 = $16 + 208 | 0; $15 = $18; if (!(($18 | 0) == ($14 | 0) & 1 | 0)) { continue label$1 } break label$1; }; HEAP32[($9 + 836 | 0) >> 2] = HEAP32[($8 + 20 | 0) >> 2] | 0; HEAP32[($9 + 840 | 0) >> 2] = HEAP32[($8 + 16 | 0) >> 2] | 0; HEAP32[($9 + 844 | 0) >> 2] = 0; HEAPF32[($9 + 848 | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); HEAPF32[($9 + 852 | 0) >> 2] = Math_fround(HEAPF32[($8 + 4 | 0) >> 2]); $29 = HEAP32[($8 + 28 | 0) >> 2] | 0; __stack_pointer = $8 + 32 | 0; return $29 | 0; } function btAlignedObjectArray_btPersistentManifold____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btPersistentManifold____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btPersistentManifold____reserve_28int_29($5 | 0, btAlignedObjectArray_btPersistentManifold____allocSize_28int_29($5 | 0, btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btMutexLock_28btSpinMutex__29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btMutexUnlock_28btSpinMutex__29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btTypedObject__btTypedObject_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return $5 | 0; } function btManifoldPoint__btManifoldPoint_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; HEAP32[($4 + 116 | 0) >> 2] = 0; HEAP32[($4 + 120 | 0) >> 2] = 0; HEAP32[($4 + 124 | 0) >> 2] = 0; HEAP32[($4 + 128 | 0) >> 2] = 0; HEAPF32[($4 + 132 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 136 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 140 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 144 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 148 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 152 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 156 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 160 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($4 + 164 | 0) >> 2] = 0; btVector3__btVector3_28_29($4 + 168 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 184 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btPersistentManifold____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btPersistentManifold____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btPersistentManifold____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btPersistentManifold____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btPersistentManifold____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btPersistentManifold____copy_28int_2c_20int_2c_20btPersistentManifold___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btPersistentManifold____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btPersistentManifold____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btCollisionDispatcher__clearManifold_28btPersistentManifold__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btPersistentManifold__clearManifold_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btPersistentManifold__clearManifold_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $32 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 844 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btPersistentManifold__clearUserCache_28btManifoldPoint__29($4 | 0, ($4 + 4 | 0) + Math_imul(HEAP32[($3 + 8 | 0) >> 2] | 0, 208) | 0 | 0); HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } label$3 : { if (!((HEAP32[(0 + 115364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } if (!(HEAP32[($4 + 844 | 0) >> 2] | 0)) { break label$3 } $32 = HEAP32[(0 + 115364 | 0) >> 2] | 0; HEAP32[($3 + 4 | 0) >> 2] = $4; FUNCTION_TABLE[$32 | 0]($3 + 4 | 0); } HEAP32[($4 + 844 | 0) >> 2] = 0; __stack_pointer = $3 + 16 | 0; return; } function btCollisionDispatcher__releaseManifold_28btPersistentManifold__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $37 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[(0 + 113972 | 0) >> 2] = (HEAP32[(0 + 113972 | 0) >> 2] | 0) + -1 | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 864 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 + 8 | 0 | 0) | 0 | 0) & 1 | 0) { break label$1 } __assert_fail(87569 | 0, 72837 | 0, 130 | 0, 82749 | 0); wasm2js_trap(); } btAlignedObjectArray_btPersistentManifold____swap_28int_2c_20int_29($5 + 8 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 + 8 | 0 | 0) | 0) - 1 | 0 | 0); $37 = HEAP32[($4 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($5 + 8 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0, wasm2js_i32$1 = $37), HEAP32[(wasm2js_i32$0 + 864 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btPersistentManifold____pop_back_28_29($5 + 8 | 0 | 0); label$2 : { label$3 : { if (!((btPoolAllocator__validPtr_28void__29(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$3 } btPoolAllocator__freeMemory_28void__29(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); break label$2; } btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btPersistentManifold____swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; return; } function btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btPersistentManifold____pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btPoolAllocator__validPtr_28void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } label$3 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { break label$3 } if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, HEAP32[$5 >> 2] | 0) | 0) >>> 0 & 1 | 0)) { break label$3 } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } return (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0 | 0; } function btPoolAllocator__freeMemory_28void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { label$3 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { break label$3 } if ((HEAP32[($4 + 8 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, HEAP32[$5 >> 2] | 0) | 0) >>> 0 & 1 | 0) { break label$2 } } __assert_fail(80933 | 0, 78639 | 0, 103 | 0, 65938 | 0); wasm2js_trap(); } btMutexLock_28btSpinMutex__29($5 + 20 | 0 | 0); HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; btMutexUnlock_28btSpinMutex__29($5 + 20 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btCollisionDispatcher__findAlgorithm_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btPersistentManifold__2c_20ebtDispatcherQueryType_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $35 = 0, $58 = 0, $67 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_28_29($7 + 4 | 0 | 0) | 0; HEAP32[($7 + 4 | 0) >> 2] = $8; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; HEAP32[$7 >> 2] = 0; label$1 : { label$2 : { if (!((HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$2 } $35 = HEAP32[((($8 + 76 | 0) + Math_imul(btCollisionShape__getShapeType_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0, 144) | 0) + ((btCollisionShape__getShapeType_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$35 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($35, $7 + 4 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0, HEAP32[($7 + 20 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$1; } $58 = HEAP32[((($8 + 5260 | 0) + Math_imul(btCollisionShape__getShapeType_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0, 144) | 0) + ((btCollisionShape__getShapeType_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$58 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($58, $7 + 4 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0, HEAP32[($7 + 20 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } $67 = HEAP32[$7 >> 2] | 0; __stack_pointer = $7 + 32 | 0; return $67 | 0; } function btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; return $4 | 0; } function btCollisionObjectWrapper__getCollisionShape_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btCollisionDispatcher__needsResponse_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $11 = 0, $21 = 0, $27 = 0, $38 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $11 = 0; label$1 : { if (!((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$1 } $11 = btCollisionObject__hasContactResponse_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; } HEAP8[($5 + 3 | 0) >> 0] = $11 & 1 | 0; $21 = 0; label$2 : { if (!((HEAPU8[($5 + 3 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $27 = 1; label$3 : { if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$3 } $27 = (btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0; } $21 = $27; } HEAP8[($5 + 3 | 0) >> 0] = $21 & 1 | 0; $38 = (HEAPU8[($5 + 3 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 16 | 0; return $38 | 0; } function btCollisionDispatcher__needsCollision_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $68 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85674 | 0, 72837 | 0, 185 | 0, 76874 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } __assert_fail(85464 | 0, 72837 | 0, 186 | 0, 76874 | 0); wasm2js_trap(); } HEAP8[($5 + 3 | 0) >> 0] = 1; label$3 : { if ((HEAP32[($6 + 4 | 0) >> 2] | 0) & 1 | 0) { break label$3 } label$4 : { if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0 | 1 | 0; printf(88581 | 0, 0 | 0) | 0; } } label$5 : { label$6 : { if ((btCollisionObject__isActive_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$6 } if ((btCollisionObject__isActive_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$6 } HEAP8[($5 + 3 | 0) >> 0] = 0; break label$5; } label$7 : { label$8 : { if (!((btCollisionObject__checkCollideWith_28btCollisionObject_20const__29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } if ((btCollisionObject__checkCollideWith_28btCollisionObject_20const__29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$7 } } HEAP8[($5 + 3 | 0) >> 0] = 0; } } $68 = (HEAPU8[($5 + 3 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 16 | 0; return $68 | 0; } function btCollisionObject__checkCollideWith_28btCollisionObject_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $18 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($5 + 280 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 4 | 0) >> 2] | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; } $18 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $18 | 0; } function btCollisionDispatcher__dispatchAllCollisionPairs_28btOverlappingPairCache__2c_20btDispatcherInfo_20const__2c_20btDispatcher__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $12 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; btCollisionPairCallback__btCollisionPairCallback_28btDispatcherInfo_20const__2c_20btCollisionDispatcher__29($6 + 4 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0; $12 = HEAP32[($6 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($12, $6 + 4 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); btCollisionPairCallback___btCollisionPairCallback_28_29($6 + 4 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return; } function btCollisionPairCallback__btCollisionPairCallback_28btDispatcherInfo_20const__2c_20btCollisionDispatcher__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btOverlapCallback__btOverlapCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 91484 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btCollisionPairCallback___btCollisionPairCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlapCallback___btOverlapCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionDispatcher__allocateCollisionAlgorithm_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $20 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPoolAllocator__allocate_28int_29(HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((0 | 0) == (HEAP32[$4 >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = HEAP32[$4 >> 2] | 0; } $20 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $20 | 0; } function btCollisionDispatcher__freeCollisionAlgorithm_28void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((btPoolAllocator__validPtr_28void__29(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } btPoolAllocator__freeMemory_28void__29(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); break label$1; } btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btCollisionDispatcher__getNumManifolds_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btCollisionDispatcher__getManifoldByIndexInternal_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $10 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $10 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $10 | 0; } function btCollisionDispatcher__getInternalManifoldPointer_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $12 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 8 | 0 | 0) | 0)) { break label$2 } $12 = btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($4 + 8 | 0 | 0, 0 | 0) | 0; break label$1; } $12 = 0; } __stack_pointer = $3 + 16 | 0; return $12 | 0; } function btCollisionDispatcher__getInternalManifoldPool_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0; } function btCollisionDispatcher__getInternalManifoldPool_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0; } function btDiscreteCollisionDetectorInterface__Result___Result_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btCollisionPairCallback___btCollisionPairCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionPairCallback___btCollisionPairCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionPairCallback__processOverlap_28btBroadphasePair__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $7 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $7 = btCollisionDispatcher__getNearCallback_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[$7 | 0](HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[($5 + 8 | 0) >> 2] | 0, HEAP32[($5 + 4 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return 0 & 1 | 0 | 0; } function btCollisionDispatcher__getNearCallback_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btPersistentManifold____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btPersistentManifold____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btPersistentManifold__2c_2016u___deallocate_28btPersistentManifold___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btPersistentManifold__2c_2016u___deallocate_28btPersistentManifold___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btPersistentManifold____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btPersistentManifold__2c_2016u___allocate_28int_2c_20btPersistentManifold__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btPersistentManifold____copy_28int_2c_20int_2c_20btPersistentManifold___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btPersistentManifold__2c_2016u___allocate_28int_2c_20btPersistentManifold__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btCollisionDispatcher_cpp() { __cxx_global_var_init_8(); return; } function __cxx_global_var_init_9() { btInfMaskConverter__btInfMaskConverter_28int_29(113976 | 0, 2139095040 | 0) | 0; return; } function btCollisionObject__btCollisionObject_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 48 | 0; __stack_pointer = $3; HEAP32[($3 + 44 | 0) >> 2] = $0; $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 91544 + 8 | 0; btTransform__btTransform_28_29($4 + 4 | 0 | 0) | 0; btTransform__btTransform_28_29($4 + 68 | 0 | 0) | 0; HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 132 | 0 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0) | 0; HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 148 | 0 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0) | 0; HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 164 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0) | 0; HEAP32[($4 + 180 | 0) >> 2] = 0; HEAPF32[($4 + 184 | 0) >> 2] = Math_fround(999999984306749440.0); HEAP32[($4 + 188 | 0) >> 2] = 0; HEAP32[($4 + 192 | 0) >> 2] = 0; HEAP32[($4 + 196 | 0) >> 2] = 0; HEAP32[($4 + 200 | 0) >> 2] = 0; HEAP32[($4 + 204 | 0) >> 2] = 1; HEAP32[($4 + 208 | 0) >> 2] = -1; HEAP32[($4 + 212 | 0) >> 2] = -1; HEAP32[($4 + 216 | 0) >> 2] = -1; HEAP32[($4 + 220 | 0) >> 2] = 1; HEAPF32[($4 + 224 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 228 | 0) >> 2] = Math_fround(.5); HEAPF32[($4 + 232 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 236 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 240 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 244 | 0) >> 2] = Math_fround(.10000000149011612); HEAPF32[($4 + 248 | 0) >> 2] = Math_fround(1.0e4); HEAP32[($4 + 252 | 0) >> 2] = 1; HEAP32[($4 + 256 | 0) >> 2] = 0; HEAP32[($4 + 260 | 0) >> 2] = -1; HEAP32[($4 + 264 | 0) >> 2] = -1; HEAPF32[($4 + 268 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 272 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 276 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($4 + 280 | 0) >> 2] = 0; btAlignedObjectArray_btCollisionObject_20const____btAlignedObjectArray_28_29($4 + 284 | 0 | 0) | 0; HEAP32[($4 + 304 | 0) >> 2] = 0; btVector3__btVector3_28_29($4 + 308 | 0 | 0) | 0; btTransform__setIdentity_28_29($4 + 4 | 0 | 0); btTransform__setIdentity_28_29($4 + 68 | 0 | 0); __stack_pointer = $3 + 48 | 0; return $4 | 0; } function btCollisionObject___btCollisionObject_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 91544 + 8 | 0; btAlignedObjectArray_btCollisionObject_20const_____btAlignedObjectArray_28_29($4 + 284 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionObject___btCollisionObject_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[532 | 0]($4) | 0; btCollisionObject__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionObject__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionObject__setActivationState_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 220 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { break label$1 } if (!((HEAP32[($5 + 220 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { break label$1 } HEAP32[($5 + 220 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } return; } function btCollisionObject__forceActivationState_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btCollisionObject__activate_28bool_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; $6 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0) { break label$2 } if ((HEAP32[($6 + 204 | 0) >> 2] | 0) & 3 | 0) { break label$1 } } btCollisionObject__setActivationState_28int_29_20const($6 | 0, 1 | 0); HEAPF32[($6 + 224 | 0) >> 2] = Math_fround(0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btCollisionObject__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $39 = 0, $69 = 0, $73 = 0, $87 = 0, $43 = 0, $77 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; btTransform__serialize_28btTransformFloatData__29_20const($6 + 4 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 16 | 0 | 0); btTransform__serialize_28btTransformFloatData__29_20const($6 + 68 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 80 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 132 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 144 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 148 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 160 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 164 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 176 | 0 | 0); HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0; HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 192 | 0) >> 2] = Math_fround(HEAPF32[($6 + 184 | 0) >> 2]); HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] = 0; $39 = HEAP32[($5 + 20 | 0) >> 2] | 0; $43 = FUNCTION_TABLE[HEAP32[((HEAP32[$39 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($39, HEAP32[($6 + 192 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $43; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[($6 + 204 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($6 + 208 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($6 + 212 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 248 | 0) >> 2] = HEAP32[($6 + 220 | 0) >> 2] | 0; HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 196 | 0) >> 2] = Math_fround(HEAPF32[($6 + 224 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 200 | 0) >> 2] = Math_fround(HEAPF32[($6 + 228 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 204 | 0) >> 2] = Math_fround(HEAPF32[($6 + 236 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 208 | 0) >> 2] = Math_fround(HEAPF32[($6 + 244 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 212 | 0) >> 2] = Math_fround(HEAPF32[($6 + 248 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 216 | 0) >> 2] = Math_fround(HEAPF32[($6 + 232 | 0) >> 2]); HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 252 | 0) >> 2] = HEAP32[($6 + 252 | 0) >> 2] | 0; $69 = HEAP32[($5 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$69 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($69, $6) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $73 = HEAP32[($5 + 20 | 0) >> 2] | 0; $77 = FUNCTION_TABLE[HEAP32[((HEAP32[$73 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($73, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $77; label$1 : { if (!((HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $87 = HEAP32[($5 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$87 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($87, HEAP32[($5 + 12 | 0) >> 2] | 0); } HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 220 | 0) >> 2] = Math_fround(HEAPF32[($6 + 268 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 224 | 0) >> 2] = Math_fround(HEAPF32[($6 + 272 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 228 | 0) >> 2] = Math_fround(HEAPF32[($6 + 276 | 0) >> 2]); HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 256 | 0) >> 2] = HEAP32[($6 + 280 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 260 | 0) >> 2] = 0; __stack_pointer = $5 + 32 | 0; return 83318 | 0; } function btTransform__serialize_28btTransformFloatData__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btMatrix3x3__serialize_28btMatrix3x3FloatData__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($5 + 48 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btVector3__serialize_28btVector3FloatData__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$1 } HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btMatrix3x3__serialize_28btMatrix3x3FloatData__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } btVector3__serialize_28btVector3FloatData__29_20const($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btCollisionObject__serializeSingleObject_28btSerializer__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $9 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5, HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $21 = HEAP32[($4 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($21, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0, 1245859651, $5); __stack_pointer = $4 + 32 | 0; return; } function btCollisionObject__setCollisionShape_28btCollisionShape__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 192 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($5 + 200 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btCollisionObject__checkCollideWithOverride_28btCollisionObject_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $29 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____findLinearSearch_28btCollisionObject_20const__20const__29_20const($5 + 284 | 0 | 0, $4 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 + 284 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$2 } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; } $29 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $29 | 0; } function btCollisionObject__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 264 | 0; } function _GLOBAL__sub_I_btCollisionObject_cpp() { __cxx_global_var_init_9(); return; } function __cxx_global_var_init_10() { btInfMaskConverter__btInfMaskConverter_28int_29(113980 | 0, 2139095040 | 0) | 0; return; } function btCollisionWorld__btCollisionWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btCollisionConfiguration__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; HEAP32[$7 >> 2] = 91608 + 8 | 0; btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($7 + 4 | 0 | 0) | 0; HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; btDispatcherInfo__btDispatcherInfo_28_29($7 + 28 | 0 | 0) | 0; HEAP32[($7 + 68 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 72 | 0) >> 2] = 0; HEAP8[($7 + 76 | 0) >> 0] = 1; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btCollisionObject__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btCollisionObject____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btDispatcherInfo__btDispatcherInfo_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAPF32[$4 >> 2] = Math_fround(0 | 0); HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 1; HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(1.0); HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 20 | 0) >> 2] = 0; HEAP8[($4 + 24 | 0) >> 0] = 0; HEAP8[($4 + 25 | 0) >> 0] = 1; HEAP8[($4 + 26 | 0) >> 0] = 1; HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(.03999999910593033); HEAP8[($4 + 32 | 0) >> 0] = 0; HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); return $4 | 0; } function btAlignedAllocator_btCollisionObject__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionObject____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btCollisionWorld___btCollisionWorld_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $32 = 0, $35 = 0, $40 = 0, $52 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 24 | 0) >> 2] = $0; $4 = HEAP32[($3 + 24 | 0) >> 2] | 0; HEAP32[($3 + 28 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 91608 + 8 | 0; HEAP32[($3 + 20 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } $32 = btCollisionWorld__getBroadphase_28_29($4 | 0) | 0; $35 = FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($32) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$35 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($35, HEAP32[($3 + 12 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0); $40 = btCollisionWorld__getBroadphase_28_29($4 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$40 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($40, HEAP32[($3 + 12 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0); btCollisionObject__setBroadphaseHandle_28btBroadphaseProxy__29(HEAP32[($3 + 16 | 0) >> 2] | 0 | 0, 0 | 0); } HEAP32[($3 + 20 | 0) >> 2] = (HEAP32[($3 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; $52 = HEAP32[($3 + 28 | 0) >> 2] | 0; __stack_pointer = $3 + 32 | 0; return $52 | 0; } function btAlignedObjectArray_btCollisionObject____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btCollisionObject__getBroadphaseHandle_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0; } function btCollisionWorld__getBroadphase_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0; } function btCollisionObject__setBroadphaseHandle_28btBroadphaseProxy__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCollisionObject____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btCollisionObject____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCollisionObject____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btCollisionObject____deallocate_28_29($4 | 0); btAlignedObjectArray_btCollisionObject____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld___btCollisionWorld_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[539 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $70 = 0, $86 = 0, $85 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 128 | 0; __stack_pointer = $6; HEAP32[($6 + 124 | 0) >> 2] = $0; HEAP32[($6 + 120 | 0) >> 2] = $1; HEAP32[($6 + 116 | 0) >> 2] = $2; HEAP32[($6 + 112 | 0) >> 2] = $3; $7 = HEAP32[($6 + 124 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } __assert_fail(68696 | 0, 75774 | 0, 114 | 0, 68805 | 0); wasm2js_trap(); } label$2 : { if ((btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($7 + 4 | 0 | 0, $6 + 120 | 0 | 0) | 0 | 0) == (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87410 | 0, 75774 | 0, 117 | 0, 68805 | 0); wasm2js_trap(); } label$3 : { if ((btCollisionObject__getWorldArrayIndex_28_29_20const(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) | 0 | 0) == (-1 | 0) & 1 | 0) { break label$3 } __assert_fail(85587 | 0, 75774 | 0, 118 | 0, 68805 | 0); wasm2js_trap(); } btCollisionObject__setWorldArrayIndex_28int_29(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0); btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($7 + 4 | 0 | 0, $6 + 120 | 0 | 0); btTransform__btTransform_28btTransform_20const__29($6 + 48 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 16 | 0 | 0) | 0; $70 = btCollisionObject__getCollisionShape_28_29(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$70 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($70, $6 + 48 | 0, $6 + 32 | 0, $6 + 16 | 0); (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(btCollisionObject__getCollisionShape_28_29(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $85 = HEAP32[($6 + 120 | 0) >> 2] | 0; $86 = btCollisionWorld__getBroadphase_28_29($7 | 0) | 0; btCollisionObject__setBroadphaseHandle_28btBroadphaseProxy__29($85 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$86 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($86, $6 + 32 | 0, $6 + 16 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[($6 + 120 | 0) >> 2] | 0, HEAP32[($6 + 116 | 0) >> 2] | 0, HEAP32[($6 + 112 | 0) >> 2] | 0, HEAP32[($7 + 24 | 0) >> 2] | 0) | 0 | 0); __stack_pointer = $6 + 128 | 0; return; } function btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[$4 >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; break label$1; } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; continue label$2; }; } $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btCollisionObject__getWorldArrayIndex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0; } function btCollisionObject__setWorldArrayIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionObject____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btCollisionObject____reserve_28int_29($5 | 0, btAlignedObjectArray_btCollisionObject____allocSize_28int_29($5 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionObject____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btCollisionObject____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btCollisionObject____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionObject____copy_28int_2c_20int_2c_20btCollisionObject___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btCollisionObject____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btCollisionObject____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btCollisionWorld__updateSingleAabb_28btCollisionObject__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $27 = 0, $13 = 0, $63 = 0, $104 = 0, $123 = 0, $150 = 0, $154 = 0, $158 = 0, $162 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $4 = __stack_pointer - 112 | 0; __stack_pointer = $4; HEAP32[($4 + 108 | 0) >> 2] = $0; HEAP32[($4 + 104 | 0) >> 2] = $1; $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 + 88 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 72 | 0 | 0) | 0; $13 = btCollisionObject__getCollisionShape_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0; ((((wasm2js_i32$1 = $13, wasm2js_i32$2 = btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $4 + 88 | 0), wasm2js_i32$4 = $4 + 72 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$13 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); $27 = 112840; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $27 | 0, $27 | 0, $27 | 0) | 0; btVector3__operator___28btVector3_20const__29($4 + 88 | 0 | 0, $4 + 56 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($4 + 72 | 0 | 0, $4 + 56 | 0 | 0) | 0; label$1 : { if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($5 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { break label$1 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } btVector3__btVector3_28_29($4 + 40 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 24 | 0 | 0) | 0; $63 = btCollisionObject__getCollisionShape_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0; ((((wasm2js_i32$4 = $63, wasm2js_i32$3 = btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = $4 + 40 | 0), wasm2js_i32$1 = $4 + 24 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$63 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0, wasm2js_i32$1 | 0); btVector3__operator___28btVector3_20const__29($4 + 40 | 0 | 0, $4 + 56 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($4 + 24 | 0 | 0, $4 + 56 | 0 | 0) | 0; btVector3__setMin_28btVector3_20const__29($4 + 88 | 0 | 0, $4 + 40 | 0 | 0); btVector3__setMax_28btVector3_20const__29($4 + 72 | 0 | 0, $4 + 24 | 0 | 0); } HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($5 + 68 | 0) >> 2] | 0; $104 = 1; label$2 : { if ((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$2 } operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 4 | 0 | 0, $4 + 72 | 0 | 0, $4 + 88 | 0 | 0); $104 = Math_fround(btVector3__length2_28_29_20const($4 + 4 | 0 | 0)) < Math_fround(999999995904.0); } label$3 : { label$4 : { if (!($104 & 1 | 0)) { break label$4 } $123 = HEAP32[($4 + 20 | 0) >> 2] | 0; (((((wasm2js_i32$1 = $123, wasm2js_i32$2 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $4 + 88 | 0), wasm2js_i32$4 = $4 + 72 | 0), wasm2js_i32$5 = HEAP32[($5 + 24 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$123 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0); break label$3; } btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0, 5 | 0); label$5 : { if (!((HEAPU8[(0 + 112832 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } HEAP8[(0 + 112832 | 0) >> 0] = 0; $150 = HEAP32[($5 + 72 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$150 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($150, 76682); $154 = HEAP32[($5 + 72 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$154 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($154, 88329); $158 = HEAP32[($5 + 72 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$158 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($158, 88516); $162 = HEAP32[($5 + 72 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$162 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($162, 88507); } } __stack_pointer = $4 + 112 | 0; return; } function btCollisionObject__getInternalType_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0; } function btCollisionObject__getInterpolationWorldTransform_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0 | 0; } function btVector3__setMin_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; void_20btSetMin_float__28float__2c_20float_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); void_20btSetMin_float__28float__2c_20float_20const__29($5 + 4 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0 | 0); void_20btSetMin_float__28float__2c_20float_20const__29($5 + 8 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0 | 0); void_20btSetMin_float__28float__2c_20float_20const__29($5 + 12 | 0 | 0, btVector3__w_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btVector3__setMax_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; void_20btSetMax_float__28float__2c_20float_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); void_20btSetMax_float__28float__2c_20float_20const__29($5 + 4 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0 | 0); void_20btSetMax_float__28float__2c_20float_20const__29($5 + 8 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0 | 0); void_20btSetMax_float__28float__2c_20float_20const__29($5 + 12 | 0 | 0, btVector3__w_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function void_20btSetMin_float__28float__2c_20float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { if (!(Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$1 } HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); } return; } function btVector3__w_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0 | 0; } function void_20btSetMax_float__28float__2c_20float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { if (!(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$1 } HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); } return; } function btCollisionWorld__updateAabbs_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 80 | 0; __stack_pointer = $3; HEAP32[($3 + 76 | 0) >> 2] = $0; $4 = HEAP32[($3 + 76 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($3 + 75 | 0 | 0, 70484 | 0) | 0; btTransform__btTransform_28_29($3 + 8 | 0 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$3 : { if ((btCollisionObject__getWorldArrayIndex_28_29_20const(HEAP32[$3 >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$3 } __assert_fail(77720 | 0, 75774 | 0, 199 | 0, 70484 | 0); wasm2js_trap(); } label$4 : { label$5 : { if ((HEAPU8[($4 + 76 | 0) >> 0] | 0) & 1 | 0) { break label$5 } if (!((btCollisionObject__isActive_28_29_20const(HEAP32[$3 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } } btCollisionWorld__updateSingleAabb_28btCollisionObject__29($4 | 0, HEAP32[$3 >> 2] | 0 | 0); } HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } CProfileSample___CProfileSample_28_29($3 + 75 | 0 | 0) | 0; __stack_pointer = $3 + 80 | 0; return; } function btCollisionWorld__computeOverlappingPairs_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($3 + 11 | 0 | 0, 69579 | 0) | 0; $9 = HEAP32[($4 + 68 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($9, HEAP32[($4 + 24 | 0) >> 2] | 0); CProfileSample___CProfileSample_28_29($3 + 11 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__performDiscreteCollisionDetection_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $26 = 0, $27 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($3 + 27 | 0 | 0, 76354 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btCollisionWorld__getDispatchInfo_28_29($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($4); FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($4); (wasm2js_i32$0 = $3, wasm2js_i32$1 = btCollisionWorld__getDispatcher_28_29($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; CProfileSample__CProfileSample_28char_20const__29($3 + 15 | 0 | 0, 69496 | 0) | 0; label$1 : { if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $26 = HEAP32[($3 + 16 | 0) >> 2] | 0; $27 = HEAP32[($4 + 68 | 0) >> 2] | 0; ((((wasm2js_i32$1 = $26, wasm2js_i32$2 = FUNCTION_TABLE[HEAP32[((HEAP32[$27 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($27) | 0), wasm2js_i32$3 = HEAP32[($3 + 20 | 0) >> 2] | 0), wasm2js_i32$4 = HEAP32[($4 + 24 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$26 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); } CProfileSample___CProfileSample_28_29($3 + 15 | 0 | 0) | 0; CProfileSample___CProfileSample_28_29($3 + 27 | 0 | 0) | 0; __stack_pointer = $3 + 32 | 0; return; } function btCollisionWorld__getDispatcher_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0; } function btCollisionWorld__removeCollisionObject_28btCollisionObject__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = 0, $18 = 0, $23 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $15 = btCollisionWorld__getBroadphase_28_29($5 | 0) | 0; $18 = FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($15) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 4 | 0) >> 2] | 0, HEAP32[($5 + 24 | 0) >> 2] | 0); $23 = btCollisionWorld__getBroadphase_28_29($5 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($23, HEAP32[($4 + 4 | 0) >> 2] | 0, HEAP32[($5 + 24 | 0) >> 2] | 0); btCollisionObject__setBroadphaseHandle_28btBroadphaseProxy__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0); } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObject__getWorldArrayIndex_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$2 : { label$3 : { if (!((HEAP32[$4 >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$3 } if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$3 } label$4 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) & 1 | 0) { break label$4 } __assert_fail(83805 | 0, 75774 | 0, 262 | 0, 68768 | 0); wasm2js_trap(); } btAlignedObjectArray_btCollisionObject____swap_28int_2c_20int_29($5 + 4 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0, (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0) - 1 | 0 | 0); btAlignedObjectArray_btCollisionObject____pop_back_28_29($5 + 4 | 0 | 0); label$5 : { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } btCollisionObject__setWorldArrayIndex_28int_29(HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); } break label$2; } btAlignedObjectArray_btCollisionObject____remove_28btCollisionObject__20const__29($5 + 4 | 0 | 0, $4 + 8 | 0 | 0); } btCollisionObject__setWorldArrayIndex_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, -1 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject____swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; return; } function btAlignedObjectArray_btCollisionObject____pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject____remove_28btCollisionObject__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionObject____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject____removeAtIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btCollisionObject____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); btAlignedObjectArray_btCollisionObject____pop_back_28_29($5 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btCollisionWorld__rayTestSingle_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObject__2c_20btCollisionShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__RayResultCallback__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $14 = 0; $8 = __stack_pointer - 48 | 0; __stack_pointer = $8; HEAP32[($8 + 44 | 0) >> 2] = $0; HEAP32[($8 + 40 | 0) >> 2] = $1; HEAP32[($8 + 36 | 0) >> 2] = $2; HEAP32[($8 + 32 | 0) >> 2] = $3; HEAP32[($8 + 28 | 0) >> 2] = $4; HEAP32[($8 + 24 | 0) >> 2] = $5; $14 = -1; btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($8 | 0, 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, $14 | 0, $14 | 0) | 0; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29(HEAP32[($8 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8 + 40 | 0) >> 2] | 0 | 0, $8 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0); __stack_pointer = $8 + 48 | 0; return; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $65 = 0, $112 = 0, $229 = 0, $244 = 0, $259 = 0, $306 = 0, $307 = 0, $322 = 0, $323 = 0, $858 = 0, $862 = 0, $888 = 0, $892 = 0, $1018 = 0, $1022 = 0, $1052 = 0, $1056 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 1392 | 0; __stack_pointer = $6; HEAP32[($6 + 1388 | 0) >> 2] = $0; HEAP32[($6 + 1384 | 0) >> 2] = $1; HEAP32[($6 + 1380 | 0) >> 2] = $2; HEAP32[($6 + 1376 | 0) >> 2] = $3; btSphereShape__btSphereShape_28float_29($6 + 1316 | 0 | 0, Math_fround(Math_fround(0 | 0))) | 0; btSphereShape__setMargin_28float_29($6 + 1316 | 0 | 0, Math_fround(Math_fround(0 | 0))); HEAP32[($6 + 1312 | 0) >> 2] = $6 + 1316 | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1308 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1304 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((btCollisionShape__isConvex_28_29_20const(HEAP32[($6 + 1308 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } btConvexCast__CastResult__CastResult_28_29($6 + 1128 | 0 | 0) | 0; HEAPF32[($6 + 1292 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAP32[($6 + 1124 | 0) >> 2] = HEAP32[($6 + 1308 | 0) >> 2] | 0; btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($6 + 764 | 0 | 0) | 0; btSubsimplexConvexCast__btSubsimplexConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($6 + 748 | 0 | 0, HEAP32[($6 + 1312 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1124 | 0) >> 2] | 0 | 0, $6 + 764 | 0 | 0) | 0; btGjkConvexCast__btGjkConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($6 + 732 | 0 | 0, HEAP32[($6 + 1312 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1124 | 0) >> 2] | 0 | 0, $6 + 764 | 0 | 0) | 0; HEAP32[($6 + 728 | 0) >> 2] = 0; label$3 : { label$4 : { if (!((HEAP32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 8 | 0)) { break label$4 } HEAP32[($6 + 728 | 0) >> 2] = $6 + 732 | 0; break label$3; } HEAP32[($6 + 728 | 0) >> 2] = $6 + 748 | 0; } HEAP32[($6 + 724 | 0) >> 2] = HEAP32[($6 + 728 | 0) >> 2] | 0; $65 = HEAP32[($6 + 724 | 0) >> 2] | 0; label$5 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$65 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($65, HEAP32[($6 + 1388 | 0) >> 2] | 0, HEAP32[($6 + 1384 | 0) >> 2] | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0, $6 + 1128 | 0) | 0) & 1 | 0)) { break label$5 } label$6 : { if (!(Math_fround(btVector3__length2_28_29_20const(($6 + 1128 | 0) + 132 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$6 } label$7 : { if (!(Math_fround(HEAPF32[($6 + 1292 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$7 } btVector3__normalize_28_29(($6 + 1128 | 0) + 132 | 0 | 0) | 0; btCollisionWorld__LocalRayResult__LocalRayResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20float_29($6 + 696 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0, ($6 + 1128 | 0) + 132 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 1292 | 0) >> 2]))) | 0; HEAP8[($6 + 695 | 0) >> 0] = 1; $112 = HEAP32[($6 + 1376 | 0) >> 2] | 0; Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$112 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($112, $6 + 696 | 0, (HEAPU8[($6 + 695 | 0) >> 0] | 0) & 1 | 0)); } } } btGjkConvexCast___btGjkConvexCast_28_29($6 + 732 | 0 | 0) | 0; btSubsimplexConvexCast___btSubsimplexConvexCast_28_29($6 + 748 | 0 | 0) | 0; btConvexCast__CastResult___CastResult_28_29($6 + 1128 | 0 | 0) | 0; break label$1; } label$8 : { label$9 : { if (!((btCollisionShape__isConcave_28_29_20const(HEAP32[($6 + 1308 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$9 } btTransform__inverse_28_29_20const($6 + 628 | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 612 | 0 | 0, $6 + 628 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 1388 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 596 | 0 | 0, $6 + 628 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 1384 | 0) >> 2] | 0 | 0) | 0 | 0); label$10 : { label$11 : { if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($6 + 1308 | 0) >> 2] | 0 | 0) | 0 | 0) == (21 | 0) & 1 | 0)) { break label$11 } HEAP32[($6 + 592 | 0) >> 2] = HEAP32[($6 + 1308 | 0) >> 2] | 0; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__BridgeTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape_20const__2c_20btTransform_20const__29($6 + 472 | 0 | 0, $6 + 612 | 0 | 0, $6 + 596 | 0 | 0, HEAP32[($6 + 1376 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 592 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 512 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 2]); btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 592 | 0) >> 2] | 0 | 0, $6 + 472 | 0 | 0, $6 + 612 | 0 | 0, $6 + 596 | 0 | 0); btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29($6 + 472 | 0 | 0) | 0; break label$10; } HEAP32[($6 + 468 | 0) >> 2] = HEAP32[($6 + 1308 | 0) >> 2] | 0; btTransform__inverse_28_29_20const($6 + 404 | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 388 | 0 | 0, $6 + 404 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 1388 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 372 | 0 | 0, $6 + 404 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 1384 | 0) >> 2] | 0 | 0) | 0 | 0); btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__BridgeTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape_20const__2c_20btTransform_20const__29($6 + 252 | 0 | 0, $6 + 388 | 0 | 0, $6 + 372 | 0 | 0, HEAP32[($6 + 1376 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 468 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 292 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 2]); $229 = 8; i64toi32_i32$2 = ($6 + 388 | 0) + $229 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $858 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 232 | 0) + $229 | 0; HEAP32[i64toi32_i32$0 >> 2] = $858; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 388 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 392 | 0) >> 2] | 0; $862 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 232 | 0) >> 2] = $862; HEAP32[($6 + 236 | 0) >> 2] = i64toi32_i32$0; btVector3__setMin_28btVector3_20const__29($6 + 232 | 0 | 0, $6 + 372 | 0 | 0); $244 = 8; i64toi32_i32$2 = ($6 + 388 | 0) + $244 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $888 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 216 | 0) + $244 | 0; HEAP32[i64toi32_i32$0 >> 2] = $888; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 388 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 392 | 0) >> 2] | 0; $892 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 216 | 0) >> 2] = $892; HEAP32[($6 + 220 | 0) >> 2] = i64toi32_i32$0; btVector3__setMax_28btVector3_20const__29($6 + 216 | 0 | 0, $6 + 372 | 0 | 0); $259 = HEAP32[($6 + 468 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$259 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($259, $6 + 252 | 0, $6 + 232 | 0, $6 + 216 | 0); btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29($6 + 252 | 0 | 0) | 0; } break label$8; } label$12 : { if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($6 + 1308 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$12 } HEAP32[($6 + 212 | 0) >> 2] = HEAP32[($6 + 1308 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($6 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_i32$1; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__RayTester_28btCollisionObject_20const__2c_20btCompoundShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__RayResultCallback__29($6 + 180 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 212 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1388 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1384 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1376 | 0) >> 2] | 0 | 0) | 0; label$13 : { label$14 : { if (!((HEAP32[($6 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$14 } btTransform__inverseTimes_28btTransform_20const__29_20const($6 + 96 | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1388 | 0) >> 2] | 0 | 0); $306 = btTransform__getOrigin_28_29($6 + 96 | 0 | 0) | 0; $307 = 8; i64toi32_i32$2 = $306 + $307 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1018 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 160 | 0) + $307 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1018; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $306; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1022 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 160 | 0) >> 2] = $1022; HEAP32[($6 + 164 | 0) >> 2] = i64toi32_i32$0; btTransform__inverseTimes_28btTransform_20const__29_20const($6 + 16 | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1384 | 0) >> 2] | 0 | 0); $322 = btTransform__getOrigin_28_29($6 + 16 | 0 | 0) | 0; $323 = 8; i64toi32_i32$2 = $322 + $323 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1052 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 80 | 0) + $323 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1052; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $322; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1056 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 80 | 0) >> 2] = $1056; HEAP32[($6 + 84 | 0) >> 2] = i64toi32_i32$0; btDbvt__rayTest_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btDbvt__ICollide__29(HEAP32[(HEAP32[($6 + 208 | 0) >> 2] | 0) >> 2] | 0 | 0, $6 + 160 | 0 | 0, $6 + 80 | 0 | 0, $6 + 180 | 0 | 0); break label$13; } HEAP32[($6 + 12 | 0) >> 2] = 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($6 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$15 : { label$16 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$15 } btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__ProcessLeaf_28int_29($6 + 180 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$16; }; } } btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29($6 + 180 | 0 | 0) | 0; } } } btSphereShape___btSphereShape_28_29($6 + 1316 | 0 | 0) | 0; __stack_pointer = $6 + 1392 | 0; return; } function btSphereShape__setMargin_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; btConvexInternalShape__setMargin_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btCollisionObjectWrapper__getWorldTransform_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; } function btCollisionShape__isConvex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = (btBroadphaseProxy__isConvex_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btConvexCast__CastResult__CastResult_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 91696 + 8 | 0; btTransform__btTransform_28_29($4 + 4 | 0 | 0) | 0; btTransform__btTransform_28_29($4 + 68 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 132 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 148 | 0 | 0) | 0; HEAPF32[($4 + 164 | 0) >> 2] = Math_fround(999999984306749440.0); HEAP32[($4 + 168 | 0) >> 2] = 0; HEAPF32[($4 + 172 | 0) >> 2] = Math_fround(0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $6 = 0, $9 = 0, $10 = 0, $12 = 0, $19 = 0, $22 = 0, $23 = 0, $25 = 0, $32 = 0, $35 = 0, $36 = 0, $38 = 0, $8 = 0, $21 = 0, $34 = 0, $55 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; $6 = $4 + 4 | 0; $8 = $6 + 80 | 0; $9 = $6; label$1 : while (1) { $10 = $9; btVector3__btVector3_28_29($10 | 0) | 0; $12 = $10 + 16 | 0; $9 = $12; if (!(($12 | 0) == ($8 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $19 = $4 + 84 | 0; $21 = $19 + 80 | 0; $22 = $19; label$2 : while (1) { $23 = $22; btVector3__btVector3_28_29($23 | 0) | 0; $25 = $23 + 16 | 0; $22 = $25; if (!(($25 | 0) == ($21 | 0) & 1 | 0)) { continue label$2 } break label$2; }; $32 = $4 + 164 | 0; $34 = $32 + 80 | 0; $35 = $32; label$3 : while (1) { $36 = $35; btVector3__btVector3_28_29($36 | 0) | 0; $38 = $36 + 16 | 0; $35 = $38; if (!(($38 | 0) == ($34 | 0) & 1 | 0)) { continue label$3 } break label$3; }; btVector3__btVector3_28_29($4 + 244 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 260 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 276 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 292 | 0 | 0) | 0; HEAPF32[($4 + 308 | 0) >> 2] = Math_fround(9.999999747378752e-05); btSubSimplexClosestResult__btSubSimplexClosestResult_28_29($4 + 316 | 0 | 0) | 0; $55 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $55 | 0; } function btVector3__normalize_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((btVector3__fuzzyZero_28_29_20const($4 | 0) | 0) & 1 | 0)) { break label$1 } __assert_fail(87253 | 0, 80295 | 0, 312 | 0, 80814 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($4 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $16 = btVector3__operator___28float_20const__29($4 | 0, $3 + 8 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $16 | 0; } function btCollisionObjectWrapper__getCollisionObject_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btCollisionWorld__LocalRayResult__LocalRayResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $12 = 0, $15 = 0, $52 = 0, $62 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAP32[$8 >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; $12 = $8 + 8 | 0; i64toi32_i32$2 = HEAP32[($7 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $52 = i64toi32_i32$0; i64toi32_i32$0 = $12; HEAP32[i64toi32_i32$0 >> 2] = $52; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $62 = i64toi32_i32$1; i64toi32_i32$1 = $12 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $62; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 24 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); return $8 | 0; } function btGjkConvexCast___btGjkConvexCast_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexCast___btConvexCast_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSubsimplexConvexCast___btSubsimplexConvexCast_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexCast___btConvexCast_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexCast__CastResult___CastResult_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btCollisionShape__isConcave_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = (btBroadphaseProxy__isConcave_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__BridgeTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape_20const__2c_20btTransform_20const__29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, $10 = 0; $9 = __stack_pointer - 32 | 0; __stack_pointer = $9; HEAP32[($9 + 28 | 0) >> 2] = $0; HEAP32[($9 + 24 | 0) >> 2] = $1; HEAP32[($9 + 20 | 0) >> 2] = $2; HEAP32[($9 + 16 | 0) >> 2] = $3; HEAP32[($9 + 12 | 0) >> 2] = $4; HEAP32[($9 + 8 | 0) >> 2] = $5; HEAP32[($9 + 4 | 0) >> 2] = $6; $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; btTriangleRaycastCallback__btTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_29($10 | 0, HEAP32[($9 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[$10 >> 2] = 91764 + 8 | 0; HEAP32[($10 + 44 | 0) >> 2] = HEAP32[($9 + 16 | 0) >> 2] | 0; HEAP32[($10 + 48 | 0) >> 2] = HEAP32[($9 + 12 | 0) >> 2] | 0; HEAP32[($10 + 52 | 0) >> 2] = HEAP32[($9 + 8 | 0) >> 2] | 0; btTransform__btTransform_28btTransform_20const__29($10 + 56 | 0 | 0, HEAP32[($9 + 4 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $9 + 32 | 0; return $10 | 0; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleRaycastCallback___btTriangleRaycastCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundShape__getDynamicAabbTree_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__RayTester_28btCollisionObject_20const__2c_20btCompoundShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__RayResultCallback__29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, $10 = 0; $9 = __stack_pointer - 32 | 0; __stack_pointer = $9; HEAP32[($9 + 28 | 0) >> 2] = $0; HEAP32[($9 + 24 | 0) >> 2] = $1; HEAP32[($9 + 20 | 0) >> 2] = $2; HEAP32[($9 + 16 | 0) >> 2] = $3; HEAP32[($9 + 12 | 0) >> 2] = $4; HEAP32[($9 + 8 | 0) >> 2] = $5; HEAP32[($9 + 4 | 0) >> 2] = $6; $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; btDbvt__ICollide__ICollide_28_29($10 | 0) | 0; HEAP32[$10 >> 2] = 91948 + 8 | 0; HEAP32[($10 + 4 | 0) >> 2] = HEAP32[($9 + 24 | 0) >> 2] | 0; HEAP32[($10 + 8 | 0) >> 2] = HEAP32[($9 + 20 | 0) >> 2] | 0; HEAP32[($10 + 12 | 0) >> 2] = HEAP32[($9 + 16 | 0) >> 2] | 0; HEAP32[($10 + 16 | 0) >> 2] = HEAP32[($9 + 12 | 0) >> 2] | 0; HEAP32[($10 + 20 | 0) >> 2] = HEAP32[($9 + 8 | 0) >> 2] | 0; HEAP32[($10 + 24 | 0) >> 2] = HEAP32[($9 + 4 | 0) >> 2] | 0; __stack_pointer = $9 + 32 | 0; return $10 | 0; } function btTransform__inverseTimes_28btTransform_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 96 | 0; __stack_pointer = $5; HEAP32[($5 + 92 | 0) >> 2] = $0; HEAP32[($5 + 88 | 0) >> 2] = $1; HEAP32[($5 + 84 | 0) >> 2] = $2; $6 = HEAP32[($5 + 88 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 68 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 48 | 0 | 0); btMatrix3x3__transposeTimes_28btMatrix3x3_20const__29_20const($5 + 20 | 0 | 0, $6 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($5 + 4 | 0 | 0, $5 + 68 | 0 | 0, $6 | 0); btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 4 | 0 | 0) | 0; __stack_pointer = $5 + 96 | 0; return; } function btDbvt__rayTest_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btDbvt__ICollide__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $36 = Math_fround(0), $60 = Math_fround(0), $84 = Math_fround(0), $101 = 0.0, $145 = 0, $154 = 0, $157 = 0, $158 = 0, $160 = 0, $168 = 0, $178 = 0, $180 = 0, $190 = 0, $192 = 0, $250 = 0, $259 = 0, $266 = 0, $146 = 0, $156 = 0, $607 = 0, $617 = 0, $632 = 0, $642 = 0, $234 = 0, $249 = 0, $258 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $6 = __stack_pointer - 704 | 0; __stack_pointer = $6; HEAP32[($6 + 700 | 0) >> 2] = $0; HEAP32[($6 + 696 | 0) >> 2] = $1; HEAP32[($6 + 692 | 0) >> 2] = $2; HEAP32[($6 + 688 | 0) >> 2] = $3; label$1 : { if (!((HEAP32[($6 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 672 | 0 | 0, HEAP32[($6 + 692 | 0) >> 2] | 0 | 0, HEAP32[($6 + 696 | 0) >> 2] | 0 | 0); btVector3__normalize_28_29($6 + 672 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 656 | 0 | 0) | 0; label$2 : { label$3 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$3 } $36 = Math_fround(999999984306749440.0); break label$2; } $36 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0, wasm2js_f32$0 = $36), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$4 : { label$5 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$5 } $60 = Math_fround(999999984306749440.0); break label$4; } $60 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) + 4 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0, wasm2js_f32$0 = $60), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$6 : { label$7 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$7 } $84 = Math_fround(999999984306749440.0); break label$6; } $84 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) + 8 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0, wasm2js_f32$0 = $84), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $101 = 0.0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0) >> 2]) < $101), HEAP32[(wasm2js_i32$0 + 644 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0) + 4 | 0) >> 2]) < $101), HEAP32[(wasm2js_i32$0 + 648 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 652 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 624 | 0 | 0, HEAP32[($6 + 692 | 0) >> 2] | 0 | 0, HEAP32[($6 + 696 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 672 | 0 | 0, $6 + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($6 + 608 | 0 | 0) | 0; btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($6 + 588 | 0 | 0) | 0; HEAP32[($6 + 584 | 0) >> 2] = 1; HEAP32[($6 + 580 | 0) >> 2] = 126; $145 = 128; btAlignedObjectArray_btDbvtNode_20const____initializeFromBuffer_28void__2c_20int_2c_20int_29($6 + 588 | 0 | 0, $6 + 64 | 0 | 0, $145 | 0, $145 | 0); $146 = HEAP32[($6 + 700 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 588 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $146), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $154 = $6 + 32 | 0; $156 = $154 + 32 | 0; $157 = $154; label$8 : while (1) { $158 = $157; btVector3__btVector3_28_29($158 | 0) | 0; $160 = $158 + 16 | 0; $157 = $160; if (!(($160 | 0) == ($156 | 0) & 1 | 0)) { continue label$8 } break label$8; }; label$9 : while (1) { $168 = (HEAP32[($6 + 584 | 0) >> 2] | 0) + -1 | 0; HEAP32[($6 + 584 | 0) >> 2] = $168; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 588 | 0 | 0, $168 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; $178 = $6 + 32 | 0; i64toi32_i32$2 = btDbvtAabbMm__Mins_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $607 = i64toi32_i32$0; i64toi32_i32$0 = $178; HEAP32[i64toi32_i32$0 >> 2] = $607; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $180 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $180 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $617 = i64toi32_i32$1; i64toi32_i32$1 = $178 + $180 | 0; HEAP32[i64toi32_i32$1 >> 2] = $617; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $190 = ($6 + 32 | 0) + 16 | 0; i64toi32_i32$2 = btDbvtAabbMm__Maxs_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $632 = i64toi32_i32$0; i64toi32_i32$0 = $190; HEAP32[i64toi32_i32$0 >> 2] = $632; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $192 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $192 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $642 = i64toi32_i32$1; i64toi32_i32$1 = $190 + $192 | 0; HEAP32[i64toi32_i32$1 >> 2] = $642; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29(HEAP32[($6 + 696 | 0) >> 2] | 0 | 0, $6 + 656 | 0 | 0, $6 + 644 | 0 | 0, $6 + 32 | 0 | 0, $6 + 24 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 640 | 0) >> 2]))) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$10 : { if (!(HEAP32[($6 + 16 | 0) >> 2] | 0)) { break label$10 } label$11 : { label$12 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$12 } label$13 : { if (!((HEAP32[($6 + 584 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 580 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$13 } $234 = (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 + 588 | 0 | 0) | 0) << 1 | 0; HEAP32[($6 + 12 | 0) >> 2] = 0; btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($6 + 588 | 0 | 0, $234 | 0, $6 + 12 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 + 588 | 0 | 0) | 0) - 2 | 0), HEAP32[(wasm2js_i32$0 + 580 | 0) >> 2] = wasm2js_i32$1; } $249 = HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; $250 = HEAP32[($6 + 584 | 0) >> 2] | 0; HEAP32[($6 + 584 | 0) >> 2] = $250 + 1 | 0; (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 588 | 0 | 0, $250 | 0) | 0, wasm2js_i32$1 = $249), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $258 = HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; $259 = HEAP32[($6 + 584 | 0) >> 2] | 0; HEAP32[($6 + 584 | 0) >> 2] = $259 + 1 | 0; (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 588 | 0 | 0, $259 | 0) | 0, wasm2js_i32$1 = $258), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$11; } $266 = HEAP32[($6 + 688 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$266 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($266, HEAP32[($6 + 28 | 0) >> 2] | 0); } } if (HEAP32[($6 + 584 | 0) >> 2] | 0) { continue label$9 } break label$9; }; btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($6 + 588 | 0 | 0) | 0; } __stack_pointer = $6 + 704 | 0; return; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__ProcessLeaf_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 144 | 0; __stack_pointer = $4; HEAP32[($4 + 140 | 0) >> 2] = $0; HEAP32[($4 + 136 | 0) >> 2] = $1; $5 = HEAP32[($4 + 140 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29_20const($4 + 64 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 128 | 0) >> 2] | 0 | 0); btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($4 + 40 | 0 | 0, 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, $4 + 64 | 0 | 0, -1 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__LocalInfoAdder2_28int_2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionShape_20const__29($4 + 8 | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0) | 0; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0, $4 + 8 | 0 | 0); btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29($4 + 8 | 0 | 0) | 0; __stack_pointer = $4 + 144 | 0; return; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSphereShape___btSphereShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBroadphaseProxy__isConvex_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (20 | 0) & 1 | 0 | 0; } function btSubSimplexClosestResult__btSubSimplexClosestResult_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; btUsageBitfield__btUsageBitfield_28_29($4 + 16 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btVector3__fuzzyZero_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $9 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function btVector3__operator___28float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $13 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); $13 = btVector3__operator___28float_20const__29_1($5 | 0, $4 + 4 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $13 | 0; } function btBroadphaseProxy__isConcave_28int_29($0) { $0 = $0 | 0; var $3 = 0, $12 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $12 = 0; label$1 : { if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) > (20 | 0) & 1 | 0)) { break label$1 } $12 = (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (30 | 0); } return $12 & 1 | 0 | 0; } function btTriangleRaycastCallback___btTriangleRaycastCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btMatrix3x3__transposeTimes_28btMatrix3x3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $25 = Math_fround(0), $55 = Math_fround(0), $85 = Math_fround(0), $115 = Math_fround(0), $145 = Math_fround(0), $175 = Math_fround(0), $205 = Math_fround(0), $235 = Math_fround(0), $265 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 40 | 0) >> 2] | 0; $25 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $25)), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; $55 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $55)), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; $85 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $85)), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; $115 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $115)), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; $145 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $145)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; $175 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $175)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $205 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $205)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $235 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $235)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $265 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $265)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; __stack_pointer = $5 + 48 | 0; return; } function operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btCompoundShape__getChildTransform_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $9 = btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $9 | 0; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__LocalInfoAdder2_28int_2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionShape_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCollisionWorld__RayResultCallback__RayResultCallback_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 92124 + 8 | 0; HEAP32[($7 + 20 | 0) >> 2] = HEAP32[$6 >> 2] | 0; HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAP32[($7 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__RayResultCallback___RayResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexInternalShape___btConvexInternalShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexShape___btConvexShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__objectQuerySingle_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObject__2c_20btCollisionShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = Math_fround($7); var $10 = 0, $18 = 0; $10 = __stack_pointer - 64 | 0; __stack_pointer = $10; HEAP32[($10 + 60 | 0) >> 2] = $0; HEAP32[($10 + 56 | 0) >> 2] = $1; HEAP32[($10 + 52 | 0) >> 2] = $2; HEAP32[($10 + 48 | 0) >> 2] = $3; HEAP32[($10 + 44 | 0) >> 2] = $4; HEAP32[($10 + 40 | 0) >> 2] = $5; HEAP32[($10 + 36 | 0) >> 2] = $6; HEAPF32[($10 + 32 | 0) >> 2] = $7; $18 = -1; btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($10 + 8 | 0 | 0, 0 | 0, HEAP32[($10 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10 + 40 | 0) >> 2] | 0 | 0, $18 | 0, $18 | 0) | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29(HEAP32[($10 + 60 | 0) >> 2] | 0 | 0, HEAP32[($10 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10 + 52 | 0) >> 2] | 0 | 0, $10 + 8 | 0 | 0, HEAP32[($10 + 36 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($10 + 32 | 0) >> 2]))); __stack_pointer = $10 + 64 | 0; return; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $44 = 0, $99 = 0, $206 = 0, $260 = 0, $315 = 0, $407 = 0, $419 = 0, $434 = 0, $461 = 0, $497 = 0, $520 = 0, $1506 = 0, $1510 = 0, $1536 = 0, $1540 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $8 = __stack_pointer - 2432 | 0; __stack_pointer = $8; HEAP32[($8 + 2428 | 0) >> 2] = $0; HEAP32[($8 + 2424 | 0) >> 2] = $1; HEAP32[($8 + 2420 | 0) >> 2] = $2; HEAP32[($8 + 2416 | 0) >> 2] = $3; HEAP32[($8 + 2412 | 0) >> 2] = $4; HEAPF32[($8 + 2408 | 0) >> 2] = $5; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 2404 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 2400 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((btCollisionShape__isConvex_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } btConvexCast__CastResult__CastResult_28_29($8 + 2224 | 0 | 0) | 0; HEAPF32[($8 + 2396 | 0) >> 2] = Math_fround(HEAPF32[($8 + 2408 | 0) >> 2]); HEAPF32[($8 + 2388 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAP32[($8 + 2220 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($8 + 1860 | 0 | 0) | 0; btGjkEpaPenetrationDepthSolver__btGjkEpaPenetrationDepthSolver_28_29($8 + 1856 | 0 | 0) | 0; btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($8 + 1832 | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2220 | 0) >> 2] | 0 | 0, $8 + 1860 | 0 | 0, $8 + 1856 | 0 | 0) | 0; HEAP32[($8 + 1828 | 0) >> 2] = $8 + 1832 | 0; $44 = HEAP32[($8 + 1828 | 0) >> 2] | 0; label$3 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$44 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($44, HEAP32[($8 + 2424 | 0) >> 2] | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0, $8 + 2224 | 0) | 0) & 1 | 0)) { break label$3 } label$4 : { if (!(Math_fround(btVector3__length2_28_29_20const(($8 + 2224 | 0) + 132 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$4 } label$5 : { if (!(Math_fround(HEAPF32[($8 + 2388 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$5 } btVector3__normalize_28_29(($8 + 2224 | 0) + 132 | 0 | 0) | 0; HEAP32[($8 + 1824 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($8 + 1772 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 1816 | 0 | 0, ($8 + 2224 | 0) + 132 | 0 | 0, ($8 + 2224 | 0) + 148 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 2388 | 0) >> 2]))) | 0; HEAP8[($8 + 1771 | 0) >> 0] = 1; $99 = HEAP32[($8 + 2412 | 0) >> 2] | 0; Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$99 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($99, $8 + 1772 | 0, (HEAPU8[($8 + 1771 | 0) >> 0] | 0) & 1 | 0)); } } } btContinuousConvexCollision___btContinuousConvexCollision_28_29($8 + 1832 | 0 | 0) | 0; btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29($8 + 1856 | 0 | 0) | 0; btConvexCast__CastResult___CastResult_28_29($8 + 2224 | 0 | 0) | 0; break label$1; } label$6 : { label$7 : { if (!((btCollisionShape__isConcave_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } label$8 : { label$9 : { if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0 | 0) == (21 | 0) & 1 | 0)) { break label$9 } HEAP32[($8 + 1764 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; btTransform__inverse_28_29_20const($8 + 1700 | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($8 + 1684 | 0 | 0, $8 + 1700 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($8 + 1668 | 0 | 0, $8 + 1700 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($8 + 1556 | 0 | 0, btTransform__getBasis_28_29($8 + 1700 | 0 | 0) | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0) | 0 | 0); HEAPF32[($8 + 1536 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 1532 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 1528 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 1540 | 0 | 0, $8 + 1536 | 0 | 0, $8 + 1532 | 0 | 0, $8 + 1528 | 0 | 0) | 0; btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 1604 | 0 | 0, $8 + 1556 | 0 | 0, $8 + 1540 | 0 | 0) | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__BridgeTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionObject_20const__2c_20btTriangleMeshShape__2c_20btTransform_20const__29($8 + 1304 | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2412 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($8 + 1764 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($8 + 1504 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAPF32[($8 + 1512 | 0) >> 2] = Math_fround(HEAPF32[($8 + 2408 | 0) >> 2]); btVector3__btVector3_28_29($8 + 1288 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 1272 | 0 | 0) | 0; $206 = HEAP32[($8 + 2428 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$206 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($206, $8 + 1604 | 0, $8 + 1288 | 0, $8 + 1272 | 0); btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 1764 | 0) >> 2] | 0 | 0, $8 + 1304 | 0 | 0, $8 + 1684 | 0 | 0, $8 + 1668 | 0 | 0, $8 + 1288 | 0 | 0, $8 + 1272 | 0 | 0); btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29($8 + 1304 | 0 | 0) | 0; break label$8; } label$10 : { label$11 : { if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0 | 0) == (28 | 0) & 1 | 0)) { break label$11 } btConvexCast__CastResult__CastResult_28_29($8 + 1096 | 0 | 0) | 0; HEAPF32[($8 + 1268 | 0) >> 2] = Math_fround(HEAPF32[($8 + 2408 | 0) >> 2]); HEAPF32[($8 + 1260 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAP32[($8 + 1092 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btStaticPlaneShape_20const__29($8 + 1068 | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 1092 | 0) >> 2] | 0 | 0) | 0; HEAP32[($8 + 1064 | 0) >> 2] = $8 + 1068 | 0; $260 = HEAP32[($8 + 1064 | 0) >> 2] | 0; label$12 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$260 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($260, HEAP32[($8 + 2424 | 0) >> 2] | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0, $8 + 1096 | 0) | 0) & 1 | 0)) { break label$12 } label$13 : { if (!(Math_fround(btVector3__length2_28_29_20const(($8 + 1096 | 0) + 132 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$13 } label$14 : { if (!(Math_fround(HEAPF32[($8 + 1260 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$14 } btVector3__normalize_28_29(($8 + 1096 | 0) + 132 | 0 | 0) | 0; HEAP32[($8 + 1060 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($8 + 1008 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 1052 | 0 | 0, ($8 + 1096 | 0) + 132 | 0 | 0, ($8 + 1096 | 0) + 148 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 1260 | 0) >> 2]))) | 0; HEAP8[($8 + 1007 | 0) >> 0] = 1; $315 = HEAP32[($8 + 2412 | 0) >> 2] | 0; Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$315 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($315, $8 + 1008 | 0, (HEAPU8[($8 + 1007 | 0) >> 0] | 0) & 1 | 0)); } } } btContinuousConvexCollision___btContinuousConvexCollision_28_29($8 + 1068 | 0 | 0) | 0; btConvexCast__CastResult___CastResult_28_29($8 + 1096 | 0 | 0) | 0; break label$10; } HEAP32[($8 + 1e3 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; btTransform__inverse_28_29_20const($8 + 936 | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($8 + 920 | 0 | 0, $8 + 936 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($8 + 904 | 0 | 0, $8 + 936 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($8 + 792 | 0 | 0, btTransform__getBasis_28_29($8 + 936 | 0 | 0) | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0) | 0 | 0); HEAPF32[($8 + 772 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 768 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 764 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 776 | 0 | 0, $8 + 772 | 0 | 0, $8 + 768 | 0 | 0, $8 + 764 | 0 | 0) | 0; btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 840 | 0 | 0, $8 + 792 | 0 | 0, $8 + 776 | 0 | 0) | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__BridgeTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape__2c_20btTransform_20const__29($8 + 540 | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2412 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($8 + 1e3 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($8 + 740 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAPF32[($8 + 748 | 0) >> 2] = Math_fround(HEAPF32[($8 + 2408 | 0) >> 2]); btVector3__btVector3_28_29($8 + 524 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 508 | 0 | 0) | 0; $407 = HEAP32[($8 + 2428 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$407 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($407, $8 + 840 | 0, $8 + 524 | 0, $8 + 508 | 0); $419 = 8; i64toi32_i32$2 = ($8 + 920 | 0) + $419 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1506 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 488 | 0) + $419 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1506; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 920 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 924 | 0) >> 2] | 0; $1510 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 488 | 0) >> 2] = $1510; HEAP32[($8 + 492 | 0) >> 2] = i64toi32_i32$0; btVector3__setMin_28btVector3_20const__29($8 + 488 | 0 | 0, $8 + 904 | 0 | 0); $434 = 8; i64toi32_i32$2 = ($8 + 920 | 0) + $434 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1536 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 472 | 0) + $434 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1536; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 920 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 924 | 0) >> 2] | 0; $1540 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 472 | 0) >> 2] = $1540; HEAP32[($8 + 476 | 0) >> 2] = i64toi32_i32$0; btVector3__setMax_28btVector3_20const__29($8 + 472 | 0 | 0, $8 + 904 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($8 + 488 | 0 | 0, $8 + 524 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($8 + 472 | 0 | 0, $8 + 508 | 0 | 0) | 0; $461 = HEAP32[($8 + 1e3 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$461 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($461, $8 + 540 | 0, $8 + 488 | 0, $8 + 472 | 0); btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_1($8 + 540 | 0 | 0) | 0; } } break label$6; } label$15 : { if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$15 } CProfileSample__CProfileSample_28char_20const__29($8 + 471 | 0 | 0, 82213 | 0) | 0; HEAP32[($8 + 464 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; btVector3__btVector3_28_29($8 + 448 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 432 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 416 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 400 | 0 | 0) | 0; $497 = HEAP32[($8 + 2428 | 0) >> 2] | 0; btTransform__inverse_28_29_20const($8 + 272 | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($8 + 336 | 0 | 0, $8 + 272 | 0 | 0, HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$497 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($497, $8 + 336 | 0, $8 + 448 | 0, $8 + 432 | 0); $520 = HEAP32[($8 + 2428 | 0) >> 2] | 0; btTransform__inverse_28_29_20const($8 + 144 | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($8 + 208 | 0 | 0, $8 + 144 | 0 | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$520 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($520, $8 + 208 | 0, $8 + 416 | 0, $8 + 400 | 0); btVector3__setMin_28btVector3_20const__29($8 + 448 | 0 | 0, $8 + 416 | 0 | 0); btVector3__setMax_28btVector3_20const__29($8 + 432 | 0 | 0, $8 + 400 | 0 | 0); btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__btCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btCompoundShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__29($8 + 108 | 0 | 0, HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 2408 | 0) >> 2])), HEAP32[($8 + 464 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2412 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($8 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; label$16 : { label$17 : { if (!((HEAP32[($8 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$17 } btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($8 + 72 | 0 | 0, $8 + 448 | 0 | 0, $8 + 432 | 0 | 0); btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const(HEAP32[($8 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, $8 + 72 | 0 | 0, $8 + 108 | 0 | 0); break label$16; } HEAP32[($8 + 68 | 0) >> 2] = 0; label$18 : { label$19 : while (1) { if (!((HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) < (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($8 + 464 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$18 } (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($8 + 464 | 0) >> 2] | 0 | 0, HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28btTransform_20const__29($8 | 0, btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($8 + 464 | 0) >> 2] | 0 | 0, HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29($8 + 108 | 0 | 0, HEAP32[($8 + 68 | 0) >> 2] | 0 | 0, $8 | 0, HEAP32[($8 + 64 | 0) >> 2] | 0 | 0); HEAP32[($8 + 68 | 0) >> 2] = (HEAP32[($8 + 68 | 0) >> 2] | 0) + 1 | 0; continue label$19; }; } } btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29($8 + 108 | 0 | 0) | 0; CProfileSample___CProfileSample_28_29($8 + 471 | 0 | 0) | 0; } } } __stack_pointer = $8 + 2432 | 0; return; } function btGjkEpaPenetrationDepthSolver__btGjkEpaPenetrationDepthSolver_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexPenetrationDepthSolver__btConvexPenetrationDepthSolver_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 101400 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $63 = 0, $73 = 0, $82 = 0, $92 = 0; $8 = __stack_pointer - 32 | 0; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; HEAP32[$9 >> 2] = HEAP32[($8 + 24 | 0) >> 2] | 0; HEAP32[($9 + 4 | 0) >> 2] = HEAP32[($8 + 20 | 0) >> 2] | 0; $13 = $9 + 8 | 0; i64toi32_i32$2 = HEAP32[($8 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $63 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $63; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $73 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $73; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $21 = $9 + 24 | 0; i64toi32_i32$2 = HEAP32[($8 + 12 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $82 = i64toi32_i32$0; i64toi32_i32$0 = $21; HEAP32[i64toi32_i32$0 >> 2] = $82; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $92 = i64toi32_i32$1; i64toi32_i32$1 = $21 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $92; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($9 + 40 | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); return $9 | 0; } function btContinuousConvexCollision___btContinuousConvexCollision_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexCast___btConvexCast_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__BridgeTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionObject_20const__2c_20btTriangleMeshShape__2c_20btTransform_20const__29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, $11 = 0, $16 = 0; $10 = __stack_pointer - 32 | 0; __stack_pointer = $10; HEAP32[($10 + 28 | 0) >> 2] = $0; HEAP32[($10 + 24 | 0) >> 2] = $1; HEAP32[($10 + 20 | 0) >> 2] = $2; HEAP32[($10 + 16 | 0) >> 2] = $3; HEAP32[($10 + 12 | 0) >> 2] = $4; HEAP32[($10 + 8 | 0) >> 2] = $5; HEAP32[($10 + 4 | 0) >> 2] = $6; HEAP32[$10 >> 2] = $7; $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; $16 = HEAP32[($10 + 4 | 0) >> 2] | 0; btTriangleConvexcastCallback__btTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($11 | 0, HEAP32[($10 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10 + 16 | 0) >> 2] | 0 | 0, HEAP32[$10 >> 2] | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($16)))) | 0; HEAP32[$11 >> 2] = 92360 + 8 | 0; HEAP32[($11 + 212 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; HEAP32[($11 + 216 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; HEAP32[($11 + 220 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; __stack_pointer = $10 + 32 | 0; return $11 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__BridgeTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape__2c_20btTransform_20const__29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, $11 = 0, $16 = 0; $10 = __stack_pointer - 32 | 0; __stack_pointer = $10; HEAP32[($10 + 28 | 0) >> 2] = $0; HEAP32[($10 + 24 | 0) >> 2] = $1; HEAP32[($10 + 20 | 0) >> 2] = $2; HEAP32[($10 + 16 | 0) >> 2] = $3; HEAP32[($10 + 12 | 0) >> 2] = $4; HEAP32[($10 + 8 | 0) >> 2] = $5; HEAP32[($10 + 4 | 0) >> 2] = $6; HEAP32[$10 >> 2] = $7; $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; $16 = HEAP32[($10 + 4 | 0) >> 2] | 0; btTriangleConvexcastCallback__btTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($11 | 0, HEAP32[($10 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10 + 16 | 0) >> 2] | 0 | 0, HEAP32[$10 >> 2] | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($16)))) | 0; HEAP32[$11 >> 2] = 92572 + 8 | 0; HEAP32[($11 + 212 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; HEAP32[($11 + 216 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; HEAP32[($11 + 220 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; __stack_pointer = $10 + 32 | 0; return $11 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__btCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btCompoundShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, $12 = 0; $11 = __stack_pointer - 48 | 0; __stack_pointer = $11; HEAP32[($11 + 44 | 0) >> 2] = $0; HEAP32[($11 + 40 | 0) >> 2] = $1; HEAP32[($11 + 36 | 0) >> 2] = $2; HEAP32[($11 + 32 | 0) >> 2] = $3; HEAP32[($11 + 28 | 0) >> 2] = $4; HEAPF32[($11 + 24 | 0) >> 2] = $5; HEAP32[($11 + 20 | 0) >> 2] = $6; HEAP32[($11 + 16 | 0) >> 2] = $7; HEAP32[($11 + 12 | 0) >> 2] = $8; $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; btDbvt__ICollide__ICollide_28_29($12 | 0) | 0; HEAP32[$12 >> 2] = 92788 + 8 | 0; HEAP32[($12 + 4 | 0) >> 2] = HEAP32[($11 + 40 | 0) >> 2] | 0; HEAP32[($12 + 8 | 0) >> 2] = HEAP32[($11 + 36 | 0) >> 2] | 0; HEAP32[($12 + 12 | 0) >> 2] = HEAP32[($11 + 32 | 0) >> 2] | 0; HEAP32[($12 + 16 | 0) >> 2] = HEAP32[($11 + 28 | 0) >> 2] | 0; HEAPF32[($12 + 20 | 0) >> 2] = Math_fround(HEAPF32[($11 + 24 | 0) >> 2]); HEAP32[($12 + 24 | 0) >> 2] = HEAP32[($11 + 20 | 0) >> 2] | 0; HEAP32[($12 + 28 | 0) >> 2] = HEAP32[($11 + 16 | 0) >> 2] | 0; HEAP32[($12 + 32 | 0) >> 2] = HEAP32[($11 + 12 | 0) >> 2] | 0; __stack_pointer = $11 + 48 | 0; return $12 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 144 | 0; __stack_pointer = $6; HEAP32[($6 + 140 | 0) >> 2] = $0; HEAP32[($6 + 136 | 0) >> 2] = $1; HEAP32[($6 + 132 | 0) >> 2] = $2; HEAP32[($6 + 128 | 0) >> 2] = $3; $7 = HEAP32[($6 + 140 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29_20const($6 + 64 | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 132 | 0) >> 2] | 0 | 0); btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__LocalInfoAdder_28int_2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionShape_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 128 | 0) >> 2] | 0 | 0) | 0; btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($6 + 8 | 0 | 0, HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6 + 128 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 64 | 0 | 0, -1 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0) | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, $6 + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2]))); btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29($6 + 32 | 0 | 0) | 0; __stack_pointer = $6 + 144 | 0; return; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexPenetrationDepthSolver__btConvexPenetrationDepthSolver_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 92296 + 8 | 0; return $4 | 0; } function btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__LocalInfoAdder_28int_2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionShape_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCollisionWorld__ConvexResultCallback__ConvexResultCallback_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 93004 + 8 | 0; HEAP32[($7 + 20 | 0) >> 2] = HEAP32[$6 >> 2] | 0; HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]); __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__rayTest_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $14 = 0, $15 = 0, $16 = 0; $6 = __stack_pointer - 304 | 0; __stack_pointer = $6; HEAP32[($6 + 300 | 0) >> 2] = $0; HEAP32[($6 + 296 | 0) >> 2] = $1; HEAP32[($6 + 292 | 0) >> 2] = $2; HEAP32[($6 + 288 | 0) >> 2] = $3; $7 = HEAP32[($6 + 300 | 0) >> 2] | 0; btSingleRayCallback__btSingleRayCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld_20const__2c_20btCollisionWorld__RayResultCallback__29($6 + 68 | 0 | 0, HEAP32[($6 + 296 | 0) >> 2] | 0 | 0, HEAP32[($6 + 292 | 0) >> 2] | 0 | 0, $7 | 0, HEAP32[($6 + 288 | 0) >> 2] | 0 | 0) | 0; $14 = HEAP32[($7 + 68 | 0) >> 2] | 0; $15 = HEAP32[($6 + 296 | 0) >> 2] | 0; $16 = HEAP32[($6 + 292 | 0) >> 2] | 0; HEAPF32[($6 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 52 | 0 | 0, $6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0) | 0; HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($14, $15, $16, $6 + 68 | 0, $6 + 52 | 0, $6 + 24 | 0); btSingleRayCallback___btSingleRayCallback_28_29($6 + 68 | 0 | 0) | 0; __stack_pointer = $6 + 304 | 0; return; } function btSingleRayCallback__btSingleRayCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld_20const__2c_20btCollisionWorld__RayResultCallback__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $123 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $67 = Math_fround(0), $90 = Math_fround(0), $113 = Math_fround(0), $128 = 0.0, $195 = 0, $205 = 0, $214 = 0, $224 = 0, $158 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $7 = __stack_pointer - 64 | 0; __stack_pointer = $7; HEAP32[($7 + 56 | 0) >> 2] = $0; HEAP32[($7 + 52 | 0) >> 2] = $1; HEAP32[($7 + 48 | 0) >> 2] = $2; HEAP32[($7 + 44 | 0) >> 2] = $3; HEAP32[($7 + 40 | 0) >> 2] = $4; $8 = HEAP32[($7 + 56 | 0) >> 2] | 0; HEAP32[($7 + 60 | 0) >> 2] = $8; btBroadphaseRayCallback__btBroadphaseRayCallback_28_29($8 | 0) | 0; HEAP32[$8 >> 2] = 93264 + 8 | 0; $13 = $8 + 36 | 0; i64toi32_i32$2 = HEAP32[($7 + 52 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $195 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $195; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $205 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $205; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $21 = $8 + 52 | 0; i64toi32_i32$2 = HEAP32[($7 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $214 = i64toi32_i32$0; i64toi32_i32$0 = $21; HEAP32[i64toi32_i32$0 >> 2] = $214; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $224 = i64toi32_i32$1; i64toi32_i32$1 = $21 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $224; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btTransform__btTransform_28_29($8 + 68 | 0 | 0) | 0; btTransform__btTransform_28_29($8 + 132 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 196 | 0 | 0) | 0; HEAP32[($8 + 212 | 0) >> 2] = HEAP32[($7 + 44 | 0) >> 2] | 0; HEAP32[($8 + 216 | 0) >> 2] = HEAP32[($7 + 40 | 0) >> 2] | 0; btTransform__setIdentity_28_29($8 + 68 | 0 | 0); btTransform__setOrigin_28btVector3_20const__29($8 + 68 | 0 | 0, $8 + 36 | 0 | 0); btTransform__setIdentity_28_29($8 + 132 | 0 | 0); btTransform__setOrigin_28btVector3_20const__29($8 + 132 | 0 | 0, $8 + 52 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 24 | 0 | 0, HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7 + 52 | 0) >> 2] | 0 | 0); btVector3__normalize_28_29($7 + 24 | 0 | 0) | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$2 } $67 = Math_fround(999999984306749440.0); break label$1; } $67 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 4 | 0 | 0) | 0, wasm2js_f32$0 = $67), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$4 } $90 = Math_fround(999999984306749440.0); break label$3; } $90 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) + 4 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 4 | 0 | 0) | 0, wasm2js_f32$0 = $90), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$6 } $113 = Math_fround(999999984306749440.0); break label$5; } $113 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) + 8 | 0) >> 2])); } $123 = $8 + 4 | 0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($123 | 0) | 0, wasm2js_f32$0 = $113), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $128 = 0.0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($123 | 0) | 0) >> 2]) < $128), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8 + 24 | 0, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($123 | 0) | 0) + 4 | 0) >> 2]) < $128), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($123 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 8 | 0 | 0, $8 + 52 | 0 | 0, $8 + 36 | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 24 | 0 | 0, $7 + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; $158 = HEAP32[($7 + 60 | 0) >> 2] | 0; __stack_pointer = $7 + 64 | 0; return $158 | 0; } function btSingleRayCallback___btSingleRayCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBroadphaseRayCallback___btBroadphaseRayCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBroadphaseRayCallback__btBroadphaseRayCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBroadphaseAabbCallback__btBroadphaseAabbCallback_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 93392 + 8 | 0; btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBroadphaseRayCallback___btBroadphaseRayCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); var $8 = 0, $9 = 0, $117 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_i32$6 = 0; $8 = __stack_pointer - 528 | 0; __stack_pointer = $8; HEAP32[($8 + 524 | 0) >> 2] = $0; HEAP32[($8 + 520 | 0) >> 2] = $1; HEAP32[($8 + 516 | 0) >> 2] = $2; HEAP32[($8 + 512 | 0) >> 2] = $3; HEAP32[($8 + 508 | 0) >> 2] = $4; HEAPF32[($8 + 504 | 0) >> 2] = $5; $9 = HEAP32[($8 + 524 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($8 + 503 | 0 | 0, 67439 | 0) | 0; btTransform__btTransform_28_29($8 + 436 | 0 | 0) | 0; btTransform__btTransform_28_29($8 + 372 | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($8 + 436 | 0 | 0, HEAP32[($8 + 516 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($8 + 372 | 0 | 0, HEAP32[($8 + 512 | 0) >> 2] | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 356 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 340 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 324 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 308 | 0 | 0) | 0; btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29($8 + 436 | 0 | 0, $8 + 372 | 0 | 0, Math_fround(Math_fround(1.0)), $8 + 324 | 0 | 0, $8 + 308 | 0 | 0); btVector3__btVector3_28_29($8 + 292 | 0 | 0) | 0; HEAPF32[($8 + 288 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 284 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 280 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 292 | 0 | 0, $8 + 288 | 0 | 0, $8 + 284 | 0 | 0, $8 + 280 | 0 | 0); btTransform__btTransform_28_29($8 + 216 | 0 | 0) | 0; btTransform__setIdentity_28_29($8 + 216 | 0 | 0); btTransform__getRotation_28_29_20const($8 + 200 | 0 | 0, $8 + 436 | 0 | 0); btTransform__setRotation_28btQuaternion_20const__29($8 + 216 | 0 | 0, $8 + 200 | 0 | 0); btCollisionShape__calculateTemporalAabb_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($8 + 520 | 0) >> 2] | 0 | 0, $8 + 216 | 0 | 0, $8 + 292 | 0 | 0, $8 + 308 | 0 | 0, Math_fround(Math_fround(1.0)), $8 + 356 | 0 | 0, $8 + 340 | 0 | 0); btSingleSweepCallback__btSingleSweepCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29($8 + 4 | 0 | 0, HEAP32[($8 + 520 | 0) >> 2] | 0 | 0, HEAP32[($8 + 516 | 0) >> 2] | 0 | 0, HEAP32[($8 + 512 | 0) >> 2] | 0 | 0, $9 | 0, HEAP32[($8 + 508 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 504 | 0) >> 2]))) | 0; $117 = HEAP32[($9 + 68 | 0) >> 2] | 0; ((((((wasm2js_i32$1 = $117, wasm2js_i32$2 = btTransform__getOrigin_28_29($8 + 436 | 0 | 0) | 0), wasm2js_i32$3 = btTransform__getOrigin_28_29($8 + 372 | 0 | 0) | 0), wasm2js_i32$4 = $8 + 4 | 0), wasm2js_i32$5 = $8 + 356 | 0), wasm2js_i32$6 = $8 + 340 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$117 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0); btSingleSweepCallback___btSingleSweepCallback_28_29($8 + 4 | 0 | 0) | 0; CProfileSample___CProfileSample_28_29($8 + 503 | 0 | 0) | 0; __stack_pointer = $8 + 528 | 0; return; } function btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $24 = 0, $26 = 0, $61 = 0, $63 = 0, $121 = 0, $134 = 0, $192 = 0, $205 = 0; $7 = __stack_pointer - 112 | 0; __stack_pointer = $7; HEAP32[($7 + 108 | 0) >> 2] = $0; HEAP32[($7 + 104 | 0) >> 2] = $1; HEAPF32[($7 + 100 | 0) >> 2] = $2; HEAP32[($7 + 96 | 0) >> 2] = $3; HEAP32[($7 + 92 | 0) >> 2] = $4; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 60 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29_1($7 + 76 | 0 | 0, $7 + 60 | 0 | 0, $7 + 100 | 0 | 0); $24 = HEAP32[($7 + 96 | 0) >> 2] | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 76 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 80 | 0) >> 2] | 0; $121 = i64toi32_i32$0; i64toi32_i32$0 = $24; HEAP32[i64toi32_i32$0 >> 2] = $121; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = ($7 + 76 | 0) + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $134 = i64toi32_i32$1; i64toi32_i32$1 = $24 + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $134; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($7 + 44 | 0 | 0) | 0; btTransformUtil__calculateDiffAxisAngle_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20float__29(HEAP32[($7 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7 + 104 | 0) >> 2] | 0 | 0, $7 + 44 | 0 | 0, $7 + 40 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($7 + 8 | 0 | 0, $7 + 44 | 0 | 0, $7 + 40 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29_1($7 + 24 | 0 | 0, $7 + 8 | 0 | 0, $7 + 100 | 0 | 0); $61 = HEAP32[($7 + 92 | 0) >> 2] | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 28 | 0) >> 2] | 0; $192 = i64toi32_i32$0; i64toi32_i32$0 = $61; HEAP32[i64toi32_i32$0 >> 2] = $192; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $63 = 8; i64toi32_i32$2 = ($7 + 24 | 0) + $63 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $205 = i64toi32_i32$1; i64toi32_i32$1 = $61 + $63 | 0; HEAP32[i64toi32_i32$1 >> 2] = $205; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $7 + 112 | 0; return; } function btTransform__getRotation_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btQuaternion__btQuaternion_28_29($0 | 0) | 0; btMatrix3x3__getRotation_28btQuaternion__29_20const($5 | 0, $0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btSingleSweepCallback__btSingleSweepCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); var $9 = 0, $10 = 0, $94 = 0, $48 = Math_fround(0), $67 = Math_fround(0), $86 = Math_fround(0), $99 = 0.0, $120 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $9 = __stack_pointer - 64 | 0; __stack_pointer = $9; HEAP32[($9 + 56 | 0) >> 2] = $0; HEAP32[($9 + 52 | 0) >> 2] = $1; HEAP32[($9 + 48 | 0) >> 2] = $2; HEAP32[($9 + 44 | 0) >> 2] = $3; HEAP32[($9 + 40 | 0) >> 2] = $4; HEAP32[($9 + 36 | 0) >> 2] = $5; HEAPF32[($9 + 32 | 0) >> 2] = $6; $10 = HEAP32[($9 + 56 | 0) >> 2] | 0; HEAP32[($9 + 60 | 0) >> 2] = $10; btBroadphaseRayCallback__btBroadphaseRayCallback_28_29($10 | 0) | 0; HEAP32[$10 >> 2] = 93432 + 8 | 0; btTransform__btTransform_28btTransform_20const__29($10 + 36 | 0 | 0, HEAP32[($9 + 48 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($10 + 100 | 0 | 0, HEAP32[($9 + 44 | 0) >> 2] | 0 | 0) | 0; btVector3__btVector3_28_29($10 + 164 | 0 | 0) | 0; HEAP32[($10 + 180 | 0) >> 2] = HEAP32[($9 + 40 | 0) >> 2] | 0; HEAP32[($10 + 184 | 0) >> 2] = HEAP32[($9 + 36 | 0) >> 2] | 0; HEAPF32[($10 + 188 | 0) >> 2] = Math_fround(HEAPF32[($9 + 32 | 0) >> 2]); HEAP32[($10 + 192 | 0) >> 2] = HEAP32[($9 + 52 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 16 | 0 | 0, btTransform__getOrigin_28_29($10 + 100 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($10 + 36 | 0 | 0) | 0 | 0); btVector3__normalized_28_29_20const($9 | 0, $9 + 16 | 0 | 0); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($9 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$2 } $48 = Math_fround(999999984306749440.0); break label$1; } $48 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($9 | 0) | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 4 | 0 | 0) | 0, wasm2js_f32$0 = $48), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($9 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$4 } $67 = Math_fround(999999984306749440.0); break label$3; } $67 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($9 | 0) | 0) + 4 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 4 | 0 | 0) | 0, wasm2js_f32$0 = $67), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($9 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$6 } $86 = Math_fround(999999984306749440.0); break label$5; } $86 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($9 | 0) | 0) + 8 | 0) >> 2])); } $94 = $10 + 4 | 0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($94 | 0) | 0, wasm2js_f32$0 = $86), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $99 = 0.0; (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($94 | 0) | 0) >> 2]) < $99), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10 + 24 | 0, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($94 | 0) | 0) + 4 | 0) >> 2]) < $99), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($94 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 | 0, $9 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; $120 = HEAP32[($9 + 60 | 0) >> 2] | 0; __stack_pointer = $9 + 64 | 0; return $120 | 0; } function btSingleSweepCallback___btSingleSweepCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBroadphaseRayCallback___btBroadphaseRayCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTransformUtil__calculateDiffAxisAngle_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20float__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $52 = 0, $54 = 0, $88 = 0, $90 = 0, $8 = 0, $35 = Math_fround(0), $206 = 0, $219 = 0, $280 = 0, $293 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 192 | 0; __stack_pointer = $6; HEAP32[($6 + 188 | 0) >> 2] = $0; HEAP32[($6 + 184 | 0) >> 2] = $1; HEAP32[($6 + 180 | 0) >> 2] = $2; HEAP32[($6 + 176 | 0) >> 2] = $3; $8 = btTransform__getBasis_28_29_20const(HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) | 0; btMatrix3x3__inverse_28_29_20const($6 + 80 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 188 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($6 + 128 | 0 | 0, $8 | 0, $6 + 80 | 0 | 0); btQuaternion__btQuaternion_28_29($6 + 64 | 0 | 0) | 0; btMatrix3x3__getRotation_28btQuaternion__29_20const($6 + 128 | 0 | 0, $6 + 64 | 0 | 0); btQuaternion__normalize_28_29($6 + 64 | 0 | 0) | 0; $35 = Math_fround(btQuaternion__getAngle_28_29_20const($6 + 64 | 0 | 0)); HEAPF32[(HEAP32[($6 + 176 | 0) >> 2] | 0) >> 2] = $35; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, btQuadWord__x_28_29_20const($6 + 64 | 0 | 0) | 0 | 0, btQuadWord__y_28_29_20const($6 + 64 | 0 | 0) | 0 | 0, btQuadWord__z_28_29_20const($6 + 64 | 0 | 0) | 0 | 0) | 0; $52 = HEAP32[($6 + 180 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 52 | 0) >> 2] | 0; $206 = i64toi32_i32$0; i64toi32_i32$0 = $52; HEAP32[i64toi32_i32$0 >> 2] = $206; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $54 = 8; i64toi32_i32$2 = ($6 + 48 | 0) + $54 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $219 = i64toi32_i32$1; i64toi32_i32$1 = $52 + $54 | 0; HEAP32[i64toi32_i32$1 >> 2] = $219; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($6 + 180 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($6 + 180 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$2 } HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0) | 0; $88 = HEAP32[($6 + 180 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 32 | 0) >> 2] | 0; $280 = i64toi32_i32$0; i64toi32_i32$0 = $88; HEAP32[i64toi32_i32$0 >> 2] = $280; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $90 = 8; i64toi32_i32$2 = ($6 + 28 | 0) + $90 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $293 = i64toi32_i32$1; i64toi32_i32$1 = $88 + $90 | 0; HEAP32[i64toi32_i32$1 >> 2] = $293; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$1; } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29(HEAP32[($6 + 180 | 0) >> 2] | 0 | 0, $6 + 12 | 0 | 0) | 0; } __stack_pointer = $6 + 192 | 0; return; } function btQuaternion__btQuaternion_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btQuadWord__btQuadWord_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btVector3__normalized_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4 = 0, $5 = 0, $6 = 0, $18 = 0, $45 = 0, $49 = 0, $59 = 0, $69 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; $6 = 8; i64toi32_i32$2 = $5 + $6 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $45 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 8 | 0) + $6 | 0; HEAP32[i64toi32_i32$0 >> 2] = $45; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $49 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $49; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = btVector3__normalize_28_29(i64toi32_i32$1 + 8 | 0 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $59 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $59; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $18 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $18 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $69 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $18 | 0; HEAP32[i64toi32_i32$1 >> 2] = $69; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 32 | 0; return; } function btBroadphaseAabbCallback__btBroadphaseAabbCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 93412 + 8 | 0; return $4 | 0; } function btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btCollisionWorld__debugDrawObject_28btTransform_20const__2c_20btCollisionShape_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $19 = 0, $27 = 0, $79 = 0, $88 = 0, $106 = 0, $112 = 0, $144 = 0, $173 = 0, $190 = 0, $201 = 0, $220 = 0, $236 = 0, $335 = 0, $379 = 0, $431 = 0, $471 = 0, $486 = 0, $512 = 0, $568 = 0, $631 = 0, $642 = 0, $147 = Math_fround(0), $439 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 976 | 0; __stack_pointer = $6; HEAP32[($6 + 972 | 0) >> 2] = $0; HEAP32[($6 + 968 | 0) >> 2] = $1; HEAP32[($6 + 964 | 0) >> 2] = $2; HEAP32[($6 + 960 | 0) >> 2] = $3; $7 = HEAP32[($6 + 972 | 0) >> 2] | 0; label$1 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $19 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$19 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($19) | 0) & 32768 | 0)) { break label$1 } $27 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$27 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($27, HEAP32[($6 + 968 | 0) >> 2] | 0, Math_fround(.10000000149011612)); } label$2 : { label$3 : { if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0 | 0) == (31 | 0) & 1 | 0)) { break label$3 } HEAP32[($6 + 956 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($6 + 956 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 952 | 0) >> 2] = wasm2js_i32$1; label$4 : { label$5 : while (1) { if (!((HEAP32[($6 + 952 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$4 } btTransform__btTransform_28btTransform_20const__29($6 + 888 | 0 | 0, btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($6 + 956 | 0) >> 2] | 0 | 0, HEAP32[($6 + 952 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($6 + 956 | 0) >> 2] | 0 | 0, HEAP32[($6 + 952 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 884 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29_20const($6 + 820 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 888 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($7, $6 + 820 | 0, HEAP32[($6 + 884 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); HEAP32[($6 + 952 | 0) >> 2] = (HEAP32[($6 + 952 | 0) >> 2] | 0) + -1 | 0; continue label$5; }; } break label$2; } $79 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0; label$6 : { label$7 : { switch ($79 | 0) { case 0: HEAP32[($6 + 816 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; btBoxShape__getHalfExtentsWithMargin_28_29_20const($6 + 800 | 0 | 0, HEAP32[($6 + 816 | 0) >> 2] | 0 | 0); $88 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; operator__28btVector3_20const__29($6 + 784 | 0 | 0, $6 + 800 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$88 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($88, $6 + 784 | 0, $6 + 800 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); break label$6; case 8: HEAP32[($6 + 780 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; $106 = HEAP32[($6 + 780 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$106 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($106))), HEAPF32[(wasm2js_i32$0 + 776 | 0) >> 2] = wasm2js_f32$0; $112 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$112 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($112, Math_fround(HEAPF32[($6 + 776 | 0) >> 2]), HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); break label$6; case 9: HEAP32[($6 + 772 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; btTransform__btTransform_28_29($6 + 708 | 0 | 0) | 0; btTransform__setIdentity_28_29($6 + 708 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btMultiSphereShape__getSphereCount_28_29_20const(HEAP32[($6 + 772 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 704 | 0) >> 2] = wasm2js_i32$1; label$15 : { label$16 : while (1) { if (!((HEAP32[($6 + 704 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$15 } btTransform__setOrigin_28btVector3_20const__29($6 + 708 | 0 | 0, btMultiSphereShape__getSpherePosition_28int_29_20const(HEAP32[($6 + 772 | 0) >> 2] | 0 | 0, HEAP32[($6 + 704 | 0) >> 2] | 0 | 0) | 0 | 0); $144 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; $147 = Math_fround(btMultiSphereShape__getSphereRadius_28int_29_20const(HEAP32[($6 + 772 | 0) >> 2] | 0 | 0, HEAP32[($6 + 704 | 0) >> 2] | 0 | 0)); btTransform__operator__28btTransform_20const__29_20const($6 + 640 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 708 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$144 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($144, $147, $6 + 640 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); HEAP32[($6 + 704 | 0) >> 2] = (HEAP32[($6 + 704 | 0) >> 2] | 0) + -1 | 0; continue label$16; }; } break label$6; case 10: HEAP32[($6 + 636 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($6 + 636 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 632 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($6 + 636 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($6 + 636 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 624 | 0) >> 2] = wasm2js_i32$1; $173 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$173 >> 2] | 0) + 84 | 0) >> 2] | 0 | 0]($173, Math_fround(HEAPF32[($6 + 632 | 0) >> 2]), Math_fround(HEAPF32[($6 + 628 | 0) >> 2]), HEAP32[($6 + 624 | 0) >> 2] | 0, HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); break label$6; case 11: HEAP32[($6 + 620 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btConeShape__getRadius_28_29_20const(HEAP32[($6 + 620 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 616 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btConeShape__getHeight_28_29_20const(HEAP32[($6 + 620 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 612 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConeShape__getConeUpIndex_28_29_20const(HEAP32[($6 + 620 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_i32$1; $190 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$190 >> 2] | 0) + 92 | 0) >> 2] | 0 | 0]($190, Math_fround(HEAPF32[($6 + 616 | 0) >> 2]), Math_fround(HEAPF32[($6 + 612 | 0) >> 2]), HEAP32[($6 + 608 | 0) >> 2] | 0, HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); break label$6; case 13: HEAP32[($6 + 604 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCylinderShape__getUpAxis_28_29_20const(HEAP32[($6 + 604 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 600 | 0) >> 2] = wasm2js_i32$1; $201 = HEAP32[($6 + 604 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$201 >> 2] | 0) + 92 | 0) >> 2] | 0 | 0]($201))), HEAPF32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_f32$0; btCylinderShape__getHalfExtentsWithMargin_28_29_20const($6 + 576 | 0 | 0, HEAP32[($6 + 604 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 576 | 0 | 0) | 0) + ((HEAP32[($6 + 600 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_f32$0; $220 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$220 >> 2] | 0) + 88 | 0) >> 2] | 0 | 0]($220, Math_fround(HEAPF32[($6 + 596 | 0) >> 2]), Math_fround(HEAPF32[($6 + 592 | 0) >> 2]), HEAP32[($6 + 600 | 0) >> 2] | 0, HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); break label$6; case 28: HEAP32[($6 + 572 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[(btStaticPlaneShape__getPlaneConstant_28_29_20const(HEAP32[($6 + 572 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 568 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($6 + 572 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 564 | 0) >> 2] = wasm2js_i32$1; $236 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$236 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($236, HEAP32[($6 + 564 | 0) >> 2] | 0, Math_fround(HEAPF32[($6 + 568 | 0) >> 2]), HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); break label$6; default: break label$7; }; } label$17 : { if (!((btCollisionShape__isPolyhedral_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$17 } HEAP32[($6 + 560 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; label$18 : { label$19 : { if (!((btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($6 + 560 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$19 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($6 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 556 | 0) >> 2] = 0; label$20 : { label$21 : while (1) { if (!((HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$20 } HEAPF32[($6 + 532 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 528 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 524 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 536 | 0 | 0, $6 + 532 | 0 | 0, $6 + 528 | 0 | 0, $6 + 524 | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 520 | 0) >> 2] = wasm2js_i32$1; label$22 : { if (!(HEAP32[($6 + 520 | 0) >> 2] | 0)) { break label$22 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6 + 520 | 0) >> 2] | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 516 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 512 | 0) >> 2] = 0; label$23 : { label$24 : while (1) { if (!((HEAP32[($6 + 512 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { break label$23 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 512 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_i32$1; btVector3__operator___28btVector3_20const__29_1($6 + 536 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($6 + 508 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $335 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; btTransform__operator__28btVector3_20const__29_20const($6 + 492 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($6 + 516 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 476 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($6 + 508 | 0) >> 2] | 0 | 0) | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$335 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($335, $6 + 492 | 0, $6 + 476 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); HEAP32[($6 + 516 | 0) >> 2] = HEAP32[($6 + 508 | 0) >> 2] | 0; HEAP32[($6 + 512 | 0) >> 2] = (HEAP32[($6 + 512 | 0) >> 2] | 0) + 1 | 0; continue label$24; }; } } HEAPF32[($6 + 472 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAP32[($6 + 520 | 0) >> 2] | 0 | 0)); btVector3__operator___28float_20const__29_1($6 + 536 | 0 | 0, $6 + 472 | 0 | 0) | 0; $379 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; label$25 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$379 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($379) | 0) & 16384 | 0)) { break label$25 } HEAPF32[($6 + 452 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 448 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 444 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 456 | 0 | 0, $6 + 452 | 0 | 0, $6 + 448 | 0 | 0, $6 + 444 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 428 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; $431 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; btTransform__operator__28btVector3_20const__29_20const($6 + 412 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 536 | 0 | 0); $439 = HEAP32[($6 + 968 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 380 | 0 | 0, $6 + 536 | 0 | 0, $6 + 428 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 396 | 0 | 0, $439 | 0, $6 + 380 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$431 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($431, $6 + 412 | 0, $6 + 396 | 0, $6 + 456 | 0); } HEAP32[($6 + 556 | 0) >> 2] = (HEAP32[($6 + 556 | 0) >> 2] | 0) + 1 | 0; continue label$21; }; } break label$18; } HEAP32[($6 + 556 | 0) >> 2] = 0; label$26 : { label$27 : while (1) { $471 = HEAP32[($6 + 560 | 0) >> 2] | 0; if (!((HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$471 >> 2] | 0) + 100 | 0) >> 2] | 0 | 0]($471) | 0 | 0) & 1 | 0)) { break label$26 } btVector3__btVector3_28_29($6 + 364 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 348 | 0 | 0) | 0; $486 = HEAP32[($6 + 560 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$486 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($486, HEAP32[($6 + 556 | 0) >> 2] | 0, $6 + 364 | 0, $6 + 348 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 332 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 364 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 316 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 348 | 0 | 0); $512 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$512 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($512, $6 + 332 | 0, $6 + 316 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); HEAP32[($6 + 556 | 0) >> 2] = (HEAP32[($6 + 556 | 0) >> 2] | 0) + 1 | 0; continue label$27; }; } } } label$28 : { if (!((btCollisionShape__isConcave_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$28 } HEAP32[($6 + 312 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; HEAPF32[($6 + 292 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 288 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 284 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 296 | 0 | 0, $6 + 292 | 0 | 0, $6 + 288 | 0 | 0, $6 + 284 | 0 | 0) | 0; HEAPF32[($6 + 264 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 260 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 256 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 268 | 0 | 0, $6 + 264 | 0 | 0, $6 + 260 | 0 | 0, $6 + 256 | 0 | 0) | 0; DebugDrawcallback__DebugDrawcallback_28btIDebugDraw__2c_20btTransform_20const__2c_20btVector3_20const__29($6 + 164 | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0 | 0) | 0; $568 = HEAP32[($6 + 312 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$568 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($568, $6 + 164 | 0, $6 + 268 | 0, $6 + 296 | 0); DebugDrawcallback___DebugDrawcallback_28_29($6 + 164 | 0 | 0) | 0; } label$29 : { if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0 | 0) == (3 | 0) & 1 | 0)) { break label$29 } HEAP32[($6 + 160 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; HEAPF32[($6 + 140 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 136 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 132 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $6 + 140 | 0 | 0, $6 + 136 | 0 | 0, $6 + 132 | 0 | 0) | 0; HEAPF32[($6 + 112 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 108 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 104 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 116 | 0 | 0, $6 + 112 | 0 | 0, $6 + 108 | 0 | 0, $6 + 104 | 0 | 0) | 0; DebugDrawcallback__DebugDrawcallback_28btIDebugDraw__2c_20btTransform_20const__2c_20btVector3_20const__29($6 + 12 | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0 | 0) | 0; $631 = btConvexTriangleMeshShape__getMeshInterface_28_29(HEAP32[($6 + 160 | 0) >> 2] | 0 | 0) | 0; $642 = 0; label$30 : { if (($6 + 12 | 0 | 0) == (0 | 0) & 1 | 0) { break label$30 } $642 = ($6 + 12 | 0) + 4 | 0; } FUNCTION_TABLE[HEAP32[((HEAP32[$631 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($631, $642, $6 + 116 | 0, $6 + 144 | 0); DebugDrawcallback___DebugDrawcallback_28_29($6 + 12 | 0 | 0) | 0; } } } __stack_pointer = $6 + 976 | 0; return; } function btBoxShape__getHalfExtentsWithMargin_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $50 = 0, $60 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; i64toi32_i32$2 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const($5 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $50 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $50; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $8 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $60 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $8 | 0; HEAP32[i64toi32_i32$1 >> 2] = $60; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($0 | 0, $4 + 12 | 0 | 0) | 0; __stack_pointer = $4 + 32 | 0; return; } function btMultiSphereShape__getSphereCount_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btVector3___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 96 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btMultiSphereShape__getSpherePosition_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $9 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 96 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $9 | 0; } function btMultiSphereShape__getSphereRadius_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $10 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $10 = Math_fround(HEAPF32[(btAlignedObjectArray_float___operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 116 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); __stack_pointer = $4 + 16 | 0; return Math_fround($10); } function btCapsuleShape__getRadius_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $17 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = ((HEAP32[($4 + 60 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; $17 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 36 | 0 | 0) | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($17); } function btCapsuleShape__getHalfHeight_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $12 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $12 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 36 | 0 | 0) | 0) + ((HEAP32[($4 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($12); } function btCapsuleShape__getUpAxis_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; } function btConeShape__getRadius_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2])); } function btConeShape__getHeight_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2])); } function btConeShape__getConeUpIndex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0; } function btCylinderShape__getUpAxis_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; } function btCylinderShape__getHalfExtentsWithMargin_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $50 = 0, $60 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; i64toi32_i32$2 = btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const($5 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $50 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $50; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $8 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $60 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $8 | 0; HEAP32[i64toi32_i32$1 >> 2] = $60; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($0 | 0, $4 + 12 | 0 | 0) | 0; __stack_pointer = $4 + 32 | 0; return; } function btStaticPlaneShape__getPlaneConstant_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0 | 0; } function btCollisionShape__isPolyhedral_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = (btBroadphaseProxy__isPolyhedral_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btFace___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 36) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btVector3__operator___28float_20const__29_1($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); return $5 | 0; } function DebugDrawcallback__DebugDrawcallback_28btIDebugDraw__2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $18 = 0, $21 = 0, $74 = 0, $84 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btTriangleCallback__btTriangleCallback_28_29($7 | 0) | 0; btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($7 + 4 | 0 | 0) | 0; HEAP32[$7 >> 2] = 93488 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = 93488 + 32 | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; $18 = $7 + 12 | 0; i64toi32_i32$2 = HEAP32[$6 >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $74 = i64toi32_i32$0; i64toi32_i32$0 = $18; HEAP32[i64toi32_i32$0 >> 2] = $74; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $21 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $21 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $84 = i64toi32_i32$1; i64toi32_i32$1 = $18 + $21 | 0; HEAP32[i64toi32_i32$1 >> 2] = $84; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btTransform__btTransform_28btTransform_20const__29($7 + 28 | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function DebugDrawcallback___DebugDrawcallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 + 4 | 0 | 0) | 0; btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexTriangleMeshShape__getMeshInterface_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; } function btBoxShape__getHalfExtentsWithoutMargin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 36 | 0 | 0; } function btAlignedObjectArray_float___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 36 | 0 | 0; } function btBroadphaseProxy__isPolyhedral_28int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (7 | 0) & 1 | 0 | 0; } function btTriangleCallback__btTriangleCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 100388 + 8 | 0; return $4 | 0; } function btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 100440 + 8 | 0; return $4 | 0; } function btCollisionWorld__debugDrawWorld_28_29($0) { $0 = $0 | 0; var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $4 = 0, $142 = 0, $297 = 0, $16 = 0, $21 = 0, $29 = 0, $42 = 0, $54 = 0, $74 = 0, $100 = 0, $136 = 0, $154 = 0, $158 = 0, $159 = 0, $170 = 0, $171 = 0, $182 = 0, $183 = 0, $194 = 0, $195 = 0, $206 = 0, $207 = 0, $229 = 0, $258 = 0, $274 = 0, $275 = 0, $283 = 0, $331 = 0, $360 = 0, $738 = 0, $742 = 0, $762 = 0, $766 = 0, $786 = 0, $790 = 0, $810 = 0, $814 = 0, $834 = 0, $838 = 0, $881 = 0, $885 = 0, $973 = 0, $977 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $3 = __stack_pointer - 320 | 0; __stack_pointer = $3; HEAP32[($3 + 316 | 0) >> 2] = $0; $4 = HEAP32[($3 + 316 | 0) >> 2] | 0; label$1 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $16 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 100 | 0) >> 2] | 0 | 0]($16); $21 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($3 + 188 | 0, $21); $29 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; label$2 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$29 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($29) | 0) & 8 | 0)) { break label$2 } label$3 : { if (!((btCollisionWorld__getDispatcher_28_29($4 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } $42 = btCollisionWorld__getDispatcher_28_29($4 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$42 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($42) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 180 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($3 + 180 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } $54 = btCollisionWorld__getDispatcher_28_29($4 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$54 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($54, HEAP32[($3 + 180 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($3 + 176 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 168 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($3 + 168 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($3 + 176 | 0) >> 2] | 0 | 0, HEAP32[($3 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; $74 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; ((((((wasm2js_i32$1 = $74, wasm2js_i32$2 = (HEAP32[($3 + 164 | 0) >> 2] | 0) + 32 | 0), wasm2js_i32$3 = (HEAP32[($3 + 164 | 0) >> 2] | 0) + 64 | 0), wasm2js_f32$0 = Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($3 + 164 | 0) >> 2] | 0 | 0))), wasm2js_i32$4 = btManifoldPoint__getLifeTime_28_29_20const(HEAP32[($3 + 164 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = ($3 + 188 | 0) + 96 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$74 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$4 | 0, wasm2js_i32$5 | 0); HEAP32[($3 + 168 | 0) >> 2] = (HEAP32[($3 + 168 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } HEAP32[($3 + 180 | 0) >> 2] = (HEAP32[($3 + 180 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } } } $100 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; label$8 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$100 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($100) | 0) & 3 | 0)) { break label$8 } HEAP32[($3 + 160 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($3 + 160 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$9 } (wasm2js_i32$0 = $3, wasm2js_i32$5 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 160 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$5; label$11 : { if ((btCollisionObject__getCollisionFlags_28_29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0) & 32 | 0) { break label$11 } label$12 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$12 } $136 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$136 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($136) | 0) & 1 | 0)) { break label$12 } $142 = 1053609165; HEAP32[($3 + 132 | 0) >> 2] = $142; HEAP32[($3 + 128 | 0) >> 2] = $142; HEAP32[($3 + 124 | 0) >> 2] = $142; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 136 | 0 | 0, $3 + 132 | 0 | 0, $3 + 128 | 0 | 0, $3 + 124 | 0 | 0) | 0; $154 = (btCollisionObject__getActivationState_28_29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0) + -1 | 0; label$13 : { label$14 : { switch ($154 | 0) { case 0: $158 = $3 + 188 | 0; $159 = 8; i64toi32_i32$2 = $158 + $159 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $738 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 136 | 0) + $159 | 0; HEAP32[i64toi32_i32$0 >> 2] = $738; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $158; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $742 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 136 | 0) >> 2] = $742; HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; break label$13; case 1: $170 = ($3 + 188 | 0) + 16 | 0; $171 = 8; i64toi32_i32$2 = $170 + $171 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $762 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 136 | 0) + $171 | 0; HEAP32[i64toi32_i32$0 >> 2] = $762; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $170; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $766 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 136 | 0) >> 2] = $766; HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; break label$13; case 2: $182 = ($3 + 188 | 0) + 32 | 0; $183 = 8; i64toi32_i32$2 = $182 + $183 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $786 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 136 | 0) + $183 | 0; HEAP32[i64toi32_i32$0 >> 2] = $786; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $182; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $790 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 136 | 0) >> 2] = $790; HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; break label$13; case 3: $194 = ($3 + 188 | 0) + 48 | 0; $195 = 8; i64toi32_i32$2 = $194 + $195 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $810 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 136 | 0) + $195 | 0; HEAP32[i64toi32_i32$0 >> 2] = $810; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $194; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $814 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 136 | 0) >> 2] = $814; HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; break label$13; case 4: $206 = ($3 + 188 | 0) + 64 | 0; $207 = 8; i64toi32_i32$2 = $206 + $207 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $834 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 136 | 0) + $207 | 0; HEAP32[i64toi32_i32$0 >> 2] = $834; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $206; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $838 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 136 | 0) >> 2] = $838; HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; break label$13; default: break label$14; }; } HEAPF32[($3 + 104 | 0) >> 2] = Math_fround(.30000001192092896); HEAPF32[($3 + 100 | 0) >> 2] = Math_fround(.30000001192092896); HEAPF32[($3 + 96 | 0) >> 2] = Math_fround(.30000001192092896); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 108 | 0 | 0, $3 + 104 | 0 | 0, $3 + 100 | 0 | 0, $3 + 96 | 0 | 0) | 0; $229 = 8; i64toi32_i32$2 = ($3 + 108 | 0) + $229 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $881 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 136 | 0) + $229 | 0; HEAP32[i64toi32_i32$0 >> 2] = $881; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 108 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 112 | 0) >> 2] | 0; $885 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 136 | 0) >> 2] = $885; HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; } btCollisionObject__getCustomDebugColor_28btVector3__29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0, $3 + 136 | 0 | 0) | 0; ((((wasm2js_i32$5 = $4, wasm2js_i32$4 = btCollisionObject__getWorldTransform_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btCollisionObject__getCollisionShape_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = $3 + 136 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$4 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0); } label$20 : { if (!((HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$20 } $258 = HEAP32[($4 + 72 | 0) >> 2] | 0; if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$258 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($258) | 0) & 2 | 0)) { break label$20 } btVector3__btVector3_28_29($3 + 80 | 0 | 0) | 0; btVector3__btVector3_28_29($3 + 64 | 0 | 0) | 0; $274 = ($3 + 188 | 0) + 80 | 0; $275 = 8; i64toi32_i32$2 = $274 + $275 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $973 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 48 | 0) + $275 | 0; HEAP32[i64toi32_i32$0 >> 2] = $973; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $274; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $977 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 48 | 0) >> 2] = $977; HEAP32[($3 + 52 | 0) >> 2] = i64toi32_i32$0; $283 = btCollisionObject__getCollisionShape_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0; ((((wasm2js_i32$2 = $283, wasm2js_i32$3 = btCollisionObject__getWorldTransform_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$4 = $3 + 80 | 0), wasm2js_i32$5 = $3 + 64 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$283 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0); $297 = 112840; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 32 | 0 | 0, $297 | 0, $297 | 0, $297 | 0) | 0; btVector3__operator___28btVector3_20const__29($3 + 80 | 0 | 0, $3 + 32 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($3 + 64 | 0 | 0, $3 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($3 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($3 | 0) | 0; label$21 : { if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($4 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$21 } if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { break label$21 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$21 } $331 = btCollisionObject__getCollisionShape_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0; ((((wasm2js_i32$5 = $331, wasm2js_i32$4 = btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $3 + 16 | 0), wasm2js_i32$2 = $3), wasm2js_i32$0 = HEAP32[((HEAP32[$331 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0); btVector3__operator___28btVector3_20const__29($3 + 16 | 0 | 0, $3 + 32 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($3 | 0, $3 + 32 | 0 | 0) | 0; btVector3__setMin_28btVector3_20const__29($3 + 80 | 0 | 0, $3 + 16 | 0 | 0); btVector3__setMax_28btVector3_20const__29($3 + 64 | 0 | 0, $3 | 0); } $360 = HEAP32[($4 + 72 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$360 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($360, $3 + 80 | 0, $3 + 64 | 0, $3 + 48 | 0); } } HEAP32[($3 + 160 | 0) >> 2] = (HEAP32[($3 + 160 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } } } __stack_pointer = $3 + 320 | 0; return; } function btManifoldPoint__getLifeTime_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 164 | 0) >> 2] | 0 | 0; } function btCollisionObject__getCustomDebugColor_28btVector3__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $20 = 0, $22 = 0, $69 = 0, $79 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP8[($4 + 7 | 0) >> 0] = (0 | 0) != ((HEAP32[($5 + 204 | 0) >> 2] | 0) & 256 | 0 | 0) & 1 | 0; label$1 : { if (!((HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $20 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $5 + 308 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $69 = i64toi32_i32$0; i64toi32_i32$0 = $20; HEAP32[i64toi32_i32$0 >> 2] = $69; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $22 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $79 = i64toi32_i32$1; i64toi32_i32$1 = $20 + $22 | 0; HEAP32[i64toi32_i32$1 >> 2] = $79; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } return (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0 | 0; } function btCollisionWorld__serializeCollisionObjects_28btSerializer__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $58 = 0, $96 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 128 | 0; __stack_pointer = $4; HEAP32[($4 + 124 | 0) >> 2] = $0; HEAP32[($4 + 120 | 0) >> 2] = $1; $5 = HEAP32[($4 + 124 | 0) >> 2] | 0; btHashMap_btHashPtr_2c_20btCollisionShape____btHashMap_28_29($4 + 36 | 0 | 0) | 0; HEAP32[($4 + 116 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; btHashPtr__btHashPtr_28void_20const__29($4 + 20 | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0; label$3 : { if (!(((btHashMap_btHashPtr_2c_20btCollisionShape____find_28btHashPtr_20const__29($4 + 36 | 0 | 0, $4 + 20 | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0)) { break label$3 } btHashPtr__btHashPtr_28void_20const__29($4 + 12 | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0; btHashMap_btHashPtr_2c_20btCollisionShape____insert_28btHashPtr_20const__2c_20btCollisionShape__20const__29($4 + 36 | 0 | 0, $4 + 12 | 0 | 0, $4 + 28 | 0 | 0); $58 = HEAP32[($4 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$58 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($58, HEAP32[($4 + 120 | 0) >> 2] | 0); } HEAP32[($4 + 116 | 0) >> 2] = (HEAP32[($4 + 116 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAP32[($4 + 116 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$6 : { label$7 : { if ((btCollisionObject__getInternalType_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0) { break label$7 } if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (64 | 0) & 1 | 0)) { break label$6 } } $96 = HEAP32[($4 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$96 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($96, HEAP32[($4 + 120 | 0) >> 2] | 0); } HEAP32[($4 + 116 | 0) >> 2] = (HEAP32[($4 + 116 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } btHashMap_btHashPtr_2c_20btCollisionShape_____btHashMap_28_29($4 + 36 | 0 | 0) | 0; __stack_pointer = $4 + 128 | 0; return; } function btHashMap_btHashPtr_2c_20btCollisionShape____btHashMap_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btAlignedObjectArray_btCollisionShape____btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; btAlignedObjectArray_btHashPtr___btAlignedObjectArray_28_29($4 + 60 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHashPtr__btHashPtr_28void_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return $5 | 0; } function btHashMap_btHashPtr_2c_20btCollisionShape____find_28btHashPtr_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $20 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btHashMap_btHashPtr_2c_20btCollisionShape____findIndex_28btHashPtr_20const__29_20const($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[$4 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { break label$2 } HEAP32[($4 + 12 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____operator_5b_5d_28int_29($5 + 40 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; } $20 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $20 | 0; } function btHashMap_btHashPtr_2c_20btCollisionShape____insert_28btHashPtr_20const__2c_20btCollisionShape__20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $25 = 0, $63 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashPtr__getHash_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($6 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashMap_btHashPtr_2c_20btCollisionShape____findIndex_28btHashPtr_20const__29_20const($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$2 } $25 = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btCollisionShape____operator_5b_5d_28int_29($6 + 40 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $25), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$1; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____size_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionShape____push_back_28btCollisionShape__20const__29($6 + 40 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btHashPtr___push_back_28btHashPtr_20const__29($6 + 60 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$3 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[$5 >> 2] | 0 | 0) & 1 | 0)) { break label$3 } btHashMap_btHashPtr_2c_20btCollisionShape____growTables_28btHashPtr_20const__29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashPtr__getHash_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($6 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; } $63 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 20 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $63), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $68 = HEAP32[($5 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $68), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } __stack_pointer = $5 + 32 | 0; return; } function btHashMap_btHashPtr_2c_20btCollisionShape_____btHashMap_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btHashPtr____btAlignedObjectArray_28_29($4 + 60 | 0 | 0) | 0; btAlignedObjectArray_btCollisionShape_____btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btCollisionShape____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btCollisionShape__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btCollisionShape____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btHashPtr___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btHashPtr_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btHashPtr___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHashMap_btHashPtr_2c_20btCollisionShape____findIndex_28btHashPtr_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $33 = 0, $55 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; $5 = HEAP32[($4 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btHashPtr__getHash_28_29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0) >>> 0 >= (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0) >>> 0 & 1 | 0)) { break label$2 } HEAP32[($4 + 28 | 0) >> 2] = -1; break label$1; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($5 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$3 : while (1) { $33 = 0; label$4 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$4 } $33 = ((btHashPtr__equals_28btHashPtr_20const__29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btHashPtr___operator_5b_5d_28int_29_20const($5 + 60 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); } label$5 : { if (!($33 & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($5 + 20 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; continue label$3; } break label$3; }; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; } $55 = HEAP32[($4 + 28 | 0) >> 2] | 0; __stack_pointer = $4 + 32 | 0; return $55 | 0; } function btAlignedObjectArray_btCollisionShape____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btHashPtr__getHash_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($3 + 11 | 0) >> 0] = 0; HEAP32[($3 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + (((HEAP32[($3 + 4 | 0) >> 2] | 0) << 15 | 0) ^ -1 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) ^ ((HEAP32[($3 + 4 | 0) >> 2] | 0) >>> 10 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) ^ ((HEAP32[($3 + 4 | 0) >> 2] | 0) >>> 6 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + (((HEAP32[($3 + 4 | 0) >> 2] | 0) << 11 | 0) ^ -1 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) ^ ((HEAP32[($3 + 4 | 0) >> 2] | 0) >>> 16 | 0) | 0; return HEAP32[($3 + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionShape____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionShape____push_back_28btCollisionShape__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btCollisionShape____reserve_28int_29($5 | 0, btAlignedObjectArray_btCollisionShape____allocSize_28int_29($5 | 0, btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btHashPtr___push_back_28btHashPtr_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $79 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btHashPtr___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btHashPtr___reserve_28int_29($5 | 0, btAlignedObjectArray_btHashPtr___allocSize_28int_29($5 | 0, btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $79 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$0 >> 2] = $79; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btHashMap_btHashPtr_2c_20btCollisionShape____growTables_28btHashPtr_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $17 = 0, $24 = 0, $80 = 0, $85 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; $17 = HEAP32[($4 + 20 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 | 0, $17 | 0, $4 + 12 | 0 | 0); $24 = HEAP32[($4 + 20 | 0) >> 2] | 0; HEAP32[($4 + 8 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 + 20 | 0 | 0, $24 | 0, $4 + 8 | 0 | 0); HEAP32[($4 + 4 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP32[($4 + 4 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } HEAP32[($4 + 4 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btHashPtr__getHash_28_29_20const(btAlignedObjectArray_btHashPtr___operator_5b_5d_28int_29($5 + 60 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & ((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $80 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $80), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $85 = HEAP32[($4 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $85), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } __stack_pointer = $4 + 32 | 0; return; } function btAlignedObjectArray_btHashPtr____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btHashPtr___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btCollisionShape_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCollisionShape____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__serialize_28btSerializer__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $10 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($6); btCollisionWorld__serializeCollisionObjects_28btSerializer__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); $10 = HEAP32[($4 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($10); __stack_pointer = $4 + 16 | 0; return; } function btCollisionWorld__setDebugDrawer_28btIDebugDraw__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btCollisionWorld__getDebugDrawer_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0; } function btConvexCast__CastResult__DebugDraw_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; return; } function btConvexCast__CastResult__drawCoordSystem_28btTransform_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btConvexCast__CastResult__reportFailure_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btConvexCast__CastResult___CastResult_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexCast__CastResult___CastResult_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btUsageBitfield__btUsageBitfield_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btUsageBitfield__reset_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btUsageBitfield__reset_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[$4 >> 0] = (HEAPU8[$4 >> 0] | 0) & 254 | 0; HEAP8[$4 >> 0] = (HEAPU8[$4 >> 0] | 0) & 253 | 0; HEAP8[$4 >> 0] = (HEAPU8[$4 >> 0] | 0) & 251 | 0; HEAP8[$4 >> 0] = (HEAPU8[$4 >> 0] | 0) & -9 | 0; return; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__reportHit_28btVector3_20const__2c_20float_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $31 = 0, $40 = Math_fround(0); $7 = __stack_pointer - 80 | 0; __stack_pointer = $7; HEAP32[($7 + 76 | 0) >> 2] = $0; HEAP32[($7 + 72 | 0) >> 2] = $1; HEAPF32[($7 + 68 | 0) >> 2] = $2; HEAP32[($7 + 64 | 0) >> 2] = $3; HEAP32[($7 + 60 | 0) >> 2] = $4; $8 = HEAP32[($7 + 76 | 0) >> 2] | 0; HEAP32[($7 + 48 | 0) >> 2] = HEAP32[($7 + 64 | 0) >> 2] | 0; HEAP32[($7 + 52 | 0) >> 2] = HEAP32[($7 + 60 | 0) >> 2] | 0; HEAP32[($7 + 56 | 0) >> 2] = HEAP32[($8 + 52 | 0) >> 2] | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 32 | 0 | 0, btTransform__getBasis_28_29($8 + 56 | 0 | 0) | 0 | 0, HEAP32[($7 + 72 | 0) >> 2] | 0 | 0); btCollisionWorld__LocalRayResult__LocalRayResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20float_29($7 + 4 | 0 | 0, HEAP32[($8 + 48 | 0) >> 2] | 0 | 0, $7 + 48 | 0 | 0, $7 + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 68 | 0) >> 2]))) | 0; HEAP8[($7 + 3 | 0) >> 0] = 1; $31 = HEAP32[($8 + 44 | 0) >> 2] | 0; $40 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$31 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($31, $7 + 4 | 0, (HEAPU8[($7 + 3 | 0) >> 0] | 0) & 1 | 0)); __stack_pointer = $7 + 80 | 0; return Math_fround($40); } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__Process_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__ProcessLeaf_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $12 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $6 = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; $12 = (FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $12 | 0; } function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $28 = 0, $38 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP8[($5 + 23 | 0) >> 0] = $2; $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { break label$2 } HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $5 + 8 | 0; break label$1; } HEAP32[(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAP32[((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; } $28 = HEAP32[($7 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$28 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($28, HEAP32[($5 + 24 | 0) >> 2] | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]); $38 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); __stack_pointer = $5 + 32 | 0; return Math_fround($38); } function btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_2($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__reportHit_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $30 = 0, $41 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 96 | 0; __stack_pointer = $8; HEAP32[($8 + 88 | 0) >> 2] = $0; HEAP32[($8 + 84 | 0) >> 2] = $1; HEAP32[($8 + 80 | 0) >> 2] = $2; HEAPF32[($8 + 76 | 0) >> 2] = $3; HEAP32[($8 + 72 | 0) >> 2] = $4; HEAP32[($8 + 68 | 0) >> 2] = $5; $9 = HEAP32[($8 + 88 | 0) >> 2] | 0; HEAP32[($8 + 56 | 0) >> 2] = HEAP32[($8 + 72 | 0) >> 2] | 0; HEAP32[($8 + 60 | 0) >> 2] = HEAP32[($8 + 68 | 0) >> 2] | 0; HEAP32[($8 + 64 | 0) >> 2] = HEAP32[($9 + 220 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($8 + 76 | 0) >> 2]) <= Math_fround(HEAPF32[((HEAP32[($9 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$2 } btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($8 + 12 | 0 | 0, HEAP32[($9 + 216 | 0) >> 2] | 0 | 0, $8 + 56 | 0 | 0, HEAP32[($8 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8 + 80 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 76 | 0) >> 2]))) | 0; HEAP8[($8 + 11 | 0) >> 0] = 1; $30 = HEAP32[($9 + 212 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($30, $8 + 12 | 0, (HEAPU8[($8 + 11 | 0) >> 0] | 0) & 1 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; break label$1; } HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); } $41 = Math_fround(HEAPF32[($8 + 92 | 0) >> 2]); __stack_pointer = $8 + 96 | 0; return Math_fround($41); } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_3($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_1($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__reportHit_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20int_29_1($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $30 = 0, $41 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 96 | 0; __stack_pointer = $8; HEAP32[($8 + 88 | 0) >> 2] = $0; HEAP32[($8 + 84 | 0) >> 2] = $1; HEAP32[($8 + 80 | 0) >> 2] = $2; HEAPF32[($8 + 76 | 0) >> 2] = $3; HEAP32[($8 + 72 | 0) >> 2] = $4; HEAP32[($8 + 68 | 0) >> 2] = $5; $9 = HEAP32[($8 + 88 | 0) >> 2] | 0; HEAP32[($8 + 56 | 0) >> 2] = HEAP32[($8 + 72 | 0) >> 2] | 0; HEAP32[($8 + 60 | 0) >> 2] = HEAP32[($8 + 68 | 0) >> 2] | 0; HEAP32[($8 + 64 | 0) >> 2] = HEAP32[($9 + 220 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($8 + 76 | 0) >> 2]) <= Math_fround(HEAPF32[((HEAP32[($9 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$2 } btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($8 + 12 | 0 | 0, HEAP32[($9 + 216 | 0) >> 2] | 0 | 0, $8 + 56 | 0 | 0, HEAP32[($8 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8 + 80 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 76 | 0) >> 2]))) | 0; HEAP8[($8 + 11 | 0) >> 0] = 1; $30 = HEAP32[($9 + 212 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($30, $8 + 12 | 0, (HEAPU8[($8 + 11 | 0) >> 0] | 0) & 1 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; break label$1; } HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); } $41 = Math_fround(HEAPF32[($8 + 92 | 0) >> 2]); __stack_pointer = $8 + 96 | 0; return Math_fround($41); } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__Process_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAP32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; HEAP32[($4 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; btTransform__btTransform_28btTransform_20const__29($4 + 4 | 0 | 0, btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29($5 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0, $4 + 4 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); __stack_pointer = $4 + 80 | 0; return; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0, $12 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $6 = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; $12 = (FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $12 | 0; } function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $23 = 0, $33 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP8[($5 + 23 | 0) >> 0] = $2; $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = -1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $5 + 8 | 0; } $23 = HEAP32[($7 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($23, HEAP32[($5 + 24 | 0) >> 2] | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]); $33 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); __stack_pointer = $5 + 32 | 0; return Math_fround($33); } function btSingleRayCallback___btSingleRayCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btSingleRayCallback___btSingleRayCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSingleRayCallback__process_28btBroadphaseProxy_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $18 = 0, $41 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[((HEAP32[($5 + 216 | 0) >> 2] | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; $18 = HEAP32[($5 + 216 | 0) >> 2] | 0; label$3 : { if (!((((wasm2js_i32$1 = $18, wasm2js_i32$2 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$18 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0) & 1 | 0)) { break label$3 } btCollisionWorld__rayTestSingle_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObject__2c_20btCollisionShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__RayResultCallback__29($5 + 68 | 0 | 0, $5 + 132 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0, btCollisionObject__getCollisionShape_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 216 | 0) >> 2] | 0 | 0); } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; } $41 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $41 | 0; } function btBroadphaseRayCallback___btBroadphaseRayCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btMatrix3x3__inverse_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $10 = 0, $13 = 0, $56 = 0, $62 = 0, $74 = 0, $75 = 0, $79 = 0, $92 = 0, $98 = 0, $99 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAP32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 72 | 0) >> 2] | 0; $6 = 1; $7 = 2; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $6 | 0, $6 | 0, $7 | 0, $7 | 0))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; $10 = 2; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, 1 | 0, $10 | 0, $10 | 0, 0 | 0))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; $13 = 1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $13 | 0, 0 | 0, 2 | 0, $13 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $4 + 52 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const($5 | 0, 0 | 0) | 0 | 0, $4 + 56 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; label$1 : { if (Math_fround(HEAPF32[($4 + 40 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { break label$1 } __assert_fail(86667 | 0, 80201 | 0, 1008 | 0, 81394 | 0); wasm2js_trap(); } HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($4 + 40 | 0) >> 2])); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($4 + 56 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; $56 = 2; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, 0 | 0, $56 | 0, $56 | 0, 1 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; $62 = 1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, 0 | 0, $62 | 0, $62 | 0, 2 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($4 + 56 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; $74 = 0; $75 = 2; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $74 | 0, $74 | 0, $75 | 0, $75 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; $79 = 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $79 | 0, 2 | 0, 1 | 0, $79 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($4 + 56 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $92 = 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $92 | 0, 1 | 0, 2 | 0, $92 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $98 = 0; $99 = 1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $98 | 0, $98 | 0, $99 | 0, $99 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; __stack_pointer = $4 + 80 | 0; return; } function btQuaternion__normalize_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btQuaternion__length_28_29_20const($4 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $9 = btQuaternion__operator___28float_20const__29($4 | 0, $3 + 8 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function btQuaternion__getAngle_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $9 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(btAcos_28float_29(Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $9 = Math_fround(HEAPF32[($3 + 8 | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($9); } function btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $52 = Math_fround(0); $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; $52 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($8 + ((HEAP32[($7 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($7 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($8 + ((HEAP32[($7 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($7 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($8 + ((HEAP32[($7 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($7 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($8 + ((HEAP32[($7 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($7 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])))); __stack_pointer = $7 + 32 | 0; return Math_fround($52); } function btQuadWord__btQuadWord_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btQuaternion__length_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $6 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(btQuaternion__length2_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0))))); __stack_pointer = $3 + 16 | 0; return Math_fround($6); } function btQuaternion__operator___28float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $24 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { break label$1 } __assert_fail(86688 | 0, 78737 | 0, 421 | 0, 85339 | 0); wasm2js_trap(); } HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); $24 = btQuaternion__operator___28float_20const__29_1($5 | 0, $4 + 4 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $24 | 0; } function btAcos_28float_29($0) { $0 = Math_fround($0); var $3 = 0, $17 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAPF32[($3 + 12 | 0) >> 2] = $0; label$1 : { if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) < Math_fround(-1.0) & 1 | 0)) { break label$1 } HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(-1.0); } label$2 : { if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { break label$2 } HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(1.0); } $17 = Math_fround(acosf(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); __stack_pointer = $3 + 16 | 0; return Math_fround($17); } function btQuaternion__operator___28float_20const__29_1($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); return $5 | 0; } function btSingleSweepCallback___btSingleSweepCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btSingleSweepCallback___btSingleSweepCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSingleSweepCallback__process_28btBroadphaseProxy_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $18 = 0, $43 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[((HEAP32[($5 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; $18 = HEAP32[($5 + 184 | 0) >> 2] | 0; label$3 : { if (!((((wasm2js_i32$1 = $18, wasm2js_i32$2 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$18 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0) & 1 | 0)) { break label$3 } btCollisionWorld__objectQuerySingle_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObject__2c_20btCollisionShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29(HEAP32[($5 + 192 | 0) >> 2] | 0 | 0, $5 + 36 | 0 | 0, $5 + 100 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0, btCollisionObject__getCollisionShape_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2]))); } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; } $43 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $43 | 0; } function btManifoldResult__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($6 + 16 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; return; } function btManifoldResult__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; return; } function btTransform__invXform_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 80 | 0; __stack_pointer = $5; HEAP32[($5 + 76 | 0) >> 2] = $1; HEAP32[($5 + 72 | 0) >> 2] = $2; $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 56 | 0 | 0, HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0); btMatrix3x3__transpose_28_29_20const($5 + 8 | 0 | 0, $6 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 8 | 0 | 0, $5 + 56 | 0 | 0); __stack_pointer = $5 + 80 | 0; return; } function btManifoldPoint__btManifoldPoint_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); var $8 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7 = 0, $11 = 0, $16 = 0, $19 = 0, $28 = 0, $31 = 0, $93 = 0, $103 = 0, $112 = 0, $122 = 0, $141 = 0, $151 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $93 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[$8 >> 2] = $93; HEAP32[($8 + 4 | 0) >> 2] = i64toi32_i32$1; $11 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $11 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $103 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $11 | 0; HEAP32[i64toi32_i32$1 >> 2] = $103; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $16 = $8 + 16 | 0; i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $112 = i64toi32_i32$0; i64toi32_i32$0 = $16; HEAP32[i64toi32_i32$0 >> 2] = $112; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $122 = i64toi32_i32$1; i64toi32_i32$1 = $16 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $122; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($8 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 48 | 0 | 0) | 0; $28 = $8 + 64 | 0; i64toi32_i32$2 = HEAP32[($7 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $141 = i64toi32_i32$0; i64toi32_i32$0 = $28; HEAP32[i64toi32_i32$0 >> 2] = $141; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $31 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $31 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $151 = i64toi32_i32$1; i64toi32_i32$1 = $28 + $31 | 0; HEAP32[i64toi32_i32$1 >> 2] = $151; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); HEAPF32[($8 + 84 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 88 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($8 + 116 | 0) >> 2] = 0; HEAP32[($8 + 120 | 0) >> 2] = 0; HEAP32[($8 + 124 | 0) >> 2] = 0; HEAP32[($8 + 128 | 0) >> 2] = 0; HEAPF32[($8 + 132 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 136 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 140 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 144 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 148 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 152 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 156 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 160 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($8 + 164 | 0) >> 2] = 0; btVector3__btVector3_28_29($8 + 168 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 184 | 0 | 0) | 0; __stack_pointer = $7 + 32 | 0; return $8 | 0; } function DebugDrawcallback___DebugDrawcallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; DebugDrawcallback___DebugDrawcallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function DebugDrawcallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $23 = 0, $40 = 0, $57 = 0, $94 = 0, $146 = 0, $163 = 0, $174 = 0, $185 = 0, $258 = 0, $262 = 0, $293 = 0, $297 = 0, $328 = 0, $332 = 0; $6 = __stack_pointer - 256 | 0; __stack_pointer = $6; HEAP32[($6 + 252 | 0) >> 2] = $0; HEAP32[($6 + 248 | 0) >> 2] = $1; HEAP32[($6 + 244 | 0) >> 2] = $2; HEAP32[($6 + 240 | 0) >> 2] = $3; $7 = HEAP32[($6 + 252 | 0) >> 2] | 0; btVector3__btVector3_28_29($6 + 224 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 208 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 192 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($6 + 176 | 0 | 0, $7 + 28 | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0); $23 = 8; i64toi32_i32$2 = ($6 + 176 | 0) + $23 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $258 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 224 | 0) + $23 | 0; HEAP32[i64toi32_i32$0 >> 2] = $258; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 176 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 180 | 0) >> 2] | 0; $262 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 224 | 0) >> 2] = $262; HEAP32[($6 + 228 | 0) >> 2] = i64toi32_i32$0; btTransform__operator__28btVector3_20const__29_20const($6 + 160 | 0 | 0, $7 + 28 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 16 | 0 | 0); $40 = 8; i64toi32_i32$2 = ($6 + 160 | 0) + $40 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $293 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 208 | 0) + $40 | 0; HEAP32[i64toi32_i32$0 >> 2] = $293; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 160 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 164 | 0) >> 2] | 0; $297 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 208 | 0) >> 2] = $297; HEAP32[($6 + 212 | 0) >> 2] = i64toi32_i32$0; btTransform__operator__28btVector3_20const__29_20const($6 + 144 | 0 | 0, $7 + 28 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 32 | 0 | 0); $57 = 8; i64toi32_i32$2 = ($6 + 144 | 0) + $57 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $328 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 192 | 0) + $57 | 0; HEAP32[i64toi32_i32$0 >> 2] = $328; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 144 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 148 | 0) >> 2] | 0; $332 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 192 | 0) >> 2] = $332; HEAP32[($6 + 196 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 96 | 0 | 0, $6 + 224 | 0 | 0, $6 + 208 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 112 | 0 | 0, $6 + 96 | 0 | 0, $6 + 192 | 0 | 0); HEAPF32[($6 + 92 | 0) >> 2] = Math_fround(.3333333432674408); operator__28btVector3_20const__2c_20float_20const__29($6 + 128 | 0 | 0, $6 + 112 | 0 | 0, $6 + 92 | 0 | 0); $94 = HEAP32[($7 + 8 | 0) >> 2] | 0; label$1 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$94 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($94) | 0) & 16384 | 0)) { break label$1 } operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 60 | 0 | 0, $6 + 208 | 0 | 0, $6 + 224 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 44 | 0 | 0, $6 + 192 | 0 | 0, $6 + 224 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($6 + 76 | 0 | 0, $6 + 60 | 0 | 0, $6 + 44 | 0 | 0); btVector3__normalize_28_29($6 + 76 | 0 | 0) | 0; HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0) | 0; $146 = HEAP32[($7 + 8 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 | 0, $6 + 128 | 0 | 0, $6 + 76 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$146 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($146, $6 + 128 | 0, $6, $6 + 28 | 0); } $163 = HEAP32[($7 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$163 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($163, $6 + 224 | 0, $6 + 208 | 0, $7 + 12 | 0); $174 = HEAP32[($7 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$174 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($174, $6 + 208 | 0, $6 + 192 | 0, $7 + 12 | 0); $185 = HEAP32[($7 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$185 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($185, $6 + 192 | 0, $6 + 224 | 0, $7 + 12 | 0); __stack_pointer = $6 + 256 | 0; return; } function DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); __stack_pointer = $6 + 16 | 0; return; } function non_virtual_20thunk_20to_20DebugDrawcallback___DebugDrawcallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; $7 = DebugDrawcallback___DebugDrawcallback_28_29($4 + -4 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function non_virtual_20thunk_20to_20DebugDrawcallback___DebugDrawcallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; DebugDrawcallback___DebugDrawcallback_28_29_1((HEAP32[($3 + 12 | 0) >> 2] | 0) + -4 | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function non_virtual_20thunk_20to_20DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + -4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); __stack_pointer = $6 + 16 | 0; return; } function btAlignedAllocator_btCollisionShape__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionShape____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btHashPtr_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btHashPtr___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btHashPtr___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btHashPtr___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btHashPtr___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btHashPtr___deallocate_28_29($4 | 0); btAlignedObjectArray_btHashPtr___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btCollisionShape____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCollisionShape____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCollisionShape____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btCollisionShape____deallocate_28_29($4 | 0); btAlignedObjectArray_btCollisionShape____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btHashPtr___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btHashPtr___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btHashPtr___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btHashPtr_2c_2016u___deallocate_28btHashPtr__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btHashPtr_2c_2016u___deallocate_28btHashPtr__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionShape____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btCollisionShape____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btCollisionShape__2c_2016u___deallocate_28btCollisionShape___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btCollisionShape__2c_2016u___deallocate_28btCollisionShape___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btCollisionObject____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btCollisionObject__2c_2016u___deallocate_28btCollisionObject___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btCollisionObject__2c_2016u___deallocate_28btCollisionObject___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionObject____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCollisionObject__2c_2016u___allocate_28int_2c_20btCollisionObject__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btCollisionObject____copy_28int_2c_20int_2c_20btCollisionObject___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btCollisionObject__2c_2016u___allocate_28int_2c_20btCollisionObject__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btHashPtr___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btHashPtr__equals_28btHashPtr_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $13 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $13 = (btHashPtr__getPointer_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (btHashPtr__getPointer_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $13 | 0; } function btHashPtr__getPointer_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionShape____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btCollisionShape____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionShape____copy_28int_2c_20int_2c_20btCollisionShape___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btCollisionShape____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btCollisionShape____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btHashPtr___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btHashPtr___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btHashPtr___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btHashPtr___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btHashPtr___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btHashPtr___copy_28int_2c_20int_2c_20btHashPtr__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btHashPtr___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btHashPtr___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btHashPtr___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btCollisionShape____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCollisionShape__2c_2016u___allocate_28int_2c_20btCollisionShape__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btCollisionShape____copy_28int_2c_20int_2c_20btCollisionShape___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btCollisionShape__2c_2016u___allocate_28int_2c_20btCollisionShape__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btHashPtr___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btHashPtr_2c_2016u___allocate_28int_2c_20btHashPtr_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btHashPtr___copy_28int_2c_20int_2c_20btHashPtr__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $85 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$0 >> 2] = $85; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btHashPtr_2c_2016u___allocate_28int_2c_20btHashPtr_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btCollisionWorld_cpp() { __cxx_global_var_init_10(); return; } function __cxx_global_var_init_11() { btInfMaskConverter__btInfMaskConverter_28int_29(113984 | 0, 2139095040 | 0) | 0; return; } function btCollisionAlgorithm__btCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = 93584 + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; return $5 | 0; } function btCollisionAlgorithm___btCollisionAlgorithm_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btCollisionAlgorithm_cpp() { __cxx_global_var_init_11(); return; } function __cxx_global_var_init_13() { btInfMaskConverter__btInfMaskConverter_28int_29(113988 | 0, 2139095040 | 0) | 0; return; } function btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCollisionAlgorithm__btCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$7 >> 2] = 93612 + 8 | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithm___btCollisionAlgorithm_28_29_1($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionAlgorithm___btCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btActivatingCollisionAlgorithm_cpp() { __cxx_global_var_init_13(); return; } function __cxx_global_var_init_14() { btInfMaskConverter__btInfMaskConverter_28int_29(113992 | 0, 2139095040 | 0) | 0; return; } function btConvexConvexAlgorithm__CreateFunc__CreateFunc_28btConvexPenetrationDepthSolver__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 93716 + 8 | 0; HEAP32[($5 + 12 | 0) >> 2] = 0; HEAP32[($5 + 16 | 0) >> 2] = 3; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btConvexConvexAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexConvexAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[605 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConvexAlgorithm__btConvexConvexAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btConvexPenetrationDepthSolver__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, $11 = 0; $10 = __stack_pointer - 32 | 0; __stack_pointer = $10; HEAP32[($10 + 28 | 0) >> 2] = $0; HEAP32[($10 + 24 | 0) >> 2] = $1; HEAP32[($10 + 20 | 0) >> 2] = $2; HEAP32[($10 + 16 | 0) >> 2] = $3; HEAP32[($10 + 12 | 0) >> 2] = $4; HEAP32[($10 + 8 | 0) >> 2] = $5; HEAP32[($10 + 4 | 0) >> 2] = $6; HEAP32[$10 >> 2] = $7; $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($11 | 0, HEAP32[($10 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[$11 >> 2] = 93736 + 8 | 0; HEAP32[($11 + 8 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($11 + 12 | 0 | 0) | 0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($11 + 32 | 0 | 0) | 0; HEAP8[($11 + 52 | 0) >> 0] = 0; HEAP32[($11 + 56 | 0) >> 2] = HEAP32[($10 + 24 | 0) >> 2] | 0; HEAP8[($11 + 60 | 0) >> 0] = 0; HEAP32[($11 + 64 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; HEAP32[($11 + 68 | 0) >> 2] = HEAP32[$10 >> 2] | 0; __stack_pointer = $10 + 32 | 0; return $11 | 0; } function btConvexConvexAlgorithm___btConvexConvexAlgorithm_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $18 = 0, $26 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 93736 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 52 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 56 | 0) >> 2] | 0); } } btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 32 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 12 | 0 | 0) | 0; btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; $26 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $26 | 0; } function btConvexConvexAlgorithm___btConvexConvexAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[606 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $16 = 0, $98 = 0, $169 = 0, $240 = 0, $274 = 0, $278 = 0, $319 = Math_fround(0), $320 = 0, $329 = Math_fround(0), $330 = 0, $403 = 0, $404 = 0, $416 = 0, $572 = 0, $585 = 0, $590 = 0, $693 = 0, $713 = 0, $717 = 0, $277 = Math_fround(0), $1814 = 0, $1818 = 0, $562 = 0, $2152 = 0, $2156 = 0, $584 = Math_fround(0), $589 = Math_fround(0), $683 = 0, $2406 = 0, $2410 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 1664 | 0; __stack_pointer = $7; HEAP32[($7 + 1660 | 0) >> 2] = $0; HEAP32[($7 + 1656 | 0) >> 2] = $1; HEAP32[($7 + 1652 | 0) >> 2] = $2; HEAP32[($7 + 1648 | 0) >> 2] = $3; HEAP32[($7 + 1644 | 0) >> 2] = $4; $8 = HEAP32[($7 + 1660 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($8 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } $16 = HEAP32[($8 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = ((((wasm2js_i32$3 = $16, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$16 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; HEAP8[($8 + 52 | 0) >> 0] = 1; } btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0, HEAP32[($8 + 56 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1640 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1636 | 0) >> 2] = wasm2js_i32$1; btVector3__btVector3_28_29($7 + 1620 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 1604 | 0 | 0) | 0; label$2 : { label$3 : { if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0 | 0) == (10 | 0) & 1 | 0)) { break label$3 } if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0 | 0) == (10 | 0) & 1 | 0)) { break label$3 } HEAP32[($7 + 1600 | 0) >> 2] = HEAP32[($7 + 1640 | 0) >> 2] | 0; HEAP32[($7 + 1596 | 0) >> 2] = HEAP32[($7 + 1636 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1592 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(capsuleCapsuleDistance_28btVector3__2c_20btVector3__2c_20float_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($7 + 1620 | 0 | 0, $7 + 1604 | 0 | 0, Math_fround(Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($7 + 1600 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($7 + 1600 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($7 + 1596 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($7 + 1596 | 0) >> 2] | 0 | 0))), btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($7 + 1600 | 0) >> 2] | 0 | 0) | 0 | 0, btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($7 + 1596 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1592 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 1588 | 0) >> 2] = wasm2js_f32$0; label$4 : { if (!(Math_fround(HEAPF32[($7 + 1588 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 1592 | 0) >> 2]) & 1 | 0)) { break label$4 } label$5 : { if (Math_fround(btVector3__length2_28_29_20const($7 + 1620 | 0 | 0)) >= Math_fround(1.4210854715202004e-14) & 1 | 0) { break label$5 } __assert_fail(86431 | 0, 73223 | 0, 326 | 0, 76857 | 0); wasm2js_trap(); } $98 = HEAP32[($7 + 1644 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$98 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($98, $7 + 1620 | 0, $7 + 1604 | 0, Math_fround(HEAPF32[($7 + 1588 | 0) >> 2])); } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); break label$2; } label$6 : { if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0 | 0) == (10 | 0) & 1 | 0)) { break label$6 } if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0 | 0) == (8 | 0) & 1 | 0)) { break label$6 } HEAP32[($7 + 1584 | 0) >> 2] = HEAP32[($7 + 1640 | 0) >> 2] | 0; HEAP32[($7 + 1580 | 0) >> 2] = HEAP32[($7 + 1636 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1576 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(capsuleCapsuleDistance_28btVector3__2c_20btVector3__2c_20float_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($7 + 1620 | 0 | 0, $7 + 1604 | 0 | 0, Math_fround(Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($7 + 1584 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($7 + 1584 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($7 + 1580 | 0) >> 2] | 0 | 0))), btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($7 + 1584 | 0) >> 2] | 0 | 0) | 0 | 0, 1 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1576 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 1572 | 0) >> 2] = wasm2js_f32$0; label$7 : { if (!(Math_fround(HEAPF32[($7 + 1572 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 1576 | 0) >> 2]) & 1 | 0)) { break label$7 } label$8 : { if (Math_fround(btVector3__length2_28_29_20const($7 + 1620 | 0 | 0)) >= Math_fround(1.4210854715202004e-14) & 1 | 0) { break label$8 } __assert_fail(86431 | 0, 73223 | 0, 348 | 0, 76857 | 0); wasm2js_trap(); } $169 = HEAP32[($7 + 1644 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$169 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($169, $7 + 1620 | 0, $7 + 1604 | 0, Math_fround(HEAPF32[($7 + 1572 | 0) >> 2])); } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); break label$2; } label$9 : { if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0 | 0) == (8 | 0) & 1 | 0)) { break label$9 } if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0 | 0) == (10 | 0) & 1 | 0)) { break label$9 } HEAP32[($7 + 1568 | 0) >> 2] = HEAP32[($7 + 1640 | 0) >> 2] | 0; HEAP32[($7 + 1564 | 0) >> 2] = HEAP32[($7 + 1636 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1560 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(capsuleCapsuleDistance_28btVector3__2c_20btVector3__2c_20float_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($7 + 1620 | 0 | 0, $7 + 1604 | 0 | 0, Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($7 + 1568 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($7 + 1564 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($7 + 1564 | 0) >> 2] | 0 | 0))), 1 | 0, btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($7 + 1564 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1560 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 1556 | 0) >> 2] = wasm2js_f32$0; label$10 : { if (!(Math_fround(HEAPF32[($7 + 1556 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 1560 | 0) >> 2]) & 1 | 0)) { break label$10 } label$11 : { if (Math_fround(btVector3__length2_28_29_20const($7 + 1620 | 0 | 0)) >= Math_fround(1.4210854715202004e-14) & 1 | 0) { break label$11 } __assert_fail(86431 | 0, 73223 | 0, 370 | 0, 76857 | 0); wasm2js_trap(); } $240 = HEAP32[($7 + 1644 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$240 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($240, $7 + 1620 | 0, $7 + 1604 | 0, Math_fround(HEAPF32[($7 + 1556 | 0) >> 2])); } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); break label$2; } btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($7 + 1424 | 0 | 0) | 0; btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($7 + 1064 | 0 | 0) | 0; btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($7 + 984 | 0 | 0, HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0, HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0, $7 + 1064 | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; btGjkPairDetector__setMinkowskiA_28btConvexShape_20const__29($7 + 984 | 0 | 0, HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0); btGjkPairDetector__setMinkowskiB_28btConvexShape_20const__29($7 + 984 | 0 | 0, HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0); $274 = HEAP32[($7 + 1640 | 0) >> 2] | 0; $277 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$274 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($274)); $278 = HEAP32[($7 + 1636 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround($277 + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$278 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($278))) + Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))) + Math_fround(HEAPF32[((HEAP32[($7 + 1644 | 0) >> 2] | 0) + 32 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 1552 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($7 + 1552 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 1552 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 1552 | 0) >> 2])); btTransform__operator__28btTransform_20const__29($7 + 1424 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29(($7 + 1424 | 0) + 64 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; label$12 : { label$13 : { if (!((btCollisionShape__isPolyhedral_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$13 } if (!((btCollisionShape__isPolyhedral_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$13 } btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__btDummyResult_28_29($7 + 980 | 0 | 0) | 0; label$14 : { label$15 : { if (btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0) { break label$15 } $319 = Math_fround(0 | 0); break label$14; } $320 = HEAP32[($7 + 1640 | 0) >> 2] | 0; $319 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$320 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($320)); } HEAPF32[($7 + 976 | 0) >> 2] = $319; label$16 : { label$17 : { if (btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0) { break label$17 } $329 = Math_fround(0 | 0); break label$16; } $330 = HEAP32[($7 + 1636 | 0) >> 2] | 0; $329 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$330 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($330)); } HEAPF32[($7 + 972 | 0) >> 2] = $329; btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__btWithoutMarginResult_28btDiscreteCollisionDetectorInterface__Result__2c_20float_2c_20float_29($7 + 932 | 0 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 976 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($7 + 972 | 0) >> 2]))) | 0; HEAP32[($7 + 928 | 0) >> 2] = HEAP32[($7 + 1640 | 0) >> 2] | 0; HEAP32[($7 + 924 | 0) >> 2] = HEAP32[($7 + 1636 | 0) >> 2] | 0; label$18 : { label$19 : { if (!((btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$19 } if (!((btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 924 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$19 } (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 920 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($7 + 916 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); btVector3__btVector3_28_29($7 + 896 | 0 | 0) | 0; HEAP8[($7 + 895 | 0) >> 0] = 1; label$20 : { label$21 : { if (!((HEAPU8[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 1 | 0)) { break label$21 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = (btPolyhedralContactClipping__findSeparatingAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btDiscreteCollisionDetectorInterface__Result__29(btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0, btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 924 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 896 | 0 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 895 | 0) >> 0] = wasm2js_i32$1; break label$20; } btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 984 | 0 | 0, $7 + 1424 | 0 | 0, $7 + 932 | 0 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); $403 = ($7 + 932 | 0) + 8 | 0; $404 = 8; i64toi32_i32$2 = $403 + $404 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1814 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 896 | 0) + $404 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1814; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $403; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1818 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 896 | 0) >> 2] = $1818; HEAP32[($7 + 900 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($7 + 916 | 0) >> 2] = Math_fround(HEAPF32[($7 + 964 | 0) >> 2]); $416 = 0; label$22 : { if (!((HEAPU8[($7 + 968 | 0) >> 0] | 0) & 1 | 0)) { break label$22 } $416 = Math_fround(HEAPF32[($7 + 916 | 0) >> 2]) < Math_fround(0 | 0); } HEAP8[($7 + 895 | 0) >> 0] = $416 & 1 | 0; } label$23 : { if (!((HEAPU8[($7 + 895 | 0) >> 0] | 0) & 1 | 0)) { break label$23 } btVector3__btVector3_28_29($7 + 876 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($8 + 12 | 0 | 0, 0 | 0, $7 + 876 | 0 | 0); btPolyhedralContactClipping__clipHullAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20float_2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20btDiscreteCollisionDetectorInterface__Result__29($7 + 896 | 0 | 0, btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0, btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 924 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 916 | 0) >> 2]) - Math_fround(HEAPF32[($7 + 920 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($7 + 920 | 0) >> 2])), $8 + 12 | 0 | 0, $8 + 32 | 0 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); } label$24 : { if (!((HEAPU8[($8 + 52 | 0) >> 0] | 0) & 1 | 0)) { break label$24 } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); } HEAP32[($7 + 872 | 0) >> 2] = 1; break label$18; } label$25 : { if (!((btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$25 } if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 924 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$25 } btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($7 + 852 | 0 | 0) | 0; HEAP32[($7 + 848 | 0) >> 2] = HEAP32[($7 + 924 | 0) >> 2] | 0; btTransform__operator__28btVector3_20const__29_20const($7 + 832 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($7 + 848 | 0) >> 2] | 0) + 64 | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 852 | 0 | 0, $7 + 832 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 816 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAP32[($7 + 848 | 0) >> 2] | 0) + 64 | 0) + 16 | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 852 | 0 | 0, $7 + 816 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 800 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAP32[($7 + 848 | 0) >> 2] | 0) + 64 | 0) + 32 | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 852 | 0 | 0, $7 + 800 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 796 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($7 + 776 | 0 | 0) | 0; HEAPF32[($7 + 772 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); HEAPF32[($7 + 768 | 0) >> 2] = Math_fround(HEAPF32[($7 + 796 | 0) >> 2]); HEAP8[($7 + 767 | 0) >> 0] = 0; btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 984 | 0 | 0, $7 + 1424 | 0 | 0, $7 + 980 | 0 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($7 + 984 | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$26 : { if (!(Math_fround(HEAPF32[($7 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$26 } $562 = btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($7 + 984 | 0 | 0) | 0; HEAPF32[($7 + 740 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($7 + 760 | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($7 + 744 | 0 | 0, $562 | 0, $7 + 740 | 0 | 0); $572 = 8; i64toi32_i32$2 = ($7 + 744 | 0) + $572 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2152 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 776 | 0) + $572 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2152; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 744 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 748 | 0) >> 2] | 0; $2156 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 776 | 0) >> 2] = $2156; HEAP32[($7 + 780 | 0) >> 2] = i64toi32_i32$0; $584 = Math_fround(btGjkPairDetector__getCachedSeparatingDistance_28_29_20const($7 + 984 | 0 | 0)); $585 = HEAP32[($7 + 1640 | 0) >> 2] | 0; $589 = Math_fround($584 - Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$585 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($585))); $590 = HEAP32[($7 + 1636 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround($589 - Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$590 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($590)))), HEAPF32[(wasm2js_i32$0 + 772 | 0) >> 2] = wasm2js_f32$0; HEAP8[($7 + 767 | 0) >> 0] = 1; } label$27 : { if (!((HEAPU8[($7 + 767 | 0) >> 0] | 0) & 1 | 0)) { break label$27 } btVector3__btVector3_28_29($7 + 724 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($8 + 32 | 0 | 0, 0 | 0, $7 + 724 | 0 | 0); btPolyhedralContactClipping__clipFaceAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20float_2c_20float_2c_20btDiscreteCollisionDetectorInterface__Result__29($7 + 776 | 0 | 0, btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 852 | 0 | 0, $8 + 32 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 772 | 0) >> 2]) - Math_fround(HEAPF32[($7 + 796 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($7 + 768 | 0) >> 2])), HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); } label$28 : { if (!((HEAPU8[($8 + 52 | 0) >> 0] | 0) & 1 | 0)) { break label$28 } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); } HEAP32[($7 + 872 | 0) >> 2] = 1; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($7 + 852 | 0 | 0) | 0; break label$18; } HEAP32[($7 + 872 | 0) >> 2] = 0; } btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29($7 + 932 | 0 | 0) | 0; btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29($7 + 980 | 0 | 0) | 0; if (HEAP32[($7 + 872 | 0) >> 2] | 0) { break label$12 } } btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 984 | 0 | 0, $7 + 1424 | 0 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); label$29 : { if (!(HEAP32[($8 + 64 | 0) >> 2] | 0)) { break label$29 } if (!((btPersistentManifold__getNumContacts_28_29_20const(btManifoldResult__getPersistentManifold_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) < (HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$29 } btVector3__btVector3_28_29($7 + 704 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 688 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 672 | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($7 + 984 | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 668 | 0) >> 2] = wasm2js_f32$0; label$30 : { if (!(Math_fround(HEAPF32[($7 + 668 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$30 } $683 = btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($7 + 984 | 0 | 0) | 0; HEAPF32[($7 + 648 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($7 + 668 | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($7 + 652 | 0 | 0, $683 | 0, $7 + 648 | 0 | 0); $693 = 8; i64toi32_i32$2 = ($7 + 652 | 0) + $693 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2406 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 672 | 0) + $693 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2406; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 652 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 656 | 0) >> 2] | 0; $2410 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 672 | 0) >> 2] = $2410; HEAP32[($7 + 676 | 0) >> 2] = i64toi32_i32$0; void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($7 + 672 | 0 | 0, $7 + 704 | 0 | 0, $7 + 688 | 0 | 0); HEAP8[($7 + 647 | 0) >> 0] = 1; HEAPF32[($7 + 640 | 0) >> 2] = Math_fround(.39269909262657166); $713 = HEAP32[($7 + 1640 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$713 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($713))), HEAPF32[(wasm2js_i32$0 + 632 | 0) >> 2] = wasm2js_f32$0; $717 = HEAP32[($7 + 1636 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$717 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($717))), HEAPF32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_f32$0; label$31 : { label$32 : { if (!(Math_fround(HEAPF32[($7 + 632 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 628 | 0) >> 2]) & 1 | 0)) { break label$32 } HEAPF32[($7 + 636 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(0 + 112840 | 0) >> 2]) / Math_fround(HEAPF32[($7 + 632 | 0) >> 2])); HEAP8[($7 + 647 | 0) >> 0] = 1; break label$31; } HEAPF32[($7 + 636 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(0 + 112840 | 0) >> 2]) / Math_fround(HEAPF32[($7 + 628 | 0) >> 2])); HEAP8[($7 + 647 | 0) >> 0] = 0; } label$33 : { if (!(Math_fround(HEAPF32[($7 + 636 | 0) >> 2]) > Math_fround(.39269909262657166) & 1 | 0)) { break label$33 } HEAPF32[($7 + 636 | 0) >> 2] = Math_fround(.39269909262657166); } btTransform__btTransform_28_29($7 + 564 | 0 | 0) | 0; label$34 : { label$35 : { if (!((HEAPU8[($7 + 647 | 0) >> 0] | 0) & 1 | 0)) { break label$35 } btTransform__operator__28btTransform_20const__29($7 + 564 | 0 | 0, $7 + 1424 | 0 | 0) | 0; break label$34; } btTransform__operator__28btTransform_20const__29($7 + 564 | 0 | 0, ($7 + 1424 | 0) + 64 | 0 | 0) | 0; } HEAP32[($7 + 720 | 0) >> 2] = 0; label$36 : { label$37 : while (1) { if (!((HEAP32[($7 + 720 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$36 } label$38 : { if (!(Math_fround(btVector3__length2_28_29_20const($7 + 704 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$38 } btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($7 + 548 | 0 | 0, $7 + 704 | 0 | 0, $7 + 636 | 0 | 0) | 0; HEAPF32[($7 + 544 | 0) >> 2] = Math_fround(Math_fround(HEAP32[($7 + 720 | 0) >> 2] | 0 | 0) * Math_fround(Math_fround(6.2831854820251465) / Math_fround(HEAP32[($8 + 64 | 0) >> 2] | 0 | 0))); btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($7 + 528 | 0 | 0, $7 + 672 | 0 | 0, $7 + 544 | 0 | 0) | 0; label$39 : { label$40 : { if (!((HEAPU8[($7 + 647 | 0) >> 0] | 0) & 1 | 0)) { break label$40 } btQuaternion__inverse_28_29_20const($7 + 384 | 0 | 0, $7 + 528 | 0 | 0); operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 400 | 0 | 0, $7 + 384 | 0 | 0, $7 + 548 | 0 | 0); operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 416 | 0 | 0, $7 + 400 | 0 | 0, $7 + 528 | 0 | 0); btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($7 + 432 | 0 | 0, $7 + 416 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($7 + 480 | 0 | 0, $7 + 432 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btTransform__setBasis_28btMatrix3x3_20const__29($7 + 1424 | 0 | 0, $7 + 480 | 0 | 0); btTransform__operator__28btTransform_20const__29(($7 + 1424 | 0) + 64 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; break label$39; } btTransform__operator__28btTransform_20const__29($7 + 1424 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btQuaternion__inverse_28_29_20const($7 + 240 | 0 | 0, $7 + 528 | 0 | 0); operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 256 | 0 | 0, $7 + 240 | 0 | 0, $7 + 548 | 0 | 0); operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 272 | 0 | 0, $7 + 256 | 0 | 0, $7 + 528 | 0 | 0); btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($7 + 288 | 0 | 0, $7 + 272 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($7 + 336 | 0 | 0, $7 + 288 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btTransform__setBasis_28btMatrix3x3_20const__29(($7 + 1424 | 0) + 64 | 0 | 0, $7 + 336 | 0 | 0); } btPerturbedContactResult__btPerturbedContactResult_28btManifoldResult__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20bool_2c_20btIDebugDraw__29($7 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0, $7 + 1424 | 0 | 0, ($7 + 1424 | 0) + 64 | 0 | 0, $7 + 564 | 0 | 0, (HEAPU8[($7 + 647 | 0) >> 0] | 0) & 1 | 0 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 984 | 0 | 0, $7 + 1424 | 0 | 0, $7 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); btPerturbedContactResult___btPerturbedContactResult_28_29($7 | 0) | 0; } HEAP32[($7 + 720 | 0) >> 2] = (HEAP32[($7 + 720 | 0) >> 2] | 0) + 1 | 0; continue label$37; }; } } } HEAP32[($7 + 872 | 0) >> 2] = 0; } btGjkPairDetector___btGjkPairDetector_28_29($7 + 984 | 0 | 0) | 0; label$41 : { switch (HEAP32[($7 + 872 | 0) >> 2] | 0 | 0) { case 1: break label$2; default: break label$41; }; } if (!((HEAPU8[($8 + 52 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); } __stack_pointer = $7 + 1664 | 0; return; } function btManifoldResult__setPersistentManifold_28btPersistentManifold__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function capsuleCapsuleDistance_28btVector3__2c_20btVector3__2c_20float_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; $10 = Math_fround($10); var $13 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $21 = 0, $22 = 0, $36 = 0, $37 = 0, $135 = 0, $137 = 0, $167 = 0, $169 = 0, $235 = 0, $239 = 0, $269 = 0, $273 = 0, $455 = 0, $468 = 0, $517 = 0, $530 = 0, $176 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $13 = __stack_pointer - 288 | 0; __stack_pointer = $13; HEAP32[($13 + 280 | 0) >> 2] = $0; HEAP32[($13 + 276 | 0) >> 2] = $1; HEAPF32[($13 + 272 | 0) >> 2] = $2; HEAPF32[($13 + 268 | 0) >> 2] = $3; HEAPF32[($13 + 264 | 0) >> 2] = $4; HEAPF32[($13 + 260 | 0) >> 2] = $5; HEAP32[($13 + 256 | 0) >> 2] = $6; HEAP32[($13 + 252 | 0) >> 2] = $7; HEAP32[($13 + 248 | 0) >> 2] = $8; HEAP32[($13 + 244 | 0) >> 2] = $9; HEAPF32[($13 + 240 | 0) >> 2] = $10; btMatrix3x3__getColumn_28int_29_20const($13 + 224 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($13 + 248 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($13 + 256 | 0) >> 2] | 0 | 0); $21 = btTransform__getOrigin_28_29_20const(HEAP32[($13 + 248 | 0) >> 2] | 0 | 0) | 0; $22 = 8; i64toi32_i32$2 = $21 + $22 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $235 = i64toi32_i32$0; i64toi32_i32$0 = ($13 + 208 | 0) + $22 | 0; HEAP32[i64toi32_i32$0 >> 2] = $235; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $21; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $239 = i64toi32_i32$1; i64toi32_i32$1 = $13; HEAP32[($13 + 208 | 0) >> 2] = $239; HEAP32[($13 + 212 | 0) >> 2] = i64toi32_i32$0; btMatrix3x3__getColumn_28int_29_20const($13 + 192 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($13 + 244 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($13 + 252 | 0) >> 2] | 0 | 0); $36 = btTransform__getOrigin_28_29_20const(HEAP32[($13 + 244 | 0) >> 2] | 0 | 0) | 0; $37 = 8; i64toi32_i32$2 = $36 + $37 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $269 = i64toi32_i32$0; i64toi32_i32$0 = ($13 + 176 | 0) + $37 | 0; HEAP32[i64toi32_i32$0 >> 2] = $269; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $36; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $273 = i64toi32_i32$1; i64toi32_i32$1 = $13; HEAP32[($13 + 176 | 0) >> 2] = $273; HEAP32[($13 + 180 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($13 + 160 | 0 | 0, $13 + 176 | 0 | 0, $13 + 208 | 0 | 0); btVector3__btVector3_28_29($13 + 144 | 0 | 0) | 0; btVector3__btVector3_28_29($13 + 128 | 0 | 0) | 0; btVector3__btVector3_28_29($13 + 112 | 0 | 0) | 0; segmentsClosestPoints_28btVector3__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($13 + 144 | 0 | 0, $13 + 128 | 0 | 0, $13 + 112 | 0 | 0, $13 + 108 | 0 | 0, $13 + 104 | 0 | 0, $13 + 160 | 0 | 0, $13 + 224 | 0 | 0, Math_fround(Math_fround(HEAPF32[($13 + 272 | 0) >> 2])), $13 + 192 | 0 | 0, Math_fround(Math_fround(HEAPF32[($13 + 264 | 0) >> 2]))); (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__length_28_29_20const($13 + 144 | 0 | 0)) - Math_fround(HEAPF32[($13 + 268 | 0) >> 2])) - Math_fround(HEAPF32[($13 + 260 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($13 + 100 | 0) >> 2]) > Math_fround(HEAPF32[($13 + 240 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAPF32[($13 + 284 | 0) >> 2] = Math_fround(HEAPF32[($13 + 100 | 0) >> 2]); break label$1; } (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($13 + 144 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($13 + 96 | 0) >> 2]) <= Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$4 } btVector3__btVector3_28_29($13 + 80 | 0 | 0) | 0; void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($13 + 224 | 0 | 0, HEAP32[($13 + 280 | 0) >> 2] | 0 | 0, $13 + 80 | 0 | 0); break label$3; } (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(-Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 96 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($13 + 64 | 0 | 0, $13 + 144 | 0 | 0, $13 + 60 | 0 | 0); $135 = HEAP32[($13 + 280 | 0) >> 2] | 0; i64toi32_i32$2 = $13; i64toi32_i32$0 = HEAP32[($13 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($13 + 68 | 0) >> 2] | 0; $455 = i64toi32_i32$0; i64toi32_i32$0 = $135; HEAP32[i64toi32_i32$0 >> 2] = $455; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $137 = 8; i64toi32_i32$2 = ($13 + 64 | 0) + $137 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $468 = i64toi32_i32$1; i64toi32_i32$1 = $135 + $137 | 0; HEAP32[i64toi32_i32$1 >> 2] = $468; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 28 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($13 + 244 | 0) >> 2] | 0 | 0) | 0 | 0, $13 + 112 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($13 + 12 | 0 | 0, HEAP32[($13 + 280 | 0) >> 2] | 0 | 0, $13 + 260 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 44 | 0 | 0, $13 + 28 | 0 | 0, $13 + 12 | 0 | 0); $167 = HEAP32[($13 + 276 | 0) >> 2] | 0; i64toi32_i32$2 = $13; i64toi32_i32$0 = HEAP32[($13 + 44 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($13 + 48 | 0) >> 2] | 0; $517 = i64toi32_i32$0; i64toi32_i32$0 = $167; HEAP32[i64toi32_i32$0 >> 2] = $517; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $169 = 8; i64toi32_i32$2 = ($13 + 44 | 0) + $169 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $530 = i64toi32_i32$1; i64toi32_i32$1 = $167 + $169 | 0; HEAP32[i64toi32_i32$1 >> 2] = $530; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($13 + 284 | 0) >> 2] = Math_fround(HEAPF32[($13 + 100 | 0) >> 2]); } $176 = Math_fround(HEAPF32[($13 + 284 | 0) >> 2]); __stack_pointer = $13 + 288 | 0; return Math_fround($176); } function btManifoldResult__refreshContactPoints_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } __assert_fail(70583 | 0, 78398 | 0, 103 | 0, 69146 | 0); wasm2js_trap(); } label$2 : { label$3 : { if (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) { break label$3 } break label$2; } (wasm2js_i32$0 = $3, wasm2js_i32$1 = (btPersistentManifold__getBody0_28_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; label$4 : { if (!((HEAPU8[($3 + 11 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } btPersistentManifold__refreshContactPoints_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); break label$2; } btPersistentManifold__refreshContactPoints_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); } __stack_pointer = $3 + 16 | 0; return; } function btSphereShape__getRadius_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $13 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $13 = Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const($4 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($4 + 20 | 0 | 0) | 0) >> 2])); __stack_pointer = $3 + 16 | 0; return Math_fround($13); } function btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTransform__btTransform_28_29($4 | 0) | 0; btTransform__btTransform_28_29($4 + 64 | 0 | 0) | 0; HEAPF32[($4 + 128 | 0) >> 2] = Math_fround(999999984306749440.0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btGjkPairDetector__setMinkowskiA_28btConvexShape_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btGjkPairDetector__setMinkowskiB_28btConvexShape_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__btDummyResult_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result__Result_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 93856 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__btWithoutMarginResult_28btDiscreteCollisionDetectorInterface__Result__2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result__Result_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 94032 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; btVector3__btVector3_28_29($7 + 8 | 0 | 0) | 0; HEAPF32[($7 + 24 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAPF32[($7 + 28 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); HEAP8[($7 + 36 | 0) >> 0] = 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btGjkPairDetector__getCachedSeparatingDistance_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2])); } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btManifoldResult__getPersistentManifold_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btQuadWord__btQuadWord_28_29($6 | 0) | 0; btQuaternion__setRotation_28btVector3_20const__2c_20float_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btQuaternion__inverse_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[$5 >> 2])); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); HEAPF32[$4 >> 2] = Math_fround(-Math_fround(HEAPF32[($5 + 8 | 0) >> 2])); btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $20 = Math_fround(0), $28 = Math_fround(0), $52 = Math_fround(0), $60 = Math_fround(0), $84 = Math_fround(0), $92 = Math_fround(0), $117 = Math_fround(0), $126 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); $28 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $28)), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; $52 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); $60 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $52); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $60)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; $84 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); $92 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $84); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $92)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $117 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])))); $126 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $117); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $126)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $8 = 0, $9 = 0, $11 = 0, $7 = 0, $18 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = $5; $7 = $5 + 48 | 0; $8 = $5; label$1 : while (1) { $9 = $8; btVector3__btVector3_28_29($9 | 0) | 0; $11 = $9 + 16 | 0; $8 = $11; if (!(($11 | 0) == ($7 | 0) & 1 | 0)) { continue label$1 } break label$1; }; btMatrix3x3__setRotation_28btQuaternion_20const__29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); $18 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $18 | 0; } function btTransform__setBasis_28btMatrix3x3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btMatrix3x3__operator__28btMatrix3x3_20const__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btPerturbedContactResult__btPerturbedContactResult_28btManifoldResult__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20bool_2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, $11 = 0; $9 = __stack_pointer - 32 | 0; __stack_pointer = $9; HEAP32[($9 + 28 | 0) >> 2] = $0; HEAP32[($9 + 24 | 0) >> 2] = $1; HEAP32[($9 + 20 | 0) >> 2] = $2; HEAP32[($9 + 16 | 0) >> 2] = $3; HEAP32[($9 + 12 | 0) >> 2] = $4; HEAP8[($9 + 11 | 0) >> 0] = $5; HEAP32[($9 + 4 | 0) >> 2] = $6; $11 = HEAP32[($9 + 28 | 0) >> 2] | 0; btManifoldResult__btManifoldResult_28_29($11 | 0) | 0; HEAP32[$11 >> 2] = 94216 + 8 | 0; HEAP32[($11 + 36 | 0) >> 2] = HEAP32[($9 + 24 | 0) >> 2] | 0; btTransform__btTransform_28btTransform_20const__29($11 + 40 | 0 | 0, HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($11 + 104 | 0 | 0, HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($11 + 168 | 0 | 0, HEAP32[($9 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP8[($11 + 232 | 0) >> 0] = (HEAPU8[($9 + 11 | 0) >> 0] | 0) & 1 | 0; HEAP32[($11 + 236 | 0) >> 2] = HEAP32[($9 + 4 | 0) >> 2] | 0; __stack_pointer = $9 + 32 | 0; return $11 | 0; } function btPerturbedContactResult___btPerturbedContactResult_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btManifoldResult___btManifoldResult_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btGjkPairDetector___btGjkPairDetector_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function segmentsClosestPoints_28btVector3__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = Math_fround($7); $8 = $8 | 0; $9 = Math_fround($9); var $12 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $145 = 0, $147 = 0, $158 = 0, $160 = 0, $178 = 0, $180 = 0, $543 = 0, $556 = 0, $573 = 0, $586 = 0, $616 = 0, $629 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $12 = __stack_pointer - 128 | 0; __stack_pointer = $12; HEAP32[($12 + 124 | 0) >> 2] = $0; HEAP32[($12 + 120 | 0) >> 2] = $1; HEAP32[($12 + 116 | 0) >> 2] = $2; HEAP32[($12 + 112 | 0) >> 2] = $3; HEAP32[($12 + 108 | 0) >> 2] = $4; HEAP32[($12 + 104 | 0) >> 2] = $5; HEAP32[($12 + 100 | 0) >> 2] = $6; HEAPF32[($12 + 96 | 0) >> 2] = $7; HEAP32[($12 + 92 | 0) >> 2] = $8; HEAPF32[($12 + 88 | 0) >> 2] = $9; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 92 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($12 + 72 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(1.0)); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($12 + 72 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); break label$1; } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($12 + 76 | 0) >> 2])) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])) / Math_fround(HEAPF32[($12 + 72 | 0) >> 2])); label$3 : { label$4 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { break label$4 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); break label$3; } label$5 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { break label$5 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); } } } HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(-Math_fround(HEAPF32[($12 + 76 | 0) >> 2]))); label$6 : { label$7 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 88 | 0) >> 2])) & 1 | 0)) { break label$7 } HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 88 | 0) >> 2])); HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])); label$8 : { label$9 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { break label$9 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); break label$8; } label$10 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { break label$10 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); } } break label$6; } label$11 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 88 | 0) >> 2]) & 1 | 0)) { break label$11 } HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 88 | 0) >> 2]); HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])); label$12 : { label$13 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { break label$13 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); break label$12; } label$14 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { break label$14 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); } } } } operator__28btVector3_20const__2c_20float_20const__29($12 + 56 | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 112 | 0) >> 2] | 0 | 0); $145 = HEAP32[($12 + 120 | 0) >> 2] | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 56 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 60 | 0) >> 2] | 0; $543 = i64toi32_i32$0; i64toi32_i32$0 = $145; HEAP32[i64toi32_i32$0 >> 2] = $543; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $147 = 8; i64toi32_i32$2 = ($12 + 56 | 0) + $147 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $556 = i64toi32_i32$1; i64toi32_i32$1 = $145 + $147 | 0; HEAP32[i64toi32_i32$1 >> 2] = $556; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($12 + 40 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0); $158 = HEAP32[($12 + 116 | 0) >> 2] | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 40 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 44 | 0) >> 2] | 0; $573 = i64toi32_i32$0; i64toi32_i32$0 = $158; HEAP32[i64toi32_i32$0 >> 2] = $573; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $160 = 8; i64toi32_i32$2 = ($12 + 40 | 0) + $160 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $586 = i64toi32_i32$1; i64toi32_i32$1 = $158 + $160 | 0; HEAP32[i64toi32_i32$1 >> 2] = $586; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 8 | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0, HEAP32[($12 + 120 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($12 + 24 | 0 | 0, $12 + 8 | 0 | 0, HEAP32[($12 + 116 | 0) >> 2] | 0 | 0); $178 = HEAP32[($12 + 124 | 0) >> 2] | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 28 | 0) >> 2] | 0; $616 = i64toi32_i32$0; i64toi32_i32$0 = $178; HEAP32[i64toi32_i32$0 >> 2] = $616; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $180 = 8; i64toi32_i32$2 = ($12 + 24 | 0) + $180 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $629 = i64toi32_i32$1; i64toi32_i32$1 = $178 + $180 | 0; HEAP32[i64toi32_i32$1 >> 2] = $629; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $12 + 128 | 0; return; } function btQuaternion__setRotation_28btVector3_20const__2c_20float_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; label$1 : { if (Math_fround(HEAPF32[($5 + 32 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { break label$1 } __assert_fail(86707 | 0, 78737 | 0, 115 | 0, 76633 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]) * Math_fround(.5))))) / Math_fround(HEAPF32[($5 + 32 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]) * Math_fround(.5)))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($6 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0); __stack_pointer = $5 + 48 | 0; return; } function btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btConvexConvexAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $196 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $7 = __stack_pointer - 1312 | 0; __stack_pointer = $7; HEAP32[($7 + 1304 | 0) >> 2] = $0; HEAP32[($7 + 1300 | 0) >> 2] = $1; HEAP32[($7 + 1296 | 0) >> 2] = $2; HEAP32[($7 + 1292 | 0) >> 2] = $3; HEAP32[($7 + 1288 | 0) >> 2] = $4; HEAPF32[($7 + 1284 | 0) >> 2] = Math_fround(1.0); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 1264 | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 1264 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1280 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 1244 | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 1244 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1260 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($7 + 1280 | 0) >> 2]) < Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0)) & 1 | 0)) { break label$2 } if (!(Math_fround(HEAPF32[($7 + 1260 | 0) >> 2]) < Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0)) & 1 | 0)) { break label$2 } HEAPF32[($7 + 1308 | 0) >> 2] = Math_fround(HEAPF32[($7 + 1284 | 0) >> 2]); break label$1; } label$3 : { if (!((HEAPU8[(0 + 113996 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } HEAPF32[($7 + 1308 | 0) >> 2] = Math_fround(1.0); break label$1; } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1240 | 0) >> 2] = wasm2js_i32$1; btSphereShape__btSphereShape_28float_29($7 + 1180 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0)))) | 0; btConvexCast__CastResult__CastResult_28_29($7 + 1004 | 0 | 0) | 0; btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($7 + 644 | 0 | 0) | 0; btGjkConvexCast__btGjkConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($7 + 628 | 0 | 0, HEAP32[($7 + 1240 | 0) >> 2] | 0 | 0, $7 + 1180 | 0 | 0, $7 + 644 | 0 | 0) | 0; label$4 : { if (!((btGjkConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($7 + 628 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 1004 | 0 | 0) | 0) & 1 | 0)) { break label$4 } label$5 : { if (!(Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0)) > Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]) & 1 | 0)) { break label$5 } btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]))); } label$6 : { if (!(Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0)) > Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]) & 1 | 0)) { break label$6 } btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]))); } label$7 : { if (!(Math_fround(HEAPF32[($7 + 1284 | 0) >> 2]) > Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]) & 1 | 0)) { break label$7 } HEAPF32[($7 + 1284 | 0) >> 2] = Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]); } } btGjkConvexCast___btGjkConvexCast_28_29($7 + 628 | 0 | 0) | 0; btConvexCast__CastResult___CastResult_28_29($7 + 1004 | 0 | 0) | 0; btSphereShape___btSphereShape_28_29($7 + 1180 | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 624 | 0) >> 2] = wasm2js_i32$1; btSphereShape__btSphereShape_28float_29($7 + 564 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0)))) | 0; btConvexCast__CastResult__CastResult_28_29($7 + 388 | 0 | 0) | 0; btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($7 + 28 | 0 | 0) | 0; btGjkConvexCast__btGjkConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($7 + 12 | 0 | 0, $7 + 564 | 0 | 0, HEAP32[($7 + 624 | 0) >> 2] | 0 | 0, $7 + 28 | 0 | 0) | 0; label$8 : { if (!((btGjkConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($7 + 12 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 388 | 0 | 0) | 0) & 1 | 0)) { break label$8 } label$9 : { if (!(Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0)) > Math_fround(HEAPF32[($7 + 552 | 0) >> 2]) & 1 | 0)) { break label$9 } btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 552 | 0) >> 2]))); } label$10 : { if (!(Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0)) > Math_fround(HEAPF32[($7 + 552 | 0) >> 2]) & 1 | 0)) { break label$10 } btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 552 | 0) >> 2]))); } label$11 : { if (!(Math_fround(HEAPF32[($7 + 1284 | 0) >> 2]) > Math_fround(HEAPF32[($7 + 552 | 0) >> 2]) & 1 | 0)) { break label$11 } HEAPF32[($7 + 1284 | 0) >> 2] = Math_fround(HEAPF32[($7 + 552 | 0) >> 2]); } } btGjkConvexCast___btGjkConvexCast_28_29($7 + 12 | 0 | 0) | 0; btConvexCast__CastResult___CastResult_28_29($7 + 388 | 0 | 0) | 0; btSphereShape___btSphereShape_28_29($7 + 564 | 0 | 0) | 0; HEAPF32[($7 + 1308 | 0) >> 2] = Math_fround(HEAPF32[($7 + 1284 | 0) >> 2]); } $196 = Math_fround(HEAPF32[($7 + 1308 | 0) >> 2]); __stack_pointer = $7 + 1312 | 0; return Math_fround($196); } function btCollisionObject__getCcdSquareMotionThreshold_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; return Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 276 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 276 | 0) >> 2]))); } function btCollisionObject__getHitFraction_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2])); } function btCollisionObject__setHitFraction_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btConvexConvexAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $9 = 0, $14 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; $9 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($9, 72) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $14 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[607 | 0]($14, HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0, HEAP32[($7 + 8 | 0) >> 2] | 0, HEAP32[($7 + 12 | 0) >> 2] | 0, HEAP32[($7 + 16 | 0) >> 2] | 0) | 0; __stack_pointer = $6 + 32 | 0; return $14 | 0; } function btConvexConvexAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((HEAPU8[($5 + 52 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 56 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $11 = 0, $13 = 0, $38 = 0, $75 = 0, $85 = 0, $17 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAPF32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAPF32[($7 + 32 | 0) >> 2] = Math_fround(HEAPF32[($6 + 32 | 0) >> 2]); $11 = $7 + 8 | 0; i64toi32_i32$2 = HEAP32[($6 + 40 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $75 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $75; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $85; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $17 = HEAP32[($6 + 36 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($6 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, $7 + 28 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 16 | 0 | 0, $17 | 0, $6 | 0); HEAPF32[($7 + 32 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 32 | 0) >> 2]) + Math_fround(Math_fround(HEAPF32[($7 + 24 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 28 | 0) >> 2]))); label$1 : { if (!(Math_fround(HEAPF32[($7 + 32 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$1 } HEAP8[($7 + 36 | 0) >> 0] = 1; } $38 = HEAP32[($7 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$38 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($38, HEAP32[($6 + 40 | 0) >> 2] | 0, $6 + 16 | 0, Math_fround(HEAPF32[($7 + 32 | 0) >> 2])); __stack_pointer = $6 + 48 | 0; return; } function btPerturbedContactResult___btPerturbedContactResult_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btPerturbedContactResult___btPerturbedContactResult_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btPerturbedContactResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $56 = 0, $93 = 0, $116 = 0, $145 = 0, $168 = 0, $20 = 0, $297 = 0, $301 = 0, $369 = 0, $373 = 0, $102 = 0, $415 = 0, $419 = 0, $471 = 0, $475 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 496 | 0; __stack_pointer = $6; HEAP32[($6 + 492 | 0) >> 2] = $0; HEAP32[($6 + 488 | 0) >> 2] = $1; HEAP32[($6 + 484 | 0) >> 2] = $2; HEAPF32[($6 + 480 | 0) >> 2] = $3; $7 = HEAP32[($6 + 492 | 0) >> 2] | 0; btVector3__btVector3_28_29($6 + 464 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 448 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 428 | 0 | 0) | 0; label$1 : { label$2 : { if (!((HEAPU8[($7 + 232 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $20 = HEAP32[($6 + 484 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($6 + 396 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0, $6 + 480 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 412 | 0 | 0, $20 | 0, $6 + 396 | 0 | 0); btTransform__inverse_28_29_20const($6 + 252 | 0 | 0, $7 + 40 | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($6 + 316 | 0 | 0, $7 + 168 | 0 | 0, $6 + 252 | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 380 | 0 | 0, $6 + 316 | 0 | 0, $6 + 412 | 0 | 0); $56 = 8; i64toi32_i32$2 = ($6 + 380 | 0) + $56 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $297 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 464 | 0) + $56 | 0; HEAP32[i64toi32_i32$0 >> 2] = $297; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 380 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 384 | 0) >> 2] | 0; $301 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 464 | 0) >> 2] = $301; HEAP32[($6 + 468 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 236 | 0 | 0, $6 + 464 | 0 | 0, HEAP32[($6 + 484 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 236 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($6 + 204 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0, $6 + 444 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 220 | 0 | 0, $6 + 464 | 0 | 0, $6 + 204 | 0 | 0); $93 = 8; i64toi32_i32$2 = ($6 + 220 | 0) + $93 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $369 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 448 | 0) + $93 | 0; HEAP32[i64toi32_i32$0 >> 2] = $369; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 220 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 224 | 0) >> 2] | 0; $373 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 448 | 0) >> 2] = $373; HEAP32[($6 + 452 | 0) >> 2] = i64toi32_i32$0; break label$1; } $102 = HEAP32[($6 + 484 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($6 + 172 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0, $6 + 480 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 188 | 0 | 0, $102 | 0, $6 + 172 | 0 | 0); $116 = 8; i64toi32_i32$2 = ($6 + 188 | 0) + $116 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $415 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 464 | 0) + $116 | 0; HEAP32[i64toi32_i32$0 >> 2] = $415; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 188 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 192 | 0) >> 2] | 0; $419 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 464 | 0) >> 2] = $419; HEAP32[($6 + 468 | 0) >> 2] = i64toi32_i32$0; btTransform__inverse_28_29_20const($6 + 28 | 0 | 0, $7 + 104 | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($6 + 92 | 0 | 0, $7 + 168 | 0 | 0, $6 + 28 | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 156 | 0 | 0, $6 + 92 | 0 | 0, HEAP32[($6 + 484 | 0) >> 2] | 0 | 0); $145 = 8; i64toi32_i32$2 = ($6 + 156 | 0) + $145 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $471 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 448 | 0) + $145 | 0; HEAP32[i64toi32_i32$0 >> 2] = $471; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 156 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 160 | 0) >> 2] | 0; $475 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 448 | 0) >> 2] = $475; HEAP32[($6 + 452 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 12 | 0 | 0, $6 + 464 | 0 | 0, $6 + 448 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 12 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_f32$0; } $168 = HEAP32[($7 + 36 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$168 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($168, HEAP32[($6 + 488 | 0) >> 2] | 0, $6 + 448 | 0, Math_fround(HEAPF32[($6 + 444 | 0) >> 2])); __stack_pointer = $6 + 496 | 0; return; } function _GLOBAL__sub_I_btConvexConvexAlgorithm_cpp() { __cxx_global_var_init_14(); return; } function __cxx_global_var_init_15() { btInfMaskConverter__btInfMaskConverter_28int_29(114e3 | 0, 2139095040 | 0) | 0; return; } function btConvexConcaveCollisionAlgorithm__btConvexConcaveCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; $9 = HEAP32[($7 + 28 | 0) >> 2] | 0; btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($9 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[$9 >> 2] = 94284 + 8 | 0; FUNCTION_TABLE[629 | 0]($9 + 8 | 0, HEAP32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($7 + 20 | 0) >> 2] | 0, HEAP32[($7 + 16 | 0) >> 2] | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0) | 0; HEAP8[($9 + 76 | 0) >> 0] = (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $7 + 32 | 0; return $9 | 0; } function btConvexConcaveCollisionAlgorithm___btConvexConcaveCollisionAlgorithm_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 94284 + 8 | 0; FUNCTION_TABLE[630 | 0]($4 + 8 | 0) | 0; btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexConcaveCollisionAlgorithm___btConvexConcaveCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[631 | 0]($4) | 0; btConvexConcaveCollisionAlgorithm__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConcaveCollisionAlgorithm__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConcaveCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, ($5 + 8 | 0) + 64 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btConvexTriangleCallback__btConvexTriangleCallback_28btDispatcher__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0, $23 = 0, $30 = 0, $33 = 0, $41 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 24 | 0) >> 2] = $0; HEAP32[($7 + 20 | 0) >> 2] = $1; HEAP32[($7 + 16 | 0) >> 2] = $2; HEAP32[($7 + 12 | 0) >> 2] = $3; HEAP8[($7 + 11 | 0) >> 0] = $4; $9 = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = $9; btTriangleCallback__btTriangleCallback_28_29($9 | 0) | 0; HEAP32[$9 >> 2] = 94312 + 8 | 0; btVector3__btVector3_28_29($9 + 4 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 20 | 0 | 0) | 0; HEAP32[($9 + 48 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; HEAP32[($9 + 52 | 0) >> 2] = 0; label$1 : { label$2 : { if (!((HEAPU8[($7 + 11 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $23 = HEAP32[($7 + 12 | 0) >> 2] | 0; break label$1; } $23 = HEAP32[($7 + 16 | 0) >> 2] | 0; } HEAP32[($9 + 36 | 0) >> 2] = $23; label$3 : { label$4 : { if (!((HEAPU8[($7 + 11 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $30 = HEAP32[($7 + 16 | 0) >> 2] | 0; break label$3; } $30 = HEAP32[($7 + 12 | 0) >> 2] | 0; } HEAP32[($9 + 40 | 0) >> 2] = $30; $33 = HEAP32[($9 + 48 | 0) >> 2] | 0; (wasm2js_i32$0 = $9, wasm2js_i32$1 = ((((wasm2js_i32$3 = $33, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($9 + 36 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($9 + 40 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$33 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; btConvexTriangleCallback__clearCache_28_29($9 | 0); $41 = HEAP32[($7 + 28 | 0) >> 2] | 0; __stack_pointer = $7 + 32 | 0; return $41 | 0; } function btConvexTriangleCallback__clearCache_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $5 = HEAP32[($4 + 48 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 64 | 0) >> 2] | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexTriangleCallback___btConvexTriangleCallback_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 94312 + 8 | 0; btConvexTriangleCallback__clearCache_28_29($4 | 0); $8 = HEAP32[($4 + 48 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, HEAP32[($4 + 64 | 0) >> 2] | 0); btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexTriangleCallback___btConvexTriangleCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[630 | 0]($4) | 0; btConvexTriangleCallback__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexTriangleCallback__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexTriangleCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $65 = 0, $75 = 0, $101 = 0, $112 = 0, $117 = 0, $139 = 0, $142 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 176 | 0; __stack_pointer = $6; HEAP32[($6 + 172 | 0) >> 2] = $0; HEAP32[($6 + 168 | 0) >> 2] = $1; HEAP32[($6 + 164 | 0) >> 2] = $2; HEAP32[($6 + 160 | 0) >> 2] = $3; $7 = HEAP32[($6 + 172 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($6 + 159 | 0 | 0, 81819 | 0) | 0; label$1 : { label$2 : { if ((TestTriangleAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 168 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0, $7 + 20 | 0 | 0) | 0) & 1 | 0) { break label$2 } HEAP32[($6 + 152 | 0) >> 2] = 1; break label$1; } btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_28_29($6 + 144 | 0 | 0) | 0; HEAP32[($6 + 144 | 0) >> 2] = HEAP32[($7 + 48 | 0) >> 2] | 0; label$3 : { if (!((btCollisionShape__isConvex_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$3 } btTriangleShape__btTriangleShape_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 168 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($6 + 168 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; btConvexInternalShape__setMargin_28float_29($6 + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 56 | 0) >> 2]))); btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($6 + 8 | 0 | 0, HEAP32[($7 + 40 | 0) >> 2] | 0 | 0, $6 + 32 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 164 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0) | 0; HEAP32[($6 + 4 | 0) >> 2] = 0; label$4 : { label$5 : { if (!(Math_fround(HEAPF32[((HEAP32[($7 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$5 } $65 = HEAP32[($6 + 144 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$65 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($65, HEAP32[($7 + 36 | 0) >> 2] | 0, $6 + 8 | 0, 0, 2) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; break label$4; } $75 = HEAP32[($6 + 144 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$75 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($75, HEAP32[($7 + 36 | 0) >> 2] | 0, $6 + 8 | 0, HEAP32[($7 + 64 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; } HEAP32[$6 >> 2] = 0; label$6 : { label$7 : { if (!((btManifoldResult__getBody0Internal_28_29_20const(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$7 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btManifoldResult__getBody0Wrap_28_29_20const(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0); $101 = HEAP32[($7 + 44 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$101 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($101, HEAP32[($6 + 164 | 0) >> 2] | 0, HEAP32[($6 + 160 | 0) >> 2] | 0); break label$6; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btManifoldResult__getBody1Wrap_28_29_20const(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0); $112 = HEAP32[($7 + 44 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$112 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($112, HEAP32[($6 + 164 | 0) >> 2] | 0, HEAP32[($6 + 160 | 0) >> 2] | 0); } $117 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$117 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($117, HEAP32[($7 + 36 | 0) >> 2] | 0, $6 + 8 | 0, HEAP32[($7 + 52 | 0) >> 2] | 0, HEAP32[($7 + 44 | 0) >> 2] | 0); label$8 : { label$9 : { if (!((btManifoldResult__getBody0Internal_28_29_20const(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$9 } btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); break label$8; } btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); } $139 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$139 >> 2] | 0) >> 2] | 0 | 0]($139) | 0; $142 = HEAP32[($6 + 144 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$142 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($142, HEAP32[($6 + 4 | 0) >> 2] | 0); btTriangleShape___btTriangleShape_28_29($6 + 32 | 0 | 0) | 0; } HEAP32[($6 + 152 | 0) >> 2] = 0; } CProfileSample___CProfileSample_28_29($6 + 159 | 0 | 0) | 0; __stack_pointer = $6 + 176 | 0; return; } function TestTriangleAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $150 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAP32[($5 + 16 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 16 | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 32 | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29(float_20const__20btMin_float__28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$2 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$3 : { if (!(Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29(float_20const__20btMax_float__28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$3 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$4 : { if (!(Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29(float_20const__20btMin_float__28float_20const__2c_20float_20const__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) & 1 | 0)) { break label$4 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$5 : { if (!(Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29(float_20const__20btMax_float__28float_20const__2c_20float_20const__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) & 1 | 0)) { break label$5 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$6 : { if (!(Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29(float_20const__20btMin_float__28float_20const__2c_20float_20const__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$6 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$7 : { if (!(Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29(float_20const__20btMax_float__28float_20const__2c_20float_20const__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$7 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP8[($5 + 31 | 0) >> 0] = 1 & 1 | 0; } $150 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 32 | 0; return $150 | 0; } function btTriangleShape__btTriangleShape_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $12 = 0, $15 = 0, $16 = 0, $18 = 0, $27 = 0, $29 = 0, $37 = 0, $39 = 0, $47 = 0, $49 = 0, $14 = 0, $114 = 0, $124 = 0, $136 = 0, $146 = 0, $158 = 0, $168 = 0, $53 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 24 | 0) >> 2] = $0; HEAP32[($6 + 20 | 0) >> 2] = $1; HEAP32[($6 + 16 | 0) >> 2] = $2; HEAP32[($6 + 12 | 0) >> 2] = $3; $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = $7; btPolyhedralConvexShape__btPolyhedralConvexShape_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 94420 + 8 | 0; $12 = $7 + 64 | 0; $14 = $12 + 48 | 0; $15 = $12; label$1 : while (1) { $16 = $15; btVector3__btVector3_28_29($16 | 0) | 0; $18 = $16 + 16 | 0; $15 = $18; if (!(($18 | 0) == ($14 | 0) & 1 | 0)) { continue label$1 } break label$1; }; HEAP32[($7 + 4 | 0) >> 2] = 1; $27 = $7 + 64 | 0; i64toi32_i32$2 = HEAP32[($6 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $114 = i64toi32_i32$0; i64toi32_i32$0 = $27; HEAP32[i64toi32_i32$0 >> 2] = $114; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $124 = i64toi32_i32$1; i64toi32_i32$1 = $27 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $124; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $37 = ($7 + 64 | 0) + 16 | 0; i64toi32_i32$2 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $136 = i64toi32_i32$0; i64toi32_i32$0 = $37; HEAP32[i64toi32_i32$0 >> 2] = $136; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $39 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $39 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $146 = i64toi32_i32$1; i64toi32_i32$1 = $37 + $39 | 0; HEAP32[i64toi32_i32$1 >> 2] = $146; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $47 = ($7 + 64 | 0) + 32 | 0; i64toi32_i32$2 = HEAP32[($6 + 12 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $158 = i64toi32_i32$0; i64toi32_i32$0 = $47; HEAP32[i64toi32_i32$0 >> 2] = $158; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $49 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $168 = i64toi32_i32$1; i64toi32_i32$1 = $47 + $49 | 0; HEAP32[i64toi32_i32$1 >> 2] = $168; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $53 = HEAP32[($6 + 28 | 0) >> 2] | 0; __stack_pointer = $6 + 32 | 0; return $53 | 0; } function btManifoldResult__getBody0Internal_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btManifoldResult__getBody0Wrap_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btManifoldResult__getBody1Wrap_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; } function btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btTriangleShape___btTriangleShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btPolyhedralConvexShape___btPolyhedralConvexShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function float_20const__20btMax_float__28float_20const__2c_20float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $13 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$2 } $13 = HEAP32[($4 + 12 | 0) >> 2] | 0; break label$1; } $13 = HEAP32[($4 + 8 | 0) >> 2] | 0; } return $13 | 0; } function btConvexTriangleCallback__setTimeStepAndCounters_28float_2c_20btDispatcherInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $56 = 0, $39 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $8 = __stack_pointer - 240 | 0; __stack_pointer = $8; HEAP32[($8 + 236 | 0) >> 2] = $0; HEAPF32[($8 + 232 | 0) >> 2] = $1; HEAP32[($8 + 228 | 0) >> 2] = $2; HEAP32[($8 + 224 | 0) >> 2] = $3; HEAP32[($8 + 220 | 0) >> 2] = $4; HEAP32[($8 + 216 | 0) >> 2] = $5; $9 = HEAP32[($8 + 236 | 0) >> 2] | 0; HEAP32[($9 + 36 | 0) >> 2] = HEAP32[($8 + 224 | 0) >> 2] | 0; HEAP32[($9 + 40 | 0) >> 2] = HEAP32[($8 + 220 | 0) >> 2] | 0; HEAP32[($9 + 52 | 0) >> 2] = HEAP32[($8 + 228 | 0) >> 2] | 0; HEAPF32[($9 + 56 | 0) >> 2] = Math_fround(HEAPF32[($8 + 232 | 0) >> 2]); HEAP32[($9 + 44 | 0) >> 2] = HEAP32[($8 + 216 | 0) >> 2] | 0; btTransform__btTransform_28_29($8 + 152 | 0 | 0) | 0; btTransform__inverse_28_29_20const($8 + 24 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($9 + 40 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($8 + 88 | 0 | 0, $8 + 24 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($9 + 36 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($8 + 152 | 0 | 0, $8 + 88 | 0 | 0) | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($9 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $39 = HEAP32[($8 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$39 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($39, $8 + 152 | 0, $9 + 4 | 0, $9 + 20 | 0); HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 232 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($8 + 216 | 0) >> 2] | 0) + 32 | 0) >> 2])); $56 = $8 + 16 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, $56 | 0, $56 | 0, $56 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($9 + 20 | 0 | 0, $8 | 0) | 0; btVector3__operator___28btVector3_20const__29($9 + 4 | 0 | 0, $8 | 0) | 0; __stack_pointer = $8 + 240 | 0; return; } function btConvexConcaveCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $17 = 0, $24 = 0, $39 = 0, $57 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 44 | 0) >> 2] = $0; HEAP32[($7 + 40 | 0) >> 2] = $1; HEAP32[($7 + 36 | 0) >> 2] = $2; HEAP32[($7 + 32 | 0) >> 2] = $3; HEAP32[($7 + 28 | 0) >> 2] = $4; $8 = HEAP32[($7 + 44 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($7 + 27 | 0 | 0, 76822 | 0) | 0; label$1 : { label$2 : { if (!((HEAPU8[($8 + 76 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $17 = HEAP32[($7 + 36 | 0) >> 2] | 0; break label$1; } $17 = HEAP32[($7 + 40 | 0) >> 2] | 0; } HEAP32[($7 + 20 | 0) >> 2] = $17; label$3 : { label$4 : { if (!((HEAPU8[($8 + 76 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $24 = HEAP32[($7 + 40 | 0) >> 2] | 0; break label$3; } $24 = HEAP32[($7 + 36 | 0) >> 2] | 0; } HEAP32[($7 + 16 | 0) >> 2] = $24; label$5 : { if (!((btCollisionShape__isConcave_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$6 : { if (!((btCollisionShape__isConvex_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$6 } $39 = HEAP32[($7 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$39 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($39))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0 | 0); btConvexTriangleCallback__setTimeStepAndCounters_28float_2c_20btDispatcherInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btManifoldResult__29($8 + 8 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 8 | 0) >> 2])), HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); btPersistentManifold__setBodies_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($8 + 72 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0); $57 = HEAP32[($7 + 12 | 0) >> 2] | 0; ((((wasm2js_i32$1 = $57, wasm2js_i32$2 = $8 + 8 | 0), wasm2js_i32$3 = btConvexTriangleCallback__getAabbMin_28_29_20const($8 + 8 | 0 | 0) | 0), wasm2js_i32$4 = btConvexTriangleCallback__getAabbMax_28_29_20const($8 + 8 | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$57 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); btConvexTriangleCallback__clearWrapperData_28_29($8 + 8 | 0 | 0); } } CProfileSample___CProfileSample_28_29($7 + 27 | 0 | 0) | 0; __stack_pointer = $7 + 48 | 0; return; } function btPersistentManifold__setBodies_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($6 + 836 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 840 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; return; } function btConvexTriangleCallback__getAabbMin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btConvexTriangleCallback__getAabbMax_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0; } function btConvexTriangleCallback__clearWrapperData_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($4 + 36 | 0) >> 2] = 0; HEAP32[($4 + 40 | 0) >> 2] = 0; return; } function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $112 = 0, $124 = 0, $8 = 0, $13 = 0, $20 = 0, $72 = 0, $73 = 0, $90 = 0, $91 = 0, $156 = 0, $347 = 0, $351 = 0, $382 = 0, $386 = 0, $183 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $7 = __stack_pointer - 544 | 0; __stack_pointer = $7; HEAP32[($7 + 536 | 0) >> 2] = $0; HEAP32[($7 + 532 | 0) >> 2] = $1; HEAP32[($7 + 528 | 0) >> 2] = $2; HEAP32[($7 + 524 | 0) >> 2] = $3; HEAP32[($7 + 520 | 0) >> 2] = $4; $8 = HEAP32[($7 + 536 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($8 + 76 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $13 = HEAP32[($7 + 528 | 0) >> 2] | 0; break label$1; } $13 = HEAP32[($7 + 532 | 0) >> 2] | 0; } HEAP32[($7 + 516 | 0) >> 2] = $13; label$3 : { label$4 : { if (!((HEAPU8[($8 + 76 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $20 = HEAP32[($7 + 532 | 0) >> 2] | 0; break label$3; } $20 = HEAP32[($7 + 528 | 0) >> 2] | 0; } HEAP32[($7 + 512 | 0) >> 2] = $20; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 492 | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 492 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[($7 + 508 | 0) >> 2]) < Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0)) & 1 | 0)) { break label$6 } HEAPF32[($7 + 540 | 0) >> 2] = Math_fround(1.0); break label$5; } btTransform__inverse_28_29_20const($7 + 428 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 512 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($7 + 364 | 0 | 0, $7 + 428 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($7 + 300 | 0 | 0, $7 + 428 | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0) | 0 | 0); label$7 : { if (!((btCollisionShape__isConcave_28_29_20const(btCollisionObject__getCollisionShape_28_29(HEAP32[($7 + 512 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$7 } $72 = btTransform__getOrigin_28_29($7 + 364 | 0 | 0) | 0; $73 = 8; i64toi32_i32$2 = $72 + $73 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $347 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 280 | 0) + $73 | 0; HEAP32[i64toi32_i32$0 >> 2] = $347; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $72; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $351 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 280 | 0) >> 2] = $351; HEAP32[($7 + 284 | 0) >> 2] = i64toi32_i32$0; btVector3__setMin_28btVector3_20const__29($7 + 280 | 0 | 0, btTransform__getOrigin_28_29($7 + 300 | 0 | 0) | 0 | 0); $90 = btTransform__getOrigin_28_29($7 + 364 | 0 | 0) | 0; $91 = 8; i64toi32_i32$2 = $90 + $91 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $382 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 264 | 0) + $91 | 0; HEAP32[i64toi32_i32$0 >> 2] = $382; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $90; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $386 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 264 | 0) >> 2] = $386; HEAP32[($7 + 268 | 0) >> 2] = i64toi32_i32$0; btVector3__setMax_28btVector3_20const__29($7 + 264 | 0 | 0, btTransform__getOrigin_28_29($7 + 300 | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_f32$0; $112 = $7 + 260 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 244 | 0 | 0, $112 | 0, $112 | 0, $112 | 0) | 0; btVector3__operator___28btVector3_20const__29($7 + 280 | 0 | 0, $7 + 244 | 0 | 0) | 0; $124 = $7 + 260 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 228 | 0 | 0, $124 | 0, $124 | 0, $124 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($7 + 264 | 0 | 0, $7 + 228 | 0 | 0) | 0; HEAPF32[($7 + 224 | 0) >> 2] = Math_fround(1.0); btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback__LocalTriangleSphereCastCallback_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20float_29($7 + 20 | 0 | 0, $7 + 364 | 0 | 0, $7 + 300 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(HEAPF32[($7 + 224 | 0) >> 2]))) | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; HEAP32[($7 + 16 | 0) >> 2] = HEAP32[($7 + 512 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$8 : { if (!((HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } $156 = HEAP32[($7 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$156 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($156, $7 + 20 | 0, $7 + 280 | 0, $7 + 264 | 0); } label$9 : { label$10 : { if (!(Math_fround(HEAPF32[($7 + 220 | 0) >> 2]) < Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0)) & 1 | 0)) { break label$10 } btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 220 | 0) >> 2]))); HEAPF32[($7 + 540 | 0) >> 2] = Math_fround(HEAPF32[($7 + 220 | 0) >> 2]); HEAP32[($7 + 8 | 0) >> 2] = 1; break label$9; } HEAP32[($7 + 8 | 0) >> 2] = 0; } btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29($7 + 20 | 0 | 0) | 0; label$11 : { switch (HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) { case 1: break label$5; default: break label$11; }; } } HEAPF32[($7 + 540 | 0) >> 2] = Math_fround(1.0); } $183 = Math_fround(HEAPF32[($7 + 540 | 0) >> 2]); __stack_pointer = $7 + 544 | 0; return Math_fround($183); } function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback__LocalTriangleSphereCastCallback_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; btTriangleCallback__btTriangleCallback_28_29($8 | 0) | 0; HEAP32[$8 >> 2] = 94588 + 8 | 0; btTransform__btTransform_28btTransform_20const__29($8 + 4 | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($8 + 68 | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28_29($8 + 132 | 0 | 0) | 0; HEAPF32[($8 + 196 | 0) >> 2] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]); HEAPF32[($8 + 200 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); __stack_pointer = $7 + 32 | 0; return $8 | 0; } function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTriangleShape___btTriangleShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleShape___btTriangleShape_28_29($4 | 0) | 0; btTriangleShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); __stack_pointer = $6 + 16 | 0; return; } function btConvexInternalShape__getLocalScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0; } function btTriangleShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; __assert_fail(86177 | 0, 79443 | 0, 127 | 0, 83783 | 0); wasm2js_trap(); } function btTriangleShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 81877 | 0; } function btConvexInternalShape__getMargin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2])); } function btConvexInternalShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 52 | 0; } function btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 36 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 28 | 0 | 0); btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 20 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 12 | 0 | 0); HEAPF32[((HEAP32[$5 >> 2] | 0) + 44 | 0) >> 2] = Math_fround(HEAPF32[($6 + 52 | 0) >> 2]); HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] = 0; __stack_pointer = $5 + 16 | 0; return 83475 | 0; } function btVector3__serializeFloat_28btVector3FloatData__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$1 } HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btTriangleShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $31 = 0, $92 = 0, $102 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0, ($6 + 64 | 0) + 16 | 0 | 0, ($6 + 64 | 0) + 32 | 0 | 0); i64toi32_i32$2 = ($6 + 64 | 0) + ((btVector3__maxAxis_28_29_20const($5 + 8 | 0 | 0) | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $92 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $92; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $31 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $31 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $102 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $31 | 0; HEAP32[i64toi32_i32$1 >> 2] = $102; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 32 | 0; return; } function btVector3__maxAxis_28_29_20const($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $18 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) & 1 | 0)) { break label$2 } $18 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0 ? 2 : 1; break label$1; } $18 = Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0 ? 2 : 0; } return $18 | 0; } function btTriangleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $48 = 0, $50 = 0, $43 = 0, $156 = 0, $166 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 8 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $7 + 64 | 0 | 0, ($7 + 64 | 0) + 16 | 0 | 0, ($7 + 64 | 0) + 32 | 0 | 0); $43 = ($7 + 64 | 0) + ((btVector3__maxAxis_28_29_20const($6 + 8 | 0 | 0) | 0) << 4 | 0) | 0; $48 = (HEAP32[($6 + 36 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $43; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $156 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $156; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $50 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $50 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $166 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $50 | 0; HEAP32[i64toi32_i32$1 >> 2] = $166; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 48 | 0; return; } function btTriangleShape__getNumPreferredPenetrationDirections_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function btTriangleShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; btTriangleShape__calcNormal_28btVector3__29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); label$1 : { if (!(HEAP32[($5 + 8 | 0) >> 2] | 0)) { break label$1 } HEAPF32[$5 >> 2] = Math_fround(-1.0); btVector3__operator___28float_20const__29_1(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, $5 | 0) | 0; } __stack_pointer = $5 + 16 | 0; return; } function btTriangleShape__calcNormal_28btVector3__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, i64toi32_i32$2 = 0, $33 = 0, $35 = 0, $107 = 0, $120 = 0; $4 = __stack_pointer - 64 | 0; __stack_pointer = $4; HEAP32[($4 + 60 | 0) >> 2] = $0; HEAP32[($4 + 56 | 0) >> 2] = $1; $5 = HEAP32[($4 + 60 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 24 | 0 | 0, ($5 + 64 | 0) + 16 | 0 | 0, $5 + 64 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 8 | 0 | 0, ($5 + 64 | 0) + 32 | 0 | 0, $5 + 64 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($4 + 40 | 0 | 0, $4 + 24 | 0 | 0, $4 + 8 | 0 | 0); $33 = HEAP32[($4 + 56 | 0) >> 2] | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 40 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 44 | 0) >> 2] | 0; $107 = i64toi32_i32$0; i64toi32_i32$0 = $33; HEAP32[i64toi32_i32$0 >> 2] = $107; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $35 = 8; i64toi32_i32$2 = ($4 + 40 | 0) + $35 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $120 = i64toi32_i32$1; i64toi32_i32$1 = $33 + $35 | 0; HEAP32[i64toi32_i32$1 >> 2] = $120; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__normalize_28_29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 64 | 0; return; } function btTriangleShape__getNumVertices_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function btTriangleShape__getNumEdges_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 3 | 0; } function btTriangleShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, ((HEAP32[($6 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0, HEAP32[$6 >> 2] | 0); __stack_pointer = $6 + 16 | 0; return; } function btTriangleShape__getVertex_28int_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $47 = 0, $57 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $13 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = ((HEAP32[($5 + 12 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $47 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $47; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $57 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $57; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btTriangleShape__getNumPlanes_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 1 | 0; } function btTriangleShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 124 | 0) >> 2] | 0 | 0]($7, HEAP32[$6 >> 2] | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0); __stack_pointer = $6 + 16 | 0; return; } function btTriangleShape__isInside_28btVector3_20const__2c_20float_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $117 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 128 | 0; __stack_pointer = $5; HEAP32[($5 + 120 | 0) >> 2] = $0; HEAP32[($5 + 116 | 0) >> 2] = $1; HEAPF32[($5 + 112 | 0) >> 2] = $2; $6 = HEAP32[($5 + 120 | 0) >> 2] | 0; btVector3__btVector3_28_29($5 + 96 | 0 | 0) | 0; btTriangleShape__calcNormal_28btVector3__29_20const($6 | 0, $5 + 96 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 64 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 88 | 0) >> 2])); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) >= Math_fround(-Math_fround(HEAPF32[($5 + 112 | 0) >> 2])) & 1 | 0)) { break label$2 } if (!(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) <= Math_fround(HEAPF32[($5 + 112 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAP32[($5 + 84 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$3 } btVector3__btVector3_28_29($5 + 68 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 52 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($6, HEAP32[($5 + 84 | 0) >> 2] | 0, $5 + 68 | 0, $5 + 52 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $5 + 52 | 0 | 0, $5 + 68 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $5 + 36 | 0 | 0, $5 + 96 | 0 | 0); btVector3__normalize_28_29($5 + 20 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 68 | 0 | 0, $5 + 20 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); label$5 : { if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($5 + 112 | 0) >> 2])) & 1 | 0)) { break label$5 } HEAP8[($5 + 127 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[($5 + 84 | 0) >> 2] = (HEAP32[($5 + 84 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAP8[($5 + 127 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($5 + 127 | 0) >> 0] = 0 & 1 | 0; } $117 = (HEAPU8[($5 + 127 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 128 | 0; return $117 | 0; } function btTriangleShape__getPlaneEquation_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $11 = 0, $13 = 0, $46 = 0, $56 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btTriangleShape__calcNormal_28btVector3__29_20const($7 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0); $11 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = $7 + 64 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $46 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $46; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $56 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $56; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 16 | 0; return; } function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $60 = 0; $6 = __stack_pointer - 816 | 0; __stack_pointer = $6; HEAP32[($6 + 812 | 0) >> 2] = $0; HEAP32[($6 + 808 | 0) >> 2] = $1; HEAP32[($6 + 804 | 0) >> 2] = $2; HEAP32[($6 + 800 | 0) >> 2] = $3; $7 = HEAP32[($6 + 812 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($6 + 799 | 0 | 0, 81845 | 0) | 0; btTransform__btTransform_28_29($6 + 732 | 0 | 0) | 0; btTransform__setIdentity_28_29($6 + 732 | 0 | 0); btConvexCast__CastResult__CastResult_28_29($6 + 556 | 0 | 0) | 0; HEAPF32[($6 + 720 | 0) >> 2] = Math_fround(HEAPF32[($7 + 200 | 0) >> 2]); btSphereShape__btSphereShape_28float_29($6 + 496 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 196 | 0) >> 2]))) | 0; btTriangleShape__btTriangleShape_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 384 | 0 | 0, HEAP32[($6 + 808 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 808 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($6 + 808 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($6 + 24 | 0 | 0) | 0; btSubsimplexConvexCast__btSubsimplexConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($6 + 8 | 0 | 0, $6 + 496 | 0 | 0, $6 + 384 | 0 | 0, $6 + 24 | 0 | 0) | 0; $60 = $6 + 732 | 0; label$1 : { if (!((btSubsimplexConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($6 + 8 | 0 | 0, $7 + 4 | 0 | 0, $7 + 68 | 0 | 0, $60 | 0, $60 | 0, $6 + 556 | 0 | 0) | 0) & 1 | 0)) { break label$1 } label$2 : { if (!(Math_fround(HEAPF32[($7 + 200 | 0) >> 2]) > Math_fround(HEAPF32[($6 + 720 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAPF32[($7 + 200 | 0) >> 2] = Math_fround(HEAPF32[($6 + 720 | 0) >> 2]); } } btSubsimplexConvexCast___btSubsimplexConvexCast_28_29($6 + 8 | 0 | 0) | 0; btTriangleShape___btTriangleShape_28_29($6 + 384 | 0 | 0) | 0; btSphereShape___btSphereShape_28_29($6 + 496 | 0 | 0) | 0; btConvexCast__CastResult___CastResult_28_29($6 + 556 | 0 | 0) | 0; CProfileSample___CProfileSample_28_29($6 + 799 | 0 | 0) | 0; __stack_pointer = $6 + 816 | 0; return; } function _GLOBAL__sub_I_btConvexConcaveCollisionAlgorithm_cpp() { __cxx_global_var_init_15(); return; } function __cxx_global_var_init_16() { btInfMaskConverter__btInfMaskConverter_28int_29(114004 | 0, 2139095040 | 0) | 0; return; } function btCompoundCollisionAlgorithm__btCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0, $32 = 0, $50 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 24 | 0) >> 2] = $0; HEAP32[($7 + 20 | 0) >> 2] = $1; HEAP32[($7 + 16 | 0) >> 2] = $2; HEAP32[($7 + 12 | 0) >> 2] = $3; HEAP8[($7 + 11 | 0) >> 0] = $4; $9 = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = $9; btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($9 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[$9 >> 2] = 94780 + 8 | 0; btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($9 + 8 | 0 | 0) | 0; btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($9 + 28 | 0 | 0) | 0; btAlignedObjectArray_btCollisionAlgorithm____btAlignedObjectArray_28_29($9 + 48 | 0 | 0) | 0; HEAP8[($9 + 68 | 0) >> 0] = (HEAPU8[($7 + 11 | 0) >> 0] | 0) & 1 | 0; HEAP32[($9 + 72 | 0) >> 2] = HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP8[($9 + 76 | 0) >> 0] = 0; label$1 : { label$2 : { if (!((HEAPU8[($9 + 68 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $32 = HEAP32[($7 + 12 | 0) >> 2] | 0; break label$1; } $32 = HEAP32[($7 + 16 | 0) >> 2] | 0; } HEAP32[($7 + 4 | 0) >> 2] = $32; label$3 : { if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { break label$3 } __assert_fail(87719 | 0, 73354 | 0, 36 | 0, 77182 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[$7 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; btCompoundCollisionAlgorithm__preallocateChildAlgorithms_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($9 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0); $50 = HEAP32[($7 + 28 | 0) >> 2] | 0; __stack_pointer = $7 + 32 | 0; return $50 | 0; } function btAlignedObjectArray_btCollisionAlgorithm____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btCollisionAlgorithm__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btCollisionAlgorithm____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundShape__getUpdateRevision_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0; } function btCompoundCollisionAlgorithm__preallocateChildAlgorithms_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $11 = 0, $18 = 0, $76 = 0, $36 = 0, $85 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 112 | 0; __stack_pointer = $5; HEAP32[($5 + 108 | 0) >> 2] = $0; HEAP32[($5 + 104 | 0) >> 2] = $1; HEAP32[($5 + 100 | 0) >> 2] = $2; $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($6 + 68 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $11 = HEAP32[($5 + 100 | 0) >> 2] | 0; break label$1; } $11 = HEAP32[($5 + 104 | 0) >> 2] | 0; } HEAP32[($5 + 96 | 0) >> 2] = $11; label$3 : { label$4 : { if (!((HEAPU8[($6 + 68 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $18 = HEAP32[($5 + 104 | 0) >> 2] | 0; break label$3; } $18 = HEAP32[($5 + 100 | 0) >> 2] | 0; } HEAP32[($5 + 92 | 0) >> 2] = $18; label$5 : { if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { break label$5 } __assert_fail(87719 | 0, 73354 | 0, 49 | 0, 69793 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; $36 = HEAP32[($5 + 84 | 0) >> 2] | 0; HEAP32[($5 + 76 | 0) >> 2] = 0; btAlignedObjectArray_btCollisionAlgorithm____resize_28int_2c_20btCollisionAlgorithm__20const__29($6 + 48 | 0 | 0, $36 | 0, $5 + 76 | 0 | 0); HEAP32[($5 + 80 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } label$8 : { label$9 : { if (!((btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } (wasm2js_i32$0 = btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($6 + 48 | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$8; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 48 | 0 | 0, HEAP32[($5 + 96 | 0) >> 2] | 0 | 0, HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, -1 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0; $76 = HEAP32[($6 + 4 | 0) >> 2] | 0; $85 = FUNCTION_TABLE[HEAP32[((HEAP32[$76 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($76, $5 + 48 | 0, HEAP32[($5 + 92 | 0) >> 2] | 0, HEAP32[($6 + 72 | 0) >> 2] | 0, 1) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($6 + 48 | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $85), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionAlgorithm____btAlignedObjectArray_28_29($5 + 28 | 0 | 0) | 0; btAlignedObjectArray_btCollisionAlgorithm____btAlignedObjectArray_28_29($5 + 8 | 0 | 0) | 0; btAlignedObjectArray_btCollisionAlgorithm_____btAlignedObjectArray_28_29($5 + 8 | 0 | 0) | 0; btAlignedObjectArray_btCollisionAlgorithm_____btAlignedObjectArray_28_29($5 + 28 | 0 | 0) | 0; } HEAP32[($5 + 80 | 0) >> 2] = (HEAP32[($5 + 80 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } __stack_pointer = $5 + 112 | 0; return; } function btAlignedAllocator_btCollisionAlgorithm__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionAlgorithm____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btCollisionAlgorithm____resize_28int_2c_20btCollisionAlgorithm__20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btCollisionAlgorithm____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btCollisionAlgorithm_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCollisionAlgorithm____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionAlgorithm____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btCollisionAlgorithm____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionAlgorithm____copy_28int_2c_20int_2c_20btCollisionAlgorithm___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btCollisionAlgorithm____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btCollisionAlgorithm____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionAlgorithm____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCollisionAlgorithm____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btCollisionAlgorithm____deallocate_28_29($4 | 0); btAlignedObjectArray_btCollisionAlgorithm____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $31 = 0, $34 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($4 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } $31 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$31 >> 2] | 0) >> 2] | 0 | 0]($31) | 0; $34 = HEAP32[($4 + 4 | 0) >> 2] | 0; ((wasm2js_i32$1 = $34, wasm2js_i32$2 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$34 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0); } HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 16 | 0; return; } function btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 94780 + 8 | 0; btCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($4 | 0); btAlignedObjectArray_btCollisionAlgorithm_____btAlignedObjectArray_28_29($4 + 48 | 0 | 0) | 0; btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 28 | 0 | 0) | 0; btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($4 + 8 | 0 | 0) | 0; btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[668 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $13 = 0, $20 = 0, $96 = 0, $175 = 0, $320 = 0, $333 = 0, $363 = 0, $366 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; $7 = __stack_pointer - 640 | 0; __stack_pointer = $7; HEAP32[($7 + 636 | 0) >> 2] = $0; HEAP32[($7 + 632 | 0) >> 2] = $1; HEAP32[($7 + 628 | 0) >> 2] = $2; HEAP32[($7 + 624 | 0) >> 2] = $3; HEAP32[($7 + 620 | 0) >> 2] = $4; $8 = HEAP32[($7 + 636 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($8 + 68 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $13 = HEAP32[($7 + 628 | 0) >> 2] | 0; break label$1; } $13 = HEAP32[($7 + 632 | 0) >> 2] | 0; } HEAP32[($7 + 616 | 0) >> 2] = $13; label$3 : { label$4 : { if (!((HEAPU8[($8 + 68 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $20 = HEAP32[($7 + 632 | 0) >> 2] | 0; break label$3; } $20 = HEAP32[($7 + 628 | 0) >> 2] | 0; } HEAP32[($7 + 612 | 0) >> 2] = $20; label$5 : { if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 616 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { break label$5 } __assert_fail(87719 | 0, 73354 | 0, 242 | 0, 76857 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 616 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_i32$1; label$6 : { if (!((btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($8 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($8 | 0); btCompoundCollisionAlgorithm__preallocateChildAlgorithms_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($8 | 0, HEAP32[($7 + 632 | 0) >> 2] | 0 | 0, HEAP32[($7 + 628 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; } label$7 : { label$8 : { if (btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($8 + 48 | 0 | 0) | 0) { break label$8 } break label$7; } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 604 | 0) >> 2] = wasm2js_i32$1; btCompoundLeafCallback__btCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcher__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__2c_20btCollisionAlgorithm___2c_20btPersistentManifold__29($7 + 572 | 0 | 0, HEAP32[($7 + 616 | 0) >> 2] | 0 | 0, HEAP32[($7 + 612 | 0) >> 2] | 0 | 0, HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7 + 624 | 0) >> 2] | 0 | 0, HEAP32[($7 + 620 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, 0 | 0) | 0 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0 | 0) | 0; HEAP32[($7 + 564 | 0) >> 2] = 0; btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($8 + 28 | 0 | 0, 0 | 0, $7 + 564 | 0 | 0); HEAP32[($7 + 568 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($7 + 568 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($8 + 48 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$9 } label$11 : { if (!((HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 568 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$11 } $96 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 568 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$96 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($96, $8 + 28 | 0); HEAP32[($7 + 560 | 0) >> 2] = 0; label$12 : { label$13 : while (1) { if (!((HEAP32[($7 + 560 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($8 + 28 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$12 } label$14 : { if (!(btPersistentManifold__getNumContacts_28_29_20const(HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($8 + 28 | 0 | 0, HEAP32[($7 + 560 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0)) { break label$14 } btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 620 | 0) >> 2] | 0 | 0, HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($8 + 28 | 0 | 0, HEAP32[($7 + 560 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0); btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 620 | 0) >> 2] | 0 | 0); btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 620 | 0) >> 2] | 0 | 0, 0 | 0); } HEAP32[($7 + 560 | 0) >> 2] = (HEAP32[($7 + 560 | 0) >> 2] | 0) + 1 | 0; continue label$13; }; } HEAP32[($7 + 556 | 0) >> 2] = 0; btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($8 + 28 | 0 | 0, 0 | 0, $7 + 556 | 0 | 0); } HEAP32[($7 + 568 | 0) >> 2] = (HEAP32[($7 + 568 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } label$15 : { label$16 : { if (!((HEAP32[($7 + 604 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$16 } btVector3__btVector3_28_29($7 + 540 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 524 | 0 | 0) | 0; btTransform__btTransform_28_29($7 + 460 | 0 | 0) | 0; btTransform__inverse_28_29_20const($7 + 332 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 616 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($7 + 396 | 0 | 0, $7 + 332 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 612 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($7 + 460 | 0 | 0, $7 + 396 | 0 | 0) | 0; $175 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 612 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$175 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($175, $7 + 460 | 0, $7 + 540 | 0, $7 + 524 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 316 | 0 | 0, (HEAP32[($7 + 620 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 620 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 620 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29($7 + 540 | 0 | 0, $7 + 316 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($7 + 524 | 0 | 0, $7 + 316 | 0 | 0) | 0; btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($7 + 284 | 0 | 0, $7 + 540 | 0 | 0, $7 + 524 | 0 | 0); btDbvt__collideTVNoStackAlloc_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const(HEAP32[($7 + 604 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7 + 604 | 0) >> 2] | 0) >> 2] | 0 | 0, $7 + 284 | 0 | 0, $8 + 8 | 0 | 0, $7 + 572 | 0 | 0); break label$15; } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($8 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; HEAP32[($7 + 276 | 0) >> 2] = 0; label$17 : { label$18 : while (1) { if (!((HEAP32[($7 + 276 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 280 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$17 } btCompoundLeafCallback__ProcessChildShape_28btCollisionShape_20const__2c_20int_29($7 + 572 | 0 | 0, btCompoundShape__getChildShape_28int_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7 + 276 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 276 | 0) >> 2] | 0 | 0); HEAP32[($7 + 276 | 0) >> 2] = (HEAP32[($7 + 276 | 0) >> 2] | 0) + 1 | 0; continue label$18; }; } } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($8 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; HEAP32[($7 + 264 | 0) >> 2] = 0; btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($8 + 28 | 0 | 0, 0 | 0, $7 + 264 | 0 | 0); HEAP32[($7 + 260 | 0) >> 2] = 0; btTransform__btTransform_28_29($7 + 196 | 0 | 0) | 0; btTransform__btTransform_28_29($7 + 132 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 116 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 100 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 84 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 68 | 0 | 0) | 0; HEAP32[($7 + 268 | 0) >> 2] = 0; label$19 : { label$20 : while (1) { if (!((HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$19 } label$21 : { if (!((HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$21 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29($7 + 196 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 616 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29_20const($7 | 0, $7 + 196 | 0 | 0, HEAP32[($7 + 64 | 0) >> 2] | 0 | 0); btTransform__operator__28btTransform_20const__29($7 + 132 | 0 | 0, $7 | 0) | 0; $320 = HEAP32[($7 + 260 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$320 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($320, $7 + 132 | 0, $7 + 116 | 0, $7 + 100 | 0); $333 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 612 | 0) >> 2] | 0 | 0) | 0; ((((wasm2js_i32$1 = $333, wasm2js_i32$2 = btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 612 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $7 + 84 | 0), wasm2js_i32$4 = $7 + 68 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$333 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); label$22 : { if ((TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($7 + 116 | 0 | 0, $7 + 100 | 0 | 0, $7 + 84 | 0 | 0, $7 + 68 | 0 | 0) | 0) & 1 | 0) { break label$22 } $363 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$363 >> 2] | 0) >> 2] | 0 | 0]($363) | 0; $366 = HEAP32[($8 + 4 | 0) >> 2] | 0; ((wasm2js_i32$4 = $366, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$366 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$3 | 0); (wasm2js_i32$0 = btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$3 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$3; } } HEAP32[($7 + 268 | 0) >> 2] = (HEAP32[($7 + 268 | 0) >> 2] | 0) + 1 | 0; continue label$20; }; } btCompoundLeafCallback___btCompoundLeafCallback_28_29($7 + 572 | 0 | 0) | 0; } __stack_pointer = $7 + 640 | 0; return; } function btCompoundLeafCallback__btCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcher__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__2c_20btCollisionAlgorithm___2c_20btPersistentManifold__29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, $11 = 0; $10 = __stack_pointer - 32 | 0; __stack_pointer = $10; HEAP32[($10 + 28 | 0) >> 2] = $0; HEAP32[($10 + 24 | 0) >> 2] = $1; HEAP32[($10 + 20 | 0) >> 2] = $2; HEAP32[($10 + 16 | 0) >> 2] = $3; HEAP32[($10 + 12 | 0) >> 2] = $4; HEAP32[($10 + 8 | 0) >> 2] = $5; HEAP32[($10 + 4 | 0) >> 2] = $6; HEAP32[$10 >> 2] = $7; $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; btDbvt__ICollide__ICollide_28_29($11 | 0) | 0; HEAP32[$11 >> 2] = 94852 + 8 | 0; HEAP32[($11 + 4 | 0) >> 2] = HEAP32[($10 + 24 | 0) >> 2] | 0; HEAP32[($11 + 8 | 0) >> 2] = HEAP32[($10 + 20 | 0) >> 2] | 0; HEAP32[($11 + 12 | 0) >> 2] = HEAP32[($10 + 16 | 0) >> 2] | 0; HEAP32[($11 + 16 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; HEAP32[($11 + 20 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; HEAP32[($11 + 24 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; HEAP32[($11 + 28 | 0) >> 2] = HEAP32[$10 >> 2] | 0; __stack_pointer = $10 + 32 | 0; return $11 | 0; } function btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btPersistentManifold____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btDbvt__collideTVNoStackAlloc_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $15 = 0, $16 = 0, $22 = 0, $28 = 0, $76 = 0, $131 = 0, $144 = 0, $157 = 0, $161 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 64 | 0; __stack_pointer = $7; HEAP32[($7 + 60 | 0) >> 2] = $0; HEAP32[($7 + 56 | 0) >> 2] = $1; HEAP32[($7 + 52 | 0) >> 2] = $2; HEAP32[($7 + 48 | 0) >> 2] = $3; HEAP32[($7 + 44 | 0) >> 2] = $4; label$1 : { if (!((HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $15 = HEAP32[($7 + 52 | 0) >> 2] | 0; $16 = 24; i64toi32_i32$2 = $15 + $16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $131 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 8 | 0) + $16 | 0; HEAP32[i64toi32_i32$0 >> 2] = $131; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $22 = 16; i64toi32_i32$2 = $15 + $22 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $144 = i64toi32_i32$1; i64toi32_i32$1 = ($7 + 8 | 0) + $22 | 0; HEAP32[i64toi32_i32$1 >> 2] = $144; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $28 = 8; i64toi32_i32$2 = $15 + $28 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $157 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 8 | 0) + $28 | 0; HEAP32[i64toi32_i32$0 >> 2] = $157; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $15; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $161 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 8 | 0) >> 2] = $161; HEAP32[($7 + 12 | 0) >> 2] = i64toi32_i32$0; $35 = HEAP32[($7 + 48 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = 0; btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($35 | 0, 0 | 0, $7 + 4 | 0 | 0); btAlignedObjectArray_btDbvtNode_20const____reserve_28int_29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, 64 | 0); btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, $7 + 56 | 0 | 0); label$2 : while (1) { (wasm2js_i32$0 = $7, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btAlignedObjectArray_btDbvtNode_20const____pop_back_28_29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0); label$3 : { if (!((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[$7 >> 2] | 0 | 0, $7 + 8 | 0 | 0) | 0) & 1 | 0)) { break label$3 } label$4 : { label$5 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[$7 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, (HEAP32[$7 >> 2] | 0) + 36 | 0 | 0); btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, ((HEAP32[$7 >> 2] | 0) + 36 | 0) + 4 | 0 | 0); break label$4; } $76 = HEAP32[($7 + 44 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$76 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($76, HEAP32[$7 >> 2] | 0); } } if ((btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0) { continue label$2 } break label$2; }; } __stack_pointer = $7 + 64 | 0; return; } function btCompoundLeafCallback__ProcessChildShape_28btCollisionShape_20const__2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $53 = 0, $96 = 0, $158 = 0, $180 = 0, $217 = 0, $228 = 0, $233 = 0, $116 = 0, $189 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; $5 = __stack_pointer - 272 | 0; __stack_pointer = $5; HEAP32[($5 + 268 | 0) >> 2] = $0; HEAP32[($5 + 264 | 0) >> 2] = $1; HEAP32[($5 + 260 | 0) >> 2] = $2; $6 = HEAP32[($5 + 268 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($5 + 260 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85814 | 0, 73354 | 0, 125 | 0, 81712 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; label$2 : { if ((HEAP32[($5 + 260 | 0) >> 2] | 0 | 0) < (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87116 | 0, 73354 | 0, 127 | 0, 81712 | 0); wasm2js_trap(); } btTransform__btTransform_28btTransform_20const__29($5 + 192 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29_20const($5 + 124 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 188 | 0) >> 2] | 0 | 0); btVector3__btVector3_28_29($5 + 108 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 92 | 0 | 0) | 0; $53 = HEAP32[($5 + 264 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$53 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($53, $5 + 124 | 0, $5 + 108 | 0, $5 + 92 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 76 | 0 | 0, (HEAP32[($6 + 20 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($6 + 20 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($6 + 20 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29($5 + 108 | 0 | 0, $5 + 76 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($5 + 92 | 0 | 0, $5 + 76 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 60 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 44 | 0 | 0) | 0; $96 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; ((((wasm2js_i32$1 = $96, wasm2js_i32$2 = btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $5 + 60 | 0), wasm2js_i32$4 = $5 + 44 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$96 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); label$3 : { label$4 : { if (!((HEAP32[(0 + 114008 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } $116 = HEAP32[(0 + 114008 | 0) >> 2] | 0; label$5 : { if ((FUNCTION_TABLE[$116 | 0](btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, HEAP32[($5 + 264 | 0) >> 2] | 0) | 0) & 1 | 0) { break label$5 } break label$3; } } if (!((TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 + 108 | 0 | 0, $5 + 92 | 0 | 0, $5 + 60 | 0 | 0, $5 + 44 | 0 | 0) | 0) & 1 | 0)) { break label$3 } btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 20 | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 264 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, $5 + 124 | 0 | 0, -1 | 0, HEAP32[($5 + 260 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 16 | 0) >> 2] = 0; label$6 : { label$7 : { if (!(Math_fround(HEAPF32[((HEAP32[($6 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$7 } $158 = HEAP32[($6 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$4 = FUNCTION_TABLE[HEAP32[((HEAP32[$158 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($158, $5 + 20 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, 0, 2) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$4; break label$6; } label$8 : { if ((HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$8 } $180 = HEAP32[($6 + 12 | 0) >> 2] | 0; $189 = FUNCTION_TABLE[HEAP32[((HEAP32[$180 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($180, $5 + 20 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 28 | 0) >> 2] | 0, 1) | 0; HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $189; } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; } HEAP32[($5 + 12 | 0) >> 2] = 0; label$9 : { label$10 : { if (!((btManifoldResult__getBody0Internal_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$10 } (wasm2js_i32$0 = $5, wasm2js_i32$4 = btManifoldResult__getBody0Wrap_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$4; btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); $217 = HEAP32[($6 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$217 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($217, -1, HEAP32[($5 + 260 | 0) >> 2] | 0); break label$9; } (wasm2js_i32$0 = $5, wasm2js_i32$4 = btManifoldResult__getBody1Wrap_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$4; btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); $228 = HEAP32[($6 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$228 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($228, -1, HEAP32[($5 + 260 | 0) >> 2] | 0); } $233 = HEAP32[($5 + 16 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$233 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($233, $5 + 20 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0); label$11 : { label$12 : { if (!((btManifoldResult__getBody0Internal_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$12 } btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); break label$11; } btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); } } __stack_pointer = $5 + 272 | 0; return; } function TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $27 = 0, $51 = 0, $75 = 0, $82 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP8[($6 + 15 | 0) >> 0] = 1; label$1 : { label$2 : { label$3 : { if (Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$3 } if (!(Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$2 } } $27 = 0; break label$1; } $27 = HEAPU8[($6 + 15 | 0) >> 0] | 0; } HEAP8[($6 + 15 | 0) >> 0] = $27 & 1 | 0; label$4 : { label$5 : { label$6 : { if (Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$6 } if (!(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$5 } } $51 = 0; break label$4; } $51 = HEAPU8[($6 + 15 | 0) >> 0] | 0; } HEAP8[($6 + 15 | 0) >> 0] = $51 & 1 | 0; label$7 : { label$8 : { label$9 : { if (Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$9 } if (!(Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$8 } } $75 = 0; break label$7; } $75 = HEAPU8[($6 + 15 | 0) >> 0] | 0; } HEAP8[($6 + 15 | 0) >> 0] = $75 & 1 | 0; $82 = (HEAPU8[($6 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $6 + 32 | 0; return $82 | 0; } function btCompoundLeafCallback___btCompoundLeafCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 112 | 0; __stack_pointer = $7; HEAP32[($7 + 108 | 0) >> 2] = $0; HEAP32[($7 + 104 | 0) >> 2] = $1; HEAP32[($7 + 100 | 0) >> 2] = $2; HEAP32[($7 + 96 | 0) >> 2] = $3; HEAP32[($7 + 92 | 0) >> 2] = $4; __assert_fail(86177 | 0, 73354 | 0, 353 | 0, 68931 | 0); wasm2js_trap(); } function btCompoundCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $31 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($5 + 48 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($5 + 48 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } $31 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($5 + 48 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$31 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($31, HEAP32[($4 + 8 | 0) >> 2] | 0); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btCompoundLeafCallback___btCompoundLeafCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCompoundLeafCallback___btCompoundLeafCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundLeafCallback__Process_28btDbvtNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; HEAP32[($4 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; btCompoundLeafCallback__ProcessChildShape_28btCollisionShape_20const__2c_20int_29($5 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function btAlignedObjectArray_btCollisionAlgorithm____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btCollisionAlgorithm____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btCollisionAlgorithm__2c_2016u___deallocate_28btCollisionAlgorithm___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btCollisionAlgorithm__2c_2016u___deallocate_28btCollisionAlgorithm___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCollisionAlgorithm____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCollisionAlgorithm____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCollisionAlgorithm__2c_2016u___allocate_28int_2c_20btCollisionAlgorithm__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btCollisionAlgorithm____copy_28int_2c_20int_2c_20btCollisionAlgorithm___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btCollisionAlgorithm__2c_2016u___allocate_28int_2c_20btCollisionAlgorithm__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btCompoundCollisionAlgorithm_cpp() { __cxx_global_var_init_16(); return; } function __cxx_global_var_init_17() { btInfMaskConverter__btInfMaskConverter_28int_29(114012 | 0, 2139095040 | 0) | 0; return; } function btCompoundCompoundCollisionAlgorithm__btCompoundCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0, $24 = 0, $53 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 40 | 0) >> 2] = $0; HEAP32[($7 + 36 | 0) >> 2] = $1; HEAP32[($7 + 32 | 0) >> 2] = $2; HEAP32[($7 + 28 | 0) >> 2] = $3; HEAP8[($7 + 27 | 0) >> 0] = $4; $9 = HEAP32[($7 + 40 | 0) >> 2] | 0; HEAP32[($7 + 44 | 0) >> 2] = $9; btCompoundCollisionAlgorithm__btCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($9 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 27 | 0) >> 0] | 0) & 1 | 0 | 0) | 0; HEAP32[$9 >> 2] = 94928 + 8 | 0; btAlignedObjectArray_btSimplePair___btAlignedObjectArray_28_29($9 + 88 | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(64 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $24 = HEAP32[($7 + 20 | 0) >> 2] | 0; btHashedSimplePairCache__btHashedSimplePairCache_28_29($24 | 0) | 0; HEAP32[($9 + 84 | 0) >> 2] = $24; HEAP32[($7 + 16 | 0) >> 2] = HEAP32[($7 + 32 | 0) >> 2] | 0; label$1 : { if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { break label$1 } __assert_fail(87812 | 0, 73490 | 0, 40 | 0, 77211 | 0); wasm2js_trap(); } HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; label$2 : { if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { break label$2 } __assert_fail(87765 | 0, 73490 | 0, 43 | 0, 77211 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; $53 = HEAP32[($7 + 44 | 0) >> 2] | 0; __stack_pointer = $7 + 48 | 0; return $53 | 0; } function btAlignedObjectArray_btSimplePair___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btSimplePair_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btSimplePair___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_btSimplePair_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btSimplePair___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btCompoundCompoundCollisionAlgorithm___btCompoundCompoundCollisionAlgorithm_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 94928 + 8 | 0; btCompoundCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($4 | 0); $8 = HEAP32[($4 + 84 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$8 >> 2] | 0) >> 2] | 0 | 0]($8) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 84 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btSimplePair____btAlignedObjectArray_28_29($4 + 88 | 0 | 0) | 0; btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $31 = 0, $34 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btHashedSimplePairCache__getOverlappingPairArray_28_29(HEAP32[($4 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___size_28_29_20const(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 16 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $31 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$31 >> 2] | 0) >> 2] | 0 | 0]($31) | 0; $34 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$34 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($34, HEAP32[($3 + 12 | 0) >> 2] | 0); } HEAP32[($3 + 16 | 0) >> 2] = (HEAP32[($3 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } btHashedSimplePairCache__removeAllPairs_28_29(HEAP32[($4 + 84 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 32 | 0; return; } function btAlignedObjectArray_btSimplePair____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btSimplePair___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHashedSimplePairCache__getOverlappingPairArray_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btAlignedObjectArray_btSimplePair___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 12) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btSimplePair___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btSimplePair___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btSimplePair___deallocate_28_29($4 | 0); btAlignedObjectArray_btSimplePair___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundCompoundCollisionAlgorithm___btCompoundCompoundCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[676 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundCompoundCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $30 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btHashedSimplePairCache__getOverlappingPairArray_28_29(HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[$4 >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } $30 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[$4 >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($30, HEAP32[($4 + 8 | 0) >> 2] | 0); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btCompoundCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $80 = 0, $83 = 0, $84 = 0, $86 = 0, $125 = 0, $303 = 0, $384 = 0, $423 = 0, $426 = 0, $459 = 0, $82 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; $7 = __stack_pointer - 4400 | 0; __stack_pointer = $7; HEAP32[($7 + 4396 | 0) >> 2] = $0; HEAP32[($7 + 4392 | 0) >> 2] = $1; HEAP32[($7 + 4388 | 0) >> 2] = $2; HEAP32[($7 + 4384 | 0) >> 2] = $3; HEAP32[($7 + 4380 | 0) >> 2] = $4; $8 = HEAP32[($7 + 4396 | 0) >> 2] | 0; HEAP32[($7 + 4376 | 0) >> 2] = HEAP32[($7 + 4392 | 0) >> 2] | 0; HEAP32[($7 + 4372 | 0) >> 2] = HEAP32[($7 + 4388 | 0) >> 2] | 0; label$1 : { if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { break label$1 } __assert_fail(87812 | 0, 73490 | 0, 310 | 0, 76857 | 0); wasm2js_trap(); } label$2 : { if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { break label$2 } __assert_fail(87765 | 0, 73490 | 0, 311 | 0, 76857 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4368 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4364 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4360 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4356 | 0) >> 2] = wasm2js_i32$1; label$3 : { label$4 : { label$5 : { if (!((HEAP32[($7 + 4360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } if ((HEAP32[($7 + 4356 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$4 } } btCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($8 | 0, HEAP32[($7 + 4392 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4388 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4384 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0); break label$3; } label$6 : { label$7 : { if ((btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($8 + 108 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$7 } if (!((btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($8 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } } btCompoundCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($8 | 0); (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; } btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($7 + 4332 | 0 | 0) | 0; $80 = $7 + 848 | 0; $82 = $80 + 3472 | 0; $83 = $80; label$8 : while (1) { $84 = $83; btPersistentManifold__btPersistentManifold_28_29($84 | 0) | 0; $86 = $84 + 868 | 0; $83 = $86; if (!(($86 | 0) == ($82 | 0) & 1 | 0)) { continue label$8 } break label$8; }; btAlignedObjectArray_btPersistentManifold____initializeFromBuffer_28void__2c_20int_2c_20int_29($7 + 4332 | 0 | 0, $7 + 848 | 0 | 0, 0 | 0, 4 | 0); (wasm2js_i32$0 = $7, wasm2js_i32$1 = btHashedSimplePairCache__getOverlappingPairArray_28_29(HEAP32[($8 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 844 | 0) >> 2] = wasm2js_i32$1; HEAP32[($7 + 4352 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($7 + 4352 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const(HEAP32[($7 + 844 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$9 } label$11 : { if (!((HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 844 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4352 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$11 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 844 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4352 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 840 | 0) >> 2] = wasm2js_i32$1; $125 = HEAP32[($7 + 840 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$125 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($125, $7 + 4332 | 0); HEAP32[($7 + 836 | 0) >> 2] = 0; label$12 : { label$13 : while (1) { if (!((HEAP32[($7 + 836 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($7 + 4332 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$12 } label$14 : { if (!(btPersistentManifold__getNumContacts_28_29_20const(HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 4332 | 0 | 0, HEAP32[($7 + 836 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0)) { break label$14 } btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0, HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 4332 | 0 | 0, HEAP32[($7 + 836 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0); btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0); btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0, 0 | 0); } HEAP32[($7 + 836 | 0) >> 2] = (HEAP32[($7 + 836 | 0) >> 2] | 0) + 1 | 0; continue label$13; }; } HEAP32[($7 + 832 | 0) >> 2] = 0; btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($7 + 4332 | 0 | 0, 0 | 0, $7 + 832 | 0 | 0); } HEAP32[($7 + 4352 | 0) >> 2] = (HEAP32[($7 + 4352 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($7 + 4332 | 0 | 0) | 0; btCompoundCompoundLeafCallback__btCompoundCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcher__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__2c_20btHashedSimplePairCache__2c_20btPersistentManifold__29($7 + 796 | 0 | 0, HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0, HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4384 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0, HEAP32[($8 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0 | 0) | 0; btTransform__inverse_28_29_20const($7 + 668 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($7 + 732 | 0 | 0, $7 + 668 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0 | 0); MycollideTT_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btTransform_20const__2c_20btCompoundCompoundLeafCallback__2c_20float_29(HEAP32[(HEAP32[($7 + 4360 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7 + 4356 | 0) >> 2] | 0) >> 2] | 0 | 0, $7 + 732 | 0 | 0, $7 + 796 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 4380 | 0) >> 2] | 0) + 32 | 0) >> 2]))); label$15 : { if (!(btAlignedObjectArray_btSimplePair___size_28_29_20const($8 + 88 | 0 | 0) | 0)) { break label$15 } __assert_fail(85995 | 0, 73490 | 0, 378 | 0, 76857 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btHashedSimplePairCache__getOverlappingPairArray_28_29(HEAP32[($8 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 664 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($7 + 640 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 624 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 608 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 592 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 576 | 0 | 0) | 0; HEAP32[($7 + 660 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$16 } label$18 : { if (!((HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$18 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 572 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28_29($7 + 508 | 0 | 0) | 0; HEAP32[($7 + 504 | 0) >> 2] = 0; btTransform__btTransform_28_29($7 + 440 | 0 | 0) | 0; btTransform__btTransform_28_29($7 + 376 | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0, HEAP32[(btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 504 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29($7 + 508 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($7 + 376 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0, HEAP32[(btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29_20const($7 + 308 | 0 | 0, $7 + 508 | 0 | 0, HEAP32[($7 + 372 | 0) >> 2] | 0 | 0); btTransform__operator__28btTransform_20const__29($7 + 440 | 0 | 0, $7 + 308 | 0 | 0) | 0; $303 = HEAP32[($7 + 504 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$303 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($303, $7 + 440 | 0, $7 + 624 | 0, $7 + 608 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 292 | 0 | 0, (HEAP32[($7 + 4380 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 4380 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 4380 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29($7 + 624 | 0 | 0, $7 + 292 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($7 + 608 | 0 | 0, $7 + 292 | 0 | 0) | 0; btTransform__btTransform_28_29($7 + 228 | 0 | 0) | 0; HEAP32[($7 + 224 | 0) >> 2] = 0; btTransform__btTransform_28_29($7 + 160 | 0 | 0) | 0; btTransform__btTransform_28_29($7 + 96 | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29($7 + 160 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($7 + 228 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29_20const($7 + 28 | 0 | 0, $7 + 160 | 0 | 0, HEAP32[($7 + 92 | 0) >> 2] | 0 | 0); btTransform__operator__28btTransform_20const__29($7 + 96 | 0 | 0, $7 + 28 | 0 | 0) | 0; $384 = HEAP32[($7 + 224 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$384 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($384, $7 + 96 | 0, $7 + 592 | 0, $7 + 576 | 0); btVector3__operator___28btVector3_20const__29($7 + 592 | 0 | 0, $7 + 292 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($7 + 576 | 0 | 0, $7 + 292 | 0 | 0) | 0; label$19 : { if ((TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($7 + 624 | 0 | 0, $7 + 608 | 0 | 0, $7 + 592 | 0 | 0, $7 + 576 | 0 | 0) | 0) & 1 | 0) { break label$19 } $423 = HEAP32[($7 + 572 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$423 >> 2] | 0) >> 2] | 0 | 0]($423) | 0; $426 = HEAP32[($8 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$426 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($426, HEAP32[($7 + 572 | 0) >> 2] | 0); btSimplePair__btSimplePair_28int_2c_20int_29($7 + 16 | 0 | 0, HEAP32[(btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; btAlignedObjectArray_btSimplePair___push_back_28btSimplePair_20const__29($8 + 88 | 0 | 0, $7 + 16 | 0 | 0); } } HEAP32[($7 + 660 | 0) >> 2] = (HEAP32[($7 + 660 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } HEAP32[($7 + 12 | 0) >> 2] = 0; label$20 : { label$21 : while (1) { if (!((HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($8 + 88 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$20 } $459 = HEAP32[($8 + 84 | 0) >> 2] | 0; (((wasm2js_i32$1 = $459, wasm2js_i32$2 = HEAP32[(btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($8 + 88 | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$3 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($8 + 88 | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$459 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; HEAP32[($7 + 12 | 0) >> 2] = (HEAP32[($7 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$21; }; } btAlignedObjectArray_btSimplePair___clear_28_29($8 + 88 | 0 | 0); btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($7 + 640 | 0 | 0) | 0; btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29($7 + 796 | 0 | 0) | 0; } __stack_pointer = $7 + 4400 | 0; return; } function btAlignedObjectArray_btPersistentManifold____initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btPersistentManifold____clear_28_29($7 | 0); HEAP8[($7 + 16 | 0) >> 0] = 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; __stack_pointer = $6 + 16 | 0; return; } function btCompoundCompoundLeafCallback__btCompoundCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcher__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__2c_20btHashedSimplePairCache__2c_20btPersistentManifold__29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, $11 = 0; $10 = __stack_pointer - 32 | 0; __stack_pointer = $10; HEAP32[($10 + 28 | 0) >> 2] = $0; HEAP32[($10 + 24 | 0) >> 2] = $1; HEAP32[($10 + 20 | 0) >> 2] = $2; HEAP32[($10 + 16 | 0) >> 2] = $3; HEAP32[($10 + 12 | 0) >> 2] = $4; HEAP32[($10 + 8 | 0) >> 2] = $5; HEAP32[($10 + 4 | 0) >> 2] = $6; HEAP32[$10 >> 2] = $7; $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; btDbvt__ICollide__ICollide_28_29($11 | 0) | 0; HEAP32[$11 >> 2] = 95008 + 8 | 0; HEAP32[($11 + 4 | 0) >> 2] = 0; HEAP32[($11 + 8 | 0) >> 2] = HEAP32[($10 + 24 | 0) >> 2] | 0; HEAP32[($11 + 12 | 0) >> 2] = HEAP32[($10 + 20 | 0) >> 2] | 0; HEAP32[($11 + 16 | 0) >> 2] = HEAP32[($10 + 16 | 0) >> 2] | 0; HEAP32[($11 + 20 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; HEAP32[($11 + 24 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; HEAP32[($11 + 28 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; HEAP32[($11 + 32 | 0) >> 2] = HEAP32[$10 >> 2] | 0; __stack_pointer = $10 + 32 | 0; return $11 | 0; } function MycollideTT_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btTransform_20const__2c_20btCompoundCompoundLeafCallback__2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $29 = 0, $32 = 0, $33 = 0, $35 = 0, $47 = 0, $61 = 0, $117 = 0, $132 = 0, $147 = 0, $162 = 0, $176 = 0, $190 = 0, $208 = 0, $222 = 0, $230 = 0, $31 = 0, $57 = 0, $349 = 0, $367 = 0, $86 = 0, $123 = 0, $488 = 0, $138 = 0, $522 = 0, $153 = 0, $556 = 0, $168 = 0, $590 = 0, $182 = 0, $622 = 0, $196 = 0, $654 = 0, $214 = 0, $695 = 0, $228 = 0, $727 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 1168 | 0; __stack_pointer = $7; HEAP32[($7 + 1164 | 0) >> 2] = $0; HEAP32[($7 + 1160 | 0) >> 2] = $1; HEAP32[($7 + 1156 | 0) >> 2] = $2; HEAP32[($7 + 1152 | 0) >> 2] = $3; HEAPF32[($7 + 1148 | 0) >> 2] = $4; label$1 : { if (!((HEAP32[($7 + 1164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((HEAP32[($7 + 1160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[($7 + 1144 | 0) >> 2] = 1; HEAP32[($7 + 1140 | 0) >> 2] = 124; btAlignedObjectArray_btDbvt__sStkNN___btAlignedObjectArray_28_29($7 + 1120 | 0 | 0) | 0; $29 = $7 + 96 | 0; $31 = $29 + 1024 | 0; $32 = $29; label$2 : while (1) { $33 = $32; btDbvt__sStkNN__sStkNN_28_29($33 | 0) | 0; $35 = $33 + 8 | 0; $32 = $35; if (!(($35 | 0) == ($31 | 0) & 1 | 0)) { continue label$2 } break label$2; }; $47 = 128; btAlignedObjectArray_btDbvt__sStkNN___initializeFromBuffer_28void__2c_20int_2c_20int_29($7 + 1120 | 0 | 0, $7 + 96 | 0 | 0, $47 | 0, $47 | 0); btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 88 | 0 | 0, HEAP32[($7 + 1164 | 0) >> 2] | 0 | 0, HEAP32[($7 + 1160 | 0) >> 2] | 0 | 0) | 0; $57 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, 0 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 88 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 92 | 0) >> 2] | 0; $349 = i64toi32_i32$0; i64toi32_i32$0 = $57; HEAP32[i64toi32_i32$0 >> 2] = $349; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; label$3 : while (1) { $61 = (HEAP32[($7 + 1144 | 0) >> 2] | 0) + -1 | 0; HEAP32[($7 + 1144 | 0) >> 2] = $61; i64toi32_i32$2 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $61 | 0) | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $367 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 80 | 0) >> 2] = $367; HEAP32[($7 + 84 | 0) >> 2] = i64toi32_i32$0; label$4 : { if (!((MyIntersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btTransform_20const__2c_20float_29(HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7 + 1156 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1148 | 0) >> 2]))) | 0) & 1 | 0)) { break label$4 } label$5 : { if (!((HEAP32[($7 + 1144 | 0) >> 2] | 0 | 0) > (HEAP32[($7 + 1140 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } $86 = (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($7 + 1120 | 0 | 0) | 0) << 1 | 0; btDbvt__sStkNN__sStkNN_28_29($7 + 72 | 0 | 0) | 0; btAlignedObjectArray_btDbvt__sStkNN___resize_28int_2c_20btDbvt__sStkNN_20const__29($7 + 1120 | 0 | 0, $86 | 0, $7 + 72 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_i32$1 = (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($7 + 1120 | 0 | 0) | 0) - 4 | 0), HEAP32[(wasm2js_i32$0 + 1140 | 0) >> 2] = wasm2js_i32$1; } label$6 : { label$7 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($7 + 80 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } label$8 : { label$9 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$9 } btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 64 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; $117 = HEAP32[($7 + 1144 | 0) >> 2] | 0; HEAP32[($7 + 1144 | 0) >> 2] = $117 + 1 | 0; $123 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $117 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 68 | 0) >> 2] | 0; $488 = i64toi32_i32$0; i64toi32_i32$0 = $123; HEAP32[i64toi32_i32$0 >> 2] = $488; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 56 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; $132 = HEAP32[($7 + 1144 | 0) >> 2] | 0; HEAP32[($7 + 1144 | 0) >> 2] = $132 + 1 | 0; $138 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $132 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 56 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 60 | 0) >> 2] | 0; $522 = i64toi32_i32$1; i64toi32_i32$1 = $138; HEAP32[i64toi32_i32$1 >> 2] = $522; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 48 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; $147 = HEAP32[($7 + 1144 | 0) >> 2] | 0; HEAP32[($7 + 1144 | 0) >> 2] = $147 + 1 | 0; $153 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $147 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 52 | 0) >> 2] | 0; $556 = i64toi32_i32$0; i64toi32_i32$0 = $153; HEAP32[i64toi32_i32$0 >> 2] = $556; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 40 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; $162 = HEAP32[($7 + 1144 | 0) >> 2] | 0; HEAP32[($7 + 1144 | 0) >> 2] = $162 + 1 | 0; $168 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $162 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 40 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 44 | 0) >> 2] | 0; $590 = i64toi32_i32$1; i64toi32_i32$1 = $168; HEAP32[i64toi32_i32$1 >> 2] = $590; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$8; } btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 32 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) | 0; $176 = HEAP32[($7 + 1144 | 0) >> 2] | 0; HEAP32[($7 + 1144 | 0) >> 2] = $176 + 1 | 0; $182 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $176 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 36 | 0) >> 2] | 0; $622 = i64toi32_i32$0; i64toi32_i32$0 = $182; HEAP32[i64toi32_i32$0 >> 2] = $622; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 24 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) | 0; $190 = HEAP32[($7 + 1144 | 0) >> 2] | 0; HEAP32[($7 + 1144 | 0) >> 2] = $190 + 1 | 0; $196 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $190 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 28 | 0) >> 2] | 0; $654 = i64toi32_i32$1; i64toi32_i32$1 = $196; HEAP32[i64toi32_i32$1 >> 2] = $654; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } break label$6; } label$10 : { label$11 : { if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$11 } btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 16 | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; $208 = HEAP32[($7 + 1144 | 0) >> 2] | 0; HEAP32[($7 + 1144 | 0) >> 2] = $208 + 1 | 0; $214 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $208 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 20 | 0) >> 2] | 0; $695 = i64toi32_i32$0; i64toi32_i32$0 = $214; HEAP32[i64toi32_i32$0 >> 2] = $695; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 8 | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; $222 = HEAP32[($7 + 1144 | 0) >> 2] | 0; HEAP32[($7 + 1144 | 0) >> 2] = $222 + 1 | 0; $228 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $222 | 0) | 0; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 12 | 0) >> 2] | 0; $727 = i64toi32_i32$1; i64toi32_i32$1 = $228; HEAP32[i64toi32_i32$1 >> 2] = $727; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$10; } $230 = HEAP32[($7 + 1152 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$230 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($230, HEAP32[($7 + 80 | 0) >> 2] | 0, HEAP32[($7 + 84 | 0) >> 2] | 0); } } } if (HEAP32[($7 + 1144 | 0) >> 2] | 0) { continue label$3 } break label$3; }; btAlignedObjectArray_btDbvt__sStkNN____btAlignedObjectArray_28_29($7 + 1120 | 0 | 0) | 0; } __stack_pointer = $7 + 1168 | 0; return; } function btSimplePair__btSimplePair_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$6 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = 0; return $6 | 0; } function btAlignedObjectArray_btSimplePair___push_back_28btSimplePair_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, i64toi32_i32$0 = 0, $21 = 0, $23 = 0, i64toi32_i32$1 = 0, $83 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btSimplePair___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btSimplePair___reserve_28int_29($5 | 0, btAlignedObjectArray_btSimplePair___allocSize_28int_29($5 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $21 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[$21 >> 2] | 0; i64toi32_i32$1 = HEAP32[($21 + 4 | 0) >> 2] | 0; $83 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 12) | 0; HEAP32[i64toi32_i32$0 >> 2] = $83; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $23 = 8; HEAP32[(i64toi32_i32$0 + $23 | 0) >> 2] = HEAP32[($21 + $23 | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btDbvt__sStkNN___initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btDbvt__sStkNN___clear_28_29($7 | 0); HEAP8[($7 + 16 | 0) >> 0] = 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; __stack_pointer = $6 + 16 | 0; return; } function MyIntersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btTransform_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $31 = 0, $43 = 0, $61 = 0; $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $0; HEAP32[($6 + 104 | 0) >> 2] = $1; HEAP32[($6 + 100 | 0) >> 2] = $2; HEAPF32[($6 + 96 | 0) >> 2] = $3; btVector3__btVector3_28_29($6 + 80 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 64 | 0 | 0) | 0; btTransformAabb_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29(btDbvtAabbMm__Mins_28_29_20const(HEAP32[($6 + 104 | 0) >> 2] | 0 | 0) | 0 | 0, btDbvtAabbMm__Maxs_28_29_20const(HEAP32[($6 + 104 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(0 | 0)), HEAP32[($6 + 100 | 0) >> 2] | 0 | 0, $6 + 80 | 0 | 0, $6 + 64 | 0 | 0); $31 = $6 + 96 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $31 | 0, $31 | 0, $31 | 0) | 0; btVector3__operator___28btVector3_20const__29($6 + 80 | 0 | 0, $6 + 48 | 0 | 0) | 0; $43 = $6 + 96 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, $43 | 0, $43 | 0, $43 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($6 + 64 | 0 | 0, $6 + 32 | 0 | 0) | 0; btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, $6 + 80 | 0 | 0, $6 + 64 | 0 | 0); $61 = (Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0, $6 | 0) | 0) & 1 | 0; __stack_pointer = $6 + 112 | 0; return $61 | 0; } function btAlignedObjectArray_btSimplePair___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btSimplePair___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btSimplePair___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btSimplePair___copy_28int_2c_20int_2c_20btSimplePair__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btSimplePair___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btSimplePair___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btSimplePair___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btSimplePair___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btSimplePair_2c_2016u___deallocate_28btSimplePair__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btCompoundCompoundCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; __assert_fail(86177 | 0, 73490 | 0, 450 | 0, 68931 | 0); wasm2js_trap(); } function btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundCompoundLeafCallback__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $116 = 0, $128 = 0, $231 = 0, $252 = 0, $264 = 0, $308 = 0, $313 = 0, $318 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 464 | 0; __stack_pointer = $5; HEAP32[($5 + 460 | 0) >> 2] = $0; HEAP32[($5 + 456 | 0) >> 2] = $1; HEAP32[($5 + 452 | 0) >> 2] = $2; $6 = HEAP32[($5 + 460 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($5 + 451 | 0 | 0, 69357 | 0) | 0; HEAP32[($6 + 4 | 0) >> 2] = (HEAP32[($6 + 4 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 444 | 0) >> 2] = HEAP32[((HEAP32[($5 + 456 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; HEAP32[($5 + 440 | 0) >> 2] = HEAP32[((HEAP32[($5 + 452 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85860 | 0, 73490 | 0, 138 | 0, 69389 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$2 } __assert_fail(85845 | 0, 73490 | 0, 139 | 0, 69389 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 436 | 0) >> 2] = wasm2js_i32$1; label$3 : { if ((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) < (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($5 + 436 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { break label$3 } __assert_fail(87205 | 0, 73490 | 0, 143 | 0, 69389 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_i32$1; label$4 : { if ((HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) < (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($5 + 432 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { break label$4 } __assert_fail(87157 | 0, 73490 | 0, 146 | 0, 69389 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 436 | 0) >> 2] | 0 | 0, HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28btTransform_20const__29($5 + 360 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 436 | 0) >> 2] | 0 | 0, HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29_20const($5 + 292 | 0 | 0, $5 + 360 | 0 | 0, HEAP32[($5 + 356 | 0) >> 2] | 0 | 0); btTransform__btTransform_28btTransform_20const__29($5 + 228 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; btTransform__operator__28btTransform_20const__29_20const($5 + 160 | 0 | 0, $5 + 228 | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0); btVector3__btVector3_28_29($5 + 144 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 128 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 112 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 96 | 0 | 0) | 0; $116 = HEAP32[($5 + 428 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$116 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($116, $5 + 292 | 0, $5 + 144 | 0, $5 + 128 | 0); $128 = HEAP32[($5 + 424 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$128 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($128, $5 + 160 | 0, $5 + 112 | 0, $5 + 96 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 80 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29($5 + 144 | 0 | 0, $5 + 80 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($5 + 128 | 0 | 0, $5 + 80 | 0 | 0) | 0; label$5 : { label$6 : { if (!((HEAP32[(0 + 114016 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } label$7 : { if ((FUNCTION_TABLE[HEAP32[(0 + 114016 | 0) >> 2] | 0 | 0](HEAP32[($5 + 428 | 0) >> 2] | 0, HEAP32[($5 + 424 | 0) >> 2] | 0) | 0) & 1 | 0) { break label$7 } HEAP32[($5 + 76 | 0) >> 2] = 1; break label$5; } } label$8 : { if (!((TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 + 144 | 0 | 0, $5 + 128 | 0 | 0, $5 + 112 | 0 | 0, $5 + 96 | 0 | 0) | 0) & 1 | 0)) { break label$8 } btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 52 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 428 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, $5 + 292 | 0 | 0, -1 | 0, HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) | 0; btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 28 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 424 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, $5 + 160 | 0 | 0, -1 | 0, HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedSimplePairCache__findPair_28int_2c_20int_29(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 20 | 0) >> 2] = 0; label$9 : { label$10 : { if (!(Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$10 } $231 = HEAP32[($6 + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$231 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($231, $5 + 52 | 0, $5 + 28 | 0, 0, 2) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; break label$9; } label$11 : { label$12 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$12 } HEAP32[($5 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; break label$11; } $252 = HEAP32[($6 + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$252 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($252, $5 + 52 | 0, $5 + 28 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $264 = HEAP32[($6 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$264 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($264, HEAP32[($5 + 444 | 0) >> 2] | 0, HEAP32[($5 + 440 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; label$13 : { if ((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$13 } __assert_fail(71001 | 0, 73490 | 0, 201 | 0, 69389 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; } } label$14 : { if ((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$14 } __assert_fail(76200 | 0, 73490 | 0, 206 | 0, 69389 | 0); wasm2js_trap(); } HEAP32[($5 + 16 | 0) >> 2] = 0; HEAP32[($5 + 12 | 0) >> 2] = 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldResult__getBody0Wrap_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldResult__getBody1Wrap_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $5 + 52 | 0 | 0); btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $5 + 28 | 0 | 0); $308 = HEAP32[($6 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$308 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($308, -1, HEAP32[($5 + 444 | 0) >> 2] | 0); $313 = HEAP32[($6 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$313 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($313, -1, HEAP32[($5 + 440 | 0) >> 2] | 0); $318 = HEAP32[($5 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$318 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($318, $5 + 52 | 0, $5 + 28 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 24 | 0) >> 2] | 0); btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 76 | 0) >> 2] = 0; } CProfileSample___CProfileSample_28_29($5 + 451 | 0 | 0) | 0; __stack_pointer = $5 + 464 | 0; return; } function btTransformAabb_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $68 = 0, $132 = 0, $134 = 0, $147 = 0, $149 = 0, $398 = 0, $411 = 0, $429 = 0, $439 = 0; $8 = __stack_pointer - 224 | 0; __stack_pointer = $8; HEAP32[($8 + 220 | 0) >> 2] = $0; HEAP32[($8 + 216 | 0) >> 2] = $1; HEAPF32[($8 + 212 | 0) >> 2] = $2; HEAP32[($8 + 208 | 0) >> 2] = $3; HEAP32[($8 + 204 | 0) >> 2] = $4; HEAP32[($8 + 200 | 0) >> 2] = $5; label$1 : { if (Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($8 + 220 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($8 + 216 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$1 } __assert_fail(88089 | 0, 80387 | 0, 195 | 0, 83061 | 0); wasm2js_trap(); } label$2 : { if (Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($8 + 220 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($8 + 216 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$2 } __assert_fail(87974 | 0, 80387 | 0, 196 | 0, 83061 | 0); wasm2js_trap(); } label$3 : { if (Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($8 + 220 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($8 + 216 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$3 } __assert_fail(87859 | 0, 80387 | 0, 197 | 0, 83061 | 0); wasm2js_trap(); } HEAPF32[($8 + 180 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 164 | 0 | 0, HEAP32[($8 + 216 | 0) >> 2] | 0 | 0, HEAP32[($8 + 220 | 0) >> 2] | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($8 + 184 | 0 | 0, $8 + 180 | 0 | 0, $8 + 164 | 0 | 0); $68 = $8 + 212 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 148 | 0 | 0, $68 | 0, $68 | 0, $68 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($8 + 184 | 0 | 0, $8 + 148 | 0 | 0) | 0; HEAPF32[($8 + 128 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 112 | 0 | 0, HEAP32[($8 + 216 | 0) >> 2] | 0 | 0, HEAP32[($8 + 220 | 0) >> 2] | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($8 + 132 | 0 | 0, $8 + 128 | 0 | 0, $8 + 112 | 0 | 0); btMatrix3x3__absolute_28_29_20const($8 + 64 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 208 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 48 | 0 | 0, HEAP32[($8 + 208 | 0) >> 2] | 0 | 0, $8 + 132 | 0 | 0); btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($8 + 32 | 0 | 0, $8 + 184 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($8 + 64 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($8 + 64 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($8 + 64 | 0 | 0, 2 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 16 | 0 | 0, $8 + 48 | 0 | 0, $8 + 32 | 0 | 0); $132 = HEAP32[($8 + 204 | 0) >> 2] | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 20 | 0) >> 2] | 0; $398 = i64toi32_i32$0; i64toi32_i32$0 = $132; HEAP32[i64toi32_i32$0 >> 2] = $398; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $134 = 8; i64toi32_i32$2 = ($8 + 16 | 0) + $134 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $411 = i64toi32_i32$1; i64toi32_i32$1 = $132 + $134 | 0; HEAP32[i64toi32_i32$1 >> 2] = $411; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 | 0, $8 + 48 | 0 | 0, $8 + 32 | 0 | 0); $147 = HEAP32[($8 + 200 | 0) >> 2] | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[$8 >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 4 | 0) >> 2] | 0; $429 = i64toi32_i32$0; i64toi32_i32$0 = $147; HEAP32[i64toi32_i32$0 >> 2] = $429; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $149 = 8; i64toi32_i32$2 = $8 + $149 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $439 = i64toi32_i32$1; i64toi32_i32$1 = $147 + $149 | 0; HEAP32[i64toi32_i32$1 >> 2] = $439; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $8 + 224 | 0; return; } function btMatrix3x3__absolute_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0) | 0; __stack_pointer = $4 + 48 | 0; return; } function btMatrix3x3__operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return (HEAP32[($4 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0; } function btAlignedObjectArray_btSimplePair___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btSimplePair_2c_2016u___allocate_28int_2c_20btSimplePair_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btSimplePair___copy_28int_2c_20int_2c_20btSimplePair__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, $25 = 0, $27 = 0, $7 = 0, i64toi32_i32$1 = 0, $89 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $25 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 12) | 0; i64toi32_i32$0 = HEAP32[$25 >> 2] | 0; i64toi32_i32$1 = HEAP32[($25 + 4 | 0) >> 2] | 0; $89 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 12) | 0; HEAP32[i64toi32_i32$0 >> 2] = $89; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $27 = 8; HEAP32[(i64toi32_i32$0 + $27 | 0) >> 2] = HEAP32[($25 + $27 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btSimplePair_2c_2016u___allocate_28int_2c_20btSimplePair_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 12) | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btSimplePair_2c_2016u___deallocate_28btSimplePair__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function _GLOBAL__sub_I_btCompoundCompoundCollisionAlgorithm_cpp() { __cxx_global_var_init_17(); return; } function __cxx_global_var_init_18() { btInfMaskConverter__btInfMaskConverter_28int_29(114020 | 0, 2139095040 | 0) | 0; return; } function btBoxBoxDetector__btBoxBoxDetector_28btBoxShape_20const__2c_20btBoxShape_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 95092 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 95192 + 8 | 0; return $4 | 0; } function dLineClosestApproach_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20float__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $18 = Math_fround(0), $29 = Math_fround(0), $40 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 64 | 0; __stack_pointer = $8; HEAP32[($8 + 60 | 0) >> 2] = $0; HEAP32[($8 + 56 | 0) >> 2] = $1; HEAP32[($8 + 52 | 0) >> 2] = $2; HEAP32[($8 + 48 | 0) >> 2] = $3; HEAP32[($8 + 44 | 0) >> 2] = $4; HEAP32[($8 + 40 | 0) >> 2] = $5; btVector3__btVector3_28_29($8 + 24 | 0 | 0) | 0; $18 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 60 | 0) >> 2] | 0 | 0) | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0, wasm2js_f32$0 = $18), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $29 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 52 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 60 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0, wasm2js_f32$0 = $29), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $40 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 52 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 60 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0, wasm2js_f32$0 = $40), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(dDOT_28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 48 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(dDOT_28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(-Math_fround(dDOT_28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 20 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 20 | 0) >> 2])) + Math_fround(1.0)); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]) <= Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$2 } HEAPF32[(HEAP32[($8 + 44 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); HEAPF32[(HEAP32[($8 + 40 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); break label$1; } HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($8 + 8 | 0) >> 2])); HEAPF32[(HEAP32[($8 + 44 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])) + Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 8 | 0) >> 2])); HEAPF32[(HEAP32[($8 + 40 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) + Math_fround(HEAPF32[($8 + 12 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 8 | 0) >> 2])); } __stack_pointer = $8 + 64 | 0; return; } function dDOT_28float_20const__2c_20float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]))))); } function cullPoints2_28int_2c_20float__2c_20int_2c_20int_2c_20int__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $264 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 128 | 0; __stack_pointer = $7; HEAP32[($7 + 124 | 0) >> 2] = $0; HEAP32[($7 + 120 | 0) >> 2] = $1; HEAP32[($7 + 116 | 0) >> 2] = $2; HEAP32[($7 + 112 | 0) >> 2] = $3; HEAP32[($7 + 108 | 0) >> 2] = $4; label$1 : { label$2 : { if (!((HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$2 } HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 120 | 0) >> 2] | 0) >> 2]); HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2]); break label$1; } label$3 : { label$4 : { if (!((HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { break label$4 } HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(Math_fround(.5) * Math_fround(Math_fround(HEAPF32[(HEAP32[($7 + 120 | 0) >> 2] | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2]))); HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(Math_fround(.5) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2]))); break label$3; } HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($7 + 104 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) < ((HEAP32[($7 + 124 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { break label$5 } HEAPF32[($7 + 84 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + (((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 3 | 0) << 2 | 0) | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2])))); HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 84 | 0) >> 2])); HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + (((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2]))) + Math_fround(HEAPF32[($7 + 92 | 0) >> 2])); HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 3 | 0) << 2 | 0) | 0) >> 2]))) + Math_fround(HEAPF32[($7 + 88 | 0) >> 2])); HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } HEAPF32[($7 + 84 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 124 | 0) >> 2] | 0) << 1 | 0) - 2 | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(HEAP32[($7 + 120 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 124 | 0) >> 2] | 0) << 1 | 0) - 1 | 0) << 2 | 0) | 0) >> 2])))); label$7 : { label$8 : { if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 84 | 0) >> 2]))))) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$8 } HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(3.0) * Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 84 | 0) >> 2])))); break label$7; } HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(999999984306749440.0); } HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) * Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 124 | 0) >> 2] | 0) << 1 | 0) - 2 | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(HEAP32[($7 + 120 | 0) >> 2] | 0) >> 2]))) + Math_fround(HEAPF32[($7 + 92 | 0) >> 2]))); HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) * Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 124 | 0) >> 2] | 0) << 1 | 0) - 1 | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2]))) + Math_fround(HEAPF32[($7 + 88 | 0) >> 2]))); } } HEAP32[($7 + 104 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } $264 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($7 + 88 | 0) >> 2]))), Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + (((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($7 + 92 | 0) >> 2]))))); HEAPF32[(($7 + 48 | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $264; HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } HEAP32[($7 + 104 | 0) >> 2] = 0; label$11 : { label$12 : while (1) { if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$11 } HEAP32[(($7 + 16 | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 1; HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; continue label$12; }; } HEAP32[(($7 + 16 | 0) + ((HEAP32[($7 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 112 | 0) >> 2] | 0; HEAP32[($7 + 108 | 0) >> 2] = (HEAP32[($7 + 108 | 0) >> 2] | 0) + 4 | 0; HEAP32[($7 + 100 | 0) >> 2] = 1; label$13 : { label$14 : while (1) { if (!((HEAP32[($7 + 100 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$13 } HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAP32[($7 + 100 | 0) >> 2] | 0 | 0) * Math_fround(Math_fround(6.2831854820251465) / Math_fround(HEAP32[($7 + 116 | 0) >> 2] | 0 | 0))) + Math_fround(HEAPF32[(($7 + 48 | 0) + ((HEAP32[($7 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); label$15 : { if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) > Math_fround(3.1415927410125732) & 1 | 0)) { break label$15 } HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) - Math_fround(6.2831854820251465)); } HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(1.0e9); HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 112 | 0) >> 2] | 0; HEAP32[($7 + 104 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } label$18 : { if (!(HEAP32[(($7 + 16 | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { break label$18 } (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[(($7 + 48 | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($7 + 96 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$19 : { if (!(Math_fround(HEAPF32[($7 + 8 | 0) >> 2]) > Math_fround(3.1415927410125732) & 1 | 0)) { break label$19 } HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(Math_fround(6.2831854820251465) - Math_fround(HEAPF32[($7 + 8 | 0) >> 2])); } label$20 : { if (!(Math_fround(HEAPF32[($7 + 8 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 12 | 0) >> 2]) & 1 | 0)) { break label$20 } HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(HEAPF32[($7 + 8 | 0) >> 2]); HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 104 | 0) >> 2] | 0; } } HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } label$21 : { if ((HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 112 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$21 } __assert_fail(85735 | 0, 72206 | 0, 248 | 0, 85393 | 0); wasm2js_trap(); } HEAP32[(($7 + 16 | 0) + ((HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; HEAP32[($7 + 108 | 0) >> 2] = (HEAP32[($7 + 108 | 0) >> 2] | 0) + 4 | 0; HEAP32[($7 + 100 | 0) >> 2] = (HEAP32[($7 + 100 | 0) >> 2] | 0) + 1 | 0; continue label$14; }; } __stack_pointer = $7 + 128 | 0; return; } function btAtan2_28float_2c_20float_29($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $4 = 0, $7 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAPF32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $7 = Math_fround(atan2f(Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2])))); __stack_pointer = $4 + 16 | 0; return Math_fround($7); } function dBoxBox2_28btVector3_20const__2c_20float_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_20const__2c_20btVector3_20const__2c_20btVector3__2c_20float__2c_20int__2c_20int_2c_20dContactGeom__2c_20int_2c_20btDiscreteCollisionDetectorInterface__Result__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; $10 = $10 | 0; $11 = $11 | 0; $12 = $12 | 0; var $15 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $47 = 0, $1698 = 0, $1796 = 0, $1921 = 0, $1953 = 0, $1963 = 0, $2828 = 0, $2920 = 0, $3051 = 0, $3080 = 0, $3248 = 0, $3252 = 0, $61 = Math_fround(0), $73 = Math_fround(0), $85 = Math_fround(0), $583 = Math_fround(0), $591 = Math_fround(0), $598 = Math_fround(0), $696 = Math_fround(0), $704 = Math_fround(0), $711 = Math_fround(0), $809 = Math_fround(0), $817 = Math_fround(0), $824 = Math_fround(0), $921 = Math_fround(0), $929 = Math_fround(0), $937 = Math_fround(0), $1034 = Math_fround(0), $1042 = Math_fround(0), $1050 = Math_fround(0), $1147 = Math_fround(0), $1155 = Math_fround(0), $1163 = Math_fround(0), $1262 = Math_fround(0), $1269 = Math_fround(0), $1277 = Math_fround(0), $1376 = Math_fround(0), $1383 = Math_fround(0), $1391 = Math_fround(0), $1490 = Math_fround(0), $1497 = Math_fround(0), $1505 = Math_fround(0), $1542 = Math_fround(0), $1546 = Math_fround(0), $1550 = Math_fround(0), $1558 = Math_fround(0), $1568 = Math_fround(0), $1578 = Math_fround(0), $1585 = Math_fround(0), $1591 = Math_fround(0), $1597 = Math_fround(0), $1627 = Math_fround(0), $1680 = Math_fround(0), $1690 = Math_fround(0), $1725 = Math_fround(0), $1778 = Math_fround(0), $1788 = Math_fround(0), $1833 = Math_fround(0), $1866 = Math_fround(0), $1912 = Math_fround(0), $1913 = Math_fround(0), $1944 = Math_fround(0), $1945 = Math_fround(0), $2031 = Math_fround(0), $2038 = Math_fround(0), $2045 = Math_fround(0), $2053 = Math_fround(0), $2061 = Math_fround(0), $2069 = Math_fround(0), $2079 = Math_fround(0), $2091 = Math_fround(0), $2103 = Math_fround(0), $2113 = Math_fround(0), $2123 = Math_fround(0), $2133 = Math_fround(0), $2244 = Math_fround(0), $2295 = Math_fround(0), $2606 = 0, $2672 = Math_fround(0), $2816 = Math_fround(0), $2890 = Math_fround(0), $2908 = Math_fround(0), $3032 = Math_fround(0), $3139 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $15 = __stack_pointer - 992 | 0; __stack_pointer = $15; HEAP32[($15 + 984 | 0) >> 2] = $0; HEAP32[($15 + 980 | 0) >> 2] = $1; HEAP32[($15 + 976 | 0) >> 2] = $2; HEAP32[($15 + 972 | 0) >> 2] = $3; HEAP32[($15 + 968 | 0) >> 2] = $4; HEAP32[($15 + 964 | 0) >> 2] = $5; HEAP32[($15 + 960 | 0) >> 2] = $6; HEAP32[($15 + 956 | 0) >> 2] = $7; HEAP32[($15 + 952 | 0) >> 2] = $8; HEAP32[($15 + 948 | 0) >> 2] = $9; HEAP32[($15 + 944 | 0) >> 2] = $10; HEAP32[($15 + 940 | 0) >> 2] = $11; HEAP32[($15 + 936 | 0) >> 2] = $12; HEAPF32[($15 + 932 | 0) >> 2] = Math_fround(1.0499999523162842); btVector3__btVector3_28_29($15 + 912 | 0 | 0) | 0; btVector3__btVector3_28_29($15 + 896 | 0 | 0) | 0; HEAPF32[($15 + 876 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($15 + 872 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($15 + 868 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($15 + 880 | 0 | 0, $15 + 876 | 0 | 0, $15 + 872 | 0 | 0, $15 + 868 | 0 | 0) | 0; HEAP32[($15 + 864 | 0) >> 2] = 0; operator__28btVector3_20const__2c_20btVector3_20const__29($15 + 724 | 0 | 0, HEAP32[($15 + 972 | 0) >> 2] | 0 | 0, HEAP32[($15 + 984 | 0) >> 2] | 0 | 0); $47 = 8; i64toi32_i32$2 = ($15 + 724 | 0) + $47 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3248 = i64toi32_i32$0; i64toi32_i32$0 = ($15 + 912 | 0) + $47 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3248; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $15; i64toi32_i32$1 = HEAP32[($15 + 724 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($15 + 728 | 0) >> 2] | 0; $3252 = i64toi32_i32$1; i64toi32_i32$1 = $15; HEAP32[($15 + 912 | 0) >> 2] = $3252; HEAP32[($15 + 916 | 0) >> 2] = i64toi32_i32$0; $61 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0, wasm2js_f32$0 = $61), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $73 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0, wasm2js_f32$0 = $73), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $85 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0, wasm2js_f32$0 = $85), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 976 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 852 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 976 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 856 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 976 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 860 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 964 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 840 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 964 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 844 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 964 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 848 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, HEAP32[($15 + 968 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 836 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 832 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 828 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($15 + 968 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 824 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 820 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 816 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($15 + 968 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 812 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 808 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 804 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 836 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 800 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 832 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 796 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 828 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 792 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 824 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 788 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 820 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 784 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 816 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 780 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 812 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 776 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 808 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 772 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 804 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 768 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAP32[($15 + 744 | 0) >> 2] = 0; HEAP32[($15 + 740 | 0) >> 2] = 0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2])))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 852 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } label$3 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = HEAP32[($15 + 980 | 0) >> 2] | 0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2])))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 856 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$4 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } label$5 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$5 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = (HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 2; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2])))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 860 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$6 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$6 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } label$7 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$7 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = (HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 3; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(dDOT41_28float_20const__2c_20float_20const__29(HEAP32[($15 + 968 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0))))) - Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])))) + Math_fround(HEAPF32[($15 + 840 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$8 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$8 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } label$9 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$9 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = HEAP32[($15 + 968 | 0) >> 2] | 0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29(HEAP32[($15 + 968 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 4; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0))))) - Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])))) + Math_fround(HEAPF32[($15 + 844 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$10 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$10 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } label$11 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$11 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = (HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 5; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0))))) - Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])))) + Math_fround(HEAPF32[($15 + 848 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$12 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$12 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } label$13 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$13 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = (HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 6; } HEAPF32[($15 + 720 | 0) >> 2] = Math_fround(9.999999747378752e-06); HEAPF32[($15 + 800 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 800 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); HEAPF32[($15 + 796 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 796 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); HEAPF32[($15 + 792 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 792 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); HEAPF32[($15 + 788 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 788 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); HEAPF32[($15 + 784 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 784 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); HEAPF32[($15 + 780 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 780 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); HEAPF32[($15 + 776 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 776 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); HEAPF32[($15 + 772 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 772 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); HEAPF32[($15 + 768 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 768 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$14 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$14 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 824 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 812 | 0) >> 2]))) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$15 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$15 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$16 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$16 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $583 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $583), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $591 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $591), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $598 = Math_fround(Math_fround(HEAPF32[($15 + 824 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $598), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 7; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$17 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$17 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 820 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 808 | 0) >> 2]))) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$18 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$18 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$19 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$19 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $696 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $696), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $704 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $704), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $711 = Math_fround(Math_fround(HEAPF32[($15 + 820 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $711), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 8; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$20 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$20 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 816 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 804 | 0) >> 2]))) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$21 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$21 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$22 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$22 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $809 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $809), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $817 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $817), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $824 = Math_fround(Math_fround(HEAPF32[($15 + 816 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $824), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 9; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$23 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$23 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 836 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 836 | 0) >> 2]))) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 812 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$24 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$24 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$25 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$25 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $921 = Math_fround(Math_fround(HEAPF32[($15 + 812 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $921), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $929 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $929), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $937 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 836 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $937), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 10; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$26 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$26 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 832 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 832 | 0) >> 2]))) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 808 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$27 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$27 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$28 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$28 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $1034 = Math_fround(Math_fround(HEAPF32[($15 + 808 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1034), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1042 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1042), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1050 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 832 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1050), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 11; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$29 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$29 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 828 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 828 | 0) >> 2]))) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 804 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$30 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$30 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$31 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$31 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $1147 = Math_fround(Math_fround(HEAPF32[($15 + 804 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1147), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1155 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1155), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1163 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 828 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1163), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 12; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$32 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$32 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 824 | 0) >> 2]))) + Math_fround(Math_fround(HEAPF32[($15 + 836 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2]))) + Math_fround(0 | 0)))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$33 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$33 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$34 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$34 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $1262 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1262), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1269 = Math_fround(Math_fround(HEAPF32[($15 + 836 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1269), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1277 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1277), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 13; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$35 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$35 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 820 | 0) >> 2]))) + Math_fround(Math_fround(HEAPF32[($15 + 832 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2]))) + Math_fround(0 | 0)))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$36 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$36 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$37 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$37 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $1376 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1376), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1383 = Math_fround(Math_fround(HEAPF32[($15 + 832 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1383), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1391 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1391), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 14; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; label$38 : { if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$38 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 816 | 0) >> 2]))) + Math_fround(Math_fround(HEAPF32[($15 + 828 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2]))) + Math_fround(0 | 0)))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; label$39 : { if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$39 } HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); label$40 : { if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { break label$40 } HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); HEAP32[($15 + 864 | 0) >> 2] = 0; $1490 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1490), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1497 = Math_fround(Math_fround(HEAPF32[($15 + 828 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1497), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1505 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1505), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 740 | 0) >> 2] = 15; } } label$41 : { if (HEAP32[($15 + 740 | 0) >> 2] | 0) { break label$41 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } label$42 : { label$43 : { if (!((HEAP32[($15 + 864 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$43 } $1542 = Math_fround(HEAPF32[(HEAP32[($15 + 864 | 0) >> 2] | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1542), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1546 = Math_fround(HEAPF32[((HEAP32[($15 + 864 | 0) >> 2] | 0) + 16 | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1546), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1550 = Math_fround(HEAPF32[((HEAP32[($15 + 864 | 0) >> 2] | 0) + 32 | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1550), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; break label$42; } $1558 = Math_fround(dDOT_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1558), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1568 = Math_fround(dDOT_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 16 | 0 | 0, btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1568), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1578 = Math_fround(dDOT_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 32 | 0 | 0, btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1578), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } label$44 : { if (!(HEAP32[($15 + 744 | 0) >> 2] | 0)) { break label$44 } $1585 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1585), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1591 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1591), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1597 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1597), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } HEAPF32[(HEAP32[($15 + 956 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($15 + 764 | 0) >> 2])); label$45 : { if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { break label$45 } btVector3__btVector3_28_29($15 + 704 | 0 | 0) | 0; HEAP32[($15 + 752 | 0) >> 2] = 0; label$46 : { label$47 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$46 } $1627 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 984 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 704 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $1627), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$47; }; } HEAP32[($15 + 748 | 0) >> 2] = 0; label$48 : { label$49 : while (1) { if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$48 } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT14_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($15 + 980 | 0) >> 2] | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0 | 0)) > Math_fround(0 | 0) & 1 | 0 ? Math_fround(1.0) : Math_fround(-1.0)), HEAPF32[(wasm2js_i32$0 + 700 | 0) >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = 0; label$50 : { label$51 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$50 } $1680 = Math_fround(Math_fround(HEAPF32[($15 + 700 | 0) >> 2]) * Math_fround(HEAPF32[(($15 + 852 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); $1690 = Math_fround(HEAPF32[((HEAP32[($15 + 980 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 748 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]); $1698 = (btVector3__operator_20float__28_29($15 + 704 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$1698 >> 2] = Math_fround(Math_fround($1680 * $1690) + Math_fround(HEAPF32[$1698 >> 2])); HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$51; }; } HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; continue label$49; }; } btVector3__btVector3_28_29($15 + 684 | 0 | 0) | 0; HEAP32[($15 + 752 | 0) >> 2] = 0; label$52 : { label$53 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$52 } $1725 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 972 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 684 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $1725), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$53; }; } HEAP32[($15 + 748 | 0) >> 2] = 0; label$54 : { label$55 : while (1) { if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$54 } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT14_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0 | 0)) > Math_fround(0 | 0) & 1 | 0 ? Math_fround(-1.0) : Math_fround(1.0)), HEAPF32[(wasm2js_i32$0 + 700 | 0) >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = 0; label$56 : { label$57 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$56 } $1778 = Math_fround(Math_fround(HEAPF32[($15 + 700 | 0) >> 2]) * Math_fround(HEAPF32[(($15 + 840 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); $1788 = Math_fround(HEAPF32[((HEAP32[($15 + 968 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 748 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]); $1796 = (btVector3__operator_20float__28_29($15 + 684 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$1796 >> 2] = Math_fround(Math_fround($1778 * $1788) + Math_fround(HEAPF32[$1796 >> 2])); HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$57; }; } HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; continue label$55; }; } btVector3__btVector3_28_29($15 + 660 | 0 | 0) | 0; btVector3__btVector3_28_29($15 + 644 | 0 | 0) | 0; HEAP32[($15 + 752 | 0) >> 2] = 0; label$58 : { label$59 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$58 } $1833 = Math_fround(HEAPF32[((HEAP32[($15 + 980 | 0) >> 2] | 0) + (((((HEAP32[($15 + 740 | 0) >> 2] | 0) - 7 | 0 | 0) / (3 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 660 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $1833), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$59; }; } HEAP32[($15 + 752 | 0) >> 2] = 0; label$60 : { label$61 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$60 } $1866 = Math_fround(HEAPF32[((HEAP32[($15 + 968 | 0) >> 2] | 0) + (((((HEAP32[($15 + 740 | 0) >> 2] | 0) - 7 | 0 | 0) % (3 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 644 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $1866), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$61; }; } dLineClosestApproach_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20float__29($15 + 704 | 0 | 0, $15 + 660 | 0 | 0, $15 + 684 | 0 | 0, $15 + 644 | 0 | 0, $15 + 680 | 0 | 0, $15 + 676 | 0 | 0); HEAP32[($15 + 752 | 0) >> 2] = 0; label$62 : { label$63 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$62 } $1912 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 660 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); $1913 = Math_fround(HEAPF32[($15 + 680 | 0) >> 2]); $1921 = (btVector3__operator_20float__28_29($15 + 704 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$1921 >> 2] = Math_fround(Math_fround($1912 * $1913) + Math_fround(HEAPF32[$1921 >> 2])); HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$63; }; } HEAP32[($15 + 752 | 0) >> 2] = 0; label$64 : { label$65 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$64 } $1944 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 644 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); $1945 = Math_fround(HEAPF32[($15 + 676 | 0) >> 2]); $1953 = (btVector3__operator_20float__28_29($15 + 684 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$1953 >> 2] = Math_fround(Math_fround($1944 * $1945) + Math_fround(HEAPF32[$1953 >> 2])); HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$65; }; } btVector3__btVector3_28_29($15 + 628 | 0 | 0) | 0; $1963 = HEAP32[($15 + 936 | 0) >> 2] | 0; operator__28btVector3_20const__29($15 + 612 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$1963 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($1963, $15 + 612 | 0, $15 + 684 | 0, Math_fround(-Math_fround(HEAPF32[(HEAP32[($15 + 956 | 0) >> 2] | 0) >> 2]))); HEAP32[(HEAP32[($15 + 952 | 0) >> 2] | 0) >> 2] = HEAP32[($15 + 740 | 0) >> 2] | 0; HEAP32[($15 + 988 | 0) >> 2] = 1; break label$1; } label$66 : { label$67 : { if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) <= (3 | 0) & 1 | 0)) { break label$67 } HEAP32[($15 + 608 | 0) >> 2] = HEAP32[($15 + 980 | 0) >> 2] | 0; HEAP32[($15 + 604 | 0) >> 2] = HEAP32[($15 + 968 | 0) >> 2] | 0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 984 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 600 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $15, wasm2js_i32$1 = btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 972 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 592 | 0) >> 2] = $15 + 852 | 0; HEAP32[($15 + 588 | 0) >> 2] = $15 + 840 | 0; break label$66; } HEAP32[($15 + 608 | 0) >> 2] = HEAP32[($15 + 968 | 0) >> 2] | 0; HEAP32[($15 + 604 | 0) >> 2] = HEAP32[($15 + 980 | 0) >> 2] | 0; (wasm2js_i32$0 = $15, wasm2js_i32$1 = btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 972 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 600 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $15, wasm2js_i32$1 = btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 984 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; HEAP32[($15 + 592 | 0) >> 2] = $15 + 840 | 0; HEAP32[($15 + 588 | 0) >> 2] = $15 + 852 | 0; } btVector3__btVector3_28_29($15 + 572 | 0 | 0) | 0; btVector3__btVector3_28_29($15 + 556 | 0 | 0) | 0; btVector3__btVector3_28_29($15 + 540 | 0 | 0) | 0; label$68 : { label$69 : { if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) <= (3 | 0) & 1 | 0)) { break label$69 } $2031 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2031), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $2038 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2038), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $2045 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2045), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; break label$68; } $2053 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2053), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $2061 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2061), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $2069 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2069), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } $2079 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29(HEAP32[($15 + 604 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0, wasm2js_f32$0 = $2079), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $2091 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 604 | 0) >> 2] | 0) + 4 | 0 | 0, btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0, wasm2js_f32$0 = $2091), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $2103 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 604 | 0) >> 2] | 0) + 8 | 0 | 0, btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0 | 0)); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0, wasm2js_f32$0 = $2103), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $2113 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0) >> 2])))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0, wasm2js_f32$0 = $2113), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $2123 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0) + 4 | 0) >> 2])))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0, wasm2js_f32$0 = $2123), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $2133 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0) + 8 | 0) >> 2])))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0, wasm2js_f32$0 = $2133), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$70 : { label$71 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) + 4 | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) >> 2]) & 1 | 0)) { break label$71 } label$72 : { label$73 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) + 4 | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) + 8 | 0) >> 2]) & 1 | 0)) { break label$73 } HEAP32[($15 + 532 | 0) >> 2] = 0; HEAP32[($15 + 536 | 0) >> 2] = 1; HEAP32[($15 + 528 | 0) >> 2] = 2; break label$72; } HEAP32[($15 + 532 | 0) >> 2] = 0; HEAP32[($15 + 528 | 0) >> 2] = 1; HEAP32[($15 + 536 | 0) >> 2] = 2; } break label$70; } label$74 : { label$75 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) + 8 | 0) >> 2]) & 1 | 0)) { break label$75 } HEAP32[($15 + 536 | 0) >> 2] = 0; HEAP32[($15 + 532 | 0) >> 2] = 1; HEAP32[($15 + 528 | 0) >> 2] = 2; break label$74; } HEAP32[($15 + 532 | 0) >> 2] = 0; HEAP32[($15 + 528 | 0) >> 2] = 1; HEAP32[($15 + 536 | 0) >> 2] = 2; } } btVector3__btVector3_28_29($15 + 512 | 0 | 0) | 0; label$76 : { label$77 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0) + ((HEAP32[($15 + 536 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$77 } HEAP32[($15 + 752 | 0) >> 2] = 0; label$78 : { label$79 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$78 } $2244 = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 536 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 604 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 536 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 596 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $2244), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$79; }; } break label$76; } HEAP32[($15 + 752 | 0) >> 2] = 0; label$80 : { label$81 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$80 } $2295 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 536 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 604 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 536 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 596 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $2295), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$81; }; } } label$82 : { label$83 : { if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) <= (3 | 0) & 1 | 0)) { break label$83 } HEAP32[($15 + 508 | 0) >> 2] = (HEAP32[($15 + 740 | 0) >> 2] | 0) - 1 | 0; break label$82; } HEAP32[($15 + 508 | 0) >> 2] = (HEAP32[($15 + 740 | 0) >> 2] | 0) - 4 | 0; } label$84 : { label$85 : { if (HEAP32[($15 + 508 | 0) >> 2] | 0) { break label$85 } HEAP32[($15 + 504 | 0) >> 2] = 1; HEAP32[($15 + 500 | 0) >> 2] = 2; break label$84; } label$86 : { label$87 : { if (!((HEAP32[($15 + 508 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$87 } HEAP32[($15 + 504 | 0) >> 2] = 0; HEAP32[($15 + 500 | 0) >> 2] = 2; break label$86; } HEAP32[($15 + 504 | 0) >> 2] = 0; HEAP32[($15 + 500 | 0) >> 2] = 1; } } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT14_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0 | 0, (HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 504 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 460 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT14_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0 | 0, (HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 500 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 456 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 504 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($15 + 604 | 0) >> 2] | 0) + ((HEAP32[($15 + 532 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 452 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 504 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($15 + 604 | 0) >> 2] | 0) + ((HEAP32[($15 + 528 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 448 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 500 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($15 + 604 | 0) >> 2] | 0) + ((HEAP32[($15 + 532 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 500 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($15 + 604 | 0) >> 2] | 0) + ((HEAP32[($15 + 528 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 440 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($15 + 436 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 452 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 532 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAPF32[($15 + 432 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 444 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 532 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAPF32[($15 + 428 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 448 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 528 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAPF32[($15 + 424 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 440 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 528 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAPF32[($15 + 464 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 460 | 0) >> 2]) - Math_fround(HEAPF32[($15 + 436 | 0) >> 2])) - Math_fround(HEAPF32[($15 + 428 | 0) >> 2])); HEAPF32[($15 + 468 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 456 | 0) >> 2]) - Math_fround(HEAPF32[($15 + 432 | 0) >> 2])) - Math_fround(HEAPF32[($15 + 424 | 0) >> 2])); HEAPF32[($15 + 472 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 460 | 0) >> 2]) - Math_fround(HEAPF32[($15 + 436 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 428 | 0) >> 2])); HEAPF32[($15 + 476 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 456 | 0) >> 2]) - Math_fround(HEAPF32[($15 + 432 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 424 | 0) >> 2])); HEAPF32[($15 + 480 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 460 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 436 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 428 | 0) >> 2])); HEAPF32[($15 + 484 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 456 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 432 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 424 | 0) >> 2])); HEAPF32[($15 + 488 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 460 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 436 | 0) >> 2])) - Math_fround(HEAPF32[($15 + 428 | 0) >> 2])); HEAPF32[($15 + 492 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 456 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 432 | 0) >> 2])) - Math_fround(HEAPF32[($15 + 424 | 0) >> 2])); HEAPF32[($15 + 416 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 592 | 0) >> 2] | 0) + ((HEAP32[($15 + 504 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAPF32[($15 + 420 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 592 | 0) >> 2] | 0) + ((HEAP32[($15 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = $15, wasm2js_i32$1 = intersectRectQuad2_28float__2c_20float__2c_20float__29($15 + 416 | 0 | 0, $15 + 464 | 0 | 0, $15 + 352 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; label$88 : { if (!((HEAP32[($15 + 348 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { break label$88 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } HEAPF32[($15 + 204 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 452 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 440 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($15 + 448 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 444 | 0) >> 2]))))); HEAPF32[($15 + 452 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 452 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 204 | 0) >> 2])); HEAPF32[($15 + 448 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 448 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 204 | 0) >> 2])); HEAPF32[($15 + 444 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 444 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 204 | 0) >> 2])); HEAPF32[($15 + 440 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 440 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 204 | 0) >> 2])); HEAP32[($15 + 200 | 0) >> 2] = 0; HEAP32[($15 + 748 | 0) >> 2] = 0; label$89 : { label$90 : while (1) { if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 348 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$89 } HEAPF32[($15 + 196 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 440 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[(($15 + 352 | 0) + (((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($15 + 460 | 0) >> 2]))) + Math_fround(-Math_fround(Math_fround(HEAPF32[($15 + 448 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[(($15 + 352 | 0) + ((((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($15 + 456 | 0) >> 2]))))); HEAPF32[($15 + 192 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 444 | 0) >> 2])) * Math_fround(Math_fround(HEAPF32[(($15 + 352 | 0) + (((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($15 + 460 | 0) >> 2]))) + Math_fround(Math_fround(HEAPF32[($15 + 452 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[(($15 + 352 | 0) + ((((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($15 + 456 | 0) >> 2])))); HEAP32[($15 + 752 | 0) >> 2] = 0; label$91 : { label$92 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$91 } $2606 = btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0; HEAPF32[(($15 + 240 | 0) + ((Math_imul(HEAP32[($15 + 200 | 0) >> 2] | 0, 3) + (HEAP32[($15 + 752 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 192 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 604 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 528 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 196 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 604 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 532 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) + Math_fround(HEAPF32[($2606 + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$92; }; } $2672 = Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 592 | 0) >> 2] | 0) + ((HEAP32[($15 + 508 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(dDOT_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0 | 0, ($15 + 240 | 0) + (Math_imul(HEAP32[($15 + 200 | 0) >> 2] | 0, 3) << 2 | 0) | 0 | 0))); HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $2672; label$93 : { if (!(Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$93 } HEAPF32[(($15 + 352 | 0) + (((HEAP32[($15 + 200 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(($15 + 352 | 0) + (((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]); HEAPF32[(($15 + 352 | 0) + ((((HEAP32[($15 + 200 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(($15 + 352 | 0) + ((((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]); HEAP32[($15 + 200 | 0) >> 2] = (HEAP32[($15 + 200 | 0) >> 2] | 0) + 1 | 0; } HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; continue label$90; }; } label$94 : { if (!((HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { break label$94 } HEAP32[($15 + 988 | 0) >> 2] = 0; break label$1; } label$95 : { if (!((HEAP32[($15 + 948 | 0) >> 2] | 0 | 0) > (HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$95 } HEAP32[($15 + 948 | 0) >> 2] = HEAP32[($15 + 200 | 0) >> 2] | 0; } label$96 : { if (!((HEAP32[($15 + 948 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { break label$96 } HEAP32[($15 + 948 | 0) >> 2] = 1; } label$97 : { label$98 : { if (!((HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) <= (HEAP32[($15 + 948 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$98 } label$99 : { label$100 : { if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$100 } HEAP32[($15 + 748 | 0) >> 2] = 0; label$101 : { label$102 : while (1) { if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$101 } btVector3__btVector3_28_29($15 + 176 | 0 | 0) | 0; HEAP32[($15 + 752 | 0) >> 2] = 0; label$103 : { label$104 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$103 } $2816 = Math_fround(Math_fround(HEAPF32[(($15 + 240 | 0) + ((Math_imul(HEAP32[($15 + 748 | 0) >> 2] | 0, 3) + (HEAP32[($15 + 752 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 176 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $2816), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$104; }; } $2828 = HEAP32[($15 + 936 | 0) >> 2] | 0; operator__28btVector3_20const__29($15 + 160 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$2828 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($2828, $15 + 160 | 0, $15 + 176 | 0, Math_fround(-Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; continue label$102; }; } break label$99; } HEAP32[($15 + 748 | 0) >> 2] = 0; label$105 : { label$106 : while (1) { if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$105 } btVector3__btVector3_28_29($15 + 144 | 0 | 0) | 0; HEAP32[($15 + 752 | 0) >> 2] = 0; label$107 : { label$108 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$107 } $2890 = Math_fround(Math_fround(HEAPF32[(($15 + 240 | 0) + ((Math_imul(HEAP32[($15 + 748 | 0) >> 2] | 0, 3) + (HEAP32[($15 + 752 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); $2908 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + $2890); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 144 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $2908), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$108; }; } $2920 = HEAP32[($15 + 936 | 0) >> 2] | 0; operator__28btVector3_20const__29($15 + 128 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$2920 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($2920, $15 + 128 | 0, $15 + 144 | 0, Math_fround(-Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; continue label$106; }; } } break label$97; } HEAP32[($15 + 124 | 0) >> 2] = 0; HEAPF32[($15 + 120 | 0) >> 2] = Math_fround(HEAPF32[($15 + 208 | 0) >> 2]); HEAP32[($15 + 752 | 0) >> 2] = 1; label$109 : { label$110 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$109 } label$111 : { if (!(Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($15 + 120 | 0) >> 2]) & 1 | 0)) { break label$111 } HEAPF32[($15 + 120 | 0) >> 2] = Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($15 + 124 | 0) >> 2] = HEAP32[($15 + 752 | 0) >> 2] | 0; } HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$110; }; } cullPoints2_28int_2c_20float__2c_20int_2c_20int_2c_20int__29(HEAP32[($15 + 200 | 0) >> 2] | 0 | 0, $15 + 352 | 0 | 0, HEAP32[($15 + 948 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0, $15 + 80 | 0 | 0); HEAP32[($15 + 748 | 0) >> 2] = 0; label$112 : { label$113 : while (1) { if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 948 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$112 } btVector3__btVector3_28_29($15 + 64 | 0 | 0) | 0; HEAP32[($15 + 752 | 0) >> 2] = 0; label$114 : { label$115 : while (1) { if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$114 } $3032 = Math_fround(Math_fround(HEAPF32[(($15 + 240 | 0) + ((Math_imul(HEAP32[(($15 + 80 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 3) + (HEAP32[($15 + 752 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 64 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $3032), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; continue label$115; }; } label$116 : { label$117 : { if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$117 } $3051 = HEAP32[($15 + 936 | 0) >> 2] | 0; operator__28btVector3_20const__29($15 + 48 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$3051 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($3051, $15 + 48 | 0, $15 + 64 | 0, Math_fround(-Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[(($15 + 80 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); break label$116; } $3080 = HEAP32[($15 + 936 | 0) >> 2] | 0; operator__28btVector3_20const__29($15 + 32 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($15 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0, ($15 + 208 | 0) + ((HEAP32[(($15 + 80 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($15 + 16 | 0 | 0, $15 + 64 | 0 | 0, $15 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$3080 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($3080, $15 + 32 | 0, $15 + 16 | 0, Math_fround(-Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[(($15 + 80 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); } HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; continue label$113; }; } HEAP32[($15 + 200 | 0) >> 2] = HEAP32[($15 + 948 | 0) >> 2] | 0; } HEAP32[(HEAP32[($15 + 952 | 0) >> 2] | 0) >> 2] = HEAP32[($15 + 740 | 0) >> 2] | 0; HEAP32[($15 + 988 | 0) >> 2] = HEAP32[($15 + 200 | 0) >> 2] | 0; } $3139 = HEAP32[($15 + 988 | 0) >> 2] | 0; __stack_pointer = $15 + 992 | 0; return $3139 | 0; } function dDOT41_28float_20const__2c_20float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]))))); } function dDOT44_28float_20const__2c_20float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2]))))); } function dDOT14_28float_20const__2c_20float_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2]))))); } function intersectRectQuad2_28float__2c_20float__2c_20float__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $81 = 0, $227 = 0, $251 = 0; $5 = __stack_pointer - 128 | 0; __stack_pointer = $5; HEAP32[($5 + 124 | 0) >> 2] = $0; HEAP32[($5 + 120 | 0) >> 2] = $1; HEAP32[($5 + 116 | 0) >> 2] = $2; HEAP32[($5 + 112 | 0) >> 2] = 4; HEAP32[($5 + 108 | 0) >> 2] = 0; HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 120 | 0) >> 2] | 0; HEAP32[($5 + 24 | 0) >> 2] = HEAP32[($5 + 116 | 0) >> 2] | 0; HEAP32[($5 + 20 | 0) >> 2] = 0; label$1 : { label$2 : { label$3 : while (1) { if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 16 | 0) >> 2] = -1; label$4 : { label$5 : while (1) { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { break label$4 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 108 | 0) >> 2] = 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($5 + 112 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$6 } label$8 : { if (!(Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$8 } HEAPF32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2]); HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0; HEAP32[($5 + 108 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + 1 | 0; label$9 : { if (!((HEAP32[($5 + 108 | 0) >> 2] | 0) & 8 | 0)) { break label$9 } HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; break label$1; } } label$10 : { label$11 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { break label$11 } $81 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0; break label$10; } $81 = HEAP32[($5 + 28 | 0) >> 2] | 0; } HEAP32[$5 >> 2] = $81; label$12 : { if (!((Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0) ^ (Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[$5 >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0) | 0)) { break label$12 } HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + ((1 - (HEAP32[($5 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[$5 >> 2] | 0) + ((1 - (HEAP32[($5 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((1 - (HEAP32[($5 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) / Math_fround(Math_fround(HEAPF32[((HEAP32[$5 >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))) * Math_fround(Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])))) + Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((1 - (HEAP32[($5 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])); HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0; HEAP32[($5 + 108 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + 1 | 0; label$13 : { if (!((HEAP32[($5 + 108 | 0) >> 2] | 0) & 8 | 0)) { break label$13 } HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; break label$1; } } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + -1 | 0; continue label$7; }; } HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$14 : { label$15 : { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$15 } $227 = $5 + 32 | 0; break label$14; } $227 = HEAP32[($5 + 116 | 0) >> 2] | 0; } HEAP32[($5 + 24 | 0) >> 2] = $227; HEAP32[($5 + 112 | 0) >> 2] = HEAP32[($5 + 108 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) + 2 | 0; continue label$5; }; } HEAP32[($5 + 20 | 0) >> 2] = (HEAP32[($5 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } } label$16 : { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } __memcpy(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($5 + 108 | 0) >> 2] | 0) << 1 | 0) << 2 | 0 | 0) | 0; } $251 = HEAP32[($5 + 108 | 0) >> 2] | 0; __stack_pointer = $5 + 128 | 0; return $251 | 0; } function btBoxBoxDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0, $29 = Math_fround(0), $46 = Math_fround(0), $63 = Math_fround(0), $80 = Math_fround(0), $97 = Math_fround(0), $114 = Math_fround(0), $134 = 0, $153 = 0; $7 = __stack_pointer - 256 | 0; __stack_pointer = $7; HEAP32[($7 + 252 | 0) >> 2] = $0; HEAP32[($7 + 248 | 0) >> 2] = $1; HEAP32[($7 + 244 | 0) >> 2] = $2; HEAP32[($7 + 240 | 0) >> 2] = $3; HEAP8[($7 + 239 | 0) >> 0] = $4; $9 = HEAP32[($7 + 252 | 0) >> 2] | 0; HEAP32[($7 + 232 | 0) >> 2] = HEAP32[($7 + 248 | 0) >> 2] | 0; HEAP32[($7 + 228 | 0) >> 2] = (HEAP32[($7 + 248 | 0) >> 2] | 0) + 64 | 0; HEAP32[($7 + 224 | 0) >> 2] = 0; HEAP32[($7 + 220 | 0) >> 2] = 0; HEAP32[($7 + 108 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } $29 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 232 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); HEAPF32[(($7 + 160 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $29; $46 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); HEAPF32[(($7 + 112 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $46; $63 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 232 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); HEAPF32[(($7 + 160 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $63; $80 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); HEAPF32[(($7 + 112 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $80; $97 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 232 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); HEAPF32[(($7 + 160 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $97; $114 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); HEAPF32[(($7 + 112 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $114; HEAP32[($7 + 108 | 0) >> 2] = (HEAP32[($7 + 108 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } btVector3__btVector3_28_29($7 + 92 | 0 | 0) | 0; HEAP32[($7 + 80 | 0) >> 2] = 4; $134 = btTransform__getOrigin_28_29_20const(HEAP32[($7 + 232 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($7 + 60 | 0) >> 2] = Math_fround(2.0); btBoxShape__getHalfExtentsWithMargin_28_29_20const($7 + 44 | 0 | 0, HEAP32[($9 + 4 | 0) >> 2] | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($7 + 64 | 0 | 0, $7 + 60 | 0 | 0, $7 + 44 | 0 | 0); $153 = btTransform__getOrigin_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($7 + 24 | 0) >> 2] = Math_fround(2.0); btBoxShape__getHalfExtentsWithMargin_28_29_20const($7 + 8 | 0 | 0, HEAP32[($9 + 8 | 0) >> 2] | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($7 + 28 | 0 | 0, $7 + 24 | 0 | 0, $7 + 8 | 0 | 0); dBoxBox2_28btVector3_20const__2c_20float_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_20const__2c_20btVector3_20const__2c_20btVector3__2c_20float__2c_20int__2c_20int_2c_20dContactGeom__2c_20int_2c_20btDiscreteCollisionDetectorInterface__Result__29($134 | 0, $7 + 160 | 0 | 0, $7 + 64 | 0 | 0, $153 | 0, $7 + 112 | 0 | 0, $7 + 28 | 0 | 0, $7 + 92 | 0 | 0, $7 + 88 | 0 | 0, $7 + 84 | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7 + 220 | 0) >> 2] | 0 | 0, HEAP32[($7 + 224 | 0) >> 2] | 0 | 0, HEAP32[($7 + 244 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $7 + 256 | 0; return; } function btBoxBoxDetector___btBoxBoxDetector_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBoxBoxDetector___btBoxBoxDetector_28_29_1($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btBoxBoxDetector_cpp() { __cxx_global_var_init_18(); return; } function __cxx_global_var_init_19() { btInfMaskConverter__btInfMaskConverter_28int_29(114024 | 0, 2139095040 | 0) | 0; return; } function btBoxBoxCollisionAlgorithm__btBoxBoxCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $24 = 0, $34 = 0, $43 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 24 | 0) >> 2] = $0; HEAP32[($7 + 20 | 0) >> 2] = $1; HEAP32[($7 + 16 | 0) >> 2] = $2; HEAP32[($7 + 12 | 0) >> 2] = $3; HEAP32[($7 + 8 | 0) >> 2] = $4; $8 = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = $8; btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$8 >> 2] = 95212 + 8 | 0; HEAP8[($8 + 8 | 0) >> 0] = 0; HEAP32[($8 + 12 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } $24 = HEAP32[($8 + 4 | 0) >> 2] | 0; if (!(((((wasm2js_i32$1 = $24, wasm2js_i32$2 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$24 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0) & 1 | 0)) { break label$1 } $34 = HEAP32[($8 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_i32$3 = ((((wasm2js_i32$1 = $34, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$34 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$1 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$3; HEAP8[($8 + 8 | 0) >> 0] = 1; } $43 = HEAP32[($7 + 28 | 0) >> 2] | 0; __stack_pointer = $7 + 32 | 0; return $43 | 0; } function btBoxBoxCollisionAlgorithm___btBoxBoxCollisionAlgorithm_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $18 = 0, $22 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 95212 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 12 | 0) >> 2] | 0); } } btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; $22 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function btBoxBoxCollisionAlgorithm___btBoxBoxCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[689 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBoxBoxCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 176 | 0; __stack_pointer = $7; HEAP32[($7 + 172 | 0) >> 2] = $0; HEAP32[($7 + 168 | 0) >> 2] = $1; HEAP32[($7 + 164 | 0) >> 2] = $2; HEAP32[($7 + 160 | 0) >> 2] = $3; HEAP32[($7 + 156 | 0) >> 2] = $4; $8 = HEAP32[($7 + 172 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } break label$1; } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($7 + 16 | 0 | 0) | 0; HEAPF32[($7 + 144 | 0) >> 2] = Math_fround(999999984306749440.0); btTransform__operator__28btTransform_20const__29($7 + 16 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29(($7 + 16 | 0) + 64 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btBoxBoxDetector__btBoxBoxDetector_28btBoxShape_20const__2c_20btBoxShape_20const__29($7 + 4 | 0 | 0, HEAP32[($7 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7 + 148 | 0) >> 2] | 0 | 0) | 0; btBoxBoxDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 4 | 0 | 0, $7 + 16 | 0 | 0, HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 160 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); label$3 : { if (!((HEAPU8[($8 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 156 | 0) >> 2] | 0 | 0); } btBoxBoxDetector___btBoxBoxDetector_28_29_1($7 + 4 | 0 | 0) | 0; } __stack_pointer = $7 + 176 | 0; return; } function btBoxBoxDetector___btBoxBoxDetector_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBoxBoxCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; return Math_fround(Math_fround(1.0)); } function btBoxBoxCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((HEAPU8[($5 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 12 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function _GLOBAL__sub_I_btBoxBoxCollisionAlgorithm_cpp() { __cxx_global_var_init_19(); return; } function __cxx_global_var_init_20() { btInfMaskConverter__btInfMaskConverter_28int_29(114028 | 0, 2139095040 | 0) | 0; return; } function btConvexPlaneCollisionAlgorithm__btConvexPlaneCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, $12 = 0, $28 = 0, $35 = 0, $45 = 0, $55 = 0, $64 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $10 = __stack_pointer - 48 | 0; __stack_pointer = $10; HEAP32[($10 + 40 | 0) >> 2] = $0; HEAP32[($10 + 36 | 0) >> 2] = $1; HEAP32[($10 + 32 | 0) >> 2] = $2; HEAP32[($10 + 28 | 0) >> 2] = $3; HEAP32[($10 + 24 | 0) >> 2] = $4; HEAP8[($10 + 23 | 0) >> 0] = $5; HEAP32[($10 + 16 | 0) >> 2] = $6; HEAP32[($10 + 12 | 0) >> 2] = $7; $12 = HEAP32[($10 + 40 | 0) >> 2] | 0; HEAP32[($10 + 44 | 0) >> 2] = $12; btCollisionAlgorithm__btCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($12 | 0, HEAP32[($10 + 32 | 0) >> 2] | 0 | 0) | 0; HEAP32[$12 >> 2] = 95284 + 8 | 0; HEAP8[($12 + 8 | 0) >> 0] = 0; HEAP32[($12 + 12 | 0) >> 2] = HEAP32[($10 + 36 | 0) >> 2] | 0; HEAP8[($12 + 16 | 0) >> 0] = (HEAPU8[($10 + 23 | 0) >> 0] | 0) & 1 | 0; HEAP32[($12 + 20 | 0) >> 2] = HEAP32[($10 + 16 | 0) >> 2] | 0; HEAP32[($12 + 24 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($12 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $28 = HEAP32[($10 + 24 | 0) >> 2] | 0; break label$1; } $28 = HEAP32[($10 + 28 | 0) >> 2] | 0; } HEAP32[($10 + 8 | 0) >> 2] = $28; label$3 : { label$4 : { if (!((HEAPU8[($12 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $35 = HEAP32[($10 + 28 | 0) >> 2] | 0; break label$3; } $35 = HEAP32[($10 + 24 | 0) >> 2] | 0; } HEAP32[($10 + 4 | 0) >> 2] = $35; label$5 : { if ((HEAP32[($12 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$5 } $45 = HEAP32[($12 + 4 | 0) >> 2] | 0; if (!(((((wasm2js_i32$1 = $45, wasm2js_i32$2 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($10 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($10 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$45 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0) & 1 | 0)) { break label$5 } $55 = HEAP32[($12 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = $12, wasm2js_i32$3 = ((((wasm2js_i32$1 = $55, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($10 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($10 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$55 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$1 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$3; HEAP8[($12 + 8 | 0) >> 0] = 1; } $64 = HEAP32[($10 + 44 | 0) >> 2] | 0; __stack_pointer = $10 + 48 | 0; return $64 | 0; } function btConvexPlaneCollisionAlgorithm___btConvexPlaneCollisionAlgorithm_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $18 = 0, $22 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 95284 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 12 | 0) >> 2] | 0); } } btCollisionAlgorithm___btCollisionAlgorithm_28_29_1($4 | 0) | 0; $22 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function btConvexPlaneCollisionAlgorithm___btConvexPlaneCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[694 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexPlaneCollisionAlgorithm__collideSingleContact_28btQuaternion_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, $9 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $14 = 0, $21 = 0, $95 = 0, $177 = 0, $186 = 0, $99 = 0, $568 = 0, $572 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 704 | 0; __stack_pointer = $8; HEAP32[($8 + 700 | 0) >> 2] = $0; HEAP32[($8 + 696 | 0) >> 2] = $1; HEAP32[($8 + 692 | 0) >> 2] = $2; HEAP32[($8 + 688 | 0) >> 2] = $3; HEAP32[($8 + 684 | 0) >> 2] = $4; HEAP32[($8 + 680 | 0) >> 2] = $5; $9 = HEAP32[($8 + 700 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($9 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $14 = HEAP32[($8 + 688 | 0) >> 2] | 0; break label$1; } $14 = HEAP32[($8 + 692 | 0) >> 2] | 0; } HEAP32[($8 + 676 | 0) >> 2] = $14; label$3 : { label$4 : { if (!((HEAPU8[($9 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $21 = HEAP32[($8 + 692 | 0) >> 2] | 0; break label$3; } $21 = HEAP32[($8 + 688 | 0) >> 2] | 0; } HEAP32[($8 + 672 | 0) >> 2] = $21; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($8 + 676 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 668 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 664 | 0) >> 2] = wasm2js_i32$1; HEAP8[($8 + 663 | 0) >> 0] = 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($8 + 664 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btStaticPlaneShape__getPlaneConstant_28_29_20const(HEAP32[($8 + 664 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 652 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28btTransform_20const__29($8 + 588 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 676 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btTransform__btTransform_28_29($8 + 524 | 0 | 0) | 0; btTransform__inverse_28_29_20const($8 + 396 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($8 + 460 | 0 | 0, $8 + 396 | 0 | 0, $8 + 588 | 0 | 0); btTransform__operator__28btTransform_20const__29($8 + 524 | 0 | 0, $8 + 460 | 0 | 0) | 0; btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($8 + 348 | 0 | 0, HEAP32[($8 + 696 | 0) >> 2] | 0 | 0) | 0; btMatrix3x3__operator___28btMatrix3x3_20const__29(btTransform__getBasis_28_29($8 + 588 | 0 | 0) | 0 | 0, $8 + 348 | 0 | 0) | 0; btTransform__btTransform_28_29($8 + 284 | 0 | 0) | 0; btTransform__inverse_28_29_20const($8 + 156 | 0 | 0, $8 + 588 | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($8 + 220 | 0 | 0, $8 + 156 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($8 + 284 | 0 | 0, $8 + 220 | 0 | 0) | 0; $95 = HEAP32[($8 + 668 | 0) >> 2] | 0; $99 = btTransform__getBasis_28_29($8 + 284 | 0 | 0) | 0; operator__28btVector3_20const__29($8 + 108 | 0 | 0, HEAP32[($8 + 656 | 0) >> 2] | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 124 | 0 | 0, $99 | 0, $8 + 108 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$95 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 140 | 0, $95, $8 + 124 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 92 | 0 | 0, $8 + 524 | 0 | 0, $8 + 140 | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 656 | 0) >> 2] | 0 | 0, $8 + 92 | 0 | 0)) - Math_fround(HEAPF32[(HEAP32[($8 + 652 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($8 + 56 | 0 | 0, $8 + 88 | 0 | 0, HEAP32[($8 + 656 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 72 | 0 | 0, $8 + 92 | 0 | 0, $8 + 56 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($8 + 40 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 72 | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_i32$1 = Math_fround(HEAPF32[($8 + 88 | 0) >> 2]) < Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($9 + 12 | 0) >> 2] | 0 | 0)) & 1 | 0), HEAP8[(wasm2js_i32$0 + 663 | 0) >> 0] = wasm2js_i32$1; btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($8 + 680 | 0) >> 2] | 0 | 0, HEAP32[($9 + 12 | 0) >> 2] | 0 | 0); label$5 : { if (!((HEAPU8[($8 + 663 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 24 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($8 + 656 | 0) >> 2] | 0 | 0); $177 = 8; i64toi32_i32$2 = ($8 + 40 | 0) + $177 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $568 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 8 | 0) + $177 | 0; HEAP32[i64toi32_i32$0 >> 2] = $568; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 40 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 44 | 0) >> 2] | 0; $572 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 8 | 0) >> 2] = $572; HEAP32[($8 + 12 | 0) >> 2] = i64toi32_i32$0; $186 = HEAP32[($8 + 680 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$186 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($186, $8 + 24 | 0, $8 + 8 | 0, Math_fround(HEAPF32[($8 + 88 | 0) >> 2])); } __stack_pointer = $8 + 704 | 0; return; } function btMatrix3x3__operator___28btMatrix3x3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 | 0))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($5 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0); __stack_pointer = $4 + 48 | 0; return $5 | 0; } function btConvexPlaneCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $20 = 0, $27 = 0, $83 = 0, $165 = 0, $174 = 0, $211 = 0, $87 = 0, $644 = 0, $648 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 720 | 0; __stack_pointer = $7; HEAP32[($7 + 716 | 0) >> 2] = $0; HEAP32[($7 + 712 | 0) >> 2] = $1; HEAP32[($7 + 708 | 0) >> 2] = $2; HEAP32[($7 + 704 | 0) >> 2] = $3; HEAP32[($7 + 700 | 0) >> 2] = $4; $8 = HEAP32[($7 + 716 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } break label$1; } label$3 : { label$4 : { if (!((HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $20 = HEAP32[($7 + 708 | 0) >> 2] | 0; break label$3; } $20 = HEAP32[($7 + 712 | 0) >> 2] | 0; } HEAP32[($7 + 696 | 0) >> 2] = $20; label$5 : { label$6 : { if (!((HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$6 } $27 = HEAP32[($7 + 712 | 0) >> 2] | 0; break label$5; } $27 = HEAP32[($7 + 708 | 0) >> 2] | 0; } HEAP32[($7 + 692 | 0) >> 2] = $27; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 696 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 688 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 684 | 0) >> 2] = wasm2js_i32$1; HEAP8[($7 + 683 | 0) >> 0] = 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($7 + 684 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 676 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btStaticPlaneShape__getPlaneConstant_28_29_20const(HEAP32[($7 + 684 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 672 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28_29($7 + 608 | 0 | 0) | 0; btTransform__inverse_28_29_20const($7 + 480 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 696 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($7 + 544 | 0 | 0, $7 + 480 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($7 + 608 | 0 | 0, $7 + 544 | 0 | 0) | 0; btTransform__btTransform_28_29($7 + 416 | 0 | 0) | 0; btTransform__inverse_28_29_20const($7 + 288 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($7 + 352 | 0 | 0, $7 + 288 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 696 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($7 + 416 | 0 | 0, $7 + 352 | 0 | 0) | 0; $83 = HEAP32[($7 + 688 | 0) >> 2] | 0; $87 = btTransform__getBasis_28_29($7 + 608 | 0 | 0) | 0; operator__28btVector3_20const__29($7 + 240 | 0 | 0, HEAP32[($7 + 676 | 0) >> 2] | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 256 | 0 | 0, $87 | 0, $7 + 240 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$83 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($7 + 272 | 0, $83, $7 + 256 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($7 + 224 | 0 | 0, $7 + 416 | 0 | 0, $7 + 272 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($7 + 676 | 0) >> 2] | 0 | 0, $7 + 224 | 0 | 0)) - Math_fround(HEAPF32[(HEAP32[($7 + 672 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($7 + 188 | 0 | 0, $7 + 220 | 0 | 0, HEAP32[($7 + 676 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 204 | 0 | 0, $7 + 224 | 0 | 0, $7 + 188 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 172 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 204 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_i32$1 = Math_fround(HEAPF32[($7 + 220 | 0) >> 2]) < Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0)) & 1 | 0), HEAP8[(wasm2js_i32$0 + 683 | 0) >> 0] = wasm2js_i32$1; btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 700 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); label$7 : { if (!((HEAPU8[($7 + 683 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 156 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($7 + 676 | 0) >> 2] | 0 | 0); $165 = 8; i64toi32_i32$2 = ($7 + 172 | 0) + $165 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $644 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 136 | 0) + $165 | 0; HEAP32[i64toi32_i32$0 >> 2] = $644; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 172 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 176 | 0) >> 2] | 0; $648 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 136 | 0) >> 2] = $648; HEAP32[($7 + 140 | 0) >> 2] = i64toi32_i32$0; $174 = HEAP32[($7 + 700 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$174 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($174, $7 + 156 | 0, $7 + 136 | 0, Math_fround(HEAPF32[($7 + 220 | 0) >> 2])); } label$8 : { if (!((btCollisionShape__isPolyhedral_28_29_20const(HEAP32[($7 + 688 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } if (!((btPersistentManifold__getNumContacts_28_29_20const(btManifoldResult__getPersistentManifold_28_29(HEAP32[($7 + 700 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) < (HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } btVector3__btVector3_28_29($7 + 120 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 104 | 0 | 0) | 0; void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29(HEAP32[($7 + 676 | 0) >> 2] | 0 | 0, $7 + 120 | 0 | 0, $7 + 104 | 0 | 0); HEAPF32[($7 + 100 | 0) >> 2] = Math_fround(.39269909262657166); $211 = HEAP32[($7 + 688 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$211 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($211))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(0 + 112840 | 0) >> 2]) / Math_fround(HEAPF32[($7 + 92 | 0) >> 2])); label$9 : { if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) > Math_fround(.39269909262657166) & 1 | 0)) { break label$9 } HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(.39269909262657166); } btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($7 + 76 | 0 | 0, $7 + 120 | 0 | 0, $7 + 96 | 0 | 0) | 0; HEAP32[($7 + 72 | 0) >> 2] = 0; label$10 : { label$11 : while (1) { if (!((HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } HEAPF32[($7 + 68 | 0) >> 2] = Math_fround(Math_fround(HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) * Math_fround(Math_fround(6.2831854820251465) / Math_fround(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0))); btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($7 + 52 | 0 | 0, HEAP32[($7 + 676 | 0) >> 2] | 0 | 0, $7 + 68 | 0 | 0) | 0; btQuaternion__inverse_28_29_20const($7 + 4 | 0 | 0, $7 + 52 | 0 | 0); operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 20 | 0 | 0, $7 + 4 | 0 | 0, $7 + 76 | 0 | 0); operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 36 | 0 | 0, $7 + 20 | 0 | 0, $7 + 52 | 0 | 0); btConvexPlaneCollisionAlgorithm__collideSingleContact_28btQuaternion_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($8 | 0, $7 + 36 | 0 | 0, HEAP32[($7 + 712 | 0) >> 2] | 0 | 0, HEAP32[($7 + 708 | 0) >> 2] | 0 | 0, HEAP32[($7 + 704 | 0) >> 2] | 0 | 0, HEAP32[($7 + 700 | 0) >> 2] | 0 | 0); HEAP32[($7 + 72 | 0) >> 2] = (HEAP32[($7 + 72 | 0) >> 2] | 0) + 1 | 0; continue label$11; }; } } if (!((HEAPU8[($8 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } label$12 : { if (!(btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0)) { break label$12 } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 700 | 0) >> 2] | 0 | 0); } } __stack_pointer = $7 + 720 | 0; return; } function btConvexPlaneCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; return Math_fround(Math_fround(1.0)); } function btConvexPlaneCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((HEAPU8[($5 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 12 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function _GLOBAL__sub_I_btConvexPlaneCollisionAlgorithm_cpp() { __cxx_global_var_init_20(); return; } function __cxx_global_var_init_21() { btInfMaskConverter__btInfMaskConverter_28int_29(114032 | 0, 2139095040 | 0) | 0; return; } function btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_28btDefaultCollisionConstructionInfo_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15 = 0, $19 = 0, $23 = 0, $28 = 0, $32 = 0, $36 = 0, $40 = 0, $44 = 0, $48 = 0, $52 = 0, $56 = 0, $60 = 0, $66 = 0, $67 = 0, $69 = 0, $70 = 0, $72 = 0, $126 = 0, $134$hi = 0, $135$hi = 0, $153 = 0, i64toi32_i32$2 = 0, $157 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 40 | 0) >> 2] = $0; HEAP32[($4 + 36 | 0) >> 2] = $1; $5 = HEAP32[($4 + 40 | 0) >> 2] | 0; HEAP32[($4 + 44 | 0) >> 2] = $5; btCollisionConfiguration__btCollisionConfiguration_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 95360 + 8 | 0; HEAP32[($4 + 32 | 0) >> 2] = 0; label$1 : { label$2 : { if (!(HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(4 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $15 = HEAP32[($4 + 32 | 0) >> 2] | 0; btGjkEpaPenetrationDepthSolver__btGjkEpaPenetrationDepthSolver_28_29($15 | 0) | 0; HEAP32[($5 + 24 | 0) >> 2] = $15; break label$1; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(4 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $19 = HEAP32[($4 + 32 | 0) >> 2] | 0; btMinkowskiPenetrationDepthSolver__btMinkowskiPenetrationDepthSolver_28_29($19 | 0) | 0; HEAP32[($5 + 24 | 0) >> 2] = $19; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(20 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $23 = HEAP32[($4 + 32 | 0) >> 2] | 0; btConvexConvexAlgorithm__CreateFunc__CreateFunc_28btConvexPenetrationDepthSolver__29($23 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 28 | 0) >> 2] = $23; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $28 = HEAP32[($4 + 32 | 0) >> 2] | 0; btConvexConcaveCollisionAlgorithm__CreateFunc__CreateFunc_28_29($28 | 0) | 0; HEAP32[($5 + 32 | 0) >> 2] = $28; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $32 = HEAP32[($4 + 32 | 0) >> 2] | 0; btConvexConcaveCollisionAlgorithm__SwappedCreateFunc__SwappedCreateFunc_28_29($32 | 0) | 0; HEAP32[($5 + 36 | 0) >> 2] = $32; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $36 = HEAP32[($4 + 32 | 0) >> 2] | 0; btCompoundCollisionAlgorithm__CreateFunc__CreateFunc_28_29($36 | 0) | 0; HEAP32[($5 + 40 | 0) >> 2] = $36; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $40 = HEAP32[($4 + 32 | 0) >> 2] | 0; btCompoundCompoundCollisionAlgorithm__CreateFunc__CreateFunc_28_29($40 | 0) | 0; HEAP32[($5 + 44 | 0) >> 2] = $40; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $44 = HEAP32[($4 + 32 | 0) >> 2] | 0; btCompoundCollisionAlgorithm__SwappedCreateFunc__SwappedCreateFunc_28_29($44 | 0) | 0; HEAP32[($5 + 48 | 0) >> 2] = $44; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $48 = HEAP32[($4 + 32 | 0) >> 2] | 0; btEmptyAlgorithm__CreateFunc__CreateFunc_28_29($48 | 0) | 0; HEAP32[($5 + 52 | 0) >> 2] = $48; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $52 = HEAP32[($4 + 32 | 0) >> 2] | 0; btSphereSphereCollisionAlgorithm__CreateFunc__CreateFunc_28_29($52 | 0) | 0; HEAP32[($5 + 56 | 0) >> 2] = $52; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $56 = HEAP32[($4 + 32 | 0) >> 2] | 0; btSphereTriangleCollisionAlgorithm__CreateFunc__CreateFunc_28_29($56 | 0) | 0; HEAP32[($5 + 72 | 0) >> 2] = $56; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $60 = HEAP32[($4 + 32 | 0) >> 2] | 0; btSphereTriangleCollisionAlgorithm__CreateFunc__CreateFunc_28_29($60 | 0) | 0; HEAP32[($5 + 76 | 0) >> 2] = $60; HEAP8[((HEAP32[($5 + 76 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $66 = HEAP32[($4 + 32 | 0) >> 2] | 0; btBoxBoxCollisionAlgorithm__CreateFunc__CreateFunc_28_29($66 | 0) | 0; HEAP32[($5 + 68 | 0) >> 2] = $66; $67 = 16; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29($67 | 0, $67 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $69 = HEAP32[($4 + 32 | 0) >> 2] | 0; btConvexPlaneCollisionAlgorithm__CreateFunc__CreateFunc_28_29($69 | 0) | 0; HEAP32[($5 + 84 | 0) >> 2] = $69; $70 = 16; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29($70 | 0, $70 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $72 = HEAP32[($4 + 32 | 0) >> 2] | 0; btConvexPlaneCollisionAlgorithm__CreateFunc__CreateFunc_28_29($72 | 0) | 0; HEAP32[($5 + 80 | 0) >> 2] = $72; HEAP8[((HEAP32[($5 + 80 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; HEAP32[($4 + 28 | 0) >> 2] = 72; HEAP32[($4 + 24 | 0) >> 2] = 80; HEAP32[($4 + 20 | 0) >> 2] = 84; HEAP32[($4 + 16 | 0) >> 2] = 116; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 28 | 0 | 0, (HEAP32[($4 + 36 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 12 | 0 | 0, $4 + 24 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 12 | 0 | 0, $4 + 20 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 12 | 0 | 0, $4 + 16 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$3 : { label$4 : { if (!((HEAP32[(HEAP32[($4 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } HEAP8[($5 + 12 | 0) >> 0] = 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4 + 36 | 0) >> 2] | 0) >> 2] | 0; break label$3; } HEAP8[($5 + 12 | 0) >> 0] = 1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(24 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $126 = HEAP32[($4 + 8 | 0) >> 2] | 0; btPoolAllocator__btPoolAllocator_28int_2c_20int_29($126 | 0, 868 | 0, HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 8 | 0) >> 2] = $126; } i64toi32_i32$1 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $134$hi = i64toi32_i32$0; i64toi32_i32$0 = 1048575; $135$hi = i64toi32_i32$0; i64toi32_i32$0 = $134$hi; i64toi32_i32$0 = $135$hi; i64toi32_i32$0 = $134$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $135$hi; i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; HEAP32[($4 + 12 | 0) >> 2] = i64toi32_i32$2 & -16 | 0; label$5 : { label$6 : { if (!((HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } HEAP8[($5 + 20 | 0) >> 0] = 0; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; break label$5; } HEAP8[($5 + 20 | 0) >> 0] = 1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(24 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $153 = HEAP32[($4 + 4 | 0) >> 2] | 0; btPoolAllocator__btPoolAllocator_28int_2c_20int_29($153 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 16 | 0) >> 2] = $153; } $157 = HEAP32[($4 + 44 | 0) >> 2] | 0; __stack_pointer = $4 + 48 | 0; return $157 | 0; } function btCollisionConfiguration__btCollisionConfiguration_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 95476 + 8 | 0; return $4 | 0; } function btMinkowskiPenetrationDepthSolver__btMinkowskiPenetrationDepthSolver_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexPenetrationDepthSolver__btConvexPenetrationDepthSolver_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 101520 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexConcaveCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 95508 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexConcaveCollisionAlgorithm__SwappedCreateFunc__SwappedCreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 95652 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 95744 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCompoundCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 95824 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCollisionAlgorithm__SwappedCreateFunc__SwappedCreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 95912 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btEmptyAlgorithm__CreateFunc__CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 95996 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSphereSphereCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 96064 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSphereTriangleCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 96148 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBoxBoxCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 96232 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexPlaneCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 96308 + 8 | 0; HEAP32[($4 + 8 | 0) >> 2] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btPoolAllocator__btPoolAllocator_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $22 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAP32[($5 + 16 | 0) >> 2] = $2; $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[($5 + 28 | 0) >> 2] = $6; HEAP32[$6 >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; btSpinMutex__btSpinMutex_28_29($6 + 20 | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[$6 >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0) | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { $22 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; HEAP32[($5 + 8 | 0) >> 2] = $22; if (!$22) { break label$1 } HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + (HEAP32[$6 >> 2] | 0) | 0; HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + (HEAP32[$6 >> 2] | 0) | 0; continue label$2; }; } HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] = 0; $32 = HEAP32[($5 + 28 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return $32 | 0; } function btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 95632 + 8 | 0; HEAP8[($4 + 4 | 0) >> 0] = 0; return $4 | 0; } function btSpinMutex__btSpinMutex_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; return $4 | 0; } function btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $18 = 0, $22 = 0, $26 = 0, $30 = 0, $34 = 0, $38 = 0, $42 = 0, $46 = 0, $50 = 0, $54 = 0, $58 = 0, $62 = 0, $66 = 0, $70 = 0, $74 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 95360 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 20 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btPoolAllocator___btPoolAllocator_28_29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0); } label$2 : { if (!((HEAPU8[($4 + 12 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btPoolAllocator___btPoolAllocator_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } $18 = HEAP32[($4 + 28 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$18 >> 2] | 0) >> 2] | 0 | 0]($18) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0); $22 = HEAP32[($4 + 32 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$22 >> 2] | 0) >> 2] | 0 | 0]($22) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0); $26 = HEAP32[($4 + 36 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$26 >> 2] | 0) >> 2] | 0 | 0]($26) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0); $30 = HEAP32[($4 + 40 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$30 >> 2] | 0) >> 2] | 0 | 0]($30) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); $34 = HEAP32[($4 + 44 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$34 >> 2] | 0) >> 2] | 0 | 0]($34) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 44 | 0) >> 2] | 0 | 0); $38 = HEAP32[($4 + 48 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$38 >> 2] | 0) >> 2] | 0 | 0]($38) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 48 | 0) >> 2] | 0 | 0); $42 = HEAP32[($4 + 52 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$42 >> 2] | 0) >> 2] | 0 | 0]($42) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 52 | 0) >> 2] | 0 | 0); $46 = HEAP32[($4 + 56 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$46 >> 2] | 0) >> 2] | 0 | 0]($46) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0); $50 = HEAP32[($4 + 72 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$50 >> 2] | 0) >> 2] | 0 | 0]($50) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0); $54 = HEAP32[($4 + 76 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$54 >> 2] | 0) >> 2] | 0 | 0]($54) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 76 | 0) >> 2] | 0 | 0); $58 = HEAP32[($4 + 68 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$58 >> 2] | 0) >> 2] | 0 | 0]($58) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0); $62 = HEAP32[($4 + 84 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$62 >> 2] | 0) >> 2] | 0 | 0]($62) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 84 | 0) >> 2] | 0 | 0); $66 = HEAP32[($4 + 80 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$66 >> 2] | 0) >> 2] | 0 | 0]($66) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 80 | 0) >> 2] | 0 | 0); $70 = HEAP32[($4 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$70 >> 2] | 0) >> 2] | 0 | 0]($70) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); btCollisionConfiguration___btCollisionConfiguration_28_29($4 | 0) | 0; $74 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $74 | 0; } function btPoolAllocator___btPoolAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionConfiguration___btCollisionConfiguration_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[699 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDefaultCollisionConfiguration__getClosestPointsAlgorithmCreateFunc_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $123 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 8 | 0) >> 2] = $0; HEAP32[($5 + 4 | 0) >> 2] = $1; HEAP32[$5 >> 2] = $2; $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[$5 >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; break label$1; } label$3 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { break label$3 } if (!((HEAP32[$5 >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; break label$1; } label$4 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$4 } if (!((HEAP32[$5 >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { break label$4 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 76 | 0) >> 2] | 0; break label$1; } label$5 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$5 } if (!((HEAP32[$5 >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { break label$5 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 84 | 0) >> 2] | 0; break label$1; } label$6 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { break label$6 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 80 | 0) >> 2] | 0; break label$1; } label$7 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; break label$1; } label$8 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } if (!((btBroadphaseProxy__isConcave_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; break label$1; } label$9 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$9 } if (!((btBroadphaseProxy__isConcave_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$9 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; break label$1; } label$10 : { if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$10 } if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$10 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; break label$1; } label$11 : { if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$11 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; break label$1; } label$12 : { if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$12 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; break label$1; } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; } $123 = HEAP32[($5 + 12 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $123 | 0; } function btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $126 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 8 | 0) >> 2] = $0; HEAP32[($5 + 4 | 0) >> 2] = $1; HEAP32[$5 >> 2] = $2; $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[$5 >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; break label$1; } label$3 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { break label$3 } if (!((HEAP32[$5 >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; break label$1; } label$4 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$4 } if (!((HEAP32[$5 >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { break label$4 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 76 | 0) >> 2] | 0; break label$1; } label$5 : { if (HEAP32[($5 + 4 | 0) >> 2] | 0) { break label$5 } if (HEAP32[$5 >> 2] | 0) { break label$5 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; break label$1; } label$6 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } if (!((HEAP32[$5 >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { break label$6 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 84 | 0) >> 2] | 0; break label$1; } label$7 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { break label$7 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 80 | 0) >> 2] | 0; break label$1; } label$8 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; break label$1; } label$9 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$9 } if (!((btBroadphaseProxy__isConcave_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$9 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; break label$1; } label$10 : { if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$10 } if (!((btBroadphaseProxy__isConcave_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$10 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; break label$1; } label$11 : { if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$11 } if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$11 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; break label$1; } label$12 : { if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$12 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; break label$1; } label$13 : { if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$13 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; break label$1; } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; } $126 = HEAP32[($5 + 12 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $126 | 0; } function btDefaultCollisionConfiguration__getPersistentManifoldPool_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btDefaultCollisionConfiguration__getCollisionAlgorithmPool_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0; } function btCollisionConfiguration___btCollisionConfiguration_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConcaveCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 80) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $15 = btConvexConcaveCollisionAlgorithm__operator_20new_28unsigned_20long_2c_20void__29(80 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0; btConvexConcaveCollisionAlgorithm__btConvexConcaveCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($15 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $15 | 0; } function btConvexConcaveCollisionAlgorithm__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; return 0 | 0; } function btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexConcaveCollisionAlgorithm__SwappedCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 80) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $15 = btConvexConcaveCollisionAlgorithm__operator_20new_28unsigned_20long_2c_20void__29(80 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0; btConvexConcaveCollisionAlgorithm__btConvexConcaveCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($15 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $15 | 0; } function btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 84) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCompoundCollisionAlgorithm__btCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($13 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $13 | 0; } function btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundCompoundCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 116) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCompoundCompoundCollisionAlgorithm__btCompoundCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($13 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $13 | 0; } function btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundCollisionAlgorithm__SwappedCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 84) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCompoundCollisionAlgorithm__btCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($13 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $13 | 0; } function btEmptyAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btEmptyAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btEmptyAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btEmptyAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 8) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; btEmptyAlgorithm__btEmptyAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($13 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $13 | 0; } function btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSphereSphereCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 16) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($13 | 0, 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $13 | 0; } function btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSphereTriangleCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $9 = 0, $14 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; $9 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($9, 20) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $14 = HEAP32[($6 + 12 | 0) >> 2] | 0; btSphereTriangleCollisionAlgorithm__btSphereTriangleCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($14 | 0, HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 4 | 0) >> 0] | 0) & 1 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $14 | 0; } function btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBoxBoxCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $9 = 0, $14 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = 16; $9 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($9, HEAP32[($6 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $14 = HEAP32[($6 + 8 | 0) >> 2] | 0; btBoxBoxCollisionAlgorithm__btBoxBoxCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($14 | 0, 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return $14 | 0; } function btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexPlaneCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $9 = 0, $17 = 0, $27 = 0, $37 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 24 | 0) >> 2] = $0; HEAP32[($6 + 20 | 0) >> 2] = $1; HEAP32[($6 + 16 | 0) >> 2] = $2; HEAP32[($6 + 12 | 0) >> 2] = $3; $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; $9 = HEAP32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($9, 28) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if ((HEAPU8[($7 + 4 | 0) >> 0] | 0) & 1 | 0) { break label$2 } $17 = HEAP32[($6 + 8 | 0) >> 2] | 0; btConvexPlaneCollisionAlgorithm__btConvexPlaneCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_2c_20int_2c_20int_29($17 | 0, 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[($6 + 28 | 0) >> 2] = $17; break label$1; } $27 = HEAP32[($6 + 8 | 0) >> 2] | 0; btConvexPlaneCollisionAlgorithm__btConvexPlaneCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_2c_20int_2c_20int_29($27 | 0, 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[($6 + 28 | 0) >> 2] = $27; } $37 = HEAP32[($6 + 28 | 0) >> 2] | 0; __stack_pointer = $6 + 32 | 0; return $37 | 0; } function _GLOBAL__sub_I_btDefaultCollisionConfiguration_cpp() { __cxx_global_var_init_21(); return; } function __cxx_global_var_init_22() { btInfMaskConverter__btInfMaskConverter_28int_29(114036 | 0, 2139095040 | 0) | 0; return; } function btEmptyAlgorithm__btEmptyAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionAlgorithm__btCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$5 >> 2] = 96388 + 8 | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btEmptyAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; return; } function btEmptyAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; return Math_fround(Math_fround(1.0)); } function btEmptyAlgorithm___btEmptyAlgorithm_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionAlgorithm___btCollisionAlgorithm_28_29_1($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btEmptyAlgorithm___btEmptyAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btEmptyAlgorithm___btEmptyAlgorithm_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btEmptyAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function _GLOBAL__sub_I_btEmptyCollisionAlgorithm_cpp() { __cxx_global_var_init_22(); return; } function __cxx_global_var_init_23() { btInfMaskConverter__btInfMaskConverter_28int_29(114040 | 0, 2139095040 | 0) | 0; return; } function btHashedSimplePairCache__btHashedSimplePairCache_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 96448 + 8 | 0; btAlignedObjectArray_btSimplePair___btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; HEAP32[($3 + 8 | 0) >> 2] = 2; btAlignedObjectArray_btSimplePair___reserve_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); btHashedSimplePairCache__growTables_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHashedSimplePairCache__growTables_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $22 = 0, $29 = 0, $95 = 0, $100 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 48 | 0; __stack_pointer = $3; HEAP32[($3 + 44 | 0) >> 2] = $0; $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___capacity_28_29_20const($4 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((btAlignedObjectArray_int___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($4 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; $22 = HEAP32[($3 + 40 | 0) >> 2] | 0; HEAP32[($3 + 32 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($4 + 24 | 0 | 0, $22 | 0, $3 + 32 | 0 | 0); $29 = HEAP32[($3 + 40 | 0) >> 2] | 0; HEAP32[($3 + 28 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($4 + 44 | 0 | 0, $29 | 0, $3 + 28 | 0 | 0); HEAP32[($3 + 24 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP32[($3 + 24 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 44 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } HEAP32[($3 + 24 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($4 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($4 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $95 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 44 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $95), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $100 = HEAP32[($3 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $100), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } __stack_pointer = $3 + 48 | 0; return; } function btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0 | ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 16 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (((HEAP32[$5 >> 2] | 0) << 15 | 0) ^ -1 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 10 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + ((HEAP32[$5 >> 2] | 0) << 3 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 6 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (((HEAP32[$5 >> 2] | 0) << 11 | 0) ^ -1 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 16 | 0) | 0; return HEAP32[$5 >> 2] | 0 | 0; } function btHashedSimplePairCache___btHashedSimplePairCache_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 96448 + 8 | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; btAlignedObjectArray_btSimplePair____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHashedSimplePairCache___btHashedSimplePairCache_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[745 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHashedSimplePairCache__removeAllPairs_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btSimplePair___clear_28_29($4 + 4 | 0 | 0); btAlignedObjectArray_int___clear_28_29($4 + 24 | 0 | 0); btAlignedObjectArray_int___clear_28_29($4 + 44 | 0 | 0); HEAP32[($3 + 8 | 0) >> 2] = 2; btAlignedObjectArray_btSimplePair___reserve_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); btHashedSimplePairCache__growTables_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHashedSimplePairCache__findPair_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $44 = 0, $91 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAP32[($5 + 16 | 0) >> 2] = $2; $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[(0 + 114052 | 0) >> 2] = (HEAP32[(0 + 114052 | 0) >> 2] | 0) + 1 | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) >= (btAlignedObjectArray_int___size_28_29_20const($6 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 28 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$3 : while (1) { $44 = 0; label$4 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$4 } $44 = ((btHashedSimplePairCache__equalsPair_28btSimplePair_20const__2c_20int_2c_20int_29($6 | 0, btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); } label$5 : { if (!($44 & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; continue label$3; } break label$3; }; label$6 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { break label$6 } HEAP32[($5 + 28 | 0) >> 2] = 0; break label$1; } label$7 : { if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { break label$7 } __assert_fail(87330 | 0, 75393 | 0, 88 | 0, 71055 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; } $91 = HEAP32[($5 + 28 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return $91 | 0; } function btHashedSimplePairCache__equalsPair_28btSimplePair_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $16 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $16 = 0; label$1 : { if (!((HEAP32[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $16 = (HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[$6 >> 2] | 0 | 0); } return $16 & 1 | 0 | 0; } function btHashedSimplePairCache__internalAddPair_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $56 = 0, $65 = 0, $70 = 0, $76 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 40 | 0) >> 2] = $0; HEAP32[($5 + 36 | 0) >> 2] = $1; HEAP32[($5 + 32 | 0) >> 2] = $2; $6 = HEAP32[($5 + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedSimplePairCache__internalFindPair_28int_2c_20int_2c_20int_29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; break label$1; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___size_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___expandNonInitializing_28_29($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } btHashedSimplePairCache__growTables_28_29($6 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; } $56 = HEAP32[($5 + 12 | 0) >> 2] | 0; btSimplePair__btSimplePair_28int_2c_20int_29($56 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 24 | 0) >> 2] = $56; HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; $65 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $65), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $70 = HEAP32[($5 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $70), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; } $76 = HEAP32[($5 + 44 | 0) >> 2] | 0; __stack_pointer = $5 + 48 | 0; return $76 | 0; } function btHashedSimplePairCache__internalFindPair_28int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $21 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 24 | 0) >> 2] = $0; HEAP32[($6 + 20 | 0) >> 2] = $1; HEAP32[($6 + 16 | 0) >> 2] = $2; HEAP32[($6 + 12 | 0) >> 2] = $3; $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$1 : while (1) { $21 = 0; label$2 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$2 } $21 = ((btHashedSimplePairCache__equalsPair_28btSimplePair_20const__2c_20int_2c_20int_29($7 | 0, btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); } label$3 : { if (!($21 & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 44 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; continue label$1; } break label$1; }; label$4 : { label$5 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { break label$5 } HEAP32[($6 + 28 | 0) >> 2] = 0; break label$4; } label$6 : { if ((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { break label$6 } __assert_fail(87330 | 0, 79692 | 0, 159 | 0, 71064 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; } $68 = HEAP32[($6 + 28 | 0) >> 2] | 0; __stack_pointer = $6 + 32 | 0; return $68 | 0; } function btAlignedObjectArray_btSimplePair___expandNonInitializing_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___size_28_29_20const($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btSimplePair___capacity_28_29_20const($4 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btSimplePair___reserve_28int_29($4 | 0, btAlignedObjectArray_btSimplePair___allocSize_28int_29($4 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($4 | 0) | 0 | 0) | 0 | 0); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; $22 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3 + 8 | 0) >> 2] | 0, 12) | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function btHashedSimplePairCache__removeOverlappingPair_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, $229 = 0, $235 = 0, $112 = 0, $121 = 0, $212 = 0, $221 = 0, $233 = 0, i64toi32_i32$1 = 0, $727 = 0, $243 = 0, $248 = 0, $256 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 56 | 0) >> 2] = $0; HEAP32[($5 + 52 | 0) >> 2] = $1; HEAP32[($5 + 48 | 0) >> 2] = $2; $6 = HEAP32[($5 + 56 | 0) >> 2] | 0; HEAP32[(0 + 114044 | 0) >> 2] = (HEAP32[(0 + 114044 | 0) >> 2] | 0) + 1 | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedSimplePairCache__internalFindPair_28int_2c_20int_2c_20int_29($6 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 60 | 0) >> 2] = 0; break label$1; } HEAP32[($5 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = ((HEAP32[($5 + 40 | 0) >> 2] | 0) - (btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, 0 | 0) | 0) | 0 | 0) / (12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; label$3 : { if ((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { break label$3 } __assert_fail(87368 | 0, 75393 | 0, 194 | 0, 71006 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; label$4 : { if ((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0) { break label$4 } __assert_fail(84057 | 0, 75393 | 0, 198 | 0, 71006 | 0); wasm2js_trap(); } HEAP32[($5 + 24 | 0) >> 2] = -1; label$5 : { label$6 : while (1) { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } HEAP32[($5 + 24 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; continue label$6; }; } label$7 : { label$8 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$8 } label$9 : { if ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$9 } __assert_fail(66363 | 0, 75393 | 0, 209 | 0, 71006 | 0); wasm2js_trap(); } $112 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $112), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$7; } $121 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $121), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btAlignedObjectArray_btSimplePair___size_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; label$10 : { if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } btAlignedObjectArray_btSimplePair___pop_back_28_29($6 + 4 | 0 | 0); HEAP32[($5 + 60 | 0) >> 2] = HEAP32[($5 + 36 | 0) >> 2] | 0; break label$1; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; label$11 : { if ((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0) { break label$11 } __assert_fail(84057 | 0, 75393 | 0, 236 | 0, 71006 | 0); wasm2js_trap(); } HEAP32[($5 + 24 | 0) >> 2] = -1; label$12 : { label$13 : while (1) { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$12 } HEAP32[($5 + 24 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; continue label$13; }; } label$14 : { label$15 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$15 } label$16 : { if ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$16 } __assert_fail(66393 | 0, 75393 | 0, 247 | 0, 71006 | 0); wasm2js_trap(); } $212 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $212), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$14; } $221 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $221), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } $229 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; $233 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$0 = HEAP32[$229 >> 2] | 0; i64toi32_i32$1 = HEAP32[($229 + 4 | 0) >> 2] | 0; $727 = i64toi32_i32$0; i64toi32_i32$0 = $233; HEAP32[i64toi32_i32$0 >> 2] = $727; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $235 = 8; HEAP32[(i64toi32_i32$0 + $235 | 0) >> 2] = HEAP32[($229 + $235 | 0) >> 2] | 0; $243 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $243), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $248 = HEAP32[($5 + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $248), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btAlignedObjectArray_btSimplePair___pop_back_28_29($6 + 4 | 0 | 0); HEAP32[($5 + 60 | 0) >> 2] = HEAP32[($5 + 36 | 0) >> 2] | 0; } $256 = HEAP32[($5 + 60 | 0) >> 2] | 0; __stack_pointer = $5 + 64 | 0; return $256 | 0; } function btAlignedObjectArray_btSimplePair___pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btHashedSimplePairCache__addOverlappingPair_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $14 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[(0 + 114048 | 0) >> 2] = (HEAP32[(0 + 114048 | 0) >> 2] | 0) + 1 | 0; $14 = btHashedSimplePairCache__internalAddPair_28int_2c_20int_29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $14 | 0; } function btHashedSimplePairCache__getOverlappingPairArrayPtr_28_29($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function _GLOBAL__sub_I_btHashedSimplePairCache_cpp() { __cxx_global_var_init_23(); return; } function __cxx_global_var_init_24() { btInfMaskConverter__btInfMaskConverter_28int_29(114056 | 0, 2139095040 | 0) | 0; return; } function btManifoldResult__calculateCombinedRollingFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $29 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btCollisionObject__getRollingFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0))) + Math_fround(Math_fround(btCollisionObject__getRollingFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; HEAPF32[$4 >> 2] = Math_fround(10.0); label$1 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { break label$1 } HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-10.0); } label$2 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { break label$2 } HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(10.0); } $29 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); __stack_pointer = $4 + 16 | 0; return Math_fround($29); } function btCollisionObject__getRollingFriction_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 236 | 0) >> 2])); } function btCollisionObject__getFriction_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 228 | 0) >> 2])); } function btManifoldResult__calculateCombinedSpinningFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $29 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btCollisionObject__getSpinningFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0))) + Math_fround(Math_fround(btCollisionObject__getSpinningFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; HEAPF32[$4 >> 2] = Math_fround(10.0); label$1 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { break label$1 } HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-10.0); } label$2 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { break label$2 } HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(10.0); } $29 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); __stack_pointer = $4 + 16 | 0; return Math_fround($29); } function btCollisionObject__getSpinningFriction_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 240 | 0) >> 2])); } function btManifoldResult__calculateCombinedFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $23 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; HEAPF32[$4 >> 2] = Math_fround(10.0); label$1 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { break label$1 } HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-10.0); } label$2 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { break label$2 } HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(10.0); } $23 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); __stack_pointer = $4 + 16 | 0; return Math_fround($23); } function btManifoldResult__calculateCombinedRestitution_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $9 = Math_fround(Math_fround(btCollisionObject__getRestitution_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getRestitution_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0))); __stack_pointer = $4 + 16 | 0; return Math_fround($9); } function btCollisionObject__getRestitution_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2])); } function btManifoldResult__btManifoldResult_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result__Result_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 96512 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(0 | 0); __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btManifoldResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $74 = 0, $90 = 0, $108 = 0, $124 = 0, $148 = 0, $150 = 0, $161 = 0, $163 = 0, $189 = 0, $204 = 0, $227 = 0, $242 = 0, $255 = 0, $263 = 0, $382 = 0, $389 = 0, $42 = 0, $573 = 0, $577 = 0, $608 = 0, $612 = 0, $645 = 0, $649 = 0, $680 = 0, $684 = 0, $717 = 0, $730 = 0, $743 = 0, $753 = 0, $393 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 432 | 0; __stack_pointer = $6; HEAP32[($6 + 428 | 0) >> 2] = $0; HEAP32[($6 + 424 | 0) >> 2] = $1; HEAP32[($6 + 420 | 0) >> 2] = $2; HEAPF32[($6 + 416 | 0) >> 2] = $3; $7 = HEAP32[($6 + 428 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } __assert_fail(70583 | 0, 71961 | 0, 109 | 0, 67640 | 0); wasm2js_trap(); } label$2 : { label$3 : { if (!(Math_fround(HEAPF32[($6 + 416 | 0) >> 2]) > Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0)) & 1 | 0)) { break label$3 } break label$2; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btPersistentManifold__getBody0_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 415 | 0) >> 0] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 414 | 0) >> 0] = wasm2js_i32$1; $42 = HEAP32[($6 + 420 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($6 + 380 | 0 | 0, HEAP32[($6 + 424 | 0) >> 2] | 0 | 0, $6 + 416 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 396 | 0 | 0, $42 | 0, $6 + 380 | 0 | 0); btVector3__btVector3_28_29($6 + 360 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 344 | 0 | 0) | 0; label$4 : { label$5 : { if (!((HEAPU8[($6 + 415 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } btTransform__invXform_28btVector3_20const__29_20const($6 + 328 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $6 + 396 | 0 | 0); $74 = 8; i64toi32_i32$2 = ($6 + 328 | 0) + $74 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $573 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 360 | 0) + $74 | 0; HEAP32[i64toi32_i32$0 >> 2] = $573; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 328 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 332 | 0) >> 2] | 0; $577 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 360 | 0) >> 2] = $577; HEAP32[($6 + 364 | 0) >> 2] = i64toi32_i32$0; btTransform__invXform_28btVector3_20const__29_20const($6 + 312 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($6 + 420 | 0) >> 2] | 0 | 0); $90 = 8; i64toi32_i32$2 = ($6 + 312 | 0) + $90 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $608 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 344 | 0) + $90 | 0; HEAP32[i64toi32_i32$0 >> 2] = $608; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 312 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 316 | 0) >> 2] | 0; $612 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 344 | 0) >> 2] = $612; HEAP32[($6 + 348 | 0) >> 2] = i64toi32_i32$0; break label$4; } btTransform__invXform_28btVector3_20const__29_20const($6 + 296 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $6 + 396 | 0 | 0); $108 = 8; i64toi32_i32$2 = ($6 + 296 | 0) + $108 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $645 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 360 | 0) + $108 | 0; HEAP32[i64toi32_i32$0 >> 2] = $645; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 296 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 300 | 0) >> 2] | 0; $649 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 360 | 0) >> 2] = $649; HEAP32[($6 + 364 | 0) >> 2] = i64toi32_i32$0; btTransform__invXform_28btVector3_20const__29_20const($6 + 280 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($6 + 420 | 0) >> 2] | 0 | 0); $124 = 8; i64toi32_i32$2 = ($6 + 280 | 0) + $124 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $680 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 344 | 0) + $124 | 0; HEAP32[i64toi32_i32$0 >> 2] = $680; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 280 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 284 | 0) >> 2] | 0; $684 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 344 | 0) >> 2] = $684; HEAP32[($6 + 348 | 0) >> 2] = i64toi32_i32$0; } btManifoldPoint__btManifoldPoint_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($6 + 72 | 0 | 0, $6 + 360 | 0 | 0, $6 + 344 | 0 | 0, HEAP32[($6 + 424 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 416 | 0) >> 2]))) | 0; $148 = ($6 + 72 | 0) + 48 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 396 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 400 | 0) >> 2] | 0; $717 = i64toi32_i32$0; i64toi32_i32$0 = $148; HEAP32[i64toi32_i32$0 >> 2] = $717; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $150 = 8; i64toi32_i32$2 = ($6 + 396 | 0) + $150 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $730 = i64toi32_i32$1; i64toi32_i32$1 = $148 + $150 | 0; HEAP32[i64toi32_i32$1 >> 2] = $730; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $161 = ($6 + 72 | 0) + 32 | 0; i64toi32_i32$2 = HEAP32[($6 + 420 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $743 = i64toi32_i32$0; i64toi32_i32$0 = $161; HEAP32[i64toi32_i32$0 >> 2] = $743; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $163 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $163 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $753 = i64toi32_i32$1; i64toi32_i32$1 = $161 + $163 | 0; HEAP32[i64toi32_i32$1 >> 2] = $753; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; label$6 : { label$7 : { if (!((HEAPU8[($6 + 415 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } HEAP32[($6 + 172 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; HEAP32[($6 + 176 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAP32[($6 + 184 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; label$8 : { label$9 : { if (!((HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } $189 = HEAP32[((HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; break label$8; } $189 = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } HEAP32[($6 + 272 | 0) >> 2] = $189; label$10 : { label$11 : { if (!((HEAP32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$11 } $204 = HEAP32[((HEAP32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; break label$10; } $204 = HEAP32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } HEAP32[($6 + 276 | 0) >> 2] = $204; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; break label$6; } HEAP32[($6 + 172 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; HEAP32[($6 + 176 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($6 + 184 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; label$12 : { label$13 : { if (!((HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$13 } $227 = HEAP32[((HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; break label$12; } $227 = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } HEAP32[($6 + 276 | 0) >> 2] = $227; label$14 : { label$15 : { if (!((HEAP32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$15 } $242 = HEAP32[((HEAP32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; break label$14; } $242 = HEAP32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } HEAP32[($6 + 272 | 0) >> 2] = $242; } HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 272 | 0) >> 2] | 0; HEAP32[($6 + 56 | 0) >> 2] = HEAP32[($6 + 276 | 0) >> 2] | 0; label$16 : { if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$16 } HEAP32[($6 + 52 | 0) >> 2] = HEAP32[($6 + 60 | 0) >> 2] | 0; $255 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 180 | 0) >> 2] | 0 | 0) | 0; HEAP32[($6 + 272 | 0) >> 2] = $255; HEAP32[($6 + 60 | 0) >> 2] = $255; } label$17 : { if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$17 } HEAP32[($6 + 48 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; $263 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($6 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) | 0; HEAP32[($6 + 276 | 0) >> 2] = $263; HEAP32[($6 + 56 | 0) >> 2] = $263; } label$18 : { label$19 : { if (!((btCollisionShape__getMaterial_28_29_20const(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$19 } if (!((btCollisionShape__getMaterial_28_29_20const(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$19 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionShape__getMaterial_28_29_20const(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionShape__getMaterial_28_29_20const(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; cc__ccMaterial__combined_28cc__ccMaterial_20const__29_20const($6 + 20 | 0 | 0, HEAP32[($6 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0); HEAP32[($6 + 36 | 0) >> 2] = $6 + 20 | 0; HEAPF32[($6 + 168 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 36 | 0) >> 2] | 0) >> 2]); HEAPF32[($6 + 156 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAPF32[($6 + 160 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2]); HEAPF32[($6 + 164 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2]); break label$18; } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedRestitution_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedRollingFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedSpinningFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_f32$0; } void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29(($6 + 72 | 0) + 64 | 0 | 0, ($6 + 72 | 0) + 168 | 0 | 0, ($6 + 72 | 0) + 184 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPersistentManifold__getCacheEntry_28btManifoldPoint_20const__29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$20 : { label$21 : { if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$21 } btPersistentManifold__replaceContactPoint_28btManifoldPoint_20const__2c_20int_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 72 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); break label$20; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPersistentManifold__addManifoldPoint_28btManifoldPoint_20const__2c_20bool_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 72 | 0 | 0, 0 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; } label$22 : { if (!((HEAP32[(0 + 114060 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$22 } label$23 : { if ((btCollisionObject__getCollisionFlags_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 8 | 0) { break label$23 } if (!((btCollisionObject__getCollisionFlags_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 8 | 0)) { break label$22 } } label$24 : { label$25 : { if (!((HEAPU8[($6 + 415 | 0) >> 0] | 0) & 1 | 0)) { break label$25 } $382 = HEAP32[($7 + 12 | 0) >> 2] | 0; break label$24; } $382 = HEAP32[($7 + 8 | 0) >> 2] | 0; } HEAP32[($6 + 12 | 0) >> 2] = $382; label$26 : { label$27 : { if (!((HEAPU8[($6 + 415 | 0) >> 0] | 0) & 1 | 0)) { break label$27 } $389 = HEAP32[($7 + 8 | 0) >> 2] | 0; break label$26; } $389 = HEAP32[($7 + 12 | 0) >> 2] | 0; } HEAP32[($6 + 8 | 0) >> 2] = $389; $393 = HEAP32[(0 + 114060 | 0) >> 2] | 0; FUNCTION_TABLE[$393 | 0](btPersistentManifold__getContactPoint_28int_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0, HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[($6 + 172 | 0) >> 2] | 0, HEAP32[($6 + 180 | 0) >> 2] | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 176 | 0) >> 2] | 0, HEAP32[($6 + 184 | 0) >> 2] | 0) | 0; } if (!((HEAP32[(0 + 115360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } if (!((HEAPU8[($6 + 414 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } FUNCTION_TABLE[HEAP32[(0 + 115360 | 0) >> 2] | 0 | 0]($7 + 4 | 0); } __stack_pointer = $6 + 432 | 0; return; } function cc__ccMaterial__combined_28cc__ccMaterial_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[$6 >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 4 | 0) >> 2]))); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 4 | 0) >> 2]))); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(10.0); label$1 : { if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { break label$1 } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(-10.0); } label$2 : { if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { break label$2 } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(10.0); } label$3 : { if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { break label$3 } HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(-10.0); } label$4 : { if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { break label$4 } HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(10.0); } label$5 : { if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { break label$5 } HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(-10.0); } label$6 : { if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { break label$6 } HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(10.0); } cc__ccMaterial__ccMaterial_28float_2c_20float_2c_20float_2c_20float_29($0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))) | 0; __stack_pointer = $5 + 32 | 0; return; } function btPersistentManifold__replaceContactPoint_28btManifoldPoint_20const__2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAP32[($5 + 56 | 0) >> 2] = $1; HEAP32[($5 + 52 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; label$1 : { if ((btPersistentManifold__validContactDistance_28btManifoldPoint_20const__29_20const($6 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } __assert_fail(86236 | 0, 79943 | 0, 190 | 0, 67620 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldPoint__getLifeTime_28_29_20const(($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 132 | 0) >> 2]); HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 136 | 0) >> 2]); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 140 | 0) >> 2]); HEAP8[($5 + 35 | 0) >> 0] = 1; label$2 : { if (!((HEAP32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 16 | 0)) { break label$2 } HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 84 | 0) >> 2]); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 40 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 40 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 36 | 0) >> 2]))); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 24 | 0) >> 2])); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); HEAP8[($5 + 35 | 0) >> 0] = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) & 1 | 0; } label$3 : { if (!((HEAPU8[($5 + 35 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } label$4 : { if ((HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$4 } __assert_fail(86102 | 0, 79943 | 0, 218 | 0, 67620 | 0); wasm2js_trap(); } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 116 | 0) >> 2] | 0; __memcpy(($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0, 208 | 0) | 0; HEAP32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 116 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 132 | 0) >> 2] = Math_fround(HEAPF32[($5 + 44 | 0) >> 2]); HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 136 | 0) >> 2] = Math_fround(HEAPF32[($5 + 40 | 0) >> 2]); HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 140 | 0) >> 2] = Math_fround(HEAPF32[($5 + 36 | 0) >> 2]); } HEAP32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 164 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; __stack_pointer = $5 + 64 | 0; return; } function btPersistentManifold__validContactDistance_28btManifoldPoint_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $11 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $11 = Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2]) <= Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btManifoldResult___btManifoldResult_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btManifoldResult___btManifoldResult_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_btManifoldResult_cpp() { __cxx_global_var_init_24(); return; } function __cxx_global_var_init_25() { btInfMaskConverter__btInfMaskConverter_28int_29(114064 | 0, 2139095040 | 0) | 0; return; } function btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $24 = 0, $33 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 24 | 0) >> 2] = $0; HEAP32[($7 + 20 | 0) >> 2] = $1; HEAP32[($7 + 16 | 0) >> 2] = $2; HEAP32[($7 + 12 | 0) >> 2] = $3; HEAP32[($7 + 8 | 0) >> 2] = $4; $8 = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = $8; btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$8 >> 2] = 96572 + 8 | 0; HEAP8[($8 + 8 | 0) >> 0] = 0; HEAP32[($8 + 12 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } $24 = HEAP32[($8 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = ((((wasm2js_i32$3 = $24, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$24 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP8[($8 + 8 | 0) >> 0] = 1; } $33 = HEAP32[($7 + 28 | 0) >> 2] | 0; __stack_pointer = $7 + 32 | 0; return $33 | 0; } function btSphereSphereCollisionAlgorithm___btSphereSphereCollisionAlgorithm_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $18 = 0, $22 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 96572 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 12 | 0) >> 2] | 0); } } btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; $22 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function btSphereSphereCollisionAlgorithm___btSphereSphereCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[753 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSphereSphereCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, i64toi32_i32$2 = 0, $86 = 0, $113 = 0, $322 = 0, $326 = 0, $97 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 144 | 0; __stack_pointer = $7; HEAP32[($7 + 140 | 0) >> 2] = $0; HEAP32[($7 + 136 | 0) >> 2] = $1; HEAP32[($7 + 132 | 0) >> 2] = $2; HEAP32[($7 + 128 | 0) >> 2] = $3; HEAP32[($7 + 124 | 0) >> 2] = $4; $8 = HEAP32[($7 + 140 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } break label$1; } btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 100 | 0 | 0, btTransform__getOrigin_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 136 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($7 + 100 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($7 + 120 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($7 + 116 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; btPersistentManifold__clearManifold_28_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); label$3 : { if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) > Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 92 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2])) & 1 | 0)) { break label$3 } break label$1; } HEAPF32[($7 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) - Math_fround(Math_fround(HEAPF32[($7 + 92 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 88 | 0) >> 2]))); HEAPF32[($7 + 60 | 0) >> 2] = Math_fround(1.0); HEAPF32[($7 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 52 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 64 | 0 | 0, $7 + 60 | 0 | 0, $7 + 56 | 0 | 0, $7 + 52 | 0 | 0) | 0; label$4 : { if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$4 } operator__28btVector3_20const__2c_20float_20const__29_1($7 + 36 | 0 | 0, $7 + 100 | 0 | 0, $7 + 96 | 0 | 0); $86 = 8; i64toi32_i32$2 = ($7 + 36 | 0) + $86 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $322 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 64 | 0) + $86 | 0; HEAP32[i64toi32_i32$0 >> 2] = $322; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 36 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 40 | 0) >> 2] | 0; $326 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 64 | 0) >> 2] = $326; HEAP32[($7 + 68 | 0) >> 2] = i64toi32_i32$0; } $97 = btTransform__getOrigin_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; operator__28float_20const__2c_20btVector3_20const__29($7 + 4 | 0 | 0, $7 + 88 | 0 | 0, $7 + 64 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 20 | 0 | 0, $97 | 0, $7 + 4 | 0 | 0); $113 = HEAP32[($7 + 124 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$113 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($113, $7 + 64 | 0, $7 + 20 | 0, Math_fround(HEAPF32[($7 + 84 | 0) >> 2])); } __stack_pointer = $7 + 144 | 0; return; } function btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; return Math_fround(Math_fround(1.0)); } function btSphereSphereCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((HEAPU8[($5 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 12 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function _GLOBAL__sub_I_btSphereSphereCollisionAlgorithm_cpp() { __cxx_global_var_init_25(); return; } function __cxx_global_var_init_26() { btInfMaskConverter__btInfMaskConverter_28int_29(114068 | 0, 2139095040 | 0) | 0; return; } function btSphereTriangleCollisionAlgorithm__btSphereTriangleCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $10 = 0, $29 = 0, $38 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 24 | 0) >> 2] = $0; HEAP32[($8 + 20 | 0) >> 2] = $1; HEAP32[($8 + 16 | 0) >> 2] = $2; HEAP32[($8 + 12 | 0) >> 2] = $3; HEAP32[($8 + 8 | 0) >> 2] = $4; HEAP8[($8 + 7 | 0) >> 0] = $5; $10 = HEAP32[($8 + 24 | 0) >> 2] | 0; HEAP32[($8 + 28 | 0) >> 2] = $10; btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($10 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$10 >> 2] = 96648 + 8 | 0; HEAP8[($10 + 8 | 0) >> 0] = 0; HEAP32[($10 + 12 | 0) >> 2] = HEAP32[($8 + 20 | 0) >> 2] | 0; HEAP8[($10 + 16 | 0) >> 0] = (HEAPU8[($8 + 7 | 0) >> 0] | 0) & 1 | 0; label$1 : { if ((HEAP32[($10 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } $29 = HEAP32[($10 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = $10, wasm2js_i32$1 = ((((wasm2js_i32$3 = $29, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$29 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP8[($10 + 8 | 0) >> 0] = 1; } $38 = HEAP32[($8 + 28 | 0) >> 2] | 0; __stack_pointer = $8 + 32 | 0; return $38 | 0; } function btSphereTriangleCollisionAlgorithm___btSphereTriangleCollisionAlgorithm_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $18 = 0, $22 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 96648 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 12 | 0) >> 2] | 0); } } btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; $22 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function btSphereTriangleCollisionAlgorithm___btSphereTriangleCollisionAlgorithm_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[758 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSphereTriangleCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $20 = 0, $27 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 192 | 0; __stack_pointer = $7; HEAP32[($7 + 188 | 0) >> 2] = $0; HEAP32[($7 + 184 | 0) >> 2] = $1; HEAP32[($7 + 180 | 0) >> 2] = $2; HEAP32[($7 + 176 | 0) >> 2] = $3; HEAP32[($7 + 172 | 0) >> 2] = $4; $8 = HEAP32[($7 + 188 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } break label$1; } label$3 : { label$4 : { if (!((HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $20 = HEAP32[($7 + 180 | 0) >> 2] | 0; break label$3; } $20 = HEAP32[($7 + 184 | 0) >> 2] | 0; } HEAP32[($7 + 168 | 0) >> 2] = $20; label$5 : { label$6 : { if (!((HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$6 } $27 = HEAP32[($7 + 184 | 0) >> 2] | 0; break label$5; } $27 = HEAP32[($7 + 180 | 0) >> 2] | 0; } HEAP32[($7 + 164 | 0) >> 2] = $27; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); SphereTriangleDetector__SphereTriangleDetector_28btSphereShape__2c_20btTriangleShape__2c_20float_29($7 + 140 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0)) + Math_fround(HEAPF32[((HEAP32[($7 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2])))) | 0; btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($7 + 8 | 0 | 0) | 0; HEAPF32[($7 + 136 | 0) >> 2] = Math_fround(999999984306749440.0); btTransform__operator__28btTransform_20const__29($7 + 8 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29(($7 + 8 | 0) + 64 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; HEAP8[($7 + 7 | 0) >> 0] = (HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0; SphereTriangleDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 140 | 0 | 0, $7 + 8 | 0 | 0, HEAP32[($7 + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 176 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 7 | 0) >> 0] | 0) & 1 | 0 | 0); label$7 : { if (!((HEAPU8[($8 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 172 | 0) >> 2] | 0 | 0); } SphereTriangleDetector___SphereTriangleDetector_28_29($7 + 140 | 0 | 0) | 0; } __stack_pointer = $7 + 192 | 0; return; } function SphereTriangleDetector___SphereTriangleDetector_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSphereTriangleCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; return Math_fround(Math_fround(1.0)); } function btSphereTriangleCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((HEAPU8[($5 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 12 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function _GLOBAL__sub_I_btSphereTriangleCollisionAlgorithm_cpp() { __cxx_global_var_init_26(); return; } function __cxx_global_var_init_27() { btInfMaskConverter__btInfMaskConverter_28int_29(114072 | 0, 2139095040 | 0) | 0; return; } function SphereTriangleDetector__SphereTriangleDetector_28btSphereShape__2c_20btTriangleShape__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 96728 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); __stack_pointer = $6 + 16 | 0; return $7 | 0; } function SphereTriangleDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0, $90 = 0, $100 = 0; $7 = __stack_pointer - 256 | 0; __stack_pointer = $7; HEAP32[($7 + 252 | 0) >> 2] = $0; HEAP32[($7 + 248 | 0) >> 2] = $1; HEAP32[($7 + 244 | 0) >> 2] = $2; HEAP32[($7 + 240 | 0) >> 2] = $3; HEAP8[($7 + 239 | 0) >> 0] = $4; $9 = HEAP32[($7 + 252 | 0) >> 2] | 0; HEAP32[($7 + 232 | 0) >> 2] = HEAP32[($7 + 248 | 0) >> 2] | 0; HEAP32[($7 + 228 | 0) >> 2] = (HEAP32[($7 + 248 | 0) >> 2] | 0) + 64 | 0; btVector3__btVector3_28_29($7 + 212 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 196 | 0 | 0) | 0; HEAPF32[($7 + 192 | 0) >> 2] = Math_fround(1.0); HEAPF32[($7 + 188 | 0) >> 2] = Math_fround(0 | 0); btTransform__inverseTimes_28btTransform_20const__29_20const($7 + 124 | 0 | 0, HEAP32[($7 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7 + 232 | 0) >> 2] | 0 | 0); label$1 : { if (!((SphereTriangleDetector__collide_28btVector3_20const__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20float_29($9 | 0, btTransform__getOrigin_28_29($7 + 124 | 0 | 0) | 0 | 0, $7 + 212 | 0 | 0, $7 + 196 | 0 | 0, $7 + 188 | 0 | 0, $7 + 192 | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 12 | 0) >> 2]))) | 0) & 1 | 0)) { break label$1 } label$2 : { label$3 : { if (!((HEAPU8[($7 + 239 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 108 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 196 | 0 | 0); operator__28btVector3_20const__29($7 + 92 | 0 | 0, $7 + 108 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 60 | 0 | 0, HEAP32[($7 + 228 | 0) >> 2] | 0 | 0, $7 + 212 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($7 + 44 | 0 | 0, $7 + 108 | 0 | 0, $7 + 188 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 76 | 0 | 0, $7 + 60 | 0 | 0, $7 + 44 | 0 | 0); $90 = HEAP32[($7 + 244 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$90 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($90, $7 + 92 | 0, $7 + 76 | 0, Math_fround(HEAPF32[($7 + 188 | 0) >> 2])); break label$2; } $100 = HEAP32[($7 + 244 | 0) >> 2] | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 28 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 196 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($7 + 12 | 0 | 0, HEAP32[($7 + 228 | 0) >> 2] | 0 | 0, $7 + 212 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$100 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($100, $7 + 28 | 0, $7 + 12 | 0, Math_fround(HEAPF32[($7 + 188 | 0) >> 2])); } } __stack_pointer = $7 + 256 | 0; return; } function SphereTriangleDetector__collide_28btVector3_20const__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20float_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $124 = 0, $141 = 0, $156 = 0, $183 = 0, $223 = 0, $225 = 0, $232 = 0, $234 = 0, $245 = 0, $247 = 0, $253 = 0, $255 = 0, $108 = 0, $542 = 0, $546 = 0, $668 = 0, $672 = 0, $746 = 0, $759 = 0, $769 = 0, $782 = 0, $801 = 0, $814 = 0, $820 = 0, $833 = 0, $272 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $9 = __stack_pointer - 272 | 0; __stack_pointer = $9; HEAP32[($9 + 264 | 0) >> 2] = $0; HEAP32[($9 + 260 | 0) >> 2] = $1; HEAP32[($9 + 256 | 0) >> 2] = $2; HEAP32[($9 + 252 | 0) >> 2] = $3; HEAP32[($9 + 248 | 0) >> 2] = $4; HEAP32[($9 + 244 | 0) >> 2] = $5; HEAPF32[($9 + 240 | 0) >> 2] = $6; $10 = HEAP32[($9 + 264 | 0) >> 2] | 0; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btTriangleShape__getVertexPtr_28int_29(HEAP32[($10 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($10 + 4 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 232 | 0) >> 2]) + Math_fround(HEAPF32[($9 + 240 | 0) >> 2])); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 196 | 0 | 0, (HEAP32[($9 + 236 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[($9 + 236 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 180 | 0 | 0, (HEAP32[($9 + 236 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($9 + 236 | 0) >> 2] | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($9 + 212 | 0 | 0, $9 + 196 | 0 | 0, $9 + 180 | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($9 + 212 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_f32$0; HEAP8[($9 + 175 | 0) >> 0] = 0; btVector3__btVector3_28_29($9 + 152 | 0 | 0) | 0; label$1 : { if (!(Math_fround(HEAPF32[($9 + 176 | 0) >> 2]) >= Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 176 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29($9 + 212 | 0 | 0, $9 + 148 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 132 | 0 | 0, HEAP32[($9 + 260 | 0) >> 2] | 0 | 0, HEAP32[($9 + 236 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 132 | 0 | 0, $9 + 212 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_f32$0; label$2 : { if (!(Math_fround(HEAPF32[($9 + 128 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAPF32[($9 + 128 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 128 | 0) >> 2]) * Math_fround(-1.0)); HEAPF32[($9 + 124 | 0) >> 2] = Math_fround(-1.0); btVector3__operator___28float_20const__29_1($9 + 212 | 0 | 0, $9 + 124 | 0 | 0) | 0; } HEAP8[($9 + 123 | 0) >> 0] = Math_fround(HEAPF32[($9 + 128 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0; label$3 : { if (!((HEAPU8[($9 + 123 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } label$4 : { label$5 : { if (!((SphereTriangleDetector__facecontains_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($10 | 0, HEAP32[($9 + 260 | 0) >> 2] | 0 | 0, HEAP32[($9 + 236 | 0) >> 2] | 0 | 0, $9 + 212 | 0 | 0) | 0) & 1 | 0)) { break label$5 } HEAP8[($9 + 175 | 0) >> 0] = 1; $108 = HEAP32[($9 + 260 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($9 + 88 | 0 | 0, $9 + 212 | 0 | 0, $9 + 128 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 104 | 0 | 0, $108 | 0, $9 + 88 | 0 | 0); $124 = 8; i64toi32_i32$2 = ($9 + 104 | 0) + $124 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $542 = i64toi32_i32$0; i64toi32_i32$0 = ($9 + 152 | 0) + $124 | 0; HEAP32[i64toi32_i32$0 >> 2] = $542; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 104 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 108 | 0) >> 2] | 0; $546 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 152 | 0) >> 2] = $546; HEAP32[($9 + 156 | 0) >> 2] = i64toi32_i32$0; break label$4; } HEAPF32[($9 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) * Math_fround(HEAPF32[($9 + 228 | 0) >> 2])); btVector3__btVector3_28_29($9 + 68 | 0 | 0) | 0; HEAP32[($9 + 64 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { $141 = HEAP32[($10 + 8 | 0) >> 2] | 0; if (!((HEAP32[($9 + 64 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$141 >> 2] | 0) + 100 | 0) >> 2] | 0 | 0]($141) | 0 | 0) & 1 | 0)) { break label$6 } btVector3__btVector3_28_29($9 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 32 | 0 | 0) | 0; $156 = HEAP32[($10 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$156 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($156, HEAP32[($9 + 64 | 0) >> 2] | 0, $9 + 48 | 0, $9 + 32 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(SegmentSqrDistance_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($9 + 48 | 0 | 0, $9 + 32 | 0 | 0, HEAP32[($9 + 260 | 0) >> 2] | 0 | 0, $9 + 68 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; label$8 : { if (!(Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 84 | 0) >> 2]) & 1 | 0)) { break label$8 } HEAP8[($9 + 175 | 0) >> 0] = 1; $183 = 8; i64toi32_i32$2 = ($9 + 68 | 0) + $183 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $668 = i64toi32_i32$0; i64toi32_i32$0 = ($9 + 152 | 0) + $183 | 0; HEAP32[i64toi32_i32$0 >> 2] = $668; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 68 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 72 | 0) >> 2] | 0; $672 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 152 | 0) >> 2] = $672; HEAP32[($9 + 156 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($9 + 64 | 0) >> 2] = (HEAP32[($9 + 64 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } } } label$9 : { label$10 : { if (!((HEAPU8[($9 + 175 | 0) >> 0] | 0) & 1 | 0)) { break label$10 } operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 12 | 0 | 0, HEAP32[($9 + 260 | 0) >> 2] | 0 | 0, $9 + 152 | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($9 + 12 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$11 : { if (!(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) < Math_fround(Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) * Math_fround(HEAPF32[($9 + 228 | 0) >> 2])) & 1 | 0)) { break label$11 } label$12 : { label$13 : { if (!(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$13 } (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $223 = HEAP32[($9 + 252 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 16 | 0) >> 2] | 0; $746 = i64toi32_i32$0; i64toi32_i32$0 = $223; HEAP32[i64toi32_i32$0 >> 2] = $746; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $225 = 8; i64toi32_i32$2 = ($9 + 12 | 0) + $225 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $759 = i64toi32_i32$1; i64toi32_i32$1 = $223 + $225 | 0; HEAP32[i64toi32_i32$1 >> 2] = $759; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__normalize_28_29(HEAP32[($9 + 252 | 0) >> 2] | 0 | 0) | 0; $232 = HEAP32[($9 + 256 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 152 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 156 | 0) >> 2] | 0; $769 = i64toi32_i32$0; i64toi32_i32$0 = $232; HEAP32[i64toi32_i32$0 >> 2] = $769; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $234 = 8; i64toi32_i32$2 = ($9 + 152 | 0) + $234 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $782 = i64toi32_i32$1; i64toi32_i32$1 = $232 + $234 | 0; HEAP32[i64toi32_i32$1 >> 2] = $782; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[(HEAP32[($9 + 248 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[($9 + 232 | 0) >> 2]) - Math_fround(HEAPF32[($9 + 4 | 0) >> 2]))); break label$12; } $245 = HEAP32[($9 + 252 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 212 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 216 | 0) >> 2] | 0; $801 = i64toi32_i32$0; i64toi32_i32$0 = $245; HEAP32[i64toi32_i32$0 >> 2] = $801; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $247 = 8; i64toi32_i32$2 = ($9 + 212 | 0) + $247 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $814 = i64toi32_i32$1; i64toi32_i32$1 = $245 + $247 | 0; HEAP32[i64toi32_i32$1 >> 2] = $814; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $253 = HEAP32[($9 + 256 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 152 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 156 | 0) >> 2] | 0; $820 = i64toi32_i32$0; i64toi32_i32$0 = $253; HEAP32[i64toi32_i32$0 >> 2] = $820; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $255 = 8; i64toi32_i32$2 = ($9 + 152 | 0) + $255 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $833 = i64toi32_i32$1; i64toi32_i32$1 = $253 + $255 | 0; HEAP32[i64toi32_i32$1 >> 2] = $833; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[(HEAP32[($9 + 248 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($9 + 232 | 0) >> 2])); } HEAP8[($9 + 271 | 0) >> 0] = 1 & 1 | 0; break label$9; } } HEAP8[($9 + 271 | 0) >> 0] = 0 & 1 | 0; } $272 = (HEAPU8[($9 + 271 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $9 + 272 | 0; return $272 | 0; } function btTriangleShape__getVertexPtr_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return ((HEAP32[($4 + 12 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0; } function SphereTriangleDetector__facecontains_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $16 = 0, $17 = 0, $7 = 0, $61 = 0, $65 = 0, $77 = 0, $81 = 0, $29 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; $8 = HEAP32[($6 + 40 | 0) >> 2] | 0; $9 = 8; i64toi32_i32$2 = $8 + $9 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $61 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 16 | 0) + $9 | 0; HEAP32[i64toi32_i32$0 >> 2] = $61; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $65 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 16 | 0) >> 2] = $65; HEAP32[($6 + 20 | 0) >> 2] = i64toi32_i32$0; $16 = HEAP32[($6 + 32 | 0) >> 2] | 0; $17 = 8; i64toi32_i32$2 = $16 + $17 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $77 = i64toi32_i32$0; i64toi32_i32$0 = $6 + $17 | 0; HEAP32[i64toi32_i32$0 >> 2] = $77; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $16; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $81 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[$6 >> 2] = $81; HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$0; $29 = (SphereTriangleDetector__pointInTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($7 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, $6 | 0, $6 + 16 | 0 | 0) | 0) & 1 | 0; __stack_pointer = $6 + 48 | 0; return $29 | 0; } function SegmentSqrDistance_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $32 = 0, $82 = 0, $84 = 0, $92 = 0, $66 = 0, $262 = 0, $275 = 0, $93 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $0; HEAP32[($6 + 104 | 0) >> 2] = $1; HEAP32[($6 + 100 | 0) >> 2] = $2; HEAP32[($6 + 96 | 0) >> 2] = $3; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0, HEAP32[($6 + 108 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 64 | 0 | 0, HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6 + 108 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 64 | 0 | 0, $6 + 80 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$2 } $32 = $6 + 64 | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($32 | 0, $32 | 0))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) < Math_fround(HEAPF32[($6 + 56 | 0) >> 2]) & 1 | 0)) { break label$4 } HEAPF32[($6 + 60 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 56 | 0) >> 2])); operator__28float_20const__2c_20btVector3_20const__29($6 + 40 | 0 | 0, $6 + 60 | 0 | 0, $6 + 64 | 0 | 0); btVector3__operator___28btVector3_20const__29($6 + 80 | 0 | 0, $6 + 40 | 0 | 0) | 0; break label$3; } HEAPF32[($6 + 60 | 0) >> 2] = Math_fround(1.0); btVector3__operator___28btVector3_20const__29($6 + 80 | 0 | 0, $6 + 64 | 0 | 0) | 0; } break label$1; } HEAPF32[($6 + 60 | 0) >> 2] = Math_fround(0 | 0); } $66 = HEAP32[($6 + 108 | 0) >> 2] | 0; operator__28float_20const__2c_20btVector3_20const__29($6 + 8 | 0 | 0, $6 + 60 | 0 | 0, $6 + 64 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 24 | 0 | 0, $66 | 0, $6 + 8 | 0 | 0); $82 = HEAP32[($6 + 96 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 28 | 0) >> 2] | 0; $262 = i64toi32_i32$0; i64toi32_i32$0 = $82; HEAP32[i64toi32_i32$0 >> 2] = $262; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $84 = 8; i64toi32_i32$2 = ($6 + 24 | 0) + $84 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $275 = i64toi32_i32$1; i64toi32_i32$1 = $82 + $84 | 0; HEAP32[i64toi32_i32$1 >> 2] = $275; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $92 = $6 + 80 | 0; $93 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($92 | 0, $92 | 0)); __stack_pointer = $6 + 112 | 0; return Math_fround($93); } function SphereTriangleDetector__pointInTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $130 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 192 | 0; __stack_pointer = $6; HEAP32[($6 + 184 | 0) >> 2] = $0; HEAP32[($6 + 180 | 0) >> 2] = $1; HEAP32[($6 + 176 | 0) >> 2] = $2; HEAP32[($6 + 172 | 0) >> 2] = $3; HEAP32[($6 + 168 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0; HEAP32[($6 + 164 | 0) >> 2] = (HEAP32[($6 + 180 | 0) >> 2] | 0) + 16 | 0; HEAP32[($6 + 160 | 0) >> 2] = (HEAP32[($6 + 180 | 0) >> 2] | 0) + 32 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 144 | 0 | 0, HEAP32[($6 + 164 | 0) >> 2] | 0 | 0, HEAP32[($6 + 168 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 128 | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0, HEAP32[($6 + 164 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 112 | 0 | 0, HEAP32[($6 + 168 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 96 | 0 | 0, HEAP32[($6 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6 + 168 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, HEAP32[($6 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6 + 164 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 64 | 0 | 0, HEAP32[($6 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($6 + 48 | 0 | 0, $6 + 144 | 0 | 0, HEAP32[($6 + 176 | 0) >> 2] | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($6 + 32 | 0 | 0, $6 + 128 | 0 | 0, HEAP32[($6 + 176 | 0) >> 2] | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($6 + 16 | 0 | 0, $6 + 112 | 0 | 0, HEAP32[($6 + 176 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 48 | 0 | 0, $6 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 32 | 0 | 0, $6 + 80 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 16 | 0 | 0, $6 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } if (!(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } if (Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0) { break label$3 } } if (!(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$2 } if (!(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$2 } if (!(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$2 } } HEAP8[($6 + 191 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($6 + 191 | 0) >> 0] = 0 & 1 | 0; } $130 = (HEAPU8[($6 + 191 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $6 + 192 | 0; return $130 | 0; } function SphereTriangleDetector___SphereTriangleDetector_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; SphereTriangleDetector___SphereTriangleDetector_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_SphereTriangleDetector_cpp() { __cxx_global_var_init_27(); return; } function __cxx_global_var_init_28() { btInfMaskConverter__btInfMaskConverter_28int_29(114076 | 0, 2139095040 | 0) | 0; return; } function btBoxShape__btBoxShape_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $47 = 0, $49 = 0, $160 = 0, $173 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAP32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; btPolyhedralConvexShape__btPolyhedralConvexShape_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 96788 + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $4 + 52 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 56 | 0 | 0); $47 = $5 + 36 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; $160 = i64toi32_i32$0; i64toi32_i32$0 = $47; HEAP32[i64toi32_i32$0 >> 2] = $160; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; i64toi32_i32$2 = ($4 + 28 | 0) + $49 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $173 = i64toi32_i32$1; i64toi32_i32$1 = $47 + $49 | 0; HEAP32[i64toi32_i32$1 >> 2] = $173; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btConvexInternalShape__setSafeMargin_28btVector3_20const__2c_20float_29($5 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(.10000000149011612))); __stack_pointer = $4 + 80 | 0; return $5 | 0; } function btBoxShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btTransformAabb_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29(btBoxShape__getHalfExtentsWithoutMargin_28_29_20const($7 | 0) | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); __stack_pointer = $6 + 16 | 0; return; } function btTransformAabb_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $14 = 0, $27 = 0, $28 = 0, $65 = 0, $67 = 0, $82 = 0, $84 = 0, $8 = 0, $159 = 0, $163 = 0, $218 = 0, $231 = 0, $252 = 0, $265 = 0; $7 = __stack_pointer - 176 | 0; __stack_pointer = $7; HEAP32[($7 + 172 | 0) >> 2] = $0; HEAPF32[($7 + 168 | 0) >> 2] = $1; HEAP32[($7 + 164 | 0) >> 2] = $2; HEAP32[($7 + 160 | 0) >> 2] = $3; HEAP32[($7 + 156 | 0) >> 2] = $4; $8 = HEAP32[($7 + 172 | 0) >> 2] | 0; $14 = $7 + 168 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 124 | 0 | 0, $14 | 0, $14 | 0, $14 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 140 | 0 | 0, $8 | 0, $7 + 124 | 0 | 0); btMatrix3x3__absolute_28_29_20const($7 + 76 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0 | 0); $27 = btTransform__getOrigin_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0; $28 = 8; i64toi32_i32$2 = $27 + $28 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $159 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 56 | 0) + $28 | 0; HEAP32[i64toi32_i32$0 >> 2] = $159; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $27; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $163 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 56 | 0) >> 2] = $163; HEAP32[($7 + 60 | 0) >> 2] = i64toi32_i32$0; btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($7 + 40 | 0 | 0, $7 + 140 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 76 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 76 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 76 | 0 | 0, 2 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 24 | 0 | 0, $7 + 56 | 0 | 0, $7 + 40 | 0 | 0); $65 = HEAP32[($7 + 160 | 0) >> 2] | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 28 | 0) >> 2] | 0; $218 = i64toi32_i32$0; i64toi32_i32$0 = $65; HEAP32[i64toi32_i32$0 >> 2] = $218; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $67 = 8; i64toi32_i32$2 = ($7 + 24 | 0) + $67 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $231 = i64toi32_i32$1; i64toi32_i32$1 = $65 + $67 | 0; HEAP32[i64toi32_i32$1 >> 2] = $231; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 8 | 0 | 0, $7 + 56 | 0 | 0, $7 + 40 | 0 | 0); $82 = HEAP32[($7 + 156 | 0) >> 2] | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 12 | 0) >> 2] | 0; $252 = i64toi32_i32$0; i64toi32_i32$0 = $82; HEAP32[i64toi32_i32$0 >> 2] = $252; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $84 = 8; i64toi32_i32$2 = ($7 + 8 | 0) + $84 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $265 = i64toi32_i32$1; i64toi32_i32$1 = $82 + $84 | 0; HEAP32[i64toi32_i32$1 >> 2] = $265; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $7 + 176 | 0; return; } function btBoxShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $31 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAPF32[($5 + 56 | 0) >> 2] = $1; HEAP32[($5 + 52 | 0) >> 2] = $2; btBoxShape__getHalfExtentsWithMargin_28_29_20const($5 + 36 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; $31 = HEAP32[($5 + 52 | 0) >> 2] | 0; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 24 | 0) >> 2])))); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 32 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 32 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 24 | 0) >> 2])))); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 32 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 32 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2])))); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($31 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0); __stack_pointer = $5 + 64 | 0; return; } function btBoxShape___btBoxShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btPolyhedralConvexShape___btPolyhedralConvexShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBoxShape___btBoxShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBoxShape___btBoxShape_28_29($4 | 0) | 0; btBoxShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBoxShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBoxShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $62 = 0, $64 = 0, $198 = 0, $211 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 112 | 0; __stack_pointer = $4; HEAP32[($4 + 108 | 0) >> 2] = $0; HEAP32[($4 + 104 | 0) >> 2] = $1; $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 88 | 0 | 0, $4 + 84 | 0 | 0, $4 + 80 | 0 | 0, $4 + 76 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 60 | 0 | 0, $5 + 36 | 0 | 0, $4 + 88 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 44 | 0 | 0, $4 + 60 | 0 | 0, $5 + 20 | 0 | 0); btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 104 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, $4 + 44 | 0 | 0, $5 + 20 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 88 | 0 | 0); $62 = $5 + 36 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; $198 = i64toi32_i32$0; i64toi32_i32$0 = $62; HEAP32[i64toi32_i32$0 >> 2] = $198; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $64 = 8; i64toi32_i32$2 = ($4 + 28 | 0) + $64 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $211 = i64toi32_i32$1; i64toi32_i32$1 = $62 + $64 | 0; HEAP32[i64toi32_i32$1 >> 2] = $211; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 112 | 0; return; } function operator__28btVector3_20const__2c_20btVector3_20const__29_3($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) / Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) / Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) / Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btBoxShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 66262 | 0; } function btBoxShape__setMargin_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $65 = 0, $67 = 0, $216 = 0, $226 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 96 | 0; __stack_pointer = $4; HEAP32[($4 + 92 | 0) >> 2] = $0; HEAPF32[($4 + 88 | 0) >> 2] = $1; $5 = HEAP32[($4 + 92 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 72 | 0 | 0, $4 + 68 | 0 | 0, $4 + 64 | 0 | 0, $4 + 60 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 44 | 0 | 0, $5 + 36 | 0 | 0, $4 + 72 | 0 | 0); btConvexInternalShape__setMargin_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($4 | 0, $4 + 44 | 0 | 0, $4 + 28 | 0 | 0); $65 = $5 + 36 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[$4 >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 4 | 0) >> 2] | 0; $216 = i64toi32_i32$0; i64toi32_i32$0 = $65; HEAP32[i64toi32_i32$0 >> 2] = $216; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $67 = 8; i64toi32_i32$2 = $4 + $67 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $226 = i64toi32_i32$1; i64toi32_i32$1 = $65 + $67 | 0; HEAP32[i64toi32_i32$1 >> 2] = $226; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 96 | 0; return; } function btBoxShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $121 = 0, $125 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $1; HEAP32[($5 + 56 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; $7 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const($6 | 0) | 0; $8 = 8; i64toi32_i32$2 = $7 + $8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $121 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 40 | 0) + $8 | 0; HEAP32[i64toi32_i32$0 >> 2] = $121; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $125 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 40 | 0) >> 2] = $125; HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($5 + 40 | 0 | 0, $5 + 24 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; __stack_pointer = $5 + 64 | 0; return; } function btFsel_28float_2c_20float_2c_20float_29($0, $1, $2) { $0 = Math_fround($0); $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $13 = Math_fround(0); $5 = __stack_pointer - 16 | 0; HEAPF32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$2 } $13 = Math_fround(HEAPF32[($5 + 8 | 0) >> 2]); break label$1; } $13 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); } return Math_fround($13); } function btBoxShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($6 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 24 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; $26 = (HEAP32[($6 + 36 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($26 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 48 | 0; return; } function btBoxShape__getNumPreferredPenetrationDirections_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 6 | 0; } function btBoxShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $8 = 0, $23 = 0, $38 = 0, $53 = 0, $68 = 0, $83 = 0; $5 = __stack_pointer - 96 | 0; __stack_pointer = $5; HEAP32[($5 + 92 | 0) >> 2] = $0; HEAP32[($5 + 88 | 0) >> 2] = $1; HEAP32[($5 + 84 | 0) >> 2] = $2; $6 = HEAP32[($5 + 88 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($6 | 0) { case 0: $8 = HEAP32[($5 + 84 | 0) >> 2] | 0; HEAPF32[($5 + 80 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 76 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, $5 + 80 | 0 | 0, $5 + 76 | 0 | 0, $5 + 72 | 0 | 0); break label$1; case 1: $23 = HEAP32[($5 + 84 | 0) >> 2] | 0; HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 64 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 60 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($23 | 0, $5 + 68 | 0 | 0, $5 + 64 | 0 | 0, $5 + 60 | 0 | 0); break label$1; case 2: $38 = HEAP32[($5 + 84 | 0) >> 2] | 0; HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($38 | 0, $5 + 56 | 0 | 0, $5 + 52 | 0 | 0, $5 + 48 | 0 | 0); break label$1; case 3: $53 = HEAP32[($5 + 84 | 0) >> 2] | 0; HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($53 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0); break label$1; case 4: $68 = HEAP32[($5 + 84 | 0) >> 2] | 0; HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($68 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0); break label$1; case 5: $83 = HEAP32[($5 + 84 | 0) >> 2] | 0; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(-1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($83 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0); break label$1; default: break label$2; }; } __assert_fail(86177 | 0, 78954 | 0, 305 | 0, 76388 | 0); wasm2js_trap(); } __stack_pointer = $5 + 96 | 0; return; } function btBoxShape__getNumVertices_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 8 | 0; } function btBoxShape__getNumEdges_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 12 | 0; } function btBoxShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; $8 = 0; HEAP32[($6 + 12 | 0) >> 2] = $8; HEAP32[($6 + 8 | 0) >> 2] = $8; $9 = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($9 | 0) { case 0: HEAP32[($6 + 12 | 0) >> 2] = 0; HEAP32[($6 + 8 | 0) >> 2] = 1; break label$1; case 1: HEAP32[($6 + 12 | 0) >> 2] = 0; HEAP32[($6 + 8 | 0) >> 2] = 2; break label$1; case 2: HEAP32[($6 + 12 | 0) >> 2] = 1; HEAP32[($6 + 8 | 0) >> 2] = 3; break label$1; case 3: HEAP32[($6 + 12 | 0) >> 2] = 2; HEAP32[($6 + 8 | 0) >> 2] = 3; break label$1; case 4: HEAP32[($6 + 12 | 0) >> 2] = 0; HEAP32[($6 + 8 | 0) >> 2] = 4; break label$1; case 5: HEAP32[($6 + 12 | 0) >> 2] = 1; HEAP32[($6 + 8 | 0) >> 2] = 5; break label$1; case 6: HEAP32[($6 + 12 | 0) >> 2] = 2; HEAP32[($6 + 8 | 0) >> 2] = 6; break label$1; case 7: HEAP32[($6 + 12 | 0) >> 2] = 3; HEAP32[($6 + 8 | 0) >> 2] = 7; break label$1; case 8: HEAP32[($6 + 12 | 0) >> 2] = 4; HEAP32[($6 + 8 | 0) >> 2] = 5; break label$1; case 9: HEAP32[($6 + 12 | 0) >> 2] = 4; HEAP32[($6 + 8 | 0) >> 2] = 6; break label$1; case 10: HEAP32[($6 + 12 | 0) >> 2] = 5; HEAP32[($6 + 8 | 0) >> 2] = 7; break label$1; case 11: HEAP32[($6 + 12 | 0) >> 2] = 6; HEAP32[($6 + 8 | 0) >> 2] = 7; break label$1; default: break label$2; }; } __assert_fail(86177 | 0, 78954 | 0, 242 | 0, 81912 | 0); wasm2js_trap(); } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); __stack_pointer = $6 + 32 | 0; return; } function btBoxShape__getVertex_28int_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $102 = 0, $104 = 0, $307 = 0, $320 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAP32[($5 + 56 | 0) >> 2] = $1; HEAP32[($5 + 52 | 0) >> 2] = $2; btBoxShape__getHalfExtentsWithMargin_28_29_20const($5 + 36 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(1 - ((HEAP32[($5 + 56 | 0) >> 2] | 0) & 1 | 0) | 0 | 0)) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround((HEAP32[($5 + 56 | 0) >> 2] | 0) & 1 | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(1 - (((HEAP32[($5 + 56 | 0) >> 2] | 0) & 2 | 0) >> 1 | 0) | 0 | 0)) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(((HEAP32[($5 + 56 | 0) >> 2] | 0) & 2 | 0) >> 1 | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(1 - (((HEAP32[($5 + 56 | 0) >> 2] | 0) & 4 | 0) >> 2 | 0) | 0 | 0)) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(((HEAP32[($5 + 56 | 0) >> 2] | 0) & 4 | 0) >> 2 | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; $102 = HEAP32[($5 + 52 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 24 | 0) >> 2] | 0; $307 = i64toi32_i32$0; i64toi32_i32$0 = $102; HEAP32[i64toi32_i32$0 >> 2] = $307; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $104 = 8; i64toi32_i32$2 = ($5 + 20 | 0) + $104 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $320 = i64toi32_i32$1; i64toi32_i32$1 = $102 + $104 | 0; HEAP32[i64toi32_i32$1 >> 2] = $320; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 64 | 0; return; } function btBoxShape__getNumPlanes_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 6 | 0; } function btBoxShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $32 = 0, $34 = 0, $48 = 0, $50 = 0, $125 = 0, $138 = 0, $162 = 0, $175 = 0; $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAP32[($6 + 68 | 0) >> 2] = $2; HEAP32[($6 + 64 | 0) >> 2] = $3; $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; btVector4__btVector4_28_29($6 + 48 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 124 | 0) >> 2] | 0 | 0]($7, $6 + 48 | 0, HEAP32[($6 + 64 | 0) >> 2] | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, btVector3__getX_28_29_20const($6 + 48 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($6 + 48 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($6 + 48 | 0 | 0) | 0 | 0) | 0; $32 = HEAP32[($6 + 72 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; $125 = i64toi32_i32$0; i64toi32_i32$0 = $32; HEAP32[i64toi32_i32$0 >> 2] = $125; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $34 = 8; i64toi32_i32$2 = ($6 + 32 | 0) + $34 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $138 = i64toi32_i32$1; i64toi32_i32$1 = $32 + $34 | 0; HEAP32[i64toi32_i32$1 >> 2] = $138; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__29($6 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6 + 16 | 0, $7, $6); $48 = HEAP32[($6 + 68 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; $162 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $162; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $50 = 8; i64toi32_i32$2 = ($6 + 16 | 0) + $50 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $175 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $50 | 0; HEAP32[i64toi32_i32$1 >> 2] = $175; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 80 | 0; return; } function btVector4__btVector4_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBoxShape__isInside_28btVector3_20const__2c_20float_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, i64toi32_i32$0 = 0, $29 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $135 = 0, $139 = 0, $105 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAPF32[($5 + 36 | 0) >> 2] = $2; $7 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0; $8 = 8; i64toi32_i32$2 = $7 + $8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $135 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 16 | 0) + $8 | 0; HEAP32[i64toi32_i32$0 >> 2] = $135; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $139 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 16 | 0) >> 2] = $139; HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; $29 = 0; label$1 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { break label$1 } $29 = 0; if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) - Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { break label$1 } $29 = 0; if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { break label$1 } $29 = 0; if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) - Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { break label$1 } $29 = 0; if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { break label$1 } $29 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) - Math_fround(HEAPF32[($5 + 36 | 0) >> 2])); } HEAP8[($5 + 15 | 0) >> 0] = $29 & 1 | 0; $105 = (HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 48 | 0; return $105 | 0; } function btBoxShape__getPlaneEquation_28btVector4__2c_20int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $15 = 0, $192 = 0, $196 = 0, $17 = 0, $41 = 0, $65 = 0, $89 = 0, $113 = 0, $137 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 128 | 0; __stack_pointer = $5; HEAP32[($5 + 124 | 0) >> 2] = $0; HEAP32[($5 + 120 | 0) >> 2] = $1; HEAP32[($5 + 116 | 0) >> 2] = $2; $7 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($5 + 124 | 0) >> 2] | 0 | 0) | 0; $8 = 8; i64toi32_i32$2 = $7 + $8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $192 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 96 | 0) + $8 | 0; HEAP32[i64toi32_i32$0 >> 2] = $192; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $196 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 96 | 0) >> 2] = $196; HEAP32[($5 + 100 | 0) >> 2] = i64toi32_i32$0; $15 = HEAP32[($5 + 116 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($15 | 0) { case 0: $17 = HEAP32[($5 + 120 | 0) >> 2] | 0; HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 88 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 84 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($17 | 0, $5 + 92 | 0 | 0, $5 + 88 | 0 | 0, $5 + 84 | 0 | 0, $5 + 80 | 0 | 0); break label$1; case 1: $41 = HEAP32[($5 + 120 | 0) >> 2] | 0; HEAPF32[($5 + 76 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($41 | 0, $5 + 76 | 0 | 0, $5 + 72 | 0 | 0, $5 + 68 | 0 | 0, $5 + 64 | 0 | 0); break label$1; case 2: $65 = HEAP32[($5 + 120 | 0) >> 2] | 0; HEAPF32[($5 + 60 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($65 | 0, $5 + 60 | 0 | 0, $5 + 56 | 0 | 0, $5 + 52 | 0 | 0, $5 + 48 | 0 | 0); break label$1; case 3: $89 = HEAP32[($5 + 120 | 0) >> 2] | 0; HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($89 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0); break label$1; case 4: $113 = HEAP32[($5 + 120 | 0) >> 2] | 0; HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(1.0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($113 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0); break label$1; case 5: $137 = HEAP32[($5 + 120 | 0) >> 2] | 0; HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(-1.0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($137 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0); break label$1; default: break label$2; }; } __assert_fail(86177 | 0, 78954 | 0, 178 | 0, 76606 | 0); wasm2js_trap(); } __stack_pointer = $5 + 128 | 0; return; } function btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAPF32[$8 >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 20 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 16 | 0) >> 2] | 0) >> 2]); HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2]); return; } function _GLOBAL__sub_I_btBoxShape_cpp() { __cxx_global_var_init_28(); return; } function __cxx_global_var_init_29() { btInfMaskConverter__btInfMaskConverter_28int_29(114080 | 0, 2139095040 | 0) | 0; return; } function btQuantizedBvh__btQuantizedBvh_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 96952 + 8 | 0; btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 20 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 36 | 0 | 0) | 0; HEAP32[($4 + 52 | 0) >> 2] = 287; HEAP8[($4 + 60 | 0) >> 0] = 0; btAlignedObjectArray_btOptimizedBvhNode___btAlignedObjectArray_28_29($4 + 64 | 0 | 0) | 0; btAlignedObjectArray_btOptimizedBvhNode___btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; btAlignedObjectArray_btQuantizedBvhNode___btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; btAlignedObjectArray_btQuantizedBvhNode___btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; HEAP32[($4 + 144 | 0) >> 2] = 0; btAlignedObjectArray_btBvhSubtreeInfo___btAlignedObjectArray_28_29($4 + 148 | 0 | 0) | 0; HEAP32[($4 + 168 | 0) >> 2] = 0; HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 4 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0); HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 20 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0); __stack_pointer = $3 + 32 | 0; return $4 | 0; } function btAlignedObjectArray_btOptimizedBvhNode___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btOptimizedBvhNode_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btOptimizedBvhNode___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btQuantizedBvhNode___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btQuantizedBvhNode_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btQuantizedBvhNode___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btBvhSubtreeInfo___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_btOptimizedBvhNode_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btOptimizedBvhNode___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btQuantizedBvhNode_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btQuantizedBvhNode___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btQuantizedBvhNode___resize_28int_2c_20btQuantizedBvhNode_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $48 = 0, $51 = 0, $171 = 0, $181 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btQuantizedBvhNode___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } $48 = btQuantizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $171 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $171; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $51 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $181 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $51 | 0; HEAP32[i64toi32_i32$1 >> 2] = $181; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btQuantizedBvh__buildTree_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $56 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 96 | 0; __stack_pointer = $5; HEAP32[($5 + 92 | 0) >> 2] = $0; HEAP32[($5 + 88 | 0) >> 2] = $1; HEAP32[($5 + 84 | 0) >> 2] = $2; $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 84 | 0) >> 2] | 0) - (HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; HEAP32[($5 + 64 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85787 | 0, 73634 | 0, 147 | 0, 81944 | 0); wasm2js_trap(); } label$2 : { label$3 : { if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$3 } btQuantizedBvh__assignInternalNodeFromLeafNode_28int_2c_20int_29($6 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0); HEAP32[($6 + 56 | 0) >> 2] = (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0; break label$2; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btQuantizedBvh__calcSplittingAxis_28int_2c_20int_29($6 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btQuantizedBvh__sortAndCalcSplittingIndex_28int_2c_20int_2c_20int_29($6 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 60 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; btQuantizedBvh__setInternalNodeAabbMin_28int_2c_20btVector3_20const__29($6 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 + 20 | 0 | 0); btQuantizedBvh__setInternalNodeAabbMax_28int_2c_20btVector3_20const__29($6 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 + 4 | 0 | 0); HEAP32[($5 + 72 | 0) >> 2] = HEAP32[($5 + 88 | 0) >> 2] | 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } $56 = HEAP32[($6 + 56 | 0) >> 2] | 0; btQuantizedBvh__getAabbMin_28int_29_20const($5 + 44 | 0 | 0, $6 | 0, HEAP32[($5 + 72 | 0) >> 2] | 0 | 0); btQuantizedBvh__getAabbMax_28int_29_20const($5 + 28 | 0 | 0, $6 | 0, HEAP32[($5 + 72 | 0) >> 2] | 0 | 0); btQuantizedBvh__mergeInternalNodeAabb_28int_2c_20btVector3_20const__2c_20btVector3_20const__29($6 | 0, $56 | 0, $5 + 44 | 0 | 0, $5 + 28 | 0 | 0); HEAP32[($5 + 72 | 0) >> 2] = (HEAP32[($5 + 72 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } HEAP32[($6 + 56 | 0) >> 2] = (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 24 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; btQuantizedBvh__buildTree_28int_2c_20int_29($6 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5 + 76 | 0) >> 2] | 0 | 0); HEAP32[($5 + 20 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; btQuantizedBvh__buildTree_28int_2c_20int_29($6 | 0, HEAP32[($5 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0); HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($6 + 56 | 0) >> 2] | 0) - (HEAP32[($5 + 64 | 0) >> 2] | 0) | 0; label$6 : { label$7 : { if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } HEAP32[($5 + 12 | 0) >> 2] = 16; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) << 4 | 0; label$8 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) > (2048 | 0) & 1 | 0)) { break label$8 } btQuantizedBvh__updateSubtreeHeaders_28int_2c_20int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); } break label$6; } } btQuantizedBvh__setInternalNodeEscapeIndex_28int_2c_20int_29($6 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); } __stack_pointer = $5 + 96 | 0; return; } function btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___expand_28btBvhSubtreeInfo_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4 = 0, $5 = 0, $25 = 0, $26 = 0, $28 = 0, $32 = 0, $36 = 0, $108 = 0, $118 = 0, $128 = 0, $138 = 0, $44 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btBvhSubtreeInfo___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btBvhSubtreeInfo___reserve_28int_29($5 | 0, btAlignedObjectArray_btBvhSubtreeInfo___allocSize_28int_29($5 | 0, btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; $25 = btBvhSubtreeInfo__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; $26 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $26; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $108 = i64toi32_i32$0; i64toi32_i32$0 = $25; HEAP32[i64toi32_i32$0 >> 2] = $108; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $28 = 24; i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $118 = i64toi32_i32$1; i64toi32_i32$1 = $25 + $28 | 0; HEAP32[i64toi32_i32$1 >> 2] = $118; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $32 = 16; i64toi32_i32$2 = $26 + $32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $128 = i64toi32_i32$0; i64toi32_i32$0 = $25 + $32 | 0; HEAP32[i64toi32_i32$0 >> 2] = $128; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $36 = 8; i64toi32_i32$2 = $26 + $36 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $138 = i64toi32_i32$1; i64toi32_i32$1 = $25 + $36 | 0; HEAP32[i64toi32_i32$1 >> 2] = $138; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $44 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 5 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $44 | 0; } function btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btBvhSubtreeInfo__setAabbFromQuantizeNode_28btQuantizedBvhNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP16[$5 >> 1] = HEAPU16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] | 0; HEAP16[($5 + 2 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; HEAP16[($5 + 4 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0; HEAP16[($5 + 6 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0; HEAP16[($5 + 8 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; HEAP16[($5 + 10 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; return; } function btQuantizedBvhNode__isLeafNode_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0 | 0; } function btQuantizedBvhNode__getEscapeIndex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $14 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((btQuantizedBvhNode__isLeafNode_28_29_20const($4 | 0) | 0) & 1 | 0)) { break label$1 } __assert_fail(87705 | 0, 78832 | 0, 75 | 0, 66536 | 0); wasm2js_trap(); } $14 = 0 - (HEAP32[($4 + 12 | 0) >> 2] | 0) | 0; __stack_pointer = $3 + 16 | 0; return $14 | 0; } function btAlignedObjectArray_btQuantizedBvhNode___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btQuantizedBvhNode___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btQuantizedBvhNode___deallocate_28_29($4 | 0); btAlignedObjectArray_btQuantizedBvhNode___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btOptimizedBvhNode___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btOptimizedBvhNode___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btOptimizedBvhNode___deallocate_28_29($4 | 0); btAlignedObjectArray_btOptimizedBvhNode___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btQuantizedBvhNode___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btQuantizedBvhNode___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btQuantizedBvhNode___copy_28int_2c_20int_2c_20btQuantizedBvhNode__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btQuantizedBvhNode___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btQuantizedBvhNode___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btQuantizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btQuantizedBvh__assignInternalNodeFromLeafNode_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $30 = 0, $26 = 0, $6 = 0, $17 = 0, $19 = 0, $32 = 0, $36 = 0, $40 = 0, $44 = 0, $48 = 0, $52 = 0, $56 = 0, $13 = 0, $101 = 0, $111 = 0, $131 = 0, $141 = 0, $151 = 0, $161 = 0, $171 = 0, $181 = 0, $191 = 0, $201 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $13 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; $17 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $13; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $101 = i64toi32_i32$0; i64toi32_i32$0 = $17; HEAP32[i64toi32_i32$0 >> 2] = $101; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $111 = i64toi32_i32$1; i64toi32_i32$1 = $17 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $111; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$1; } $26 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; $30 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 84 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $26; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $131 = i64toi32_i32$0; i64toi32_i32$0 = $30; HEAP32[i64toi32_i32$0 >> 2] = $131; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $32 = 56; i64toi32_i32$2 = i64toi32_i32$2 + $32 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $141 = i64toi32_i32$1; i64toi32_i32$1 = $30 + $32 | 0; HEAP32[i64toi32_i32$1 >> 2] = $141; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $36 = 48; i64toi32_i32$2 = $26 + $36 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $151 = i64toi32_i32$0; i64toi32_i32$0 = $30 + $36 | 0; HEAP32[i64toi32_i32$0 >> 2] = $151; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $40 = 40; i64toi32_i32$2 = $26 + $40 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $161 = i64toi32_i32$1; i64toi32_i32$1 = $30 + $40 | 0; HEAP32[i64toi32_i32$1 >> 2] = $161; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $44 = 32; i64toi32_i32$2 = $26 + $44 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $171 = i64toi32_i32$0; i64toi32_i32$0 = $30 + $44 | 0; HEAP32[i64toi32_i32$0 >> 2] = $171; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $48 = 24; i64toi32_i32$2 = $26 + $48 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $181 = i64toi32_i32$1; i64toi32_i32$1 = $30 + $48 | 0; HEAP32[i64toi32_i32$1 >> 2] = $181; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $52 = 16; i64toi32_i32$2 = $26 + $52 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $191 = i64toi32_i32$0; i64toi32_i32$0 = $30 + $52 | 0; HEAP32[i64toi32_i32$0 >> 2] = $191; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $56 = 8; i64toi32_i32$2 = $26 + $56 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $201 = i64toi32_i32$1; i64toi32_i32$1 = $30 + $56 | 0; HEAP32[i64toi32_i32$1 >> 2] = $201; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 16 | 0; return; } function btQuantizedBvh__calcSplittingAxis_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, $6 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $149 = 0, $150 = 0, $489 = 0, $493 = 0, $183 = 0; $5 = __stack_pointer - 256 | 0; __stack_pointer = $5; HEAP32[($5 + 252 | 0) >> 2] = $0; HEAP32[($5 + 248 | 0) >> 2] = $1; HEAP32[($5 + 244 | 0) >> 2] = $2; $6 = HEAP32[($5 + 252 | 0) >> 2] | 0; HEAPF32[($5 + 220 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 216 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 212 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 224 | 0 | 0, $5 + 220 | 0 | 0, $5 + 216 | 0 | 0, $5 + 212 | 0 | 0) | 0; HEAPF32[($5 + 192 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 188 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 184 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 196 | 0 | 0, $5 + 192 | 0 | 0, $5 + 188 | 0 | 0, $5 + 184 | 0 | 0) | 0; HEAP32[($5 + 180 | 0) >> 2] = (HEAP32[($5 + 244 | 0) >> 2] | 0) - (HEAP32[($5 + 248 | 0) >> 2] | 0) | 0; HEAP32[($5 + 240 | 0) >> 2] = HEAP32[($5 + 248 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($5 + 240 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 244 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($5 + 160 | 0) >> 2] = Math_fround(.5); btQuantizedBvh__getAabbMax_28int_29_20const($5 + 128 | 0 | 0, $6 | 0, HEAP32[($5 + 240 | 0) >> 2] | 0 | 0); btQuantizedBvh__getAabbMin_28int_29_20const($5 + 112 | 0 | 0, $6 | 0, HEAP32[($5 + 240 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 144 | 0 | 0, $5 + 128 | 0 | 0, $5 + 112 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($5 + 164 | 0 | 0, $5 + 160 | 0 | 0, $5 + 144 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($5 + 224 | 0 | 0, $5 + 164 | 0 | 0) | 0; HEAP32[($5 + 240 | 0) >> 2] = (HEAP32[($5 + 240 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAP32[($5 + 180 | 0) >> 2] | 0 | 0)); btVector3__operator___28float_20const__29_1($5 + 224 | 0 | 0, $5 + 108 | 0 | 0) | 0; HEAP32[($5 + 240 | 0) >> 2] = HEAP32[($5 + 248 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 240 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 244 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAPF32[($5 + 88 | 0) >> 2] = Math_fround(.5); btQuantizedBvh__getAabbMax_28int_29_20const($5 + 56 | 0 | 0, $6 | 0, HEAP32[($5 + 240 | 0) >> 2] | 0 | 0); btQuantizedBvh__getAabbMin_28int_29_20const($5 + 40 | 0 | 0, $6 | 0, HEAP32[($5 + 240 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 72 | 0 | 0, $5 + 56 | 0 | 0, $5 + 40 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($5 + 92 | 0 | 0, $5 + 88 | 0 | 0, $5 + 72 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 24 | 0 | 0, $5 + 92 | 0 | 0, $5 + 224 | 0 | 0); $149 = $5 + 24 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 8 | 0 | 0, $149 | 0, $149 | 0); $150 = 8; i64toi32_i32$2 = ($5 + 8 | 0) + $150 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $489 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 24 | 0) + $150 | 0; HEAP32[i64toi32_i32$0 >> 2] = $489; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; $493 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 24 | 0) >> 2] = $493; HEAP32[($5 + 28 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29_1($5 + 196 | 0 | 0, $5 + 24 | 0 | 0) | 0; HEAP32[($5 + 240 | 0) >> 2] = (HEAP32[($5 + 240 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(HEAP32[($5 + 180 | 0) >> 2] | 0 | 0) - Math_fround(1.0))); btVector3__operator___28float_20const__29_1($5 + 196 | 0 | 0, $5 + 4 | 0 | 0) | 0; $183 = btVector3__maxAxis_28_29_20const($5 + 196 | 0 | 0) | 0; __stack_pointer = $5 + 256 | 0; return $183 | 0; } function btQuantizedBvh__sortAndCalcSplittingIndex_28int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $162 = 0, $191 = 0, $207 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 208 | 0; __stack_pointer = $6; HEAP32[($6 + 204 | 0) >> 2] = $0; HEAP32[($6 + 200 | 0) >> 2] = $1; HEAP32[($6 + 196 | 0) >> 2] = $2; HEAP32[($6 + 192 | 0) >> 2] = $3; $7 = HEAP32[($6 + 204 | 0) >> 2] | 0; HEAP32[($6 + 184 | 0) >> 2] = HEAP32[($6 + 200 | 0) >> 2] | 0; HEAP32[($6 + 180 | 0) >> 2] = (HEAP32[($6 + 196 | 0) >> 2] | 0) - (HEAP32[($6 + 200 | 0) >> 2] | 0) | 0; HEAPF32[($6 + 156 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 152 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 148 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 160 | 0 | 0, $6 + 156 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0) | 0; HEAP32[($6 + 188 | 0) >> 2] = HEAP32[($6 + 200 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 188 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 196 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($6 + 128 | 0) >> 2] = Math_fround(.5); btQuantizedBvh__getAabbMax_28int_29_20const($6 + 96 | 0 | 0, $7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0); btQuantizedBvh__getAabbMin_28int_29_20const($6 + 80 | 0 | 0, $7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 112 | 0 | 0, $6 + 96 | 0 | 0, $6 + 80 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($6 + 132 | 0 | 0, $6 + 128 | 0 | 0, $6 + 112 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($6 + 160 | 0 | 0, $6 + 132 | 0 | 0) | 0; HEAP32[($6 + 188 | 0) >> 2] = (HEAP32[($6 + 188 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAP32[($6 + 180 | 0) >> 2] | 0 | 0)); btVector3__operator___28float_20const__29_1($6 + 160 | 0 | 0, $6 + 76 | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 160 | 0 | 0) | 0) + ((HEAP32[($6 + 192 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_f32$0; HEAP32[($6 + 188 | 0) >> 2] = HEAP32[($6 + 200 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($6 + 188 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 196 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(.5); btQuantizedBvh__getAabbMax_28int_29_20const($6 + 24 | 0 | 0, $7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0); btQuantizedBvh__getAabbMin_28int_29_20const($6 + 8 | 0 | 0, $7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 40 | 0 | 0, $6 + 24 | 0 | 0, $6 + 8 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($6 + 60 | 0 | 0, $6 + 56 | 0 | 0, $6 + 40 | 0 | 0); label$5 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 60 | 0 | 0) | 0) + ((HEAP32[($6 + 192 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($6 + 176 | 0) >> 2]) & 1 | 0)) { break label$5 } btQuantizedBvh__swapLeafNodes_28int_2c_20int_29($7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0, HEAP32[($6 + 184 | 0) >> 2] | 0 | 0); HEAP32[($6 + 184 | 0) >> 2] = (HEAP32[($6 + 184 | 0) >> 2] | 0) + 1 | 0; } HEAP32[($6 + 188 | 0) >> 2] = (HEAP32[($6 + 188 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAP32[($6 + 4 | 0) >> 2] = (HEAP32[($6 + 180 | 0) >> 2] | 0 | 0) / (3 | 0) | 0; $162 = 1; label$6 : { if ((HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) <= ((HEAP32[($6 + 200 | 0) >> 2] | 0) + (HEAP32[($6 + 4 | 0) >> 2] | 0) | 0 | 0) & 1 | 0) { break label$6 } $162 = (HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) >= (((HEAP32[($6 + 196 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[($6 + 4 | 0) >> 2] | 0) | 0 | 0); } HEAP8[($6 + 3 | 0) >> 0] = $162 & 1 | 0; label$7 : { if (!((HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } HEAP32[($6 + 184 | 0) >> 2] = (HEAP32[($6 + 200 | 0) >> 2] | 0) + ((HEAP32[($6 + 180 | 0) >> 2] | 0) >> 1 | 0) | 0; } $191 = 1; label$8 : { if ((HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 200 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$8 } $191 = (HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 196 | 0) >> 2] | 0 | 0); } HEAP8[($6 + 2 | 0) >> 0] = $191 & 1 | 0; label$9 : { if (!((HEAPU8[($6 + 2 | 0) >> 0] | 0) & 1 | 0)) { break label$9 } __assert_fail(77652 | 0, 73634 | 0, 298 | 0, 66510 | 0); wasm2js_trap(); } $207 = HEAP32[($6 + 184 | 0) >> 2] | 0; __stack_pointer = $6 + 208 | 0; return $207 | 0; } function btQuantizedBvh__setInternalNodeAabbMin_28int_2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $20 = 0, $22 = 0, $16 = 0, $75 = 0, $85 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($6 | 0, btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, 0 | 0); break label$1; } $16 = HEAP32[($5 + 4 | 0) >> 2] | 0; $20 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 84 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $75 = i64toi32_i32$0; i64toi32_i32$0 = $20; HEAP32[i64toi32_i32$0 >> 2] = $75; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $22 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$1; i64toi32_i32$1 = $20 + $22 | 0; HEAP32[i64toi32_i32$1 >> 2] = $85; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 16 | 0; return; } function btQuantizedBvh__setInternalNodeAabbMax_28int_2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $24 = 0, $26 = 0, $18 = 0, $85 = 0, $95 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($6 | 0, (btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 6 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, 1 | 0); break label$1; } $18 = HEAP32[($5 + 4 | 0) >> 2] | 0; $24 = (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 84 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; i64toi32_i32$2 = $18; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$0; i64toi32_i32$0 = $24; HEAP32[i64toi32_i32$0 >> 2] = $85; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $95 = i64toi32_i32$1; i64toi32_i32$1 = $24 + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $95; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 16 | 0; return; } function btQuantizedBvh__getAabbMin_28int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $19 = 0, $65 = 0, $75 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($0 | 0, $6 | 0, btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 104 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); break label$1; } i64toi32_i32$2 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 64 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $65 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $65; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $75 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $75; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 16 | 0; return; } function btQuantizedBvh__getAabbMax_28int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $23 = 0, $75 = 0, $85 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($0 | 0, $6 | 0, (btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 104 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 6 | 0 | 0); break label$1; } i64toi32_i32$2 = (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 64 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $75 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $75; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $23 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $23 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $23 | 0; HEAP32[i64toi32_i32$1 >> 2] = $85; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 16 | 0; return; } function btQuantizedBvh__mergeInternalNodeAabb_28int_2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $62 = 0, $106 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 10 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, 0 | 0); btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 4 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 1 | 0); HEAP32[$6 >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[$6 >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$3 } label$5 : { if (!(((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($7 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[(($6 + 10 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { break label$5 } $62 = HEAPU16[(($6 + 10 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; (wasm2js_i32$0 = (btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($7 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0, wasm2js_i32$1 = $62), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; } label$6 : { if (!(((HEAPU16[(((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($7 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[(($6 + 4 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { break label$6 } $106 = HEAPU16[(($6 + 4 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; (wasm2js_i32$0 = ((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($7 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0, wasm2js_i32$1 = $106), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; } HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } btVector3__setMin_28btVector3_20const__29(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($7 + 84 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0); btVector3__setMax_28btVector3_20const__29((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($7 + 84 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 32 | 0; return; } function btQuantizedBvh__updateSubtreeHeaders_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $23 = 0, $39 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 112 | 0; __stack_pointer = $5; HEAP32[($5 + 108 | 0) >> 2] = $0; HEAP32[($5 + 104 | 0) >> 2] = $1; HEAP32[($5 + 100 | 0) >> 2] = $2; $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0) { break label$1 } __assert_fail(76588 | 0, 73634 | 0, 219 | 0, 69605 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; label$2 : { label$3 : { if (!((btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$3 } $23 = 1; break label$2; } $23 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0; } HEAP32[($5 + 92 | 0) >> 2] = $23; HEAP32[($5 + 88 | 0) >> 2] = (HEAP32[($5 + 92 | 0) >> 2] | 0) << 4 | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; label$4 : { label$5 : { if (!((btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$5 } $39 = 1; break label$4; } $39 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0; } HEAP32[($5 + 80 | 0) >> 2] = $39; HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 80 | 0) >> 2] | 0) << 4 | 0; label$6 : { if (!((HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) <= (2048 | 0) & 1 | 0)) { break label$6 } btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($5 + 40 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___expand_28btBvhSubtreeInfo_20const__29($6 + 148 | 0 | 0, $5 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; btBvhSubtreeInfo__setAabbFromQuantizeNode_28btQuantizedBvhNode_20const__29(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5 + 96 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($5 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5 + 104 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5 + 92 | 0) >> 2] | 0; } label$7 : { if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) <= (2048 | 0) & 1 | 0)) { break label$7 } btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($5 + 4 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___expand_28btBvhSubtreeInfo_20const__29($6 + 148 | 0 | 0, $5 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; btBvhSubtreeInfo__setAabbFromQuantizeNode_28btQuantizedBvhNode_20const__29(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5 + 100 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5 + 80 | 0) >> 2] | 0; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 + 148 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; __stack_pointer = $5 + 112 | 0; return; } function btQuantizedBvh__setInternalNodeEscapeIndex_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $12 = 0, $17 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $12 = 0 - (HEAP32[($5 + 4 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $12), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } $17 = HEAP32[($5 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 84 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $17), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; } __stack_pointer = $5 + 16 | 0; return; } function btAlignedObjectArray_btBvhSubtreeInfo___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btBvhSubtreeInfo___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btBvhSubtreeInfo___copy_28int_2c_20int_2c_20btBvhSubtreeInfo__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btBvhSubtreeInfo___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btBvhSubtreeInfo___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btBvhSubtreeInfo__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btQuantizedBvhNode___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btQuantizedBvhNode___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btQuantizedBvhNode_2c_2016u___deallocate_28btQuantizedBvhNode__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btOptimizedBvhNode___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btOptimizedBvhNode___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btOptimizedBvhNode_2c_2016u___deallocate_28btOptimizedBvhNode__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btQuantizedBvh__setQuantizationValues_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $13 = 0, $22 = 0, $24 = 0, $38 = 0, $40 = 0, $78 = 0, $80 = 0, $102 = 0, $132 = 0, $166 = 0, $168 = 0, $186 = 0, $216 = 0, $248 = 0, $250 = 0, $305 = 0, $318 = 0, $338 = 0, $351 = 0, $413 = 0, $426 = 0, $472 = 0, $476 = 0, $529 = 0, $533 = 0, $582 = 0, $595 = 0, $633 = 0, $637 = 0, $690 = 0, $694 = 0, $740 = 0, $753 = 0; $6 = __stack_pointer - 336 | 0; __stack_pointer = $6; HEAP32[($6 + 332 | 0) >> 2] = $0; HEAP32[($6 + 328 | 0) >> 2] = $1; HEAP32[($6 + 324 | 0) >> 2] = $2; HEAPF32[($6 + 320 | 0) >> 2] = $3; $7 = HEAP32[($6 + 332 | 0) >> 2] | 0; $13 = $6 + 320 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, $13 | 0, $13 | 0, $13 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 288 | 0 | 0, HEAP32[($6 + 328 | 0) >> 2] | 0 | 0, $6 + 304 | 0 | 0); $22 = $7 + 4 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 288 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 292 | 0) >> 2] | 0; $305 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $305; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = ($6 + 288 | 0) + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $318 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $318; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 272 | 0 | 0, HEAP32[($6 + 324 | 0) >> 2] | 0 | 0, $6 + 304 | 0 | 0); $38 = $7 + 20 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 272 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 276 | 0) >> 2] | 0; $338 = i64toi32_i32$0; i64toi32_i32$0 = $38; HEAP32[i64toi32_i32$0 >> 2] = $338; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $40 = 8; i64toi32_i32$2 = ($6 + 272 | 0) + $40 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $351 = i64toi32_i32$1; i64toi32_i32$1 = $38 + $40 | 0; HEAP32[i64toi32_i32$1 >> 2] = $351; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 256 | 0 | 0, $7 + 20 | 0 | 0, $7 + 4 | 0 | 0); HEAPF32[($6 + 220 | 0) >> 2] = Math_fround(65533.0); HEAPF32[($6 + 216 | 0) >> 2] = Math_fround(65533.0); HEAPF32[($6 + 212 | 0) >> 2] = Math_fround(65533.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 224 | 0 | 0, $6 + 220 | 0 | 0, $6 + 216 | 0 | 0, $6 + 212 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_3($6 + 240 | 0 | 0, $6 + 224 | 0 | 0, $6 + 256 | 0 | 0); $78 = $7 + 36 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 240 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 244 | 0) >> 2] | 0; $413 = i64toi32_i32$0; i64toi32_i32$0 = $78; HEAP32[i64toi32_i32$0 >> 2] = $413; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $80 = 8; i64toi32_i32$2 = ($6 + 240 | 0) + $80 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $426 = i64toi32_i32$1; i64toi32_i32$1 = $78 + $80 | 0; HEAP32[i64toi32_i32$1 >> 2] = $426; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP8[($7 + 60 | 0) >> 0] = 1; btVector3__btVector3_28_29($6 + 184 | 0 | 0) | 0; btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 206 | 0 | 0, $7 + 4 | 0 | 0, 0 | 0); btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($6 + 168 | 0 | 0, $7 | 0, $6 + 206 | 0 | 0); $102 = 8; i64toi32_i32$2 = ($6 + 168 | 0) + $102 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $472 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 184 | 0) + $102 | 0; HEAP32[i64toi32_i32$0 >> 2] = $472; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 168 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 172 | 0) >> 2] | 0; $476 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 184 | 0) >> 2] = $476; HEAP32[($6 + 188 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 152 | 0 | 0, $6 + 184 | 0 | 0, $6 + 304 | 0 | 0); btVector3__setMin_28btVector3_20const__29($7 + 4 | 0 | 0, $6 + 152 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 136 | 0 | 0, $7 + 20 | 0 | 0, $7 + 4 | 0 | 0); $132 = 8; i64toi32_i32$2 = ($6 + 136 | 0) + $132 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $529 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 256 | 0) + $132 | 0; HEAP32[i64toi32_i32$0 >> 2] = $529; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 136 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 140 | 0) >> 2] | 0; $533 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 256 | 0) >> 2] = $533; HEAP32[($6 + 260 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($6 + 100 | 0) >> 2] = Math_fround(65533.0); HEAPF32[($6 + 96 | 0) >> 2] = Math_fround(65533.0); HEAPF32[($6 + 92 | 0) >> 2] = Math_fround(65533.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 104 | 0 | 0, $6 + 100 | 0 | 0, $6 + 96 | 0 | 0, $6 + 92 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_3($6 + 120 | 0 | 0, $6 + 104 | 0 | 0, $6 + 256 | 0 | 0); $166 = $7 + 36 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 120 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 124 | 0) >> 2] | 0; $582 = i64toi32_i32$0; i64toi32_i32$0 = $166; HEAP32[i64toi32_i32$0 >> 2] = $582; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $168 = 8; i64toi32_i32$2 = ($6 + 120 | 0) + $168 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $595 = i64toi32_i32$1; i64toi32_i32$1 = $166 + $168 | 0; HEAP32[i64toi32_i32$1 >> 2] = $595; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 206 | 0 | 0, $7 + 20 | 0 | 0, 1 | 0); btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($6 + 76 | 0 | 0, $7 | 0, $6 + 206 | 0 | 0); $186 = 8; i64toi32_i32$2 = ($6 + 76 | 0) + $186 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $633 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 184 | 0) + $186 | 0; HEAP32[i64toi32_i32$0 >> 2] = $633; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 76 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 80 | 0) >> 2] | 0; $637 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 184 | 0) >> 2] = $637; HEAP32[($6 + 188 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 60 | 0 | 0, $6 + 184 | 0 | 0, $6 + 304 | 0 | 0); btVector3__setMax_28btVector3_20const__29($7 + 20 | 0 | 0, $6 + 60 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 44 | 0 | 0, $7 + 20 | 0 | 0, $7 + 4 | 0 | 0); $216 = 8; i64toi32_i32$2 = ($6 + 44 | 0) + $216 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $690 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 256 | 0) + $216 | 0; HEAP32[i64toi32_i32$0 >> 2] = $690; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 44 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; $694 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 256 | 0) >> 2] = $694; HEAP32[($6 + 260 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(65533.0); HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(65533.0); HEAPF32[$6 >> 2] = Math_fround(65533.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 12 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0, $6 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_3($6 + 28 | 0 | 0, $6 + 12 | 0 | 0, $6 + 256 | 0 | 0); $248 = $7 + 36 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 32 | 0) >> 2] | 0; $740 = i64toi32_i32$0; i64toi32_i32$0 = $248; HEAP32[i64toi32_i32$0 >> 2] = $740; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $250 = 8; i64toi32_i32$2 = ($6 + 28 | 0) + $250 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $753 = i64toi32_i32$1; i64toi32_i32$1 = $248 + $250 | 0; HEAP32[i64toi32_i32$1 >> 2] = $753; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 336 | 0; return; } function btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $114 = Math_fround(0), $115 = Math_fround(0), $133 = Math_fround(0), $150 = Math_fround(0), $169 = Math_fround(0), $186 = Math_fround(0), $202 = Math_fround(0), $123 = 0, $126 = 0, $141 = 0, $158 = 0, $177 = 0, $180 = 0, $194 = 0, $210 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0) { break label$1 } __assert_fail(76588 | 0, 78832 | 0, 355 | 0, 80790 | 0); wasm2js_trap(); } label$2 : { if (Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 20 | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$2 } __assert_fail(88132 | 0, 78832 | 0, 357 | 0, 80790 | 0); wasm2js_trap(); } label$3 : { if (Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 20 | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$3 } __assert_fail(88017 | 0, 78832 | 0, 358 | 0, 80790 | 0); wasm2js_trap(); } label$4 : { if (Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 20 | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$4 } __assert_fail(87902 | 0, 78832 | 0, 359 | 0, 80790 | 0); wasm2js_trap(); } label$5 : { if (Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 4 | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$5 } __assert_fail(88168 | 0, 78832 | 0, 361 | 0, 80790 | 0); wasm2js_trap(); } label$6 : { if (Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 4 | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$6 } __assert_fail(88053 | 0, 78832 | 0, 362 | 0, 80790 | 0); wasm2js_trap(); } label$7 : { if (Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 4 | 0 | 0) | 0) >> 2]) & 1 | 0) { break label$7 } __assert_fail(87938 | 0, 78832 | 0, 363 | 0, 80790 | 0); wasm2js_trap(); } operator__28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 16 | 0 | 0, $6 | 0, $7 + 36 | 0 | 0); label$8 : { label$9 : { if (!(HEAP32[($6 + 32 | 0) >> 2] | 0)) { break label$9 } $114 = Math_fround(1.0); $115 = Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) + $114); label$10 : { label$11 : { if (!($115 < Math_fround(4294967296.0) & $115 >= Math_fround(0.0) | 0)) { break label$11 } $123 = ~~$115 >>> 0; break label$10; } $123 = 0; } $126 = 1; HEAP16[(HEAP32[($6 + 40 | 0) >> 2] | 0) >> 1] = $123 | $126 | 0; $133 = Math_fround(Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) + $114); label$12 : { label$13 : { if (!($133 < Math_fround(4294967296.0) & $133 >= Math_fround(0.0) | 0)) { break label$13 } $141 = ~~$133 >>> 0; break label$12; } $141 = 0; } HEAP16[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 2 | 0) >> 1] = $141 | $126 | 0; $150 = Math_fround(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) + $114); label$14 : { label$15 : { if (!($150 < Math_fround(4294967296.0) & $150 >= Math_fround(0.0) | 0)) { break label$15 } $158 = ~~$150 >>> 0; break label$14; } $158 = 0; } HEAP16[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 4 | 0) >> 1] = $158 & 65535 | 0 | 1 | 0; break label$8; } $169 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]); label$16 : { label$17 : { if (!($169 < Math_fround(4294967296.0) & $169 >= Math_fround(0.0) | 0)) { break label$17 } $177 = ~~$169 >>> 0; break label$16; } $177 = 0; } $180 = 65534; HEAP16[(HEAP32[($6 + 40 | 0) >> 2] | 0) >> 1] = $177 & $180 | 0; $186 = Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]); label$18 : { label$19 : { if (!($186 < Math_fround(4294967296.0) & $186 >= Math_fround(0.0) | 0)) { break label$19 } $194 = ~~$186 >>> 0; break label$18; } $194 = 0; } HEAP16[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 2 | 0) >> 1] = $194 & $180 | 0; $202 = Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]); label$20 : { label$21 : { if (!($202 < Math_fround(4294967296.0) & $202 >= Math_fround(0.0) | 0)) { break label$21 } $210 = ~~$202 >>> 0; break label$20; } $210 = 0; } HEAP16[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 4 | 0) >> 1] = ($210 & 65535 | 0) & 65534 | 0; } __stack_pointer = $6 + 48 | 0; return; } function btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btVector3__btVector3_28_29($0 | 0) | 0; $11 = $6 + 36 | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround((HEAPU16[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 1] | 0) >>> 0) / Math_fround(HEAPF32[(btVector3__getX_28_29_20const($11 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround((HEAPU16[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) >>> 0) / Math_fround(HEAPF32[(btVector3__getY_28_29_20const($11 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround((HEAPU16[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) >>> 0) / Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($0 | 0, $6 + 4 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btQuantizedBvh___btQuantizedBvh_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 96952 + 8 | 0; btAlignedObjectArray_btBvhSubtreeInfo____btAlignedObjectArray_28_29($4 + 148 | 0 | 0) | 0; btAlignedObjectArray_btQuantizedBvhNode____btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; btAlignedObjectArray_btQuantizedBvhNode____btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; btAlignedObjectArray_btOptimizedBvhNode____btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; btAlignedObjectArray_btOptimizedBvhNode____btAlignedObjectArray_28_29($4 + 64 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btBvhSubtreeInfo___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btQuantizedBvhNode____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btQuantizedBvhNode___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btOptimizedBvhNode____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btOptimizedBvhNode___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btBvhSubtreeInfo___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btBvhSubtreeInfo___deallocate_28_29($4 | 0); btAlignedObjectArray_btBvhSubtreeInfo___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btQuantizedBvh___btQuantizedBvh_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[786 | 0]($4) | 0; btQuantizedBvh__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btQuantizedBvh__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 6 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btQuantizedBvh__swapLeafNodes_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $5 = 0, $6 = 0, $48 = 0, $85 = 0, $118 = 0, $81 = 0, $13 = 0, $14 = 0, $28 = 0, $30 = 0, $37 = 0, $39 = 0, $49 = 0, $53 = 0, $57 = 0, $61 = 0, $65 = 0, $69 = 0, $73 = 0, $87 = 0, $91 = 0, $95 = 0, $99 = 0, $103 = 0, $107 = 0, $111 = 0, $120 = 0, $124 = 0, $128 = 0, $132 = 0, $136 = 0, $140 = 0, $144 = 0, $190 = 0, $194 = 0, $24 = 0, $214 = 0, $224 = 0, $236 = 0, $249 = 0, $267 = 0, $277 = 0, $287 = 0, $297 = 0, $307 = 0, $317 = 0, $327 = 0, $331 = 0, $351 = 0, $361 = 0, $371 = 0, $381 = 0, $391 = 0, $401 = 0, $411 = 0, $421 = 0, $433 = 0, $443 = 0, $453 = 0, $463 = 0, $473 = 0, $483 = 0, $493 = 0, $503 = 0; $5 = __stack_pointer - 96 | 0; __stack_pointer = $5; HEAP32[($5 + 92 | 0) >> 2] = $0; HEAP32[($5 + 88 | 0) >> 2] = $1; HEAP32[($5 + 84 | 0) >> 2] = $2; $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $13 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0; $14 = 8; i64toi32_i32$2 = $13 + $14 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $190 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $14 | 0; HEAP32[i64toi32_i32$0 >> 2] = $190; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $13; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $194 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $194; HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; $24 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] | 0 | 0) | 0; $28 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[(i64toi32_i32$1 + 88 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $24; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $214 = i64toi32_i32$0; i64toi32_i32$0 = $28; HEAP32[i64toi32_i32$0 >> 2] = $214; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $30 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $30 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $224 = i64toi32_i32$1; i64toi32_i32$1 = $28 + $30 | 0; HEAP32[i64toi32_i32$1 >> 2] = $224; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $37 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; $236 = i64toi32_i32$0; i64toi32_i32$0 = $37; HEAP32[i64toi32_i32$0 >> 2] = $236; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $39 = 8; i64toi32_i32$2 = (i64toi32_i32$2 + 64 | 0) + $39 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $249 = i64toi32_i32$1; i64toi32_i32$1 = $37 + $39 | 0; HEAP32[i64toi32_i32$1 >> 2] = $249; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$1; } $48 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0; $49 = 56; i64toi32_i32$2 = $48 + $49 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $267 = i64toi32_i32$0; i64toi32_i32$0 = $5 + $49 | 0; HEAP32[i64toi32_i32$0 >> 2] = $267; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $53 = 48; i64toi32_i32$2 = $48 + $53 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $277 = i64toi32_i32$1; i64toi32_i32$1 = $5 + $53 | 0; HEAP32[i64toi32_i32$1 >> 2] = $277; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $57 = 40; i64toi32_i32$2 = $48 + $57 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $287 = i64toi32_i32$0; i64toi32_i32$0 = $5 + $57 | 0; HEAP32[i64toi32_i32$0 >> 2] = $287; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $61 = 32; i64toi32_i32$2 = $48 + $61 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $297 = i64toi32_i32$1; i64toi32_i32$1 = $5 + $61 | 0; HEAP32[i64toi32_i32$1 >> 2] = $297; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $65 = 24; i64toi32_i32$2 = $48 + $65 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $307 = i64toi32_i32$0; i64toi32_i32$0 = $5 + $65 | 0; HEAP32[i64toi32_i32$0 >> 2] = $307; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $69 = 16; i64toi32_i32$2 = $48 + $69 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $317 = i64toi32_i32$1; i64toi32_i32$1 = $5 + $69 | 0; HEAP32[i64toi32_i32$1 >> 2] = $317; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $73 = 8; i64toi32_i32$2 = $48 + $73 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $327 = i64toi32_i32$0; i64toi32_i32$0 = $5 + $73 | 0; HEAP32[i64toi32_i32$0 >> 2] = $327; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $48; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $331 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[i64toi32_i32$1 >> 2] = $331; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $81 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] | 0 | 0) | 0; $85 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[(i64toi32_i32$1 + 88 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $81; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $351 = i64toi32_i32$0; i64toi32_i32$0 = $85; HEAP32[i64toi32_i32$0 >> 2] = $351; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $87 = 56; i64toi32_i32$2 = i64toi32_i32$2 + $87 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $361 = i64toi32_i32$1; i64toi32_i32$1 = $85 + $87 | 0; HEAP32[i64toi32_i32$1 >> 2] = $361; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $91 = 48; i64toi32_i32$2 = $81 + $91 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $371 = i64toi32_i32$0; i64toi32_i32$0 = $85 + $91 | 0; HEAP32[i64toi32_i32$0 >> 2] = $371; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $95 = 40; i64toi32_i32$2 = $81 + $95 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $381 = i64toi32_i32$1; i64toi32_i32$1 = $85 + $95 | 0; HEAP32[i64toi32_i32$1 >> 2] = $381; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $99 = 32; i64toi32_i32$2 = $81 + $99 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $391 = i64toi32_i32$0; i64toi32_i32$0 = $85 + $99 | 0; HEAP32[i64toi32_i32$0 >> 2] = $391; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $103 = 24; i64toi32_i32$2 = $81 + $103 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $401 = i64toi32_i32$1; i64toi32_i32$1 = $85 + $103 | 0; HEAP32[i64toi32_i32$1 >> 2] = $401; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $107 = 16; i64toi32_i32$2 = $81 + $107 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $411 = i64toi32_i32$0; i64toi32_i32$0 = $85 + $107 | 0; HEAP32[i64toi32_i32$0 >> 2] = $411; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $111 = 8; i64toi32_i32$2 = $81 + $111 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $421 = i64toi32_i32$1; i64toi32_i32$1 = $85 + $111 | 0; HEAP32[i64toi32_i32$1 >> 2] = $421; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $118 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $433 = i64toi32_i32$0; i64toi32_i32$0 = $118; HEAP32[i64toi32_i32$0 >> 2] = $433; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $120 = 56; i64toi32_i32$2 = i64toi32_i32$2 + $120 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $443 = i64toi32_i32$1; i64toi32_i32$1 = $118 + $120 | 0; HEAP32[i64toi32_i32$1 >> 2] = $443; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $124 = 48; i64toi32_i32$2 = $5 + $124 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $453 = i64toi32_i32$0; i64toi32_i32$0 = $118 + $124 | 0; HEAP32[i64toi32_i32$0 >> 2] = $453; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $128 = 40; i64toi32_i32$2 = $5 + $128 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $463 = i64toi32_i32$1; i64toi32_i32$1 = $118 + $128 | 0; HEAP32[i64toi32_i32$1 >> 2] = $463; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $132 = 32; i64toi32_i32$2 = $5 + $132 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $473 = i64toi32_i32$0; i64toi32_i32$0 = $118 + $132 | 0; HEAP32[i64toi32_i32$0 >> 2] = $473; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $136 = 24; i64toi32_i32$2 = $5 + $136 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $483 = i64toi32_i32$1; i64toi32_i32$1 = $118 + $136 | 0; HEAP32[i64toi32_i32$1 >> 2] = $483; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $140 = 16; i64toi32_i32$2 = $5 + $140 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $493 = i64toi32_i32$0; i64toi32_i32$0 = $118 + $140 | 0; HEAP32[i64toi32_i32$0 >> 2] = $493; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $144 = 8; i64toi32_i32$2 = $5 + $144 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $503 = i64toi32_i32$1; i64toi32_i32$1 = $118 + $144 | 0; HEAP32[i64toi32_i32$1 >> 2] = $503; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 96 | 0; return; } function btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 6 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btQuantizedBvh__reportAabbOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $19 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 10 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, 0 | 0); btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 4 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 1 | 0); $19 = HEAP32[($7 + 144 | 0) >> 2] | 0; label$3 : { label$4 : { switch ($19 | 0) { case 0: btQuantizedBvh__walkStacklessQuantizedTree_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__2c_20int_2c_20int_29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 + 10 | 0 | 0, $6 + 4 | 0 | 0, 0 | 0, HEAP32[($7 + 56 | 0) >> 2] | 0 | 0); break label$3; case 1: btQuantizedBvh__walkStacklessQuantizedTreeCacheFriendly_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 + 10 | 0 | 0, $6 + 4 | 0 | 0); break label$3; case 2: (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($7 + 124 | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btQuantizedBvh__walkRecursiveQuantizedTreeAgainstQueryAabb_28btQuantizedBvhNode_20const__2c_20btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($7 | 0, HEAP32[$6 >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 + 10 | 0 | 0, $6 + 4 | 0 | 0); break label$3; default: break label$4; }; } __assert_fail(86177 | 0, 73634 | 0, 361 | 0, 66312 | 0); wasm2js_trap(); } break label$1; } btQuantizedBvh__walkStacklessTree_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 32 | 0; return; } function btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $15 = 0, $16 = 0, $68 = 0, $72 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0) { break label$1 } __assert_fail(76588 | 0, 78832 | 0, 422 | 0, 76095 | 0); wasm2js_trap(); } $15 = HEAP32[($6 + 20 | 0) >> 2] | 0; $16 = 8; i64toi32_i32$2 = $15 + $16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $68 = i64toi32_i32$0; i64toi32_i32$0 = $6 + $16 | 0; HEAP32[i64toi32_i32$0 >> 2] = $68; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $15; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $72 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[$6 >> 2] = $72; HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__setMax_28btVector3_20const__29($6 | 0, $7 + 4 | 0 | 0); btVector3__setMin_28btVector3_20const__29($6 | 0, $7 + 20 | 0 | 0); btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); __stack_pointer = $6 + 32 | 0; return; } function btQuantizedBvh__walkStacklessQuantizedTree_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__2c_20int_2c_20int_29_20const($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $62 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; $8 = __stack_pointer - 64 | 0; __stack_pointer = $8; HEAP32[($8 + 60 | 0) >> 2] = $0; HEAP32[($8 + 56 | 0) >> 2] = $1; HEAP32[($8 + 52 | 0) >> 2] = $2; HEAP32[($8 + 48 | 0) >> 2] = $3; HEAP32[($8 + 44 | 0) >> 2] = $4; HEAP32[($8 + 40 | 0) >> 2] = $5; $9 = HEAP32[($8 + 60 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($9 + 60 | 0) >> 0] | 0) & 1 | 0) { break label$1 } __assert_fail(76588 | 0, 73634 | 0, 689 | 0, 81954 | 0); wasm2js_trap(); } HEAP32[($8 + 36 | 0) >> 2] = HEAP32[($8 + 44 | 0) >> 2] | 0; HEAP32[($8 + 32 | 0) >> 2] = 0; HEAP32[($8 + 28 | 0) >> 2] = (HEAP32[($8 + 40 | 0) >> 2] | 0) - (HEAP32[($8 + 44 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($9 + 124 | 0 | 0, HEAP32[($8 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; label$2 : { label$3 : while (1) { if (!((HEAP32[($8 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } label$4 : { if ((HEAP32[($8 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 28 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$4 } __assert_fail(81024 | 0, 73634 | 0, 723 | 0, 81954 | 0); wasm2js_trap(); } HEAP32[($8 + 32 | 0) >> 2] = (HEAP32[($8 + 32 | 0) >> 2] | 0) + 1 | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29(HEAP32[($8 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 24 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8, wasm2js_i32$1 = (btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 19 | 0) >> 0] = wasm2js_i32$1; label$5 : { if (!((HEAPU8[($8 + 19 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } if (!(HEAP32[($8 + 12 | 0) >> 2] | 0)) { break label$5 } $62 = HEAP32[($8 + 56 | 0) >> 2] | 0; (((wasm2js_i32$1 = $62, wasm2js_i32$2 = btQuantizedBvhNode__getPartId_28_29_20const(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btQuantizedBvhNode__getTriangleIndex_28_29_20const(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$62 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); } label$6 : { label$7 : { label$8 : { if (HEAP32[($8 + 12 | 0) >> 2] | 0) { break label$8 } if (!((HEAPU8[($8 + 19 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } } HEAP32[($8 + 24 | 0) >> 2] = (HEAP32[($8 + 24 | 0) >> 2] | 0) + 16 | 0; HEAP32[($8 + 36 | 0) >> 2] = (HEAP32[($8 + 36 | 0) >> 2] | 0) + 1 | 0; break label$6; } (wasm2js_i32$0 = $8, wasm2js_i32$3 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$3; HEAP32[($8 + 24 | 0) >> 2] = (HEAP32[($8 + 24 | 0) >> 2] | 0) + ((HEAP32[($8 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; HEAP32[($8 + 36 | 0) >> 2] = (HEAP32[($8 + 36 | 0) >> 2] | 0) + (HEAP32[($8 + 20 | 0) >> 2] | 0) | 0; } continue label$3; }; } label$9 : { if (!((HEAP32[(0 + 114084 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } HEAP32[(0 + 114084 | 0) >> 2] = HEAP32[($8 + 32 | 0) >> 2] | 0; } __stack_pointer = $8 + 64 | 0; return; } function btQuantizedBvh__walkStacklessQuantizedTreeCacheFriendly_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0) { break label$1 } __assert_fail(76588 | 0, 73634 | 0, 755 | 0, 66019 | 0); wasm2js_trap(); } HEAP32[($6 + 12 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($7 + 148 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($7 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 8 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$4 : { if (!(HEAP32[($6 + 4 | 0) >> 2] | 0)) { break label$4 } btQuantizedBvh__walkStacklessQuantizedTree_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__2c_20int_2c_20int_29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0); } HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } __stack_pointer = $6 + 32 | 0; return; } function btQuantizedBvh__walkRecursiveQuantizedTreeAgainstQueryAabb_28btQuantizedBvhNode_20const__2c_20btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $31 = 0, $52 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 44 | 0) >> 2] = $0; HEAP32[($7 + 40 | 0) >> 2] = $1; HEAP32[($7 + 36 | 0) >> 2] = $2; HEAP32[($7 + 32 | 0) >> 2] = $3; HEAP32[($7 + 28 | 0) >> 2] = $4; $8 = HEAP32[($7 + 44 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($8 + 60 | 0) >> 0] | 0) & 1 | 0) { break label$1 } __assert_fail(76588 | 0, 73634 | 0, 439 | 0, 82995 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $7, wasm2js_i32$1 = testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29(HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 40 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = (btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 27 | 0) >> 0] = wasm2js_i32$1; label$2 : { if (!(HEAP32[($7 + 20 | 0) >> 2] | 0)) { break label$2 } label$3 : { label$4 : { if (!((HEAPU8[($7 + 27 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $31 = HEAP32[($7 + 36 | 0) >> 2] | 0; (((wasm2js_i32$1 = $31, wasm2js_i32$2 = btQuantizedBvhNode__getPartId_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btQuantizedBvhNode__getTriangleIndex_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$31 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); break label$3; } HEAP32[($7 + 16 | 0) >> 2] = (HEAP32[($7 + 40 | 0) >> 2] | 0) + 16 | 0; btQuantizedBvh__walkRecursiveQuantizedTreeAgainstQueryAabb_28btQuantizedBvhNode_20const__2c_20btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); label$5 : { label$6 : { if (!((btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } $52 = (HEAP32[($7 + 16 | 0) >> 2] | 0) + 16 | 0; break label$5; } $52 = (HEAP32[($7 + 16 | 0) >> 2] | 0) + ((btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0) << 4 | 0) | 0; } HEAP32[($7 + 12 | 0) >> 2] = $52; btQuantizedBvh__walkRecursiveQuantizedTreeAgainstQueryAabb_28btQuantizedBvhNode_20const__2c_20btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($8 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); } } __stack_pointer = $7 + 48 | 0; return; } function btQuantizedBvh__walkStacklessTree_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $63 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } __assert_fail(76587 | 0, 73634 | 0, 375 | 0, 81926 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($7 + 84 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 20 | 0) >> 2] = 0; HEAP32[($6 + 16 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } label$4 : { if ((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$4 } __assert_fail(66597 | 0, 73634 | 0, 387 | 0, 81926 | 0); wasm2js_trap(); } HEAP32[($6 + 16 | 0) >> 2] = (HEAP32[($6 + 16 | 0) >> 2] | 0) + 1 | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = (TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 28 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; HEAP8[($6 + 15 | 0) >> 0] = (HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0; label$5 : { if (!((HEAPU8[($6 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } if (!(HEAP32[($6 + 8 | 0) >> 2] | 0)) { break label$5 } $63 = HEAP32[($6 + 40 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$63 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($63, HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0); } label$6 : { label$7 : { label$8 : { if (HEAP32[($6 + 8 | 0) >> 2] | 0) { break label$8 } if (!((HEAPU8[($6 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } } HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 64 | 0; HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 20 | 0) >> 2] | 0) + 1 | 0; break label$6; } HEAP32[($6 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 6 | 0) | 0; HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 20 | 0) >> 2] | 0) + (HEAP32[($6 + 24 | 0) >> 2] | 0) | 0; } continue label$3; }; } label$9 : { if (!((HEAP32[(0 + 114084 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } HEAP32[(0 + 114084 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; } __stack_pointer = $6 + 48 | 0; return; } function testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $92 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $92 = btSelect_28unsigned_20int_2c_20int_2c_20int_29((((((((HEAPU16[(HEAP32[($6 + 12 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) <= ((HEAPU16[(HEAP32[$6 >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) & (((HEAPU16[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0) & (((HEAPU16[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) <= ((HEAPU16[((HEAP32[$6 >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0) & (((HEAPU16[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0) & (((HEAPU16[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) <= ((HEAPU16[((HEAP32[$6 >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0) & (((HEAPU16[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0 | 0, 1 | 0, 0 | 0) | 0; __stack_pointer = $6 + 16 | 0; return $92 | 0; } function btQuantizedBvhNode__getPartId_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $14 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((btQuantizedBvhNode__isLeafNode_28_29_20const($4 | 0) | 0) & 1 | 0) { break label$1 } __assert_fail(87706 | 0, 78832 | 0, 88 | 0, 82789 | 0); wasm2js_trap(); } $14 = (HEAP32[($4 + 12 | 0) >> 2] | 0) >> 21 | 0; __stack_pointer = $3 + 16 | 0; return $14 | 0; } function btQuantizedBvhNode__getTriangleIndex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $24 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((btQuantizedBvhNode__isLeafNode_28_29_20const($4 | 0) | 0) & 1 | 0) { break label$1 } __assert_fail(87706 | 0, 78832 | 0, 80 | 0, 66551 | 0); wasm2js_trap(); } HEAP32[($3 + 8 | 0) >> 2] = 0; HEAP32[($3 + 4 | 0) >> 2] = (((HEAP32[($3 + 8 | 0) >> 2] | 0) & 0 | 0) ^ -1 | 0) << 21 | 0; $24 = (HEAP32[($4 + 12 | 0) >> 2] | 0) & ((HEAP32[($3 + 4 | 0) >> 2] | 0) ^ -1 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $24 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 5 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btSelect_28unsigned_20int_2c_20int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($5 + 28 | 0) >> 2] | 0 | (0 - (HEAP32[($5 + 28 | 0) >> 2] | 0) | 0) | 0) >> 31 | 0; HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) ^ -1 | 0; return (HEAP32[($5 + 24 | 0) >> 2] | 0) & (HEAP32[($5 + 16 | 0) >> 2] | 0) | 0 | ((HEAP32[($5 + 20 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) | 0 | 0; } function btQuantizedBvh__walkStacklessTreeAgainstRay_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20int_29_20const($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $11 = 0, $28 = 0, $29 = 0, $36 = 0, $37 = 0, $94 = Math_fround(0), $118 = Math_fround(0), $142 = Math_fround(0), $159 = 0.0, $179 = 0, $182 = 0, $183 = 0, $185 = 0, $216 = 0, $218 = 0, $229 = 0, $231 = 0, $276 = 0, $293 = 0, $398 = 0, $402 = 0, $417 = 0, $421 = 0, $181 = 0, $743 = 0, $753 = 0, $769 = 0, $779 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $10 = __stack_pointer - 208 | 0; __stack_pointer = $10; HEAP32[($10 + 204 | 0) >> 2] = $0; HEAP32[($10 + 200 | 0) >> 2] = $1; HEAP32[($10 + 196 | 0) >> 2] = $2; HEAP32[($10 + 192 | 0) >> 2] = $3; HEAP32[($10 + 188 | 0) >> 2] = $4; HEAP32[($10 + 184 | 0) >> 2] = $5; HEAP32[($10 + 180 | 0) >> 2] = $6; HEAP32[($10 + 176 | 0) >> 2] = $7; $11 = HEAP32[($10 + 204 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($11 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } __assert_fail(76587 | 0, 73634 | 0, 471 | 0, 66183 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($11 + 84 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; HEAP32[($10 + 164 | 0) >> 2] = 0; HEAP32[($10 + 160 | 0) >> 2] = 0; HEAP32[($10 + 152 | 0) >> 2] = 0; HEAP32[($10 + 148 | 0) >> 2] = 0; HEAPF32[($10 + 144 | 0) >> 2] = Math_fround(1.0); $28 = HEAP32[($10 + 196 | 0) >> 2] | 0; $29 = 8; i64toi32_i32$2 = $28 + $29 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $398 = i64toi32_i32$0; i64toi32_i32$0 = ($10 + 128 | 0) + $29 | 0; HEAP32[i64toi32_i32$0 >> 2] = $398; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $28; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $402 = i64toi32_i32$1; i64toi32_i32$1 = $10; HEAP32[($10 + 128 | 0) >> 2] = $402; HEAP32[($10 + 132 | 0) >> 2] = i64toi32_i32$0; $36 = HEAP32[($10 + 196 | 0) >> 2] | 0; $37 = 8; i64toi32_i32$2 = $36 + $37 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $417 = i64toi32_i32$0; i64toi32_i32$0 = ($10 + 112 | 0) + $37 | 0; HEAP32[i64toi32_i32$0 >> 2] = $417; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $36; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $421 = i64toi32_i32$1; i64toi32_i32$1 = $10; HEAP32[($10 + 112 | 0) >> 2] = $421; HEAP32[($10 + 116 | 0) >> 2] = i64toi32_i32$0; btVector3__setMin_28btVector3_20const__29($10 + 128 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0); btVector3__setMax_28btVector3_20const__29($10 + 112 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0); btVector3__operator___28btVector3_20const__29_1($10 + 128 | 0 | 0, HEAP32[($10 + 188 | 0) >> 2] | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($10 + 112 | 0 | 0, HEAP32[($10 + 184 | 0) >> 2] | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 96 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0, HEAP32[($10 + 196 | 0) >> 2] | 0 | 0); btVector3__normalize_28_29($10 + 96 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 80 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0, HEAP32[($10 + 196 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 96 | 0 | 0, $10 + 80 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($10 + 64 | 0 | 0) | 0; label$2 : { label$3 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$3 } $94 = Math_fround(999999984306749440.0); break label$2; } $94 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0, wasm2js_f32$0 = $94), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$4 : { label$5 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$5 } $118 = Math_fround(999999984306749440.0); break label$4; } $118 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) + 4 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0, wasm2js_f32$0 = $118), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$6 : { label$7 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$7 } $142 = Math_fround(999999984306749440.0); break label$6; } $142 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) + 8 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0, wasm2js_f32$0 = $142), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $159 = 0.0; (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0) >> 2]) < $159), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0) + 4 | 0) >> 2]) < $159), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; $179 = $10 + 16 | 0; $181 = $179 + 32 | 0; $182 = $179; label$8 : while (1) { $183 = $182; btVector3__btVector3_28_29($183 | 0) | 0; $185 = $183 + 16 | 0; $182 = $185; if (!(($185 | 0) == ($181 | 0) & 1 | 0)) { continue label$8 } break label$8; }; label$9 : { label$10 : while (1) { if (!((HEAP32[($10 + 164 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } HEAPF32[($10 + 12 | 0) >> 2] = Math_fround(1.0); label$11 : { if ((HEAP32[($10 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 56 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$11 } __assert_fail(66597 | 0, 73634 | 0, 510 | 0, 66183 | 0); wasm2js_trap(); } HEAP32[($10 + 160 | 0) >> 2] = (HEAP32[($10 + 160 | 0) >> 2] | 0) + 1 | 0; $216 = $10 + 16 | 0; i64toi32_i32$2 = HEAP32[($10 + 172 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $743 = i64toi32_i32$0; i64toi32_i32$0 = $216; HEAP32[i64toi32_i32$0 >> 2] = $743; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $218 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $218 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $753 = i64toi32_i32$1; i64toi32_i32$1 = $216 + $218 | 0; HEAP32[i64toi32_i32$1 >> 2] = $753; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $229 = ($10 + 16 | 0) + 16 | 0; i64toi32_i32$2 = (HEAP32[($10 + 172 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $769 = i64toi32_i32$0; i64toi32_i32$0 = $229; HEAP32[i64toi32_i32$0 >> 2] = $769; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $231 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $231 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $779 = i64toi32_i32$1; i64toi32_i32$1 = $229 + $231 | 0; HEAP32[i64toi32_i32$1 >> 2] = $779; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29($10 + 16 | 0 | 0, HEAP32[($10 + 184 | 0) >> 2] | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29(($10 + 16 | 0) + 16 | 0 | 0, HEAP32[($10 + 188 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $10, wasm2js_i32$1 = (TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 + 128 | 0 | 0, $10 + 112 | 0 | 0, HEAP32[($10 + 172 | 0) >> 2] | 0 | 0, (HEAP32[($10 + 172 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; label$12 : { label$13 : { if (!(HEAP32[($10 + 152 | 0) >> 2] | 0)) { break label$13 } $276 = btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29(HEAP32[($10 + 196 | 0) >> 2] | 0 | 0, $10 + 64 | 0 | 0, $10 + 52 | 0 | 0, $10 + 16 | 0 | 0, $10 + 12 | 0 | 0, Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($10 + 144 | 0) >> 2]))) | 0; break label$12; } $276 = 0; } HEAP32[($10 + 148 | 0) >> 2] = $276 & 1 | 0; HEAP8[($10 + 159 | 0) >> 0] = (HEAP32[((HEAP32[($10 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0; label$14 : { if (!((HEAPU8[($10 + 159 | 0) >> 0] | 0) & 1 | 0)) { break label$14 } if (!(HEAP32[($10 + 148 | 0) >> 2] | 0)) { break label$14 } $293 = HEAP32[($10 + 200 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$293 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($293, HEAP32[((HEAP32[($10 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, HEAP32[((HEAP32[($10 + 172 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0); } label$15 : { label$16 : { label$17 : { if (HEAP32[($10 + 148 | 0) >> 2] | 0) { break label$17 } if (!((HEAPU8[($10 + 159 | 0) >> 0] | 0) & 1 | 0)) { break label$16 } } HEAP32[($10 + 172 | 0) >> 2] = (HEAP32[($10 + 172 | 0) >> 2] | 0) + 64 | 0; HEAP32[($10 + 164 | 0) >> 2] = (HEAP32[($10 + 164 | 0) >> 2] | 0) + 1 | 0; break label$15; } HEAP32[($10 + 168 | 0) >> 2] = HEAP32[((HEAP32[($10 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; HEAP32[($10 + 172 | 0) >> 2] = (HEAP32[($10 + 172 | 0) >> 2] | 0) + ((HEAP32[($10 + 168 | 0) >> 2] | 0) << 6 | 0) | 0; HEAP32[($10 + 164 | 0) >> 2] = (HEAP32[($10 + 164 | 0) >> 2] | 0) + (HEAP32[($10 + 168 | 0) >> 2] | 0) | 0; } continue label$10; }; } label$18 : { if (!((HEAP32[(0 + 114084 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$18 } HEAP32[(0 + 114084 | 0) >> 2] = HEAP32[($10 + 160 | 0) >> 2] | 0; } __stack_pointer = $10 + 208 | 0; return; } function btQuantizedBvh__walkStacklessQuantizedTreeAgainstRay_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20int_29_20const($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $11 = 0, $62 = Math_fround(0), $86 = Math_fround(0), $110 = Math_fround(0), $127 = 0.0, $145 = 0, $146 = 0, $153 = 0, $154 = 0, $232 = 0, $235 = 0, $236 = 0, $238 = 0, $250 = 0, $252 = 0, $268 = 0, $270 = 0, $310 = 0, $634 = 0, $638 = 0, $653 = 0, $657 = 0, $234 = 0, $834 = 0, $847 = 0, $870 = 0, $883 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; $10 = __stack_pointer - 240 | 0; __stack_pointer = $10; HEAP32[($10 + 236 | 0) >> 2] = $0; HEAP32[($10 + 232 | 0) >> 2] = $1; HEAP32[($10 + 228 | 0) >> 2] = $2; HEAP32[($10 + 224 | 0) >> 2] = $3; HEAP32[($10 + 220 | 0) >> 2] = $4; HEAP32[($10 + 216 | 0) >> 2] = $5; HEAP32[($10 + 212 | 0) >> 2] = $6; HEAP32[($10 + 208 | 0) >> 2] = $7; $11 = HEAP32[($10 + 236 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($11 + 60 | 0) >> 0] | 0) & 1 | 0) { break label$1 } __assert_fail(76588 | 0, 73634 | 0, 563 | 0, 66211 | 0); wasm2js_trap(); } HEAP32[($10 + 204 | 0) >> 2] = HEAP32[($10 + 212 | 0) >> 2] | 0; HEAP32[($10 + 200 | 0) >> 2] = 0; HEAP32[($10 + 196 | 0) >> 2] = (HEAP32[($10 + 208 | 0) >> 2] | 0) - (HEAP32[($10 + 212 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($11 + 124 | 0 | 0, HEAP32[($10 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; HEAP32[($10 + 180 | 0) >> 2] = 0; HEAP32[($10 + 176 | 0) >> 2] = 0; HEAPF32[($10 + 172 | 0) >> 2] = Math_fround(1.0); operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 156 | 0 | 0, HEAP32[($10 + 224 | 0) >> 2] | 0 | 0, HEAP32[($10 + 228 | 0) >> 2] | 0 | 0); btVector3__normalize_28_29($10 + 156 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 140 | 0 | 0, HEAP32[($10 + 224 | 0) >> 2] | 0 | 0, HEAP32[($10 + 228 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 156 | 0 | 0, $10 + 140 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_f32$0; label$2 : { label$3 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$3 } $62 = Math_fround(999999984306749440.0); break label$2; } $62 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0, wasm2js_f32$0 = $62), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$4 : { label$5 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$5 } $86 = Math_fround(999999984306749440.0); break label$4; } $86 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 4 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0, wasm2js_f32$0 = $86), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$6 : { label$7 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$7 } $110 = Math_fround(999999984306749440.0); break label$6; } $110 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 8 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0, wasm2js_f32$0 = $110), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $127 = 0.0; (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) >> 2]) < $127), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 4 | 0) >> 2]) < $127), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; $145 = HEAP32[($10 + 228 | 0) >> 2] | 0; $146 = 8; i64toi32_i32$2 = $145 + $146 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $634 = i64toi32_i32$0; i64toi32_i32$0 = ($10 + 112 | 0) + $146 | 0; HEAP32[i64toi32_i32$0 >> 2] = $634; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $145; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $638 = i64toi32_i32$1; i64toi32_i32$1 = $10; HEAP32[($10 + 112 | 0) >> 2] = $638; HEAP32[($10 + 116 | 0) >> 2] = i64toi32_i32$0; $153 = HEAP32[($10 + 228 | 0) >> 2] | 0; $154 = 8; i64toi32_i32$2 = $153 + $154 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $653 = i64toi32_i32$0; i64toi32_i32$0 = ($10 + 96 | 0) + $154 | 0; HEAP32[i64toi32_i32$0 >> 2] = $653; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $153; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $657 = i64toi32_i32$1; i64toi32_i32$1 = $10; HEAP32[($10 + 96 | 0) >> 2] = $657; HEAP32[($10 + 100 | 0) >> 2] = i64toi32_i32$0; btVector3__setMin_28btVector3_20const__29($10 + 112 | 0 | 0, HEAP32[($10 + 224 | 0) >> 2] | 0 | 0); btVector3__setMax_28btVector3_20const__29($10 + 96 | 0 | 0, HEAP32[($10 + 224 | 0) >> 2] | 0 | 0); btVector3__operator___28btVector3_20const__29_1($10 + 112 | 0 | 0, HEAP32[($10 + 220 | 0) >> 2] | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($10 + 96 | 0 | 0, HEAP32[($10 + 216 | 0) >> 2] | 0 | 0) | 0; btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($11 | 0, $10 + 90 | 0 | 0, $10 + 112 | 0 | 0, 0 | 0); btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($11 | 0, $10 + 84 | 0 | 0, $10 + 96 | 0 | 0, 1 | 0); label$8 : { label$9 : while (1) { if (!((HEAP32[($10 + 204 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 208 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } label$10 : { if ((HEAP32[($10 + 200 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 196 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$10 } __assert_fail(81024 | 0, 73634 | 0, 626 | 0, 66211 | 0); wasm2js_trap(); } HEAP32[($10 + 200 | 0) >> 2] = (HEAP32[($10 + 200 | 0) >> 2] | 0) + 1 | 0; HEAPF32[($10 + 80 | 0) >> 2] = Math_fround(1.0); HEAP32[($10 + 176 | 0) >> 2] = 0; (wasm2js_i32$0 = $10, wasm2js_i32$1 = testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29($10 + 90 | 0 | 0, $10 + 84 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0, (HEAP32[($10 + 192 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_i32$1 = (btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($10 + 192 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 187 | 0) >> 0] = wasm2js_i32$1; label$11 : { if (!(HEAP32[($10 + 180 | 0) >> 2] | 0)) { break label$11 } $232 = $10 + 48 | 0; $234 = $232 + 32 | 0; $235 = $232; label$12 : while (1) { $236 = $235; btVector3__btVector3_28_29($236 | 0) | 0; $238 = $236 + 16 | 0; $235 = $238; if (!(($238 | 0) == ($234 | 0) & 1 | 0)) { continue label$12 } break label$12; }; btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($10 + 32 | 0 | 0, $11 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0); $250 = $10 + 48 | 0; i64toi32_i32$2 = $10; i64toi32_i32$0 = HEAP32[($10 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($10 + 36 | 0) >> 2] | 0; $834 = i64toi32_i32$0; i64toi32_i32$0 = $250; HEAP32[i64toi32_i32$0 >> 2] = $834; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $252 = 8; i64toi32_i32$2 = ($10 + 32 | 0) + $252 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $847 = i64toi32_i32$1; i64toi32_i32$1 = $250 + $252 | 0; HEAP32[i64toi32_i32$1 >> 2] = $847; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($10 + 16 | 0 | 0, $11 | 0, (HEAP32[($10 + 192 | 0) >> 2] | 0) + 6 | 0 | 0); $268 = ($10 + 48 | 0) + 16 | 0; i64toi32_i32$2 = $10; i64toi32_i32$0 = HEAP32[($10 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($10 + 20 | 0) >> 2] | 0; $870 = i64toi32_i32$0; i64toi32_i32$0 = $268; HEAP32[i64toi32_i32$0 >> 2] = $870; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $270 = 8; i64toi32_i32$2 = ($10 + 16 | 0) + $270 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $883 = i64toi32_i32$1; i64toi32_i32$1 = $268 + $270 | 0; HEAP32[i64toi32_i32$1 >> 2] = $883; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29($10 + 48 | 0 | 0, HEAP32[($10 + 216 | 0) >> 2] | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29(($10 + 48 | 0) + 16 | 0 | 0, HEAP32[($10 + 220 | 0) >> 2] | 0 | 0) | 0; btVector3__btVector3_28_29($10 | 0) | 0; (wasm2js_i32$0 = $10, wasm2js_i32$1 = (btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29(HEAP32[($10 + 228 | 0) >> 2] | 0 | 0, $10 + 156 | 0 | 0, $10 + 128 | 0 | 0, $10 + 48 | 0 | 0, $10 + 80 | 0 | 0, Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($10 + 172 | 0) >> 2]))) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; } label$13 : { if (!((HEAPU8[($10 + 187 | 0) >> 0] | 0) & 1 | 0)) { break label$13 } if (!(HEAP32[($10 + 176 | 0) >> 2] | 0)) { break label$13 } $310 = HEAP32[($10 + 232 | 0) >> 2] | 0; (((wasm2js_i32$1 = $310, wasm2js_i32$2 = btQuantizedBvhNode__getPartId_28_29_20const(HEAP32[($10 + 192 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btQuantizedBvhNode__getTriangleIndex_28_29_20const(HEAP32[($10 + 192 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$310 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); } label$14 : { label$15 : { label$16 : { if (HEAP32[($10 + 176 | 0) >> 2] | 0) { break label$16 } if (!((HEAPU8[($10 + 187 | 0) >> 0] | 0) & 1 | 0)) { break label$15 } } HEAP32[($10 + 192 | 0) >> 2] = (HEAP32[($10 + 192 | 0) >> 2] | 0) + 16 | 0; HEAP32[($10 + 204 | 0) >> 2] = (HEAP32[($10 + 204 | 0) >> 2] | 0) + 1 | 0; break label$14; } (wasm2js_i32$0 = $10, wasm2js_i32$3 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($10 + 192 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$3; HEAP32[($10 + 192 | 0) >> 2] = (HEAP32[($10 + 192 | 0) >> 2] | 0) + ((HEAP32[($10 + 188 | 0) >> 2] | 0) << 4 | 0) | 0; HEAP32[($10 + 204 | 0) >> 2] = (HEAP32[($10 + 204 | 0) >> 2] | 0) + (HEAP32[($10 + 188 | 0) >> 2] | 0) | 0; } continue label$9; }; } label$17 : { if (!((HEAP32[(0 + 114084 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$17 } HEAP32[(0 + 114084 | 0) >> 2] = HEAP32[($10 + 200 | 0) >> 2] | 0; } __stack_pointer = $10 + 240 | 0; return; } function btQuantizedBvh__reportRayOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAP32[($6 + 68 | 0) >> 2] = $2; HEAP32[($6 + 64 | 0) >> 2] = $3; $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; $8 = HEAP32[($6 + 72 | 0) >> 2] | 0; $9 = HEAP32[($6 + 68 | 0) >> 2] | 0; $10 = HEAP32[($6 + 64 | 0) >> 2] | 0; HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0) | 0; HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; btQuantizedBvh__reportBoxCastOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($7 | 0, $8 | 0, $9 | 0, $10 | 0, $6 + 48 | 0 | 0, $6 + 20 | 0 | 0); __stack_pointer = $6 + 80 | 0; return; } function btQuantizedBvh__reportBoxCastOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAP32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($9 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btQuantizedBvh__walkStacklessQuantizedTreeAgainstRay_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20int_29_20const($9 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($9 + 56 | 0) >> 2] | 0 | 0); break label$1; } btQuantizedBvh__walkStacklessTreeAgainstRay_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20int_29_20const($9 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($9 + 56 | 0) >> 2] | 0 | 0); } __stack_pointer = $8 + 32 | 0; return; } function btQuantizedBvh__serialize_28void__2c_20unsigned_20int_2c_20bool_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $307 = 0, $464 = 0, $706 = 0, $63 = 0, $65 = 0, $73 = 0, $75 = 0, $83 = 0, $85 = 0, $399 = 0, $401 = 0, $417 = 0, $419 = 0, $34 = 0, $52 = 0, $55 = 0, $847 = 0, $857 = 0, $869 = 0, $879 = 0, $891 = 0, $901 = 0, $133 = 0, $146 = 0, $159 = 0, $172 = 0, $185 = 0, $198 = 0, $209 = 0, $230 = 0, $240 = 0, $250 = 0, $260 = 0, $270 = 0, $280 = 0, $290 = 0, $352 = 0, $363 = 0, $374 = 0, $394 = 0, $1585 = 0, $1595 = 0, $410 = 0, $1623 = 0, $1633 = 0, $427 = 0, $437 = 0, $447 = 0, $493 = 0, $506 = 0, $519 = 0, $532 = 0, $545 = 0, $558 = 0, $569 = 0, $580 = 0, $601 = 0, $611 = 0, $621 = 0, $631 = 0, $641 = 0, $651 = 0, $661 = 0, $671 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; HEAP32[($6 + 60 | 0) >> 2] = $0; HEAP32[($6 + 56 | 0) >> 2] = $1; HEAP32[($6 + 52 | 0) >> 2] = $2; HEAP8[($6 + 51 | 0) >> 0] = $3; $8 = HEAP32[($6 + 60 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($8 + 168 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($8 + 148 | 0 | 0) | 0 | 0) & 1 | 0) { break label$1 } __assert_fail(87521 | 0, 73634 | 0, 867 | 0, 80835 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($8 + 148 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 44 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; FUNCTION_TABLE[787 | 0](btQuantizedBvh__operator_20new_28unsigned_20long_2c_20void__29(172 | 0, HEAP32[($6 + 44 | 0) >> 2] | 0 | 0) | 0) | 0; label$2 : { label$3 : { if (!((HEAPU8[($6 + 51 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } $34 = btSwapEndian_28int_29(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] = $34; btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29($8 + 4 | 0 | 0, (HEAP32[($6 + 44 | 0) >> 2] | 0) + 4 | 0 | 0); btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29($8 + 20 | 0 | 0, (HEAP32[($6 + 44 | 0) >> 2] | 0) + 20 | 0 | 0); btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29($8 + 36 | 0 | 0, (HEAP32[($6 + 44 | 0) >> 2] | 0) + 36 | 0 | 0); $52 = btSwapEndian_28int_29(HEAP32[($8 + 144 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] = $52; $55 = btSwapEndian_28int_29(HEAP32[($8 + 168 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 168 | 0) >> 2] = $55; break label$2; } HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8 + 56 | 0) >> 2] | 0; $63 = (HEAP32[($6 + 44 | 0) >> 2] | 0) + 4 | 0; i64toi32_i32$2 = $8 + 4 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $847 = i64toi32_i32$0; i64toi32_i32$0 = $63; HEAP32[i64toi32_i32$0 >> 2] = $847; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $65 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $65 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $857 = i64toi32_i32$1; i64toi32_i32$1 = $63 + $65 | 0; HEAP32[i64toi32_i32$1 >> 2] = $857; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $73 = (HEAP32[($6 + 44 | 0) >> 2] | 0) + 20 | 0; i64toi32_i32$2 = $8 + 20 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $869 = i64toi32_i32$0; i64toi32_i32$0 = $73; HEAP32[i64toi32_i32$0 >> 2] = $869; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $75 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $75 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $879 = i64toi32_i32$1; i64toi32_i32$1 = $73 + $75 | 0; HEAP32[i64toi32_i32$1 >> 2] = $879; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $83 = (HEAP32[($6 + 44 | 0) >> 2] | 0) + 36 | 0; i64toi32_i32$2 = $8 + 36 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $891 = i64toi32_i32$0; i64toi32_i32$0 = $83; HEAP32[i64toi32_i32$0 >> 2] = $891; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $85 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $85 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $901 = i64toi32_i32$1; i64toi32_i32$1 = $83 + $85 | 0; HEAP32[i64toi32_i32$1 >> 2] = $901; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($8 + 144 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 168 | 0) >> 2] = HEAP32[($8 + 168 | 0) >> 2] | 0; } HEAP8[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 60 | 0) >> 0] = (HEAPU8[($8 + 60 | 0) >> 0] | 0) & 1 | 0; HEAP32[($6 + 40 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + 172 | 0; HEAP32[($6 + 36 | 0) >> 2] = 0; HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + (HEAP32[($6 + 36 | 0) >> 2] | 0) | 0; HEAP32[($6 + 32 | 0) >> 2] = HEAP32[($8 + 56 | 0) >> 2] | 0; label$4 : { label$5 : { if (!((HEAPU8[($8 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btQuantizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); label$6 : { label$7 : { if (!((HEAPU8[($6 + 51 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } HEAP32[($6 + 28 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } $133 = btSwapEndian_28unsigned_20short_29((HEAPU16[(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $133), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; $146 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $146), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; $159 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $159), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; $172 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $172), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; $185 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $185), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; $198 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $198), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; $209 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $209), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$9; }; } break label$6; } HEAP32[($6 + 24 | 0) >> 2] = 0; label$10 : { label$11 : while (1) { if (!((HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } $230 = HEAPU16[(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $230), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; $240 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $240), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; $250 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $250), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; $260 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $260), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; $270 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $270), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; $280 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $280), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; $290 = HEAP32[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $290), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$11; }; } } HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 32 | 0) >> 2] | 0) << 4 | 0) | 0; $307 = 0; btAlignedObjectArray_btQuantizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, $307 | 0, $307 | 0, $307 | 0); break label$4; } btAlignedObjectArray_btOptimizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); label$12 : { label$13 : { if (!((HEAPU8[($6 + 51 | 0) >> 0] | 0) & 1 | 0)) { break label$13 } HEAP32[($6 + 20 | 0) >> 2] = 0; label$14 : { label$15 : while (1) { if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0); $352 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $352), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $363 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 36 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $363), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; $374 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 40 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $374), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$15; }; } break label$12; } HEAP32[($6 + 16 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } $394 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; $399 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $394; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1585 = i64toi32_i32$0; i64toi32_i32$0 = $399; HEAP32[i64toi32_i32$0 >> 2] = $1585; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $401 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $401 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1595 = i64toi32_i32$1; i64toi32_i32$1 = $399 + $401 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1595; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $410 = (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; $417 = (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; i64toi32_i32$2 = $410; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1623 = i64toi32_i32$0; i64toi32_i32$0 = $417; HEAP32[i64toi32_i32$0 >> 2] = $1623; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $419 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $419 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1633 = i64toi32_i32$1; i64toi32_i32$1 = $417 + $419 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1633; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $427 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $427), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $437 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 36 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $437), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; $447 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $447), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 16 | 0) >> 2] = (HEAP32[($6 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } } HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 32 | 0) >> 2] | 0) << 6 | 0) | 0; $464 = 0; btAlignedObjectArray_btOptimizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, $464 | 0, $464 | 0, $464 | 0); } HEAP32[($6 + 36 | 0) >> 2] = 0; HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + (HEAP32[($6 + 36 | 0) >> 2] | 0) | 0; btAlignedObjectArray_btBvhSubtreeInfo___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8 + 168 | 0) >> 2] | 0 | 0); label$18 : { label$19 : { if (!((HEAPU8[($6 + 51 | 0) >> 0] | 0) & 1 | 0)) { break label$19 } HEAP32[($6 + 12 | 0) >> 2] = 0; label$20 : { label$21 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$20 } $493 = btSwapEndian_28unsigned_20short_29((HEAPU16[(btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $493), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; $506 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $506), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; $519 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $519), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; $532 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $532), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; $545 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $545), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; $558 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $558), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; $569 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $569), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $580 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 16 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $580), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$21; }; } break label$18; } HEAP32[($6 + 8 | 0) >> 2] = 0; label$22 : { label$23 : while (1) { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$22 } $601 = HEAPU16[(btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $601), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; $611 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $611), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; $621 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $621), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; $631 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $631), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; $641 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $641), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; $651 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $651), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; $661 = HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $661), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $671 = HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $671), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$23; }; } } HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 168 | 0) >> 2] | 0) << 5 | 0) | 0; $706 = 0; btAlignedObjectArray_btBvhSubtreeInfo___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, $706 | 0, $706 | 0, $706 | 0); HEAP32[(HEAP32[($6 + 56 | 0) >> 2] | 0) >> 2] = 0; __stack_pointer = $6 + 64 | 0; return 1 & 1 | 0 | 0; } function btQuantizedBvh__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btSwapEndian_28int_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = btSwapEndian_28unsigned_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$1 } btSwapScalarEndian_28float_20const__2c_20float__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (btVector3__operator_20float__28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btQuantizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btQuantizedBvhNode___clear_28_29($7 | 0); HEAP8[($7 + 16 | 0) >> 0] = 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; __stack_pointer = $6 + 16 | 0; return; } function btSwapEndian_28unsigned_20short_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP16[($3 + 14 | 0) >> 1] = $0; return ((((HEAPU16[($3 + 14 | 0) >> 1] | 0) & 65535 | 0) & 65280 | 0) >> 8 | 0 | ((((HEAPU16[($3 + 14 | 0) >> 1] | 0) & 65535 | 0) & 255 | 0) << 8 | 0) | 0) & 65535 | 0 | 0; } function btAlignedObjectArray_btOptimizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btOptimizedBvhNode___clear_28_29($7 | 0); HEAP8[($7 + 16 | 0) >> 0] = 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; __stack_pointer = $6 + 16 | 0; return; } function btAlignedObjectArray_btBvhSubtreeInfo___initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btBvhSubtreeInfo___clear_28_29($7 | 0); HEAP8[($7 + 16 | 0) >> 0] = 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; __stack_pointer = $6 + 16 | 0; return; } function btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 5 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btSwapEndian_28unsigned_20int_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return ((HEAP32[($3 + 12 | 0) >> 2] | 0) & -16777216 | 0) >>> 24 | 0 | (((HEAP32[($3 + 12 | 0) >> 2] | 0) & 16711680 | 0) >>> 8 | 0) | 0 | (((HEAP32[($3 + 12 | 0) >> 2] | 0) & 65280 | 0) << 8 | 0) | 0 | (((HEAP32[($3 + 12 | 0) >> 2] | 0) & 255 | 0) << 24 | 0) | 0 | 0; } function btSwapScalarEndian_28float_20const__2c_20float__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP8[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 0] = HEAPU8[((HEAP32[$4 >> 2] | 0) + 3 | 0) >> 0] | 0; HEAP8[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[((HEAP32[$4 >> 2] | 0) + 2 | 0) >> 0] | 0; HEAP8[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAPU8[((HEAP32[$4 >> 2] | 0) + 1 | 0) >> 0] | 0; HEAP8[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 3 | 0) >> 0] = HEAPU8[(HEAP32[$4 >> 2] | 0) >> 0] | 0; return; } function btQuantizedBvh__deSerializeFloat_28btQuantizedBvhFloatData__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $36 = 0, $111 = 0, $33 = 0, $81 = 0, $87 = 0, $93 = 0, $108 = 0, $127 = 0, $133 = 0, $139 = 0, $145 = 0, $151 = 0, $157 = 0, $163 = 0, $180 = 0, $199 = 0, $205 = 0, $211 = 0, $217 = 0, $223 = 0, $229 = 0, $235 = 0, $241 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 176 | 0; __stack_pointer = $4; HEAP32[($4 + 172 | 0) >> 2] = $0; HEAP32[($4 + 168 | 0) >> 2] = $1; $5 = HEAP32[($4 + 172 | 0) >> 2] | 0; btVector3__deSerializeFloat_28btVector3FloatData_20const__29($5 + 20 | 0 | 0, (HEAP32[($4 + 168 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__deSerializeFloat_28btVector3FloatData_20const__29($5 + 4 | 0 | 0, HEAP32[($4 + 168 | 0) >> 2] | 0 | 0); btVector3__deSerializeFloat_28btVector3FloatData_20const__29($5 + 36 | 0 | 0, (HEAP32[($4 + 168 | 0) >> 2] | 0) + 32 | 0 | 0); HEAP32[($5 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; HEAP8[($5 + 60 | 0) >> 0] = (HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; HEAP32[($4 + 164 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; $33 = HEAP32[($4 + 164 | 0) >> 2] | 0; i64toi32_i32$0 = 0; $36 = 0; i64toi32_i32$1 = $4 + 152 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 144 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 136 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 128 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 120 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 112 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 104 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4; HEAP32[($4 + 96 | 0) >> 2] = $36; HEAP32[($4 + 100 | 0) >> 2] = i64toi32_i32$0; btOptimizedBvhNode__btOptimizedBvhNode_28_29($4 + 96 | 0 | 0) | 0; btAlignedObjectArray_btOptimizedBvhNode___resize_28int_2c_20btOptimizedBvhNode_20const__29($5 + 84 | 0 | 0, $33 | 0, $4 + 96 | 0 | 0); label$1 : { if (!(HEAP32[($4 + 164 | 0) >> 2] | 0)) { break label$1 } HEAP32[($4 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; HEAP32[($4 + 88 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 164 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } btVector3__deSerializeFloat_28btVector3FloatData_20const__29((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, (HEAP32[($4 + 92 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__deSerializeFloat_28btVector3FloatData_20const__29(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 92 | 0) >> 2] | 0 | 0); $81 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $81), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $87 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $87), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; $93 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $93), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 88 | 0) >> 2] = (HEAP32[($4 + 88 | 0) >> 2] | 0) + 1 | 0; HEAP32[($4 + 92 | 0) >> 2] = (HEAP32[($4 + 92 | 0) >> 2] | 0) + 48 | 0; continue label$3; }; } } HEAP32[($4 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; $108 = HEAP32[($4 + 84 | 0) >> 2] | 0; i64toi32_i32$0 = 0; $111 = 0; i64toi32_i32$1 = $4 + 72 | 0; HEAP32[i64toi32_i32$1 >> 2] = $111; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4; HEAP32[($4 + 64 | 0) >> 2] = $111; HEAP32[($4 + 68 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btQuantizedBvhNode___resize_28int_2c_20btQuantizedBvhNode_20const__29($5 + 124 | 0 | 0, $108 | 0, $4 + 64 | 0 | 0); label$4 : { if (!(HEAP32[($4 + 84 | 0) >> 2] | 0)) { break label$4 } HEAP32[($4 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; HEAP32[($4 + 56 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } $127 = HEAP32[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $127), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $133 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $133), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; $139 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $139), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; $145 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $145), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; $151 = HEAPU16[(HEAP32[($4 + 60 | 0) >> 2] | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $151), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; $157 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $157), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; $163 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $163), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; HEAP32[($4 + 56 | 0) >> 2] = (HEAP32[($4 + 56 | 0) >> 2] | 0) + 1 | 0; HEAP32[($4 + 60 | 0) >> 2] = (HEAP32[($4 + 60 | 0) >> 2] | 0) + 16 | 0; continue label$6; }; } } HEAP32[($5 + 144 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; HEAP32[($4 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; $180 = HEAP32[($4 + 52 | 0) >> 2] | 0; btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($4 + 20 | 0 | 0) | 0; btAlignedObjectArray_btBvhSubtreeInfo___resize_28int_2c_20btBvhSubtreeInfo_20const__29($5 + 148 | 0 | 0, $180 | 0, $4 + 20 | 0 | 0); label$7 : { if (!(HEAP32[($4 + 52 | 0) >> 2] | 0)) { break label$7 } HEAP32[($4 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } $199 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $199), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; $205 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $205), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; $211 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $211), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; $217 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $217), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; $223 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $223), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; $229 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $229), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; $235 = HEAP32[(HEAP32[($4 + 16 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $235), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $241 = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $241), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 20 | 0; continue label$9; }; } } __stack_pointer = $4 + 176 | 0; return; } function btVector3__deSerializeFloat_28btVector3FloatData_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$1 } HEAPF32[($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btOptimizedBvhNode__btOptimizedBvhNode_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btOptimizedBvhNode___resize_28int_2c_20btOptimizedBvhNode_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $48 = 0, $49 = 0, $6 = 0, $51 = 0, $55 = 0, $59 = 0, $63 = 0, $67 = 0, $71 = 0, $75 = 0, $195 = 0, $205 = 0, $215 = 0, $225 = 0, $235 = 0, $245 = 0, $255 = 0, $265 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btOptimizedBvhNode___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } $48 = btOptimizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(64 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 6 | 0) | 0 | 0) | 0; $49 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$2 = $49; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $195 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $195; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $51 = 56; i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $205 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $51 | 0; HEAP32[i64toi32_i32$1 >> 2] = $205; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $55 = 48; i64toi32_i32$2 = $49 + $55 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $215 = i64toi32_i32$0; i64toi32_i32$0 = $48 + $55 | 0; HEAP32[i64toi32_i32$0 >> 2] = $215; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $59 = 40; i64toi32_i32$2 = $49 + $59 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $225 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $59 | 0; HEAP32[i64toi32_i32$1 >> 2] = $225; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $63 = 32; i64toi32_i32$2 = $49 + $63 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $235 = i64toi32_i32$0; i64toi32_i32$0 = $48 + $63 | 0; HEAP32[i64toi32_i32$0 >> 2] = $235; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $67 = 24; i64toi32_i32$2 = $49 + $67 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $245 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $67 | 0; HEAP32[i64toi32_i32$1 >> 2] = $245; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $71 = 16; i64toi32_i32$2 = $49 + $71 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $255 = i64toi32_i32$0; i64toi32_i32$0 = $48 + $71 | 0; HEAP32[i64toi32_i32$0 >> 2] = $255; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $75 = 8; i64toi32_i32$2 = $49 + $75 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $265 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $75 | 0; HEAP32[i64toi32_i32$1 >> 2] = $265; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btBvhSubtreeInfo___resize_28int_2c_20btBvhSubtreeInfo_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $48 = 0, $49 = 0, $51 = 0, $55 = 0, $59 = 0, $179 = 0, $189 = 0, $199 = 0, $209 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btBvhSubtreeInfo___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } $48 = btBvhSubtreeInfo__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; $49 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$2 = $49; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $179 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $179; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $51 = 24; i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $189 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $51 | 0; HEAP32[i64toi32_i32$1 >> 2] = $189; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $55 = 16; i64toi32_i32$2 = $49 + $55 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $199 = i64toi32_i32$0; i64toi32_i32$0 = $48 + $55 | 0; HEAP32[i64toi32_i32$0 >> 2] = $199; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $59 = 8; i64toi32_i32$2 = $49 + $59 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $209 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $59 | 0; HEAP32[i64toi32_i32$1 >> 2] = $209; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btOptimizedBvhNode___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btOptimizedBvhNode___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btOptimizedBvhNode___copy_28int_2c_20int_2c_20btOptimizedBvhNode__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btOptimizedBvhNode___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btOptimizedBvhNode___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btOptimizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btQuantizedBvh__deSerializeDouble_28btQuantizedBvhDoubleData__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $36 = 0, $111 = 0, $33 = 0, $81 = 0, $87 = 0, $93 = 0, $108 = 0, $127 = 0, $133 = 0, $139 = 0, $145 = 0, $151 = 0, $157 = 0, $163 = 0, $180 = 0, $199 = 0, $205 = 0, $211 = 0, $217 = 0, $223 = 0, $229 = 0, $235 = 0, $241 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 176 | 0; __stack_pointer = $4; HEAP32[($4 + 172 | 0) >> 2] = $0; HEAP32[($4 + 168 | 0) >> 2] = $1; $5 = HEAP32[($4 + 172 | 0) >> 2] | 0; btVector3__deSerializeDouble_28btVector3DoubleData_20const__29($5 + 20 | 0 | 0, (HEAP32[($4 + 168 | 0) >> 2] | 0) + 32 | 0 | 0); btVector3__deSerializeDouble_28btVector3DoubleData_20const__29($5 + 4 | 0 | 0, HEAP32[($4 + 168 | 0) >> 2] | 0 | 0); btVector3__deSerializeDouble_28btVector3DoubleData_20const__29($5 + 36 | 0 | 0, (HEAP32[($4 + 168 | 0) >> 2] | 0) + 64 | 0 | 0); HEAP32[($5 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; HEAP8[($5 + 60 | 0) >> 0] = (HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; HEAP32[($4 + 164 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; $33 = HEAP32[($4 + 164 | 0) >> 2] | 0; i64toi32_i32$0 = 0; $36 = 0; i64toi32_i32$1 = $4 + 152 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 144 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 136 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 128 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 120 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 112 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 104 | 0; HEAP32[i64toi32_i32$1 >> 2] = $36; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4; HEAP32[($4 + 96 | 0) >> 2] = $36; HEAP32[($4 + 100 | 0) >> 2] = i64toi32_i32$0; btOptimizedBvhNode__btOptimizedBvhNode_28_29($4 + 96 | 0 | 0) | 0; btAlignedObjectArray_btOptimizedBvhNode___resize_28int_2c_20btOptimizedBvhNode_20const__29($5 + 84 | 0 | 0, $33 | 0, $4 + 96 | 0 | 0); label$1 : { if (!(HEAP32[($4 + 164 | 0) >> 2] | 0)) { break label$1 } HEAP32[($4 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; HEAP32[($4 + 88 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 164 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } btVector3__deSerializeDouble_28btVector3DoubleData_20const__29((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, (HEAP32[($4 + 92 | 0) >> 2] | 0) + 32 | 0 | 0); btVector3__deSerializeDouble_28btVector3DoubleData_20const__29(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 92 | 0) >> 2] | 0 | 0); $81 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $81), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $87 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $87), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; $93 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $93), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 88 | 0) >> 2] = (HEAP32[($4 + 88 | 0) >> 2] | 0) + 1 | 0; HEAP32[($4 + 92 | 0) >> 2] = (HEAP32[($4 + 92 | 0) >> 2] | 0) + 80 | 0; continue label$3; }; } } HEAP32[($4 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; $108 = HEAP32[($4 + 84 | 0) >> 2] | 0; i64toi32_i32$0 = 0; $111 = 0; i64toi32_i32$1 = $4 + 72 | 0; HEAP32[i64toi32_i32$1 >> 2] = $111; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4; HEAP32[($4 + 64 | 0) >> 2] = $111; HEAP32[($4 + 68 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btQuantizedBvhNode___resize_28int_2c_20btQuantizedBvhNode_20const__29($5 + 124 | 0 | 0, $108 | 0, $4 + 64 | 0 | 0); label$4 : { if (!(HEAP32[($4 + 84 | 0) >> 2] | 0)) { break label$4 } HEAP32[($4 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; HEAP32[($4 + 56 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } $127 = HEAP32[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $127), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $133 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $133), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; $139 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $139), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; $145 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $145), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; $151 = HEAPU16[(HEAP32[($4 + 60 | 0) >> 2] | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $151), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; $157 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $157), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; $163 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $163), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; HEAP32[($4 + 56 | 0) >> 2] = (HEAP32[($4 + 56 | 0) >> 2] | 0) + 1 | 0; HEAP32[($4 + 60 | 0) >> 2] = (HEAP32[($4 + 60 | 0) >> 2] | 0) + 16 | 0; continue label$6; }; } } HEAP32[($5 + 144 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; HEAP32[($4 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; $180 = HEAP32[($4 + 52 | 0) >> 2] | 0; btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($4 + 20 | 0 | 0) | 0; btAlignedObjectArray_btBvhSubtreeInfo___resize_28int_2c_20btBvhSubtreeInfo_20const__29($5 + 148 | 0 | 0, $180 | 0, $4 + 20 | 0 | 0); label$7 : { if (!(HEAP32[($4 + 52 | 0) >> 2] | 0)) { break label$7 } HEAP32[($4 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } $199 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $199), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; $205 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $205), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; $211 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $211), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; $217 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $217), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; $223 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $223), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; $229 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $229), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; $235 = HEAP32[(HEAP32[($4 + 16 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $235), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $241 = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $241), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 20 | 0; continue label$9; }; } } __stack_pointer = $4 + 176 | 0; return; } function btVector3__deSerializeDouble_28btVector3DoubleData_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$1 } HEAPF32[($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]); HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btQuantizedBvh__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $34 = 0, $42 = 0, $58 = 0, $116 = 0, $133 = 0, $141 = 0, $157 = 0, $221 = 0, $240 = 0, $248 = 0, $264 = 0, $334 = 0, $29 = 0, $92 = 0, $98 = 0, $104 = 0, $128 = 0, $177 = 0, $183 = 0, $189 = 0, $195 = 0, $201 = 0, $207 = 0, $213 = 0, $235 = 0, $284 = 0, $290 = 0, $296 = 0, $302 = 0, $308 = 0, $314 = 0, $320 = 0, $326 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $5 = __stack_pointer - 80 | 0; __stack_pointer = $5; HEAP32[($5 + 76 | 0) >> 2] = $0; HEAP32[($5 + 72 | 0) >> 2] = $1; HEAP32[($5 + 68 | 0) >> 2] = $2; $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; HEAP32[($5 + 64 | 0) >> 2] = HEAP32[($5 + 72 | 0) >> 2] | 0; btVector3__serialize_28btVector3FloatData__29_20const($6 + 20 | 0 | 0, (HEAP32[($5 + 64 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 4 | 0 | 0, HEAP32[($5 + 64 | 0) >> 2] | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 36 | 0 | 0, (HEAP32[($5 + 64 | 0) >> 2] | 0) + 32 | 0 | 0); HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0; $29 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($6 + 84 | 0 | 0) | 0; HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] = $29; label$1 : { label$2 : { if (!(btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($6 + 84 | 0 | 0) | 0)) { break label$2 } $34 = HEAP32[($5 + 68 | 0) >> 2] | 0; $42 = (((wasm2js_i32$1 = $34, wasm2js_i32$2 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$34 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0); break label$1; } $42 = 0; } HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 64 | 0) >> 2] = $42; label$3 : { if (!((HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 60 | 0) >> 2] = 48; (wasm2js_i32$0 = $5, wasm2js_i32$2 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($6 + 84 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$2; $58 = HEAP32[($5 + 68 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$2 = FUNCTION_TABLE[HEAP32[((HEAP32[$58 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($58, HEAP32[($5 + 60 | 0) >> 2] | 0, HEAP32[($5 + 56 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$2; HEAP32[($5 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($5 + 44 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } btVector3__serialize_28btVector3FloatData__29_20const((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, (HEAP32[($5 + 48 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0); $92 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] = $92; $98 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 36 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] = $98; $104 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 40 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] = $104; HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; HEAP32[($5 + 44 | 0) >> 2] = (HEAP32[($5 + 44 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 48 | 0) >> 2] = (HEAP32[($5 + 48 | 0) >> 2] | 0) + 48 | 0; continue label$5; }; } $116 = HEAP32[($5 + 68 | 0) >> 2] | 0; (((((wasm2js_i32$2 = $116, wasm2js_i32$1 = HEAP32[($5 + 52 | 0) >> 2] | 0), wasm2js_i32$3 = 83676), wasm2js_i32$4 = 1497453121), wasm2js_i32$5 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$116 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$2 | 0, wasm2js_i32$1 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0); } $128 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($6 + 124 | 0 | 0) | 0; HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 60 | 0) >> 2] = $128; label$6 : { label$7 : { if (!(btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($6 + 124 | 0 | 0) | 0)) { break label$7 } $133 = HEAP32[($5 + 68 | 0) >> 2] | 0; $141 = (((wasm2js_i32$5 = $133, wasm2js_i32$4 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$133 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$5 | 0, wasm2js_i32$4 | 0) | 0); break label$6; } $141 = 0; } HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 68 | 0) >> 2] = $141; label$8 : { if (!((HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } HEAP32[($5 + 40 | 0) >> 2] = 16; (wasm2js_i32$0 = $5, wasm2js_i32$4 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($6 + 124 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$4; $157 = HEAP32[($5 + 68 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$4 = FUNCTION_TABLE[HEAP32[((HEAP32[$157 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($157, HEAP32[($5 + 40 | 0) >> 2] | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$4; HEAP32[($5 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($5 + 24 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } $177 = HEAP32[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $177; $183 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 6 | 0) >> 1] = $183; $189 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] = $189; $195 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 10 | 0) >> 1] = $195; $201 = HEAPU16[(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0; HEAP16[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 1] = $201; $207 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 2 | 0) >> 1] = $207; $213 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 1] = $213; HEAP32[($5 + 24 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 28 | 0) >> 2] | 0) + 16 | 0; continue label$10; }; } $221 = HEAP32[($5 + 68 | 0) >> 2] | 0; (((((wasm2js_i32$4 = $221, wasm2js_i32$5 = HEAP32[($5 + 32 | 0) >> 2] | 0), wasm2js_i32$3 = 83653), wasm2js_i32$1 = 1497453121), wasm2js_i32$2 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$221 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$5 | 0, wasm2js_i32$3 | 0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0); } HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($6 + 144 | 0) >> 2] | 0; $235 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 + 148 | 0 | 0) | 0; HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 80 | 0) >> 2] = $235; label$11 : { label$12 : { if (!(btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 + 148 | 0 | 0) | 0)) { break label$12 } $240 = HEAP32[($5 + 68 | 0) >> 2] | 0; $248 = (((wasm2js_i32$2 = $240, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$240 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$2 | 0, wasm2js_i32$1 | 0) | 0); break label$11; } $248 = 0; } HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 72 | 0) >> 2] = $248; label$13 : { if (!((HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$13 } HEAP32[($5 + 20 | 0) >> 2] = 20; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 + 148 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; $264 = HEAP32[($5 + 68 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$264 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($264, HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = 0; label$14 : { label$15 : while (1) { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } $284 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 14 | 0) >> 1] = $284; $290 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] = $290; $296 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 18 | 0) >> 1] = $296; $302 = HEAPU16[(btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = $302; $308 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 10 | 0) >> 1] = $308; $314 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0; HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 12 | 0) >> 1] = $314; $320 = HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0; HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] = $320; $326 = HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 16 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $326; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 20 | 0; continue label$15; }; } $334 = HEAP32[($5 + 68 | 0) >> 2] | 0; (((((wasm2js_i32$1 = $334, wasm2js_i32$2 = HEAP32[($5 + 12 | 0) >> 2] | 0), wasm2js_i32$3 = 83413), wasm2js_i32$5 = 1497453121), wasm2js_i32$4 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$334 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$5 | 0, wasm2js_i32$4 | 0); } __stack_pointer = $5 + 80 | 0; return 83345 | 0; } function btQuantizedBvh__calculateSerializeBufferSizeNew_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 84 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btBvhSubtreeInfo___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___deallocate_28btBvhSubtreeInfo__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___deallocate_28btBvhSubtreeInfo__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btQuantizedBvhNode___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btQuantizedBvhNode___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btQuantizedBvhNode_2c_2016u___allocate_28int_2c_20btQuantizedBvhNode_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btQuantizedBvhNode___copy_28int_2c_20int_2c_20btQuantizedBvhNode__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22 = 0, $29 = 0, $7 = 0, $97 = 0, $107 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $22 = btQuantizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $97 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $97; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $107 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $107; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedAllocator_btQuantizedBvhNode_2c_2016u___allocate_28int_2c_20btQuantizedBvhNode_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btQuantizedBvhNode_2c_2016u___deallocate_28btQuantizedBvhNode__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btBvhSubtreeInfo___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___allocate_28int_2c_20btBvhSubtreeInfo_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btBvhSubtreeInfo___copy_28int_2c_20int_2c_20btBvhSubtreeInfo__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0, $27 = 0, $29 = 0, $33 = 0, $37 = 0, $7 = 0, $105 = 0, $115 = 0, $125 = 0, $135 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $22 = btBvhSubtreeInfo__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; $27 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 5 | 0) | 0; i64toi32_i32$2 = $27; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $105 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $105; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 24; i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $115 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $115; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $33 = 16; i64toi32_i32$2 = $27 + $33 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $125 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $33 | 0; HEAP32[i64toi32_i32$0 >> 2] = $125; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $37 = 8; i64toi32_i32$2 = $27 + $37 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $135 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $37 | 0; HEAP32[i64toi32_i32$1 >> 2] = $135; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___allocate_28int_2c_20btBvhSubtreeInfo_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btOptimizedBvhNode_2c_2016u___deallocate_28btOptimizedBvhNode__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btOptimizedBvhNode___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btOptimizedBvhNode___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btOptimizedBvhNode_2c_2016u___allocate_28int_2c_20btOptimizedBvhNode_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btOptimizedBvhNode___copy_28int_2c_20int_2c_20btOptimizedBvhNode__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $22 = 0, $27 = 0, $29 = 0, $33 = 0, $37 = 0, $41 = 0, $45 = 0, $49 = 0, $53 = 0, $7 = 0, $121 = 0, $131 = 0, $141 = 0, $151 = 0, $161 = 0, $171 = 0, $181 = 0, $191 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $22 = btOptimizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(64 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 6 | 0) | 0 | 0) | 0; $27 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 6 | 0) | 0; i64toi32_i32$2 = $27; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $121 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $121; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 56; i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $131 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $131; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $33 = 48; i64toi32_i32$2 = $27 + $33 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $141 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $33 | 0; HEAP32[i64toi32_i32$0 >> 2] = $141; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $37 = 40; i64toi32_i32$2 = $27 + $37 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $151 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $37 | 0; HEAP32[i64toi32_i32$1 >> 2] = $151; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $41 = 32; i64toi32_i32$2 = $27 + $41 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $161 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $41 | 0; HEAP32[i64toi32_i32$0 >> 2] = $161; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $45 = 24; i64toi32_i32$2 = $27 + $45 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $171 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $45 | 0; HEAP32[i64toi32_i32$1 >> 2] = $171; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $49 = 16; i64toi32_i32$2 = $27 + $49 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $181 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $49 | 0; HEAP32[i64toi32_i32$0 >> 2] = $181; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $53 = 8; i64toi32_i32$2 = $27 + $53 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $191 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $53 | 0; HEAP32[i64toi32_i32$1 >> 2] = $191; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedAllocator_btOptimizedBvhNode_2c_2016u___allocate_28int_2c_20btOptimizedBvhNode_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 6 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btQuantizedBvh_cpp() { __cxx_global_var_init_29(); return; } function __cxx_global_var_init_30() { btInfMaskConverter__btInfMaskConverter_28int_29(114088 | 0, 2139095040 | 0) | 0; return; } function btBvhTriangleMeshShape__btBvhTriangleMeshShape_28btStridingMeshInterface__2c_20bool_2c_20bool_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $9 = 0, $24 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 8 | 0) >> 2] = $0; HEAP32[($6 + 4 | 0) >> 2] = $1; HEAP8[($6 + 3 | 0) >> 0] = $2; HEAP8[($6 + 2 | 0) >> 0] = $3; $9 = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = $9; btTriangleMeshShape__btTriangleMeshShape_28btStridingMeshInterface__29($9 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[$9 >> 2] = 97016 + 8 | 0; HEAP32[($9 + 60 | 0) >> 2] = 0; HEAP32[($9 + 64 | 0) >> 2] = 0; HEAP8[($9 + 68 | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; HEAP8[($9 + 69 | 0) >> 0] = 0; HEAP32[($9 + 4 | 0) >> 2] = 21; label$1 : { if (!((HEAPU8[($6 + 2 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btBvhTriangleMeshShape__buildOptimizedBvh_28_29($9 | 0); } $24 = HEAP32[($6 + 12 | 0) >> 2] | 0; __stack_pointer = $6 + 16 | 0; return $24 | 0; } function btBvhTriangleMeshShape__buildOptimizedBvh_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $8 = 0, $17 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($4 + 69 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $8 = HEAP32[($4 + 60 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$8 >> 2] | 0) >> 2] | 0 | 0]($8) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0); } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(172 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $17 = btOptimizedBvh__operator_20new_28unsigned_20long_2c_20void__29(172 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; btOptimizedBvh__btOptimizedBvh_28_29($17 | 0) | 0; HEAP32[($4 + 60 | 0) >> 2] = $17; btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 68 | 0) >> 0] | 0) & 1 | 0 | 0, $4 + 24 | 0 | 0, $4 + 40 | 0 | 0); HEAP8[($4 + 69 | 0) >> 0] = 1; __stack_pointer = $3 + 16 | 0; return; } function btOptimizedBvh__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btBvhTriangleMeshShape___btBvhTriangleMeshShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $11 = 0, $15 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 97016 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 69 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $11 = HEAP32[($4 + 60 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$11 >> 2] | 0) >> 2] | 0 | 0]($11) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0); } btTriangleMeshShape___btTriangleMeshShape_28_29($4 | 0) | 0; $15 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $15 | 0; } function btBvhTriangleMeshShape___btBvhTriangleMeshShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[794 | 0]($4) | 0; btBvhTriangleMeshShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBvhTriangleMeshShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($6 + 4 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) | 0; btQuantizedBvh__reportRayOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const(HEAP32[($7 + 60 | 0) >> 2] | 0 | 0, $6 + 4 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($6 + 4 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return; } function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btNodeOverlapCallback__btNodeOverlapCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 97148 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btNodeOverlapCallback___btNodeOverlapCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btNodeOverlapCallback__btNodeOverlapCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 97316 + 8 | 0; return $4 | 0; } function btNodeOverlapCallback___btNodeOverlapCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0; $8 = __stack_pointer - 48 | 0; __stack_pointer = $8; HEAP32[($8 + 44 | 0) >> 2] = $0; HEAP32[($8 + 40 | 0) >> 2] = $1; HEAP32[($8 + 36 | 0) >> 2] = $2; HEAP32[($8 + 32 | 0) >> 2] = $3; HEAP32[($8 + 28 | 0) >> 2] = $4; HEAP32[($8 + 24 | 0) >> 2] = $5; $9 = HEAP32[($8 + 44 | 0) >> 2] | 0; btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($8 + 12 | 0 | 0, HEAP32[($8 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0; btQuantizedBvh__reportBoxCastOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const(HEAP32[($9 + 60 | 0) >> 2] | 0 | 0, $8 + 12 | 0 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0); btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($8 + 12 | 0 | 0) | 0; __stack_pointer = $8 + 48 | 0; return; } function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btNodeOverlapCallback__btNodeOverlapCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 97336 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btNodeOverlapCallback___btNodeOverlapCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAP32[($6 + 68 | 0) >> 2] = $2; HEAP32[($6 + 64 | 0) >> 2] = $3; $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($6 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) | 0; btQuantizedBvh__reportAabbOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const(HEAP32[($7 + 60 | 0) >> 2] | 0 | 0, $6 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6 + 64 | 0) >> 2] | 0 | 0); btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($6 | 0) | 0; __stack_pointer = $6 + 80 | 0; return; } function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $13 = 0, $16 = 0, $17 = 0, $19 = 0, $15 = 0, $26 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 8 | 0) >> 2] = $0; HEAP32[($5 + 4 | 0) >> 2] = $1; HEAP32[$5 >> 2] = $2; $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = $6; btNodeOverlapCallback__btNodeOverlapCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 97484 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[$5 >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; $13 = $6 + 12 | 0; $15 = $13 + 48 | 0; $16 = $13; label$1 : while (1) { $17 = $16; btVector3__btVector3_28_29($17 | 0) | 0; $19 = $17 + 16 | 0; $16 = $19; if (!(($19 | 0) == ($15 | 0) & 1 | 0)) { continue label$1 } break label$1; }; HEAP32[($6 + 60 | 0) >> 2] = 0; $26 = HEAP32[($5 + 12 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $26 | 0; } function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btNodeOverlapCallback___btNodeOverlapCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBvhTriangleMeshShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 8 | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($5) | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); label$1 : { if (!(Math_fround(btVector3__length2_28_29_20const($4 + 8 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$1 } btTriangleMeshShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); btBvhTriangleMeshShape__buildOptimizedBvh_28_29($5 | 0); } __stack_pointer = $4 + 32 | 0; return; } function btBvhTriangleMeshShape__setOptimizedBvh_28btOptimizedBvh__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } __assert_fail(77754 | 0, 74895 | 0, 358 | 0, 77793 | 0); wasm2js_trap(); } label$2 : { if (!((HEAPU8[($6 + 69 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } __assert_fail(77761 | 0, 74895 | 0, 359 | 0, 77793 | 0); wasm2js_trap(); } HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP8[($6 + 69 | 0) >> 0] = 0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($6) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); label$3 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 4 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$3 } btTriangleMeshShape__setLocalScaling_28btVector3_20const__29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); } __stack_pointer = $5 + 32 | 0; return; } function btBvhTriangleMeshShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $10 = 0, $26 = 0, $32 = 0, $48 = 0, $56 = 0, $60 = 0, $66 = 0, $73 = 0, $91 = 0, $97 = 0, $111 = 0, $117 = 0, $121 = 0, $127 = 0, $134 = 0, $52 = 0, $115 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; HEAP32[($5 + 32 | 0) >> 2] = HEAP32[($5 + 40 | 0) >> 2] | 0; btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0; $10 = HEAP32[($6 + 56 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($10, (HEAP32[($5 + 32 | 0) >> 2] | 0) + 12 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0; HEAPF32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($6 + 20 | 0) >> 2]); label$1 : { label$2 : { if (!((HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $26 = HEAP32[($5 + 36 | 0) >> 2] | 0; if ((FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($26) | 0) & 1 | 0) { break label$2 } $32 = HEAP32[($5 + 36 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($32, HEAP32[($6 + 60 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; label$3 : { label$4 : { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; break label$3; } $48 = HEAP32[($5 + 36 | 0) >> 2] | 0; $52 = FUNCTION_TABLE[HEAP32[((HEAP32[$48 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($48, HEAP32[($6 + 60 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] = $52; HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; $56 = HEAP32[($6 + 60 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$56 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($56) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; $60 = HEAP32[($5 + 36 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$60 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($60, HEAP32[($5 + 24 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $66 = HEAP32[($6 + 60 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$66 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($66, HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; $73 = HEAP32[($5 + 36 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$73 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($73, HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 16 | 0) >> 2] | 0, 1213612625, HEAP32[($6 + 60 | 0) >> 2] | 0); } break label$1; } HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; } label$5 : { label$6 : { if (!((HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } $91 = HEAP32[($5 + 36 | 0) >> 2] | 0; if ((FUNCTION_TABLE[HEAP32[((HEAP32[$91 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($91) | 0) & 2 | 0) { break label$6 } $97 = HEAP32[($5 + 36 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$97 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($97, HEAP32[($6 + 64 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$7 : { label$8 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; break label$7; } $111 = HEAP32[($5 + 36 | 0) >> 2] | 0; $115 = FUNCTION_TABLE[HEAP32[((HEAP32[$111 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($111, HEAP32[($6 + 64 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] = $115; $117 = HEAP32[($6 + 64 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$117 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($117) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $121 = HEAP32[($5 + 36 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$121 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($121, HEAP32[($5 + 8 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $127 = HEAP32[($6 + 64 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$127 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($127, HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $134 = HEAP32[($5 + 36 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$134 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($134, HEAP32[($5 + 4 | 0) >> 2] | 0, HEAP32[$5 >> 2] | 0, 1346456916, HEAP32[($6 + 64 | 0) >> 2] | 0); } break label$5; } HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; } HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; __stack_pointer = $5 + 48 | 0; return 83501 | 0; } function btBvhTriangleMeshShape__serializeSingleBvh_28btSerializer__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $13 = 0, $17 = 0, $23 = 0, $30 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $13 = HEAP32[($5 + 60 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($13) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $17 = HEAP32[($4 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$17 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($17, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; $23 = HEAP32[($5 + 60 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($23, HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $30 = HEAP32[($4 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($30, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0, 1213612625, HEAP32[($5 + 60 | 0) >> 2] | 0); } __stack_pointer = $4 + 32 | 0; return; } function btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_28btSerializer__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $13 = 0, $17 = 0, $23 = 0, $30 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $13 = HEAP32[($5 + 64 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($13) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $17 = HEAP32[($4 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$17 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($17, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; $23 = HEAP32[($5 + 64 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($23, HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $30 = HEAP32[($4 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($30, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0, 1346456916, HEAP32[($5 + 64 | 0) >> 2] | 0); } __stack_pointer = $4 + 32 | 0; return; } function btBvhTriangleMeshShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 84387 | 0; } function btConcaveShape__setMargin_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btConcaveShape__getMargin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2])); } function btBvhTriangleMeshShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 60 | 0; } function btTriangleMeshShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; __assert_fail(86177 | 0, 79320 | 0, 44 | 0, 76889 | 0); wasm2js_trap(); } function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__processNode_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $9 = 0, $12 = 0, $13 = 0, $15 = 0, $21 = 0, $97 = 0, $147 = 0, $149 = 0, $197 = 0, $199 = 0, $208 = 0, $216 = 0, $11 = 0, $513 = 0, $526 = 0, $625 = 0, $638 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 176 | 0; __stack_pointer = $5; HEAP32[($5 + 172 | 0) >> 2] = $0; HEAP32[($5 + 168 | 0) >> 2] = $1; HEAP32[($5 + 164 | 0) >> 2] = $2; $6 = HEAP32[($5 + 172 | 0) >> 2] | 0; $9 = $5 + 112 | 0; $11 = $9 + 48 | 0; $12 = $9; label$1 : while (1) { $13 = $12; btVector3__btVector3_28_29($13 | 0) | 0; $15 = $13 + 16 | 0; $12 = $15; if (!(($15 | 0) == ($11 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $21 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($21, $5 + 108 | 0, $5 + 104 | 0, $5 + 100 | 0, $5 + 96 | 0, $5 + 92 | 0, $5 + 88 | 0, $5 + 84 | 0, $5 + 80 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0); HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 164 | 0) >> 2] | 0, HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; label$2 : { if ((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { break label$2 } if ((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { break label$2 } __assert_fail(83922 | 0, 74895 | 0, 130 | 0, 82004 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 68 | 0) >> 2] = 2; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$3 } label$5 : { label$6 : { if (!((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { break label$6 } $97 = (HEAPU16[((HEAP32[($5 + 76 | 0) >> 2] | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; break label$5; } $97 = HEAP32[((HEAP32[($5 + 76 | 0) >> 2] | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; } HEAP32[($5 + 64 | 0) >> 2] = $97; label$7 : { label$8 : { if (HEAP32[($5 + 100 | 0) >> 2] | 0) { break label$8 } HEAP32[($5 + 60 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 64 | 0) >> 2] | 0, HEAP32[($5 + 96 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 60 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; $147 = ($5 + 112 | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 44 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; $513 = i64toi32_i32$0; i64toi32_i32$0 = $147; HEAP32[i64toi32_i32$0 >> 2] = $513; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $149 = 8; i64toi32_i32$2 = ($5 + 44 | 0) + $149 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $526 = i64toi32_i32$1; i64toi32_i32$1 = $147 + $149 | 0; HEAP32[i64toi32_i32$1 >> 2] = $526; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$7; } HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 64 | 0) >> 2] | 0, HEAP32[($5 + 96 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; $197 = ($5 + 112 | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; $625 = i64toi32_i32$0; i64toi32_i32$0 = $197; HEAP32[i64toi32_i32$0 >> 2] = $625; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $199 = 8; i64toi32_i32$2 = ($5 + 12 | 0) + $199 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $638 = i64toi32_i32$1; i64toi32_i32$1 = $197 + $199 | 0; HEAP32[i64toi32_i32$1 >> 2] = $638; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 68 | 0) >> 2] | 0) + -1 | 0; continue label$4; }; } $208 = HEAP32[($6 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$208 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($208, $5 + 112 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0, HEAP32[($5 + 164 | 0) >> 2] | 0); $216 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$216 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($216, HEAP32[($5 + 168 | 0) >> 2] | 0); __stack_pointer = $5 + 176 | 0; return; } function btStridingMeshInterface__getScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btNodeOverlapCallback___btNodeOverlapCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__processNode_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $9 = 0, $12 = 0, $13 = 0, $15 = 0, $21 = 0, $97 = 0, $147 = 0, $149 = 0, $197 = 0, $199 = 0, $208 = 0, $216 = 0, $11 = 0, $513 = 0, $526 = 0, $625 = 0, $638 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 176 | 0; __stack_pointer = $5; HEAP32[($5 + 172 | 0) >> 2] = $0; HEAP32[($5 + 168 | 0) >> 2] = $1; HEAP32[($5 + 164 | 0) >> 2] = $2; $6 = HEAP32[($5 + 172 | 0) >> 2] | 0; $9 = $5 + 112 | 0; $11 = $9 + 48 | 0; $12 = $9; label$1 : while (1) { $13 = $12; btVector3__btVector3_28_29($13 | 0) | 0; $15 = $13 + 16 | 0; $12 = $15; if (!(($15 | 0) == ($11 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $21 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($21, $5 + 108 | 0, $5 + 104 | 0, $5 + 100 | 0, $5 + 96 | 0, $5 + 92 | 0, $5 + 88 | 0, $5 + 84 | 0, $5 + 80 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0); HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 164 | 0) >> 2] | 0, HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; label$2 : { if ((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { break label$2 } if ((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { break label$2 } __assert_fail(83922 | 0, 74895 | 0, 199 | 0, 82004 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 68 | 0) >> 2] = 2; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$3 } label$5 : { label$6 : { if (!((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { break label$6 } $97 = (HEAPU16[((HEAP32[($5 + 76 | 0) >> 2] | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; break label$5; } $97 = HEAP32[((HEAP32[($5 + 76 | 0) >> 2] | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; } HEAP32[($5 + 64 | 0) >> 2] = $97; label$7 : { label$8 : { if (HEAP32[($5 + 100 | 0) >> 2] | 0) { break label$8 } HEAP32[($5 + 60 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 64 | 0) >> 2] | 0, HEAP32[($5 + 96 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 60 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; $147 = ($5 + 112 | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 44 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; $513 = i64toi32_i32$0; i64toi32_i32$0 = $147; HEAP32[i64toi32_i32$0 >> 2] = $513; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $149 = 8; i64toi32_i32$2 = ($5 + 44 | 0) + $149 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $526 = i64toi32_i32$1; i64toi32_i32$1 = $147 + $149 | 0; HEAP32[i64toi32_i32$1 >> 2] = $526; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$7; } HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 64 | 0) >> 2] | 0, HEAP32[($5 + 96 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; $197 = ($5 + 112 | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; $625 = i64toi32_i32$0; i64toi32_i32$0 = $197; HEAP32[i64toi32_i32$0 >> 2] = $625; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $199 = 8; i64toi32_i32$2 = ($5 + 12 | 0) + $199 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $638 = i64toi32_i32$1; i64toi32_i32$1 = $197 + $199 | 0; HEAP32[i64toi32_i32$1 >> 2] = $638; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 68 | 0) >> 2] | 0) + -1 | 0; continue label$4; }; } $208 = HEAP32[($6 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$208 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($208, $5 + 112 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0, HEAP32[($5 + 164 | 0) >> 2] | 0); $216 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$216 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($216, HEAP32[($5 + 168 | 0) >> 2] | 0); __stack_pointer = $5 + 176 | 0; return; } function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback__processNode_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $10 = 0, $93 = 0, $107 = 0, $157 = 0, $159 = 0, $208 = 0, $210 = 0, $219 = 0, $226 = 0, $542 = 0, $555 = 0, $656 = 0, $669 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 128 | 0; __stack_pointer = $5; HEAP32[($5 + 124 | 0) >> 2] = $0; HEAP32[($5 + 120 | 0) >> 2] = $1; HEAP32[($5 + 116 | 0) >> 2] = $2; $6 = HEAP32[($5 + 124 | 0) >> 2] | 0; HEAP32[($6 + 60 | 0) >> 2] = (HEAP32[($6 + 60 | 0) >> 2] | 0) + 1 | 0; $10 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($10, $5 + 112 | 0, $5 + 108 | 0, $5 + 104 | 0, $5 + 100 | 0, $5 + 96 | 0, $5 + 92 | 0, $5 + 88 | 0, $5 + 84 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0); HEAP32[($5 + 80 | 0) >> 2] = (HEAP32[($5 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 116 | 0) >> 2] | 0, HEAP32[($5 + 92 | 0) >> 2] | 0) | 0; label$1 : { if ((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { break label$1 } if ((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { break label$1 } if ((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0) { break label$1 } __assert_fail(84086 | 0, 74895 | 0, 282 | 0, 82004 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 72 | 0) >> 2] = 2; label$2 : { label$3 : while (1) { if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } label$4 : { label$5 : { if (!((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { break label$5 } $93 = (HEAPU16[((HEAP32[($5 + 80 | 0) >> 2] | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; break label$4; } label$6 : { label$7 : { if (!((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { break label$7 } $107 = HEAP32[((HEAP32[($5 + 80 | 0) >> 2] | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; break label$6; } $107 = (HEAPU8[((HEAP32[($5 + 80 | 0) >> 2] | 0) + (HEAP32[($5 + 72 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; } $93 = $107; } HEAP32[($5 + 68 | 0) >> 2] = $93; label$8 : { label$9 : { if (HEAP32[($5 + 104 | 0) >> 2] | 0) { break label$9 } HEAP32[($5 + 64 | 0) >> 2] = (HEAP32[($5 + 112 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 68 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 64 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 48 | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0) | 0; $157 = ($6 + 12 | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 52 | 0) >> 2] | 0; $542 = i64toi32_i32$0; i64toi32_i32$0 = $157; HEAP32[i64toi32_i32$0 >> 2] = $542; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $159 = 8; i64toi32_i32$2 = ($5 + 48 | 0) + $159 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $555 = i64toi32_i32$1; i64toi32_i32$1 = $157 + $159 | 0; HEAP32[i64toi32_i32$1 >> 2] = $555; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$8; } HEAP32[($5 + 32 | 0) >> 2] = (HEAP32[($5 + 112 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 68 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($5 + 32 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; $208 = ($6 + 12 | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 20 | 0) >> 2] | 0; $656 = i64toi32_i32$0; i64toi32_i32$0 = $208; HEAP32[i64toi32_i32$0 >> 2] = $656; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $210 = 8; i64toi32_i32$2 = ($5 + 16 | 0) + $210 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $669 = i64toi32_i32$1; i64toi32_i32$1 = $208 + $210 | 0; HEAP32[i64toi32_i32$1 >> 2] = $669; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($5 + 72 | 0) >> 2] = (HEAP32[($5 + 72 | 0) >> 2] | 0) + -1 | 0; continue label$3; }; } $219 = HEAP32[($6 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$219 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($219, $6 + 12 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0, HEAP32[($5 + 116 | 0) >> 2] | 0); $226 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$226 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($226, HEAP32[($5 + 120 | 0) >> 2] | 0); __stack_pointer = $5 + 128 | 0; return; } function _GLOBAL__sub_I_btBvhTriangleMeshShape_cpp() { __cxx_global_var_init_30(); return; } function __cxx_global_var_init_31() { btInfMaskConverter__btInfMaskConverter_28int_29(114092 | 0, 2139095040 | 0) | 0; return; } function btCapsuleShape__btCapsuleShape_28float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $6 = 0, $20 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btConvexInternalShape__btConvexInternalShape_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 97628 + 8 | 0; HEAPF32[($6 + 52 | 0) >> 2] = Math_fround(HEAPF32[($5 + 8 | 0) >> 2]); HEAP32[($6 + 4 | 0) >> 2] = 10; HEAP32[($6 + 60 | 0) >> 2] = 1; HEAPF32[$5 >> 2] = Math_fround(Math_fround(.5) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); $20 = $5 + 8 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 36 | 0 | 0, $20 | 0, $5 | 0, $20 | 0); __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btCapsuleShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $23 = 0, $24 = 0, $97 = 0, $120 = 0, $154 = 0, $177 = 0, $241 = 0, $245 = 0, $88 = Math_fround(0), $386 = 0, $390 = 0, $423 = 0, $436 = 0, $145 = Math_fround(0), $505 = 0, $509 = 0, $542 = 0, $555 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 144 | 0; __stack_pointer = $5; HEAP32[($5 + 140 | 0) >> 2] = $1; HEAP32[($5 + 136 | 0) >> 2] = $2; $6 = HEAP32[($5 + 140 | 0) >> 2] | 0; HEAPF32[($5 + 132 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 128 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 124 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 132 | 0 | 0, $5 + 128 | 0 | 0, $5 + 124 | 0 | 0) | 0; HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(-999999984306749440.0); $23 = HEAP32[($5 + 136 | 0) >> 2] | 0; $24 = 8; i64toi32_i32$2 = $23 + $24 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $241 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 104 | 0) + $24 | 0; HEAP32[i64toi32_i32$0 >> 2] = $241; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $23; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $245 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 104 | 0) >> 2] = $245; HEAP32[($5 + 108 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 104 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 100 | 0) >> 2]) < Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$2 } HEAPF32[($5 + 96 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 88 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 104 | 0 | 0, $5 + 96 | 0 | 0, $5 + 92 | 0 | 0, $5 + 88 | 0 | 0); break label$1; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 100 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1($5 + 104 | 0 | 0, $5 + 84 | 0 | 0) | 0; } btVector3__btVector3_28_29($5 + 64 | 0 | 0) | 0; HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; $88 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($6 | 0)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 44 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($6 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $88), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $97 = 8; i64toi32_i32$2 = ($5 + 44 | 0) + $97 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $386 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $97 | 0; HEAP32[i64toi32_i32$0 >> 2] = $386; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 44 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 48 | 0) >> 2] | 0; $390 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 64 | 0) >> 2] = $390; HEAP32[($5 + 68 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 104 | 0 | 0, $5 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 120 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(HEAPF32[($5 + 60 | 0) >> 2]); i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 68 | 0) >> 2] | 0; $423 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $423; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $120 = 8; i64toi32_i32$2 = ($5 + 64 | 0) + $120 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $436 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $120 | 0; HEAP32[i64toi32_i32$1 >> 2] = $436; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; $145 = Math_fround(-Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($6 | 0))); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 16 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($6 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $145), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $154 = 8; i64toi32_i32$2 = ($5 + 16 | 0) + $154 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $505 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $154 | 0; HEAP32[i64toi32_i32$0 >> 2] = $505; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; $509 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 64 | 0) >> 2] = $509; HEAP32[($5 + 68 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 104 | 0 | 0, $5 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; label$4 : { if (!(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 120 | 0) >> 2]) & 1 | 0)) { break label$4 } HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(HEAPF32[($5 + 60 | 0) >> 2]); i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 68 | 0) >> 2] | 0; $542 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $542; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $177 = 8; i64toi32_i32$2 = ($5 + 64 | 0) + $177 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $555 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $177 | 0; HEAP32[i64toi32_i32$1 >> 2] = $555; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 144 | 0; return; } function btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $52 = 0, $76 = 0, $78 = 0, $112 = 0, $136 = 0, $138 = 0, $43 = Math_fround(0), $266 = 0, $270 = 0, $311 = 0, $324 = 0, $103 = Math_fround(0), $393 = 0, $397 = 0, $438 = 0, $451 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $0; HEAP32[($6 + 104 | 0) >> 2] = $1; HEAP32[($6 + 100 | 0) >> 2] = $2; HEAP32[($6 + 96 | 0) >> 2] = $3; $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; HEAP32[($6 + 92 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAP32[($6 + 84 | 0) >> 2] = (HEAP32[($6 + 104 | 0) >> 2] | 0) + ((HEAP32[($6 + 92 | 0) >> 2] | 0) << 4 | 0) | 0; btVector3__btVector3_28_29($6 + 64 | 0 | 0) | 0; HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0) | 0; $43 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($7 | 0)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 44 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($7 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $43), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $52 = 8; i64toi32_i32$2 = ($6 + 44 | 0) + $52 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $266 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 64 | 0) + $52 | 0; HEAP32[i64toi32_i32$0 >> 2] = $266; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 44 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; $270 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 64 | 0) >> 2] = $270; HEAP32[($6 + 68 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 84 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) > Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(HEAPF32[($6 + 60 | 0) >> 2]); $76 = (HEAP32[($6 + 100 | 0) >> 2] | 0) + ((HEAP32[($6 + 92 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; $311 = i64toi32_i32$0; i64toi32_i32$0 = $76; HEAP32[i64toi32_i32$0 >> 2] = $311; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $78 = 8; i64toi32_i32$2 = ($6 + 64 | 0) + $78 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $324 = i64toi32_i32$1; i64toi32_i32$1 = $76 + $78 | 0; HEAP32[i64toi32_i32$1 >> 2] = $324; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0) | 0; $103 = Math_fround(-Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($7 | 0))); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 16 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($7 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $103), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $112 = 8; i64toi32_i32$2 = ($6 + 16 | 0) + $112 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $393 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 64 | 0) + $112 | 0; HEAP32[i64toi32_i32$0 >> 2] = $393; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; $397 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 64 | 0) >> 2] = $397; HEAP32[($6 + 68 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 84 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; label$4 : { if (!(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) > Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) & 1 | 0)) { break label$4 } HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(HEAPF32[($6 + 60 | 0) >> 2]); $136 = (HEAP32[($6 + 100 | 0) >> 2] | 0) + ((HEAP32[($6 + 92 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; $438 = i64toi32_i32$0; i64toi32_i32$0 = $136; HEAP32[i64toi32_i32$0 >> 2] = $438; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $138 = 8; i64toi32_i32$2 = ($6 + 64 | 0) + $138 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $451 = i64toi32_i32$1; i64toi32_i32$1 = $136 + $138 | 0; HEAP32[i64toi32_i32$1 >> 2] = $451; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($6 + 92 | 0) >> 2] = (HEAP32[($6 + 92 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 112 | 0; return; } function btCapsuleShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $6 = 0, $19 = 0, $28 = 0, $20 = Math_fround(0), $68 = Math_fround(0), $75 = Math_fround(0), $82 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 128 | 0; __stack_pointer = $5; HEAP32[($5 + 124 | 0) >> 2] = $0; HEAPF32[($5 + 120 | 0) >> 2] = $1; HEAP32[($5 + 116 | 0) >> 2] = $2; $6 = HEAP32[($5 + 124 | 0) >> 2] | 0; btTransform__btTransform_28_29($5 + 52 | 0 | 0) | 0; btTransform__setIdentity_28_29($5 + 52 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const($6 | 0))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; $19 = $5 + 48 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 32 | 0 | 0, $19 | 0, $19 | 0, $19 | 0) | 0; $20 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($6 | 0)); $28 = (btVector3__operator_20float__28_29($5 + 32 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($6 | 0) | 0) << 2 | 0) | 0; HEAPF32[$28 >> 2] = Math_fround(Math_fround(HEAPF32[$28 >> 2]) + $20); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($5 + 32 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 32 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 32 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2])); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 24 | 0) >> 2])); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 20 | 0) >> 2])); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 120 | 0) >> 2]) * Math_fround(.0833333283662796)); $68 = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $68), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $75 = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $75), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $82 = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 12 | 0) >> 2]))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $82), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; __stack_pointer = $5 + 128 | 0; return; } function btCapsuleShape___btCapsuleShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCapsuleShape___btCapsuleShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCapsuleShape___btCapsuleShape_28_29($4 | 0) | 0; btCapsuleShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCapsuleShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCapsuleShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $40 = 0, $41 = 0, $78 = 0, $80 = 0, $93 = 0, $95 = 0, $25 = Math_fround(0), $198 = 0, $202 = 0, $257 = 0, $270 = 0, $288 = 0, $298 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAP32[($6 + 152 | 0) >> 2] = $1; HEAP32[($6 + 148 | 0) >> 2] = $2; HEAP32[($6 + 144 | 0) >> 2] = $3; $7 = HEAP32[($6 + 156 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const($7 | 0))), HEAPF32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const($7 | 0))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const($7 | 0))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 128 | 0 | 0, $6 + 124 | 0 | 0, $6 + 120 | 0 | 0, $6 + 116 | 0 | 0) | 0; $25 = Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const($7 | 0)) + Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($7 | 0))); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 128 | 0 | 0) | 0) + ((HEAP32[($7 + 60 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $25), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btMatrix3x3__absolute_28_29_20const($6 + 68 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 152 | 0) >> 2] | 0 | 0) | 0 | 0); $40 = btTransform__getOrigin_28_29_20const(HEAP32[($6 + 152 | 0) >> 2] | 0 | 0) | 0; $41 = 8; i64toi32_i32$2 = $40 + $41 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $198 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 48 | 0) + $41 | 0; HEAP32[i64toi32_i32$0 >> 2] = $198; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $40; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $202 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 48 | 0) >> 2] = $202; HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$0; btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 32 | 0 | 0, $6 + 128 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 2 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 16 | 0 | 0, $6 + 48 | 0 | 0, $6 + 32 | 0 | 0); $78 = HEAP32[($6 + 148 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; $257 = i64toi32_i32$0; i64toi32_i32$0 = $78; HEAP32[i64toi32_i32$0 >> 2] = $257; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $80 = 8; i64toi32_i32$2 = ($6 + 16 | 0) + $80 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $270 = i64toi32_i32$1; i64toi32_i32$1 = $78 + $80 | 0; HEAP32[i64toi32_i32$1 >> 2] = $270; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 | 0, $6 + 48 | 0 | 0, $6 + 32 | 0 | 0); $93 = HEAP32[($6 + 144 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; $288 = i64toi32_i32$0; i64toi32_i32$0 = $93; HEAP32[i64toi32_i32$0 >> 2] = $288; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $95 = 8; i64toi32_i32$2 = $6 + $95 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $298 = i64toi32_i32$1; i64toi32_i32$1 = $93 + $95 | 0; HEAP32[i64toi32_i32$1 >> 2] = $298; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 160 | 0; return; } function btCapsuleShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0, $24 = 0, $92 = 0, $105 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 24 | 0 | 0, $5 + 36 | 0 | 0, $5 + 20 | 0 | 0); btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 8 | 0 | 0, $4 + 24 | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); $22 = $5 + 36 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 12 | 0) >> 2] | 0; $92 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $92; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = ($4 + 8 | 0) + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $105 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $105; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($4 + 4 | 0) >> 2] = ((HEAP32[($5 + 60 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 36 | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; __stack_pointer = $4 + 48 | 0; return; } function btCapsuleShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 81655 | 0; } function btCapsuleShape__getAnisotropicRollingFrictionDirection_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[$4 >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($5 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; __stack_pointer = $4 + 16 | 0; return; } function btCapsuleShape__setMargin_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; return; } function btCapsuleShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 60 | 0; } function btCapsuleShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[$5 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6 + 60 | 0) >> 2] | 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 57 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 58 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 59 | 0) >> 0] = 0; __stack_pointer = $5 + 16 | 0; return 83594 | 0; } function btConvexInternalShape__getNumPreferredPenetrationDirections_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 | 0; } function btConvexInternalShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; __assert_fail(86177 | 0, 79195 | 0, 132 | 0, 76388 | 0); wasm2js_trap(); } function _GLOBAL__sub_I_btCapsuleShape_cpp() { __cxx_global_var_init_31(); return; } function __cxx_global_var_init_32() { btInfMaskConverter__btInfMaskConverter_28int_29(114096 | 0, 2139095040 | 0) | 0; return; } function btCollisionShape__getBoundingSphere_28btVector3__2c_20float__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $63 = 0, $65 = 0, $44 = Math_fround(0), $192 = 0, $205 = 0; $5 = __stack_pointer - 160 | 0; __stack_pointer = $5; HEAP32[($5 + 156 | 0) >> 2] = $0; HEAP32[($5 + 152 | 0) >> 2] = $1; HEAP32[($5 + 148 | 0) >> 2] = $2; $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; btTransform__btTransform_28_29($5 + 84 | 0 | 0) | 0; btTransform__setIdentity_28_29($5 + 84 | 0 | 0); btVector3__btVector3_28_29($5 + 68 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 52 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, $5 + 84 | 0, $5 + 68 | 0, $5 + 52 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $5 + 52 | 0 | 0, $5 + 68 | 0 | 0); $44 = Math_fround(Math_fround(btVector3__length_28_29_20const($5 + 36 | 0 | 0)) * Math_fround(.5)); HEAPF32[(HEAP32[($5 + 148 | 0) >> 2] | 0) >> 2] = $44; operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 4 | 0 | 0, $5 + 68 | 0 | 0, $5 + 52 | 0 | 0); HEAPF32[$5 >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0); $63 = HEAP32[($5 + 152 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 24 | 0) >> 2] | 0; $192 = i64toi32_i32$0; i64toi32_i32$0 = $63; HEAP32[i64toi32_i32$0 >> 2] = $192; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $65 = 8; i64toi32_i32$2 = ($5 + 20 | 0) + $65 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $205 = i64toi32_i32$1; i64toi32_i32$1 = $63 + $65 | 0; HEAP32[i64toi32_i32$1 >> 2] = $205; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 160 | 0; return; } function btCollisionShape__getContactBreakingThreshold_28float_29_20const($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, $10 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $10 = Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5)) * Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); __stack_pointer = $4 + 16 | 0; return Math_fround($10); } function btCollisionShape__getAngularMotionDisc_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $19 = Math_fround(0), $22 = Math_fround(0); $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; btVector3__btVector3_28_29($3 + 12 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($4, $3 + 12 | 0, $3 + 8 | 0); $19 = Math_fround(btVector3__length_28_29_20const($3 + 12 | 0 | 0)); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) + $19); $22 = Math_fround(HEAPF32[($3 + 8 | 0) >> 2]); __stack_pointer = $3 + 32 | 0; return Math_fround($22); } function btCollisionShape__calculateTemporalAabb_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $126 = 0, $139 = 0, $141 = 0, $159 = 0, $161 = 0, $55 = Math_fround(0), $62 = Math_fround(0), $79 = Math_fround(0), $86 = Math_fround(0), $103 = Math_fround(0), $110 = Math_fround(0), $478 = 0, $491 = 0, $518 = 0, $531 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $9 = __stack_pointer - 128 | 0; __stack_pointer = $9; HEAP32[($9 + 124 | 0) >> 2] = $0; HEAP32[($9 + 120 | 0) >> 2] = $1; HEAP32[($9 + 116 | 0) >> 2] = $2; HEAP32[($9 + 112 | 0) >> 2] = $3; HEAPF32[($9 + 108 | 0) >> 2] = $4; HEAP32[($9 + 104 | 0) >> 2] = $5; HEAP32[($9 + 100 | 0) >> 2] = $6; $10 = HEAP32[($9 + 124 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($10, HEAP32[($9 + 120 | 0) >> 2] | 0, HEAP32[($9 + 104 | 0) >> 2] | 0, HEAP32[($9 + 100 | 0) >> 2] | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($9 + 60 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0, $9 + 108 | 0 | 0); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$2 } $55 = Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); HEAPF32[($9 + 96 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 96 | 0) >> 2]) + $55); break label$1; } $62 = Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); HEAPF32[($9 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 84 | 0) >> 2]) + $62); } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } $79 = Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); HEAPF32[($9 + 92 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 92 | 0) >> 2]) + $79); break label$3; } $86 = Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); HEAPF32[($9 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 80 | 0) >> 2]) + $86); } label$5 : { label$6 : { if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$6 } $103 = Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); HEAPF32[($9 + 88 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 88 | 0) >> 2]) + $103); break label$5; } $110 = Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); HEAPF32[($9 + 76 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 76 | 0) >> 2]) + $110); } (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__length_28_29_20const(HEAP32[($9 + 112 | 0) >> 2] | 0 | 0)) * Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($10))) * Math_fround(HEAPF32[($9 + 108 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; $126 = $9 + 56 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 40 | 0 | 0, $126 | 0, $126 | 0, $126 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 24 | 0 | 0, $9 + 84 | 0 | 0, $9 + 80 | 0 | 0, $9 + 76 | 0 | 0) | 0; $139 = HEAP32[($9 + 104 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 28 | 0) >> 2] | 0; $478 = i64toi32_i32$0; i64toi32_i32$0 = $139; HEAP32[i64toi32_i32$0 >> 2] = $478; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $141 = 8; i64toi32_i32$2 = ($9 + 24 | 0) + $141 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $491 = i64toi32_i32$1; i64toi32_i32$1 = $139 + $141 | 0; HEAP32[i64toi32_i32$1 >> 2] = $491; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 8 | 0 | 0, $9 + 96 | 0 | 0, $9 + 92 | 0 | 0, $9 + 88 | 0 | 0) | 0; $159 = HEAP32[($9 + 100 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 12 | 0) >> 2] | 0; $518 = i64toi32_i32$0; i64toi32_i32$0 = $159; HEAP32[i64toi32_i32$0 >> 2] = $518; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $161 = 8; i64toi32_i32$2 = ($9 + 8 | 0) + $161 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $531 = i64toi32_i32$1; i64toi32_i32$1 = $159 + $161 | 0; HEAP32[i64toi32_i32$1 >> 2] = $531; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29(HEAP32[($9 + 104 | 0) >> 2] | 0 | 0, $9 + 40 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1(HEAP32[($9 + 100 | 0) >> 2] | 0 | 0, $9 + 40 | 0 | 0) | 0; __stack_pointer = $9 + 128 | 0; return; } function btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $8 = 0, $12 = 0, $26 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; $8 = HEAP32[($5 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($8, $6) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $12 = HEAP32[($5 + 20 | 0) >> 2] | 0; $16 = FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($12, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] = $16; label$1 : { if (!((HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $26 = HEAP32[($5 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($26, HEAP32[($5 + 12 | 0) >> 2] | 0); } HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; __stack_pointer = $5 + 32 | 0; return 83454 | 0; } function btCollisionShape__serializeSingleShape_28btSerializer__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $9 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($5) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($5, HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $21 = HEAP32[($4 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($21, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0, 1346455635, $5); __stack_pointer = $4 + 32 | 0; return; } function btCollisionShape___btCollisionShape_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btCollisionShape___btCollisionShape_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btCollisionShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 12 | 0; } function _GLOBAL__sub_I_btCollisionShape_cpp() { __cxx_global_var_init_32(); return; } function __cxx_global_var_init_33() { btInfMaskConverter__btInfMaskConverter_28int_29(114100 | 0, 2139095040 | 0) | 0; return; } function btCompoundShape__btCompoundShape_28bool_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $66 = 0, $81 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 56 | 0) >> 2] = $0; HEAP8[($5 + 55 | 0) >> 0] = $1; HEAP32[($5 + 48 | 0) >> 2] = $2; $7 = HEAP32[($5 + 56 | 0) >> 2] | 0; HEAP32[($5 + 60 | 0) >> 2] = $7; btCollisionShape__btCollisionShape_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 97860 + 8 | 0; btAlignedObjectArray_btCompoundShapeChild___btAlignedObjectArray_28_29($7 + 20 | 0 | 0) | 0; HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 40 | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0) | 0; HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 56 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0) | 0; HEAP32[($7 + 72 | 0) >> 2] = 0; HEAP32[($7 + 76 | 0) >> 2] = 1; HEAPF32[($7 + 80 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 84 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; HEAP32[($7 + 4 | 0) >> 2] = 31; label$1 : { if (!((HEAPU8[($5 + 55 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(40 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $66 = HEAP32[($5 + 8 | 0) >> 2] | 0; btDbvt__btDbvt_28_29($66 | 0) | 0; HEAP32[($7 + 72 | 0) >> 2] = $66; label$2 : { if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(81981 | 0, 75140 | 0, 35 | 0, 81668 | 0); wasm2js_trap(); } } btAlignedObjectArray_btCompoundShapeChild___reserve_28int_29($7 + 20 | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0); $81 = HEAP32[($5 + 60 | 0) >> 2] | 0; __stack_pointer = $5 + 64 | 0; return $81 | 0; } function btCollisionShape__btCollisionShape_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 97760 + 8 | 0; HEAP32[($4 + 4 | 0) >> 2] = 35; HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 16 | 0) >> 2] = 0; return $4 | 0; } function btAlignedObjectArray_btCompoundShapeChild___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btCompoundShapeChild_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btCompoundShapeChild___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btCompoundShapeChild___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btCompoundShapeChild___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCompoundShapeChild___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCompoundShapeChild___copy_28int_2c_20int_2c_20btCompoundShapeChild__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btCompoundShapeChild___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btCompoundShapeChild___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedAllocator_btCompoundShapeChild_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCompoundShapeChild___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btCompoundShapeChild___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btCompoundShapeChild___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCompoundShapeChild_2c_2016u___allocate_28int_2c_20btCompoundShapeChild_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btCompoundShapeChild___copy_28int_2c_20int_2c_20btCompoundShapeChild__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btCompoundShapeChild__btCompoundShapeChild_28btCompoundShapeChild_20const__29(btCompoundShapeChild__operator_20new_28unsigned_20long_2c_20void__29(80 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 80) | 0 | 0) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 80) | 0 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedObjectArray_btCompoundShapeChild___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btCompoundShapeChild___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btCompoundShapeChild_2c_2016u___deallocate_28btCompoundShapeChild__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btCompoundShape___btCompoundShape_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $19 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 97860 + 8 | 0; label$1 : { if (!((HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } btDbvt___btDbvt_28_29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0); } btAlignedObjectArray_btCompoundShapeChild____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btCollisionShape___btCollisionShape_28_29($4 | 0) | 0; $19 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $19 | 0; } function btAlignedObjectArray_btCompoundShapeChild____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCompoundShapeChild___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btCompoundShapeChild___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btCompoundShapeChild___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btCompoundShapeChild___deallocate_28_29($4 | 0); btAlignedObjectArray_btCompoundShapeChild___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundShape___btCompoundShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[839 | 0]($4) | 0; btCompoundShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCompoundShape__addChildShape_28btTransform_20const__2c_20btCollisionShape__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $21 = 0, $31 = 0, $77 = Math_fround(0), $113 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 176 | 0; __stack_pointer = $5; HEAP32[($5 + 172 | 0) >> 2] = $0; HEAP32[($5 + 168 | 0) >> 2] = $1; HEAP32[($5 + 164 | 0) >> 2] = $2; $6 = HEAP32[($5 + 172 | 0) >> 2] | 0; HEAP32[($6 + 76 | 0) >> 2] = (HEAP32[($6 + 76 | 0) >> 2] | 0) + 1 | 0; btCompoundShapeChild__btCompoundShapeChild_28_29($5 + 84 | 0 | 0) | 0; HEAP32[($5 + 160 | 0) >> 2] = 0; btTransform__operator__28btTransform_20const__29($5 + 84 | 0 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 148 | 0) >> 2] = HEAP32[($5 + 164 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($5 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; $21 = HEAP32[($5 + 164 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($21))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($5 + 68 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 52 | 0 | 0) | 0; $31 = HEAP32[($5 + 164 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$31 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($31, HEAP32[($5 + 168 | 0) >> 2] | 0, $5 + 68 | 0, $5 + 52 | 0); HEAP32[($5 + 48 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 40 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 68 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$3 } $77 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 68 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 40 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $77), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } label$4 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 52 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$4 } $113 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 52 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $113), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } HEAP32[($5 + 48 | 0) >> 2] = (HEAP32[($5 + 48 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } label$5 : { if (!((HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($5 + 16 | 0 | 0, $5 + 68 | 0 | 0, $5 + 52 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($6 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; } btAlignedObjectArray_btCompoundShapeChild___push_back_28btCompoundShapeChild_20const__29($6 + 20 | 0 | 0, $5 + 84 | 0 | 0); __stack_pointer = $5 + 176 | 0; return; } function btCompoundShapeChild__btCompoundShapeChild_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTransform__btTransform_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btCompoundShapeChild___push_back_28btCompoundShapeChild_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCompoundShapeChild___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btCompoundShapeChild___reserve_28int_29($5 | 0, btAlignedObjectArray_btCompoundShapeChild___allocSize_28int_29($5 | 0, btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } btCompoundShapeChild__btCompoundShapeChild_28btCompoundShapeChild_20const__29(btCompoundShapeChild__operator_20new_28unsigned_20long_2c_20void__29(80 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 80) | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCompoundShapeChild___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btCompoundShapeChild__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btCompoundShapeChild__btCompoundShapeChild_28btCompoundShapeChild_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $13 = 0, $46 = 0, $56 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btTransform__btTransform_28btTransform_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; $8 = $5 + 64 | 0; i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 64 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $46 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $46; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $56 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $56; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btCompoundShape__updateChildTransform_28int_2c_20btTransform_20const__2c_20bool_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $31 = 0, $9 = 0; $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAP32[($6 + 68 | 0) >> 2] = $2; HEAP8[($6 + 67 | 0) >> 0] = $3; $8 = HEAP32[($6 + 76 | 0) >> 2] | 0; $9 = HEAP32[($6 + 68 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29(btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($8 + 20 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, $9 | 0) | 0; label$1 : { if (!((HEAP32[($8 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28_29($6 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 32 | 0 | 0) | 0; $31 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($8 + 20 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$31 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($31, HEAP32[($6 + 68 | 0) >> 2] | 0, $6 + 48 | 0, $6 + 32 | 0); btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, $6 + 48 | 0 | 0, $6 + 32 | 0 | 0); btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__29(HEAP32[($8 + 72 | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($8 + 20 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0) + 76 | 0) >> 2] | 0 | 0, $6 | 0); } label$2 : { if (!((HEAPU8[($6 + 67 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($8); } __stack_pointer = $6 + 80 | 0; return; } function btCompoundShape__removeChildShapeByIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $57 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; label$1 : { label$2 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 + 20 | 0 | 0) | 0 | 0) & 1 | 0) { break label$1 } } __assert_fail(87603 | 0, 75140 | 0, 112 | 0, 66339 | 0); wasm2js_trap(); } label$3 : { if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } btDbvt__remove_28btDbvtNode__29(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 76 | 0) >> 2] | 0 | 0); } btAlignedObjectArray_btCompoundShapeChild___swap_28int_2c_20int_29($5 + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 + 20 | 0 | 0) | 0) - 1 | 0 | 0); label$4 : { if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } $57 = HEAP32[($4 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 76 | 0) >> 2] | 0, wasm2js_i32$1 = $57), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; } btAlignedObjectArray_btCompoundShapeChild___pop_back_28_29($5 + 20 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btCompoundShapeChild___swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 96 | 0; __stack_pointer = $5; HEAP32[($5 + 92 | 0) >> 2] = $0; HEAP32[($5 + 88 | 0) >> 2] = $1; HEAP32[($5 + 84 | 0) >> 2] = $2; $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; btCompoundShapeChild__btCompoundShapeChild_28btCompoundShapeChild_20const__29($5 + 4 | 0 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 88 | 0) >> 2] | 0, 80) | 0 | 0) | 0; btCompoundShapeChild__operator__28btCompoundShapeChild_20const__29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 88 | 0) >> 2] | 0, 80) | 0 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 84 | 0) >> 2] | 0, 80) | 0 | 0) | 0; btCompoundShapeChild__operator__28btCompoundShapeChild_20const__29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 84 | 0) >> 2] | 0, 80) | 0 | 0, $5 + 4 | 0 | 0) | 0; __stack_pointer = $5 + 96 | 0; return; } function btAlignedObjectArray_btCompoundShapeChild___pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btCompoundShapeChild__operator__28btCompoundShapeChild_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $13 = 0, $46 = 0, $56 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; $8 = $5 + 64 | 0; i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 64 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $46 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $46; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $56 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $56; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btCompoundShape__removeChildShape_28btCollisionShape__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 + 20 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } btCompoundShape__removeChildShapeByIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; continue label$2; }; } FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5); __stack_pointer = $4 + 16 | 0; return; } function btCompoundShape__recalculateLocalAabb_28_29($0) { $0 = $0 | 0; var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $21 = 0, $23 = 0, $45 = 0, $47 = 0, $73 = 0, $216 = 0, $229 = 0, $263 = 0, $276 = 0, $122 = Math_fround(0), $158 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 112 | 0; __stack_pointer = $3; HEAP32[($3 + 108 | 0) >> 2] = $0; $4 = HEAP32[($3 + 108 | 0) >> 2] | 0; HEAPF32[($3 + 88 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($3 + 84 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($3 + 80 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 92 | 0 | 0, $3 + 88 | 0 | 0, $3 + 84 | 0 | 0, $3 + 80 | 0 | 0) | 0; $21 = $4 + 40 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 92 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 96 | 0) >> 2] | 0; $216 = i64toi32_i32$0; i64toi32_i32$0 = $21; HEAP32[i64toi32_i32$0 >> 2] = $216; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $23 = 8; i64toi32_i32$2 = ($3 + 92 | 0) + $23 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $229 = i64toi32_i32$1; i64toi32_i32$1 = $21 + $23 | 0; HEAP32[i64toi32_i32$1 >> 2] = $229; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 64 | 0 | 0, $3 + 60 | 0 | 0, $3 + 56 | 0 | 0, $3 + 52 | 0 | 0) | 0; $45 = $4 + 56 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 68 | 0) >> 2] | 0; $263 = i64toi32_i32$0; i64toi32_i32$0 = $45; HEAP32[i64toi32_i32$0 >> 2] = $263; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $47 = 8; i64toi32_i32$2 = ($3 + 64 | 0) + $47 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $276 = i64toi32_i32$1; i64toi32_i32$1 = $45 + $47 | 0; HEAP32[i64toi32_i32$1 >> 2] = $276; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($3 + 48 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 48 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($4 + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28_29($3 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($3 + 16 | 0 | 0) | 0; $73 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($3 + 48 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; ((((wasm2js_i32$1 = $73, wasm2js_i32$2 = btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($3 + 48 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $3 + 32 | 0), wasm2js_i32$4 = $3 + 16 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$73 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); HEAP32[($3 + 12 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$3 } label$5 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 40 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 32 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$5 } $122 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 32 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 40 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $122), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } label$6 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 56 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 16 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$6 } $158 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 16 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 56 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $158), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } HEAP32[($3 + 12 | 0) >> 2] = (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAP32[($3 + 48 | 0) >> 2] = (HEAP32[($3 + 48 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 112 | 0; return; } function btCompoundShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $150 = 0, $152 = 0, $167 = 0, $169 = 0, $458 = 0, $471 = 0, $492 = 0, $505 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 256 | 0; __stack_pointer = $6; HEAP32[($6 + 252 | 0) >> 2] = $0; HEAP32[($6 + 248 | 0) >> 2] = $1; HEAP32[($6 + 244 | 0) >> 2] = $2; HEAP32[($6 + 240 | 0) >> 2] = $3; $7 = HEAP32[($6 + 252 | 0) >> 2] | 0; HEAPF32[($6 + 220 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 204 | 0 | 0, $7 + 56 | 0 | 0, $7 + 40 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($6 + 224 | 0 | 0, $6 + 220 | 0 | 0, $6 + 204 | 0 | 0); HEAPF32[($6 + 184 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 168 | 0 | 0, $7 + 56 | 0 | 0, $7 + 40 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($6 + 188 | 0 | 0, $6 + 184 | 0 | 0, $6 + 168 | 0 | 0); label$1 : { if (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($7 + 20 | 0 | 0) | 0) { break label$1 } HEAPF32[($6 + 164 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 160 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 156 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 224 | 0 | 0, $6 + 164 | 0 | 0, $6 + 160 | 0 | 0, $6 + 156 | 0 | 0); HEAPF32[($6 + 152 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 148 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 144 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 188 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0, $6 + 144 | 0 | 0); } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 128 | 0 | 0, $6 + 124 | 0 | 0, $6 + 120 | 0 | 0, $6 + 116 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($6 + 224 | 0 | 0, $6 + 128 | 0 | 0) | 0; btMatrix3x3__absolute_28_29_20const($6 + 68 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 248 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 52 | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0, $6 + 188 | 0 | 0); btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 36 | 0 | 0, $6 + 224 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 2 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 20 | 0 | 0, $6 + 52 | 0 | 0, $6 + 36 | 0 | 0); $150 = HEAP32[($6 + 244 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; $458 = i64toi32_i32$0; i64toi32_i32$0 = $150; HEAP32[i64toi32_i32$0 >> 2] = $458; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $152 = 8; i64toi32_i32$2 = ($6 + 20 | 0) + $152 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $471 = i64toi32_i32$1; i64toi32_i32$1 = $150 + $152 | 0; HEAP32[i64toi32_i32$1 >> 2] = $471; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 4 | 0 | 0, $6 + 52 | 0 | 0, $6 + 36 | 0 | 0); $167 = HEAP32[($6 + 240 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; $492 = i64toi32_i32$0; i64toi32_i32$0 = $167; HEAP32[i64toi32_i32$0 >> 2] = $492; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $169 = 8; i64toi32_i32$2 = ($6 + 4 | 0) + $169 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $505 = i64toi32_i32$1; i64toi32_i32$1 = $167 + $169 | 0; HEAP32[i64toi32_i32$1 >> 2] = $505; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 256 | 0; return; } function btCompoundShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $6 = 0, $80 = Math_fround(0), $93 = Math_fround(0), $106 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 160 | 0; __stack_pointer = $5; HEAP32[($5 + 156 | 0) >> 2] = $0; HEAPF32[($5 + 152 | 0) >> 2] = $1; HEAP32[($5 + 148 | 0) >> 2] = $2; $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; btTransform__btTransform_28_29($5 + 84 | 0 | 0) | 0; btTransform__setIdentity_28_29($5 + 84 | 0 | 0); btVector3__btVector3_28_29($5 + 68 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 52 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, $5 + 84 | 0, $5 + 68 | 0, $5 + 52 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 20 | 0 | 0, $5 + 52 | 0 | 0, $5 + 68 | 0 | 0); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($5 + 36 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $80 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 8 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 148 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $80), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $93 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 148 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $93), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $106 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 8 | 0) >> 2])))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 148 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $106), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; __stack_pointer = $5 + 160 | 0; return; } function btQuaternion__getIdentity_28_29() { var $2 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; label$1 : { if (!((((HEAPU8[(0 + 114120 | 0) >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 4 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[$2 >> 2] = Math_fround(1.0); btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29(114104 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0, $2 + 4 | 0 | 0, $2 | 0) | 0; HEAP8[(0 + 114120 | 0) >> 0] = 1; } __stack_pointer = $2 + 16 | 0; return 114104 | 0; } function btCompoundShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5 = 0, $25 = 0, $28 = 0, $29 = 0, $51 = 0, $64 = 0, $100 = 0, $102 = 0, $181 = 0, $185 = 0, $228 = 0, $232 = 0, $315 = 0, $325 = 0; $4 = __stack_pointer - 160 | 0; __stack_pointer = $4; HEAP32[($4 + 156 | 0) >> 2] = $0; HEAP32[($4 + 152 | 0) >> 2] = $1; $5 = HEAP32[($4 + 156 | 0) >> 2] | 0; HEAP32[($4 + 148 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btTransform__btTransform_28btTransform_20const__29($4 + 84 | 0 | 0, btCompoundShape__getChildTransform_28int_29($5 | 0, HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $25 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; $28 = FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($25) | 0; $29 = 8; i64toi32_i32$2 = $28 + $29 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $181 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 64 | 0) + $29 | 0; HEAP32[i64toi32_i32$0 >> 2] = $181; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $28; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $185 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 64 | 0) >> 2] = $185; HEAP32[($4 + 68 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 32 | 0 | 0, $4 + 64 | 0 | 0, HEAP32[($4 + 152 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 48 | 0 | 0, $4 + 32 | 0 | 0, $5 + 84 | 0 | 0); $51 = 8; i64toi32_i32$2 = ($4 + 48 | 0) + $51 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $228 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 64 | 0) + $51 | 0; HEAP32[i64toi32_i32$0 >> 2] = $228; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 52 | 0) >> 2] | 0; $232 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 64 | 0) >> 2] = $232; HEAP32[($4 + 68 | 0) >> 2] = i64toi32_i32$0; $64 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$64 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($64, $4 + 64 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 | 0, btTransform__getOrigin_28_29($4 + 84 | 0 | 0) | 0 | 0, HEAP32[($4 + 152 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 16 | 0 | 0, $4 | 0, $5 + 84 | 0 | 0); btTransform__setOrigin_28btVector3_20const__29($4 + 84 | 0 | 0, $4 + 16 | 0 | 0); btCompoundShape__updateChildTransform_28int_2c_20btTransform_20const__2c_20bool_29($5 | 0, HEAP32[($4 + 148 | 0) >> 2] | 0 | 0, $4 + 84 | 0 | 0, 0 & 1 | 0 | 0); HEAP32[($4 + 148 | 0) >> 2] = (HEAP32[($4 + 148 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } $100 = $5 + 84 | 0; i64toi32_i32$2 = HEAP32[($4 + 152 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $315 = i64toi32_i32$0; i64toi32_i32$0 = $100; HEAP32[i64toi32_i32$0 >> 2] = $315; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $102 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $102 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $325 = i64toi32_i32$1; i64toi32_i32$1 = $100 + $102 | 0; HEAP32[i64toi32_i32$1 >> 2] = $325; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5); __stack_pointer = $4 + 160 | 0; return; } function btCompoundShape__getChildTransform_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $9 = btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $9 | 0; } function btCompoundShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $20 = 0, $29 = 0, $50 = 0, $60 = 0, $75 = 0, $80 = 0, $92 = 0, $99 = 0, $127 = 0, $14 = 0, $33 = 0, $48 = Math_fround(0), $58 = 0, $114 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; HEAP32[($5 + 32 | 0) >> 2] = HEAP32[($5 + 40 | 0) >> 2] | 0; btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0; HEAPF32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = Math_fround(HEAPF32[($6 + 80 | 0) >> 2]); $14 = btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($6 + 20 | 0 | 0) | 0; HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] = $14; HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; label$1 : { if (!(HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { break label$1 } $20 = HEAP32[($5 + 36 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$20 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($20, 76, HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $29 = HEAP32[($5 + 36 | 0) >> 2] | 0; $33 = FUNCTION_TABLE[HEAP32[((HEAP32[$29 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($29, HEAP32[($5 + 24 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = $33; HEAP32[($5 + 20 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } $48 = Math_fround(HEAPF32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 72 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = $48; $50 = HEAP32[($5 + 36 | 0) >> 2] | 0; $58 = (((wasm2js_i32$1 = $50, wasm2js_i32$2 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$50 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0); HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = $58; $60 = HEAP32[($5 + 36 | 0) >> 2] | 0; label$4 : { if (((((wasm2js_i32$2 = $60, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$60 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$2 | 0, wasm2js_i32$1 | 0) | 0) | 0) != (0 | 0) & 1 | 0) { break label$4 } $75 = HEAP32[($5 + 36 | 0) >> 2] | 0; $80 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = ((((wasm2js_i32$3 = $75, wasm2js_i32$4 = FUNCTION_TABLE[HEAP32[((HEAP32[$80 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($80) | 0), wasm2js_i32$5 = 1), wasm2js_i32$2 = HEAP32[((HEAP32[$75 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; $92 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$92 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($92, HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $99 = HEAP32[($5 + 36 | 0) >> 2] | 0; (((((wasm2js_i32$1 = $99, wasm2js_i32$2 = HEAP32[($5 + 16 | 0) >> 2] | 0), wasm2js_i32$5 = HEAP32[($5 + 12 | 0) >> 2] | 0), wasm2js_i32$4 = 1346455635), wasm2js_i32$3 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$99 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, wasm2js_i32$3 | 0); } $114 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 68 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] = $114; btTransform__serializeFloat_28btTransformFloatData__29_20const(btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); HEAP32[($5 + 20 | 0) >> 2] = (HEAP32[($5 + 20 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 24 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 76 | 0; continue label$3; }; } $127 = HEAP32[($5 + 36 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$127 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($127, HEAP32[($5 + 28 | 0) >> 2] | 0, 83727, 1497453121, HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); } __stack_pointer = $5 + 48 | 0; return 83613 | 0; } function btTransform__serializeFloat_28btTransformFloatData__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btMatrix3x3__serializeFloat_28btMatrix3x3FloatData__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btVector3__serializeFloat_28btVector3FloatData__29_20const($5 + 48 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btMatrix3x3__serializeFloat_28btMatrix3x3FloatData__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } btVector3__serializeFloat_28btVector3FloatData__29_20const($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedAllocator_btCompoundShapeChild_2c_2016u___deallocate_28btCompoundShapeChild__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedAllocator_btCompoundShapeChild_2c_2016u___allocate_28int_2c_20btCompoundShapeChild_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 80) | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btCompoundShape_cpp() { __cxx_global_var_init_33(); return; } function __cxx_global_var_init_34() { btInfMaskConverter__btInfMaskConverter_28int_29(114124 | 0, 2139095040 | 0) | 0; return; } function btConeShape__btConeShape_28float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $6 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAPF32[($5 + 24 | 0) >> 2] = $1; HEAPF32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btConvexInternalShape__btConvexInternalShape_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 97972 + 8 | 0; HEAPF32[($6 + 64 | 0) >> 2] = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); HEAPF32[($6 + 68 | 0) >> 2] = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); HEAP32[($6 + 4 | 0) >> 2] = 11; btConeShape__setConeUpIndex_28int_29($6 | 0, 1 | 0); btVector3__btVector3_28_29($5 + 4 | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($6 + 64 | 0) >> 2]) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 64 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($6 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 68 | 0) >> 2])))))))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; __stack_pointer = $5 + 32 | 0; return $6 | 0; } function btConeShape__setConeUpIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, $6 = 0, $21 = Math_fround(0), $29 = Math_fround(0), $37 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($6 | 0) { case 0: HEAP32[($5 + 72 | 0) >> 2] = 1; HEAP32[($5 + 76 | 0) >> 2] = 0; HEAP32[($5 + 80 | 0) >> 2] = 2; break label$1; case 1: HEAP32[($5 + 72 | 0) >> 2] = 0; HEAP32[($5 + 76 | 0) >> 2] = 1; HEAP32[($5 + 80 | 0) >> 2] = 2; break label$1; case 2: HEAP32[($5 + 72 | 0) >> 2] = 0; HEAP32[($5 + 76 | 0) >> 2] = 2; HEAP32[($5 + 80 | 0) >> 2] = 1; break label$1; default: break label$2; }; } __assert_fail(86177 | 0, 75023 | 0, 63 | 0, 66495 | 0); wasm2js_trap(); } $21 = Math_fround(HEAPF32[($5 + 64 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 36 | 0 | 0) | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $21), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $29 = Math_fround(HEAPF32[($5 + 68 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 36 | 0 | 0) | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $29), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $37 = Math_fround(HEAPF32[($5 + 64 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 36 | 0 | 0) | 0) + ((HEAP32[($5 + 80 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $37), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; __stack_pointer = $4 + 16 | 0; return; } function btConeShape__coneLocalSupport_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $31 = Math_fround(0), $92 = Math_fround(0), $99 = Math_fround(0), $113 = Math_fround(0), $127 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 68 | 0) >> 2]) * Math_fround(.5)); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(Math_fround(btVector3__length_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0)) * Math_fround(HEAPF32[($6 + 60 | 0) >> 2])) & 1 | 0)) { break label$2 } btVector3__btVector3_28_29($0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $31 = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$1; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$3 } HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 64 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); btVector3__btVector3_28_29($0 | 0) | 0; $92 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $92), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $99 = Math_fround(-Math_fround(HEAPF32[($5 + 20 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $99), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $113 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $113), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$1; } btVector3__btVector3_28_29($0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $127 = Math_fround(-Math_fround(HEAPF32[($5 + 20 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $127), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } __stack_pointer = $5 + 32 | 0; return; } function btConeShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; btConeShape__coneLocalSupport_28btVector3_20const__29_20const($0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $29 = 0, $31 = 0, $7 = 0, $107 = 0, $120 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; btConeShape__coneLocalSupport_28btVector3_20const__29_20const($6 + 8 | 0 | 0, $7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); $29 = (HEAP32[($6 + 36 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 12 | 0) >> 2] | 0; $107 = i64toi32_i32$0; i64toi32_i32$0 = $29; HEAP32[i64toi32_i32$0 >> 2] = $107; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $31 = 8; i64toi32_i32$2 = ($6 + 8 | 0) + $31 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $120 = i64toi32_i32$1; i64toi32_i32$1 = $29 + $31 | 0; HEAP32[i64toi32_i32$1 >> 2] = $120; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 48 | 0; return; } function btConeShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $16 = 0, $17 = 0, $114 = 0, $118 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $1; HEAP32[($5 + 56 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; btConeShape__coneLocalSupport_28btVector3_20const__29_20const($0 | 0, $6 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); label$1 : { if (!(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } $16 = HEAP32[($5 + 56 | 0) >> 2] | 0; $17 = 8; i64toi32_i32$2 = $16 + $17 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $114 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 40 | 0) + $17 | 0; HEAP32[i64toi32_i32$0 >> 2] = $114; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $16; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $118 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 40 | 0) >> 2] = $118; HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; label$2 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$2 } HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); } btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; } __stack_pointer = $5 + 64 | 0; return; } function btConeShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = Math_fround(0), $18 = 0, $42 = Math_fround(0), $49 = Math_fround(0), $52 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($5 + 76 | 0) >> 2] | 0; HEAP32[($4 + 16 | 0) >> 2] = HEAP32[($5 + 72 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = HEAP32[($5 + 80 | 0) >> 2] | 0; $15 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); $18 = btVector3__operator_20float__28_29($5 + 20 | 0 | 0) | 0; HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2]) * Math_fround($15 / Math_fround(HEAPF32[($18 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); $42 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 20 | 0 | 0) | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); $49 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); $52 = btVector3__operator_20float__28_29($5 + 20 | 0 | 0) | 0; HEAPF32[($5 + 64 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) * Math_fround(Math_fround($42 + Math_fround($49 / Math_fround(HEAPF32[($52 + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))) / Math_fround(2.0))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 64 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 68 | 0) >> 2])))))))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 32 | 0; return; } function btConeShape___btConeShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConeShape___btConeShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConeShape___btConeShape_28_29($4 | 0) | 0; btConeShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConeShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexInternalShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); __stack_pointer = $6 + 16 | 0; return; } function btConeShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $121 = 0, $123 = 0, $385 = 0, $398 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 224 | 0; __stack_pointer = $5; HEAP32[($5 + 220 | 0) >> 2] = $0; HEAPF32[($5 + 216 | 0) >> 2] = $1; HEAP32[($5 + 212 | 0) >> 2] = $2; $6 = HEAP32[($5 + 220 | 0) >> 2] | 0; btTransform__btTransform_28_29($5 + 148 | 0 | 0) | 0; btTransform__setIdentity_28_29($5 + 148 | 0 | 0); btVector3__btVector3_28_29($5 + 132 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 116 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, $5 + 148 | 0, $5 + 132 | 0, $5 + 116 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 84 | 0 | 0, $5 + 116 | 0 | 0, $5 + 132 | 0 | 0); HEAPF32[($5 + 80 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($5 + 100 | 0 | 0, $5 + 84 | 0 | 0, $5 + 80 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 100 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 76 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 100 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 76 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 100 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 76 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 60 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 72 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 68 | 0) >> 2])); HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 64 | 0) >> 2])); HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 216 | 0) >> 2]) * Math_fround(.0833333283662796)); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 52 | 0) >> 2])); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 52 | 0) >> 2])); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 56 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; operator__28float_20const__2c_20btVector3_20const__29($5 + 32 | 0 | 0, $5 + 48 | 0 | 0, $5 + 16 | 0 | 0); $121 = HEAP32[($5 + 212 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 36 | 0) >> 2] | 0; $385 = i64toi32_i32$0; i64toi32_i32$0 = $121; HEAP32[i64toi32_i32$0 >> 2] = $385; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $123 = 8; i64toi32_i32$2 = ($5 + 32 | 0) + $123 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $398 = i64toi32_i32$1; i64toi32_i32$1 = $121 + $123 | 0; HEAP32[i64toi32_i32$1 >> 2] = $398; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 224 | 0; return; } function btConeShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 81789 | 0; } function btConeShape__getAnisotropicRollingFrictionDirection_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); HEAPF32[$4 >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btConeShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 60 | 0; } function btConeShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[$5 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6 + 76 | 0) >> 2] | 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 57 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 58 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 59 | 0) >> 0] = 0; __stack_pointer = $5 + 16 | 0; return 83555 | 0; } function _GLOBAL__sub_I_btConeShape_cpp() { __cxx_global_var_init_34(); return; } function __cxx_global_var_init_35() { btInfMaskConverter__btInfMaskConverter_28int_29(114128 | 0, 2139095040 | 0) | 0; return; } function btConvexInternalShape__btConvexInternalShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexShape__btConvexShape_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 98100 + 8 | 0; HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(1.0); HEAPF32[$3 >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 20 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0) | 0; btVector3__btVector3_28_29($4 + 36 | 0 | 0) | 0; HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(.03999999910593033); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexInternalShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $11 = 0, $13 = 0, $5 = 0, $46 = 0, $59 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; btVector3__absolute_28_29_20const($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); $11 = $5 + 20 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 12 | 0) >> 2] | 0; $46 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $46; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = ($4 + 8 | 0) + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $59 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $59; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 32 | 0; return; } function btVector3__absolute_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[$5 >> 2]))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btConvexInternalShape__getAabbSlow_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $118 = 0, $79 = Math_fround(0), $95 = 0, $390 = 0, $394 = 0, $137 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 160 | 0; __stack_pointer = $6; HEAP32[($6 + 156 | 0) >> 2] = $0; HEAP32[($6 + 152 | 0) >> 2] = $1; HEAP32[($6 + 148 | 0) >> 2] = $2; HEAP32[($6 + 144 | 0) >> 2] = $3; $7 = HEAP32[($6 + 156 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; HEAP32[($6 + 136 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 136 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } HEAPF32[($6 + 116 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 112 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 108 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 120 | 0 | 0, $6 + 116 | 0 | 0, $6 + 112 | 0 | 0, $6 + 108 | 0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 120 | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 76 | 0 | 0, $6 + 120 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 152 | 0) >> 2] | 0 | 0) | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6 + 92 | 0, $7, $6 + 76 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 56 | 0 | 0, HEAP32[($6 + 152 | 0) >> 2] | 0 | 0, $6 + 92 | 0 | 0); $79 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($6 + 140 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(HEAP32[($6 + 144 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $79), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 120 | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $95 = HEAP32[($6 + 152 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 8 | 0 | 0, $6 + 120 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 152 | 0) >> 2] | 0 | 0) | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6 + 24 | 0, $7, $6 + 8 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 40 | 0 | 0, $95 | 0, $6 + 24 | 0 | 0); $118 = 8; i64toi32_i32$2 = ($6 + 40 | 0) + $118 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $390 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 56 | 0) + $118 | 0; HEAP32[i64toi32_i32$0 >> 2] = $390; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 40 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 44 | 0) >> 2] | 0; $394 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 56 | 0) >> 2] = $394; HEAP32[($6 + 60 | 0) >> 2] = i64toi32_i32$0; $137 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($6 + 140 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(HEAP32[($6 + 148 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $137), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($6 + 136 | 0) >> 2] = (HEAP32[($6 + 136 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 160 | 0; return; } function btConvexInternalShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $18 = 0, $19 = 0, $121 = 0, $125 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $1; HEAP32[($5 + 56 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($0, $6, HEAP32[($5 + 56 | 0) >> 2] | 0); label$1 : { if (!(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } $18 = HEAP32[($5 + 56 | 0) >> 2] | 0; $19 = 8; i64toi32_i32$2 = $18 + $19 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $121 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 40 | 0) + $19 | 0; HEAP32[i64toi32_i32$0 >> 2] = $121; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $18; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $125 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 40 | 0) >> 2] = $125; HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; label$2 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$2 } HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); } btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; } __stack_pointer = $5 + 64 | 0; return; } function btConvexInternalShape___btConvexInternalShape_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btConvexInternalShape_cpp() { __cxx_global_var_init_35(); return; } function __cxx_global_var_init_36() { btInfMaskConverter__btInfMaskConverter_28int_29(114132 | 0, 2139095040 | 0) | 0; return; } function btConvexShape__btConvexShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionShape__btCollisionShape_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 98236 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexShape___btConvexShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionShape___btCollisionShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexShape___btConvexShape_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btConvexShape__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $65 = 0, $67 = 0, $73 = 0, $75 = 0, $95 = 0, $97 = 0, $103 = 0, $105 = 0, $17 = 0, $32 = 0, $57 = Math_fround(0), $63 = Math_fround(0), $246 = 0, $259 = 0, $265 = 0, $278 = 0, $320 = 0, $333 = 0, $339 = 0, $352 = 0; $9 = __stack_pointer - 128 | 0; __stack_pointer = $9; HEAP32[($9 + 124 | 0) >> 2] = $0; HEAP32[($9 + 120 | 0) >> 2] = $1; HEAP32[($9 + 116 | 0) >> 2] = $2; HEAP32[($9 + 112 | 0) >> 2] = $3; HEAP32[($9 + 108 | 0) >> 2] = $4; HEAP32[($9 + 104 | 0) >> 2] = $5; HEAP32[($9 + 100 | 0) >> 2] = $6; $10 = HEAP32[($9 + 124 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($9 + 84 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($9 + 120 | 0) >> 2] | 0 | 0) | 0 | 0); $17 = HEAP32[($9 + 120 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($9 + 52 | 0, $10, $9 + 84 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($9 + 68 | 0 | 0, $17 | 0, $9 + 52 | 0 | 0); $32 = HEAP32[($9 + 120 | 0) >> 2] | 0; operator__28btVector3_20const__29($9 + 4 | 0 | 0, $9 + 84 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($9 + 20 | 0, $10, $9 + 4 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($9 + 36 | 0 | 0, $32 | 0, $9 + 20 | 0 | 0); $57 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 68 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0)); HEAPF32[(HEAP32[($9 + 112 | 0) >> 2] | 0) >> 2] = $57; $63 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 36 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0)); HEAPF32[(HEAP32[($9 + 108 | 0) >> 2] | 0) >> 2] = $63; $65 = HEAP32[($9 + 100 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 36 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 40 | 0) >> 2] | 0; $246 = i64toi32_i32$0; i64toi32_i32$0 = $65; HEAP32[i64toi32_i32$0 >> 2] = $246; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $67 = 8; i64toi32_i32$2 = ($9 + 36 | 0) + $67 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $259 = i64toi32_i32$1; i64toi32_i32$1 = $65 + $67 | 0; HEAP32[i64toi32_i32$1 >> 2] = $259; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $73 = HEAP32[($9 + 104 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 68 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 72 | 0) >> 2] | 0; $265 = i64toi32_i32$0; i64toi32_i32$0 = $73; HEAP32[i64toi32_i32$0 >> 2] = $265; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $75 = 8; i64toi32_i32$2 = ($9 + 68 | 0) + $75 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $278 = i64toi32_i32$1; i64toi32_i32$1 = $73 + $75 | 0; HEAP32[i64toi32_i32$1 >> 2] = $278; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$1 : { if (!(Math_fround(HEAPF32[(HEAP32[($9 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 108 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$1 } HEAPF32[$9 >> 2] = Math_fround(HEAPF32[(HEAP32[($9 + 112 | 0) >> 2] | 0) >> 2]); HEAPF32[(HEAP32[($9 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($9 + 108 | 0) >> 2] | 0) >> 2]); HEAPF32[(HEAP32[($9 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[$9 >> 2]); $95 = HEAP32[($9 + 100 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 68 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 72 | 0) >> 2] | 0; $320 = i64toi32_i32$0; i64toi32_i32$0 = $95; HEAP32[i64toi32_i32$0 >> 2] = $320; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $97 = 8; i64toi32_i32$2 = ($9 + 68 | 0) + $97 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $333 = i64toi32_i32$1; i64toi32_i32$1 = $95 + $97 | 0; HEAP32[i64toi32_i32$1 >> 2] = $333; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $103 = HEAP32[($9 + 104 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 36 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 40 | 0) >> 2] | 0; $339 = i64toi32_i32$0; i64toi32_i32$0 = $103; HEAP32[i64toi32_i32$0 >> 2] = $339; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $105 = 8; i64toi32_i32$2 = ($9 + 36 | 0) + $105 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $352 = i64toi32_i32$1; i64toi32_i32$1 = $103 + $105 | 0; HEAP32[i64toi32_i32$1 >> 2] = $352; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $9 + 128 | 0; return; } function btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $230 = 0, $7 = 0, $100 = 0, $101 = 0, $121 = 0, $122 = 0, $141 = 0, $142 = 0, $257 = Math_fround(0), $304 = 0, $322 = Math_fround(0), $387 = 0, $462 = 0, $484 = 0, $521 = 0, $543 = 0, $817 = 0, $821 = 0, $863 = 0, $867 = 0, $235 = Math_fround(0), $278 = Math_fround(0), $299 = Math_fround(0), $1410 = 0, $1414 = 0, $453 = Math_fround(0), $1555 = 0, $1559 = 0, $1604 = 0, $1608 = 0, $512 = Math_fround(0), $1677 = 0, $1681 = 0, $1726 = 0, $1730 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 400 | 0; __stack_pointer = $5; HEAP32[($5 + 396 | 0) >> 2] = $1; HEAP32[($5 + 392 | 0) >> 2] = $2; $6 = HEAP32[($5 + 396 | 0) >> 2] | 0; $7 = HEAP32[($6 + 4 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($7 | 0) { case 8: HEAPF32[($5 + 388 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 384 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 380 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 388 | 0 | 0, $5 + 384 | 0 | 0, $5 + 380 | 0 | 0) | 0; break label$1; case 0: HEAP32[($5 + 376 | 0) >> 2] = $6; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexInternalShape__getImplicitShapeDimensions_28_29_20const(HEAP32[($5 + 376 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 360 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 368 | 0 | 0, $5 + 364 | 0 | 0, $5 + 360 | 0 | 0) | 0; break label$1; case 1: HEAP32[($5 + 356 | 0) >> 2] = $6; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 340 | 0 | 0, btVector3__getX_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; HEAP32[($5 + 336 | 0) >> 2] = (HEAP32[($5 + 356 | 0) >> 2] | 0) + 64 | 0; btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($5 + 320 | 0 | 0, $5 + 340 | 0 | 0, HEAP32[($5 + 336 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 336 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($5 + 336 | 0) >> 2] | 0) + 32 | 0 | 0); $100 = (HEAP32[($5 + 336 | 0) >> 2] | 0) + ((btVector3__maxAxis_28_29_20const($5 + 320 | 0 | 0) | 0) << 4 | 0) | 0; $101 = 8; i64toi32_i32$2 = $100 + $101 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $817 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 304 | 0) + $101 | 0; HEAP32[i64toi32_i32$0 >> 2] = $817; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $100; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $821 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 304 | 0) >> 2] = $821; HEAP32[($5 + 308 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__getX_28_29_20const($5 + 304 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($5 + 304 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($5 + 304 | 0 | 0) | 0 | 0) | 0; break label$1; case 13: HEAP32[($5 + 300 | 0) >> 2] = $6; $121 = btConvexInternalShape__getImplicitShapeDimensions_28_29_20const(HEAP32[($5 + 300 | 0) >> 2] | 0 | 0) | 0; $122 = 8; i64toi32_i32$2 = $121 + $122 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $863 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 280 | 0) + $122 | 0; HEAP32[i64toi32_i32$0 >> 2] = $863; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $121; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $867 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 280 | 0) >> 2] = $867; HEAP32[($5 + 284 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 264 | 0 | 0, btVector3__getX_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCylinderShape__getUpAxis_28_29_20const(HEAP32[($5 + 300 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 256 | 0) >> 2] = 1; HEAP32[($5 + 252 | 0) >> 2] = 0; $141 = 2; HEAP32[($5 + 248 | 0) >> 2] = $141; $142 = HEAP32[($5 + 260 | 0) >> 2] | 0; label$10 : { label$11 : { switch ($142 | 0) { case 0: HEAP32[($5 + 256 | 0) >> 2] = 1; HEAP32[($5 + 252 | 0) >> 2] = 0; HEAP32[($5 + 248 | 0) >> 2] = 2; break label$10; case 1: HEAP32[($5 + 256 | 0) >> 2] = 0; HEAP32[($5 + 252 | 0) >> 2] = 1; HEAP32[($5 + 248 | 0) >> 2] = 2; break label$10; case 2: HEAP32[($5 + 256 | 0) >> 2] = 0; HEAP32[($5 + 252 | 0) >> 2] = 2; HEAP32[($5 + 248 | 0) >> 2] = 1; break label$10; default: break label$11; }; } __assert_fail(86177 | 0, 74260 | 0, 200 | 0, 77337 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 280 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 280 | 0 | 0) | 0) + ((HEAP32[($5 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($5 + 224 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 216 | 0) >> 2] = wasm2js_f32$0; label$15 : { if (!(Math_fround(HEAPF32[($5 + 216 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$15 } HEAPF32[($5 + 220 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 244 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 216 | 0) >> 2])); $230 = 2; $235 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << $230 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 220 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << $230 | 0) | 0, wasm2js_f32$0 = $235), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$16 : { label$17 : { if (!(+Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 252 | 0) >> 2] | 0) << $230 | 0) | 0) >> 2]) < +(0 | 0) & 1 | 0)) { break label$17 } $257 = Math_fround(-Math_fround(HEAPF32[($5 + 240 | 0) >> 2])); break label$16; } $257 = Math_fround(HEAPF32[($5 + 240 | 0) >> 2]); } (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 252 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $257), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $278 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 220 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $278), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__getX_28_29_20const($5 + 224 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($5 + 224 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($5 + 224 | 0 | 0) | 0 | 0) | 0; break label$1; } $299 = Math_fround(HEAPF32[($5 + 244 | 0) >> 2]); $304 = 2; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << $304 | 0) | 0, wasm2js_f32$0 = $299), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$18 : { label$19 : { if (!(+Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 252 | 0) >> 2] | 0) << $304 | 0) | 0) >> 2]) < +(0 | 0) & 1 | 0)) { break label$19 } $322 = Math_fround(-Math_fround(HEAPF32[($5 + 240 | 0) >> 2])); break label$18; } $322 = Math_fround(HEAPF32[($5 + 240 | 0) >> 2]); } (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 252 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $322), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__getX_28_29_20const($5 + 224 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($5 + 224 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($5 + 224 | 0 | 0) | 0 | 0) | 0; break label$1; case 10: btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 200 | 0 | 0, btVector3__getX_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; HEAP32[($5 + 196 | 0) >> 2] = $6; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($5 + 196 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($5 + 196 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; HEAPF32[($5 + 164 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 160 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 156 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 168 | 0 | 0, $5 + 164 | 0 | 0, $5 + 160 | 0 | 0, $5 + 156 | 0 | 0) | 0; HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(-999999984306749440.0); $387 = 8; i64toi32_i32$2 = ($5 + 200 | 0) + $387 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1410 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 136 | 0) + $387 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1410; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 200 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 204 | 0) >> 2] | 0; $1414 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 136 | 0) >> 2] = $1414; HEAP32[($5 + 140 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 136 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_f32$0; label$20 : { label$21 : { if (!(Math_fround(HEAPF32[($5 + 132 | 0) >> 2]) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$21 } HEAPF32[($5 + 128 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 124 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 136 | 0 | 0, $5 + 128 | 0 | 0, $5 + 124 | 0 | 0, $5 + 120 | 0 | 0); break label$20; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 132 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1($5 + 136 | 0 | 0, $5 + 116 | 0 | 0) | 0; } btVector3__btVector3_28_29($5 + 96 | 0 | 0) | 0; HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 64 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 76 | 0 | 0, $5 + 72 | 0 | 0, $5 + 68 | 0 | 0, $5 + 64 | 0 | 0) | 0; $453 = Math_fround(HEAPF32[($5 + 192 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 76 | 0 | 0) | 0) + ((HEAP32[($5 + 188 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $453), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $462 = 8; i64toi32_i32$2 = ($5 + 76 | 0) + $462 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1555 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 96 | 0) + $462 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1555; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 76 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 80 | 0) >> 2] | 0; $1559 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 96 | 0) >> 2] = $1559; HEAP32[($5 + 100 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 136 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; label$22 : { if (!(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) & 1 | 0)) { break label$22 } HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(HEAPF32[($5 + 92 | 0) >> 2]); $484 = 8; i64toi32_i32$2 = ($5 + 96 | 0) + $484 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1604 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 168 | 0) + $484 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1604; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 96 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 100 | 0) >> 2] | 0; $1608 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 168 | 0) >> 2] = $1608; HEAP32[($5 + 172 | 0) >> 2] = i64toi32_i32$0; } HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 48 | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0) | 0; $512 = Math_fround(-Math_fround(HEAPF32[($5 + 192 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 48 | 0 | 0) | 0) + ((HEAP32[($5 + 188 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $512), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $521 = 8; i64toi32_i32$2 = ($5 + 48 | 0) + $521 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1677 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 96 | 0) + $521 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1677; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 52 | 0) >> 2] | 0; $1681 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 96 | 0) >> 2] = $1681; HEAP32[($5 + 100 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 136 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; label$23 : { if (!(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) & 1 | 0)) { break label$23 } HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(HEAPF32[($5 + 92 | 0) >> 2]); $543 = 8; i64toi32_i32$2 = ($5 + 96 | 0) + $543 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1726 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 168 | 0) + $543 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1726; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 96 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 100 | 0) >> 2] | 0; $1730 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 168 | 0) >> 2] = $1730; HEAP32[($5 + 172 | 0) >> 2] = i64toi32_i32$0; } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__getX_28_29_20const($5 + 168 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($5 + 168 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($5 + 168 | 0 | 0) | 0 | 0) | 0; break label$1; case 5: HEAP32[($5 + 32 | 0) >> 2] = $6; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexPointCloudShape__getUnscaledPoints_28_29(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexPointCloudShape__getNumPoints_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; convexHullSupport_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20btVector3_20const__29($0 | 0, HEAP32[($5 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, btConvexInternalShape__getLocalScalingNV_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); break label$1; case 4: HEAP32[($5 + 20 | 0) >> 2] = $6; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullShape__getUnscaledPoints_28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullShape__getNumPoints_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; convexHullSupport_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20btVector3_20const__29($0 | 0, HEAP32[($5 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, btConvexInternalShape__getLocalScalingNV_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); break label$1; default: break label$2; }; } FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($0, $6, HEAP32[($5 + 392 | 0) >> 2] | 0); } __stack_pointer = $5 + 400 | 0; return; } function btConvexPointCloudShape__getUnscaledPoints_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; } function btConvexPointCloudShape__getNumPoints_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0; } function btConvexInternalShape__getLocalScalingNV_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0; } function convexHullSupport_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 44 | 0) >> 2] = $1; HEAP32[($7 + 40 | 0) >> 2] = $2; HEAP32[($7 + 36 | 0) >> 2] = $3; HEAP32[($7 + 32 | 0) >> 2] = $4; operator__28btVector3_20const__2c_20btVector3_20const__29_1($7 + 16 | 0 | 0, HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_i32$1 = btVector3__maxDot_28btVector3_20const__2c_20long_2c_20float__29_20const($7 + 16 | 0 | 0, HEAP32[($7 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, $7 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$1 : { if ((HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(86080 | 0, 74260 | 0, 123 | 0, 67460 | 0); wasm2js_trap(); } operator__28btVector3_20const__2c_20btVector3_20const__29_1($0 | 0, (HEAP32[($7 + 40 | 0) >> 2] | 0) + ((HEAP32[($7 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0); __stack_pointer = $7 + 48 | 0; return; } function btConvexHullShape__getUnscaledPoints_28_29($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0 | 0, 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btConvexHullShape__getNumPoints_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btVector3___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btVector3__maxDot_28btVector3_20const__2c_20long_2c_20float__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $37 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAP32[($6 + 8 | 0) >> 2] = 0; HEAP32[($6 + 4 | 0) >> 2] = -1; HEAP32[($6 + 8 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $7 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[$6 >> 2]) > Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; } HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAPF32[(HEAP32[($6 + 16 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($6 + 12 | 0) >> 2]); $37 = HEAP32[($6 + 4 | 0) >> 2] | 0; __stack_pointer = $6 + 32 | 0; return $37 | 0; } function btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btConvexShape__localGetSupportVertexNonVirtual_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $8 = 0, $90 = 0, $94 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 80 | 0; __stack_pointer = $5; HEAP32[($5 + 76 | 0) >> 2] = $1; HEAP32[($5 + 72 | 0) >> 2] = $2; $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; $7 = HEAP32[($5 + 72 | 0) >> 2] | 0; $8 = 8; i64toi32_i32$2 = $7 + $8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $90 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 56 | 0) + $8 | 0; HEAP32[i64toi32_i32$0 >> 2] = $90; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $94 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 56 | 0) >> 2] = $94; HEAP32[($5 + 60 | 0) >> 2] = i64toi32_i32$0; label$1 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 56 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$1 } HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(-1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 56 | 0 | 0, $5 + 52 | 0 | 0, $5 + 48 | 0 | 0, $5 + 44 | 0 | 0); } btVector3__normalize_28_29($5 + 56 | 0 | 0) | 0; btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($5 + 28 | 0 | 0, $6 | 0, $5 + 56 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const($6 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 56 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($0 | 0, $5 + 28 | 0 | 0, $5 + 12 | 0 | 0); __stack_pointer = $5 + 80 | 0; return; } function btConvexShape__getMarginNonVirtual_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $5 = 0, $24 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 48 | 0; __stack_pointer = $3; HEAP32[($3 + 40 | 0) >> 2] = $0; $4 = HEAP32[($3 + 40 | 0) >> 2] | 0; $5 = HEAP32[($4 + 4 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($5 | 0) { case 8: HEAP32[($3 + 36 | 0) >> 2] = $4; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($3 + 36 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; break label$1; case 0: HEAP32[($3 + 32 | 0) >> 2] = $4; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 32 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; break label$1; case 1: HEAP32[($3 + 28 | 0) >> 2] = $4; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 28 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; break label$1; case 13: HEAP32[($3 + 24 | 0) >> 2] = $4; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; break label$1; case 11: HEAP32[($3 + 20 | 0) >> 2] = $4; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 20 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; break label$1; case 10: HEAP32[($3 + 16 | 0) >> 2] = $4; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 16 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; break label$1; case 4: case 5: HEAP32[($3 + 12 | 0) >> 2] = $4; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; break label$1; default: break label$2; }; } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($4))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; } $24 = Math_fround(HEAPF32[($3 + 44 | 0) >> 2]); __stack_pointer = $3 + 48 | 0; return Math_fround($24); } function btConvexInternalShape__getMarginNV_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2])); } function btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20float_29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($8 + 96 | 0) >> 0] | 0) & 1 | 0) { break label$1 } __assert_fail(82770 | 0, 79068 | 0, 106 | 0, 83077 | 0); wasm2js_trap(); } btTransformAabb_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29($8 + 64 | 0 | 0, $8 + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2])), HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function _GLOBAL__sub_I_btConvexShape_cpp() { __cxx_global_var_init_36(); return; } function __cxx_global_var_init_37() { btInfMaskConverter__btInfMaskConverter_28int_29(114136 | 0, 2139095040 | 0) | 0; return; } function btConvexTriangleMeshShape__btConvexTriangleMeshShape_28btStridingMeshInterface__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $16 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 8 | 0) >> 2] = $0; HEAP32[($5 + 4 | 0) >> 2] = $1; HEAP8[($5 + 3 | 0) >> 0] = $2; $7 = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = $7; btPolyhedralConvexAabbCachingShape__btPolyhedralConvexAabbCachingShape_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 98364 + 8 | 0; HEAP32[($7 + 100 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = 3; label$1 : { if (!((HEAPU8[($5 + 3 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($7 | 0); } $16 = HEAP32[($5 + 12 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $16 | 0; } function btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0, $23 = 0, $87 = 0, $110 = 0, $6 = 0, $173 = 0, $177 = 0, $327 = 0, $337 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 160 | 0; __stack_pointer = $5; HEAP32[($5 + 156 | 0) >> 2] = $1; HEAP32[($5 + 152 | 0) >> 2] = $2; $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; HEAPF32[($5 + 148 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 144 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 140 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 148 | 0 | 0, $5 + 144 | 0 | 0, $5 + 140 | 0 | 0) | 0; $22 = HEAP32[($5 + 152 | 0) >> 2] | 0; $23 = 8; i64toi32_i32$2 = $22 + $23 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $173 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 120 | 0) + $23 | 0; HEAP32[i64toi32_i32$0 >> 2] = $173; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $22; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $177 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 120 | 0) >> 2] = $177; HEAP32[($5 + 124 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 120 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 116 | 0) >> 2]) < Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$2 } HEAPF32[($5 + 112 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 104 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 120 | 0 | 0, $5 + 112 | 0 | 0, $5 + 108 | 0 | 0, $5 + 104 | 0 | 0); break label$1; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 116 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1($5 + 120 | 0 | 0, $5 + 100 | 0 | 0) | 0; } LocalSupportVertexCallback__LocalSupportVertexCallback_28btVector3_20const__29($5 + 60 | 0 | 0, $5 + 120 | 0 | 0) | 0; HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; $87 = HEAP32[($6 + 100 | 0) >> 2] | 0; operator__28btVector3_20const__29($5 + 16 | 0 | 0, $5 + 44 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$87 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($87, $5 + 60 | 0, $5 + 16 | 0, $5 + 44 | 0); LocalSupportVertexCallback__GetSupportVertexLocal_28_29($5 | 0, $5 + 60 | 0 | 0); i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[$5 >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; $327 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $327; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $110 = 8; i64toi32_i32$2 = $5 + $110 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $337 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $110 | 0; HEAP32[i64toi32_i32$1 >> 2] = $337; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; LocalSupportVertexCallback___LocalSupportVertexCallback_28_29($5 + 60 | 0 | 0) | 0; __stack_pointer = $5 + 160 | 0; return; } function LocalSupportVertexCallback__LocalSupportVertexCallback_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $28 = 0, $31 = 0, $97 = 0, $107 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 98536 + 8 | 0; HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 4 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0) | 0; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(-999999984306749440.0); $28 = $5 + 24 | 0; i64toi32_i32$2 = HEAP32[($4 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $97 = i64toi32_i32$0; i64toi32_i32$0 = $28; HEAP32[i64toi32_i32$0 >> 2] = $97; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $31 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $31 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $107 = i64toi32_i32$1; i64toi32_i32$1 = $28 + $31 | 0; HEAP32[i64toi32_i32$1 >> 2] = $107; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 32 | 0; return $5 | 0; } function LocalSupportVertexCallback__GetSupportVertexLocal_28_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $9 = 0, $27 = 0, $37 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $1; i64toi32_i32$2 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $27 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $27; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $9 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $9 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $37 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $9 | 0; HEAP32[i64toi32_i32$1 >> 2] = $37; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function LocalSupportVertexCallback___LocalSupportVertexCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $58 = 0, $84 = 0, $86 = 0, $7 = 0, $267 = 0, $277 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 128 | 0; __stack_pointer = $6; HEAP32[($6 + 124 | 0) >> 2] = $0; HEAP32[($6 + 120 | 0) >> 2] = $1; HEAP32[($6 + 116 | 0) >> 2] = $2; HEAP32[($6 + 112 | 0) >> 2] = $3; $7 = HEAP32[($6 + 124 | 0) >> 2] | 0; HEAP32[($6 + 108 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = btVector3__operator_20float__28_29((HEAP32[($6 + 116 | 0) >> 2] | 0) + ((HEAP32[($6 + 108 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-999999984306749440.0)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; HEAP32[($6 + 108 | 0) >> 2] = (HEAP32[($6 + 108 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAP32[($6 + 104 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($6 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($6 + 100 | 0) >> 2] = (HEAP32[($6 + 120 | 0) >> 2] | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 4 | 0) | 0; LocalSupportVertexCallback__LocalSupportVertexCallback_28btVector3_20const__29($6 + 60 | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0) | 0; $58 = HEAP32[($7 + 100 | 0) >> 2] | 0; operator__28btVector3_20const__29($6 + 16 | 0 | 0, $6 + 44 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$58 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($58, $6 + 60 | 0, $6 + 16 | 0, $6 + 44 | 0); LocalSupportVertexCallback__GetSupportVertexLocal_28_29($6 | 0, $6 + 60 | 0 | 0); $84 = (HEAP32[($6 + 116 | 0) >> 2] | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; $267 = i64toi32_i32$0; i64toi32_i32$0 = $84; HEAP32[i64toi32_i32$0 >> 2] = $267; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $86 = 8; i64toi32_i32$2 = $6 + $86 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $277 = i64toi32_i32$1; i64toi32_i32$1 = $84 + $86 | 0; HEAP32[i64toi32_i32$1 >> 2] = $277; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; LocalSupportVertexCallback___LocalSupportVertexCallback_28_29($6 + 60 | 0 | 0) | 0; HEAP32[($6 + 104 | 0) >> 2] = (HEAP32[($6 + 104 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } __stack_pointer = $6 + 128 | 0; return; } function btConvexTriangleMeshShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $18 = 0, $19 = 0, $121 = 0, $125 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $1; HEAP32[($5 + 56 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($0, $6, HEAP32[($5 + 56 | 0) >> 2] | 0); label$1 : { if (!(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } $18 = HEAP32[($5 + 56 | 0) >> 2] | 0; $19 = 8; i64toi32_i32$2 = $18 + $19 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $121 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 40 | 0) + $19 | 0; HEAP32[i64toi32_i32$0 >> 2] = $121; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $18; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $125 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 40 | 0) >> 2] = $125; HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; label$2 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$2 } HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); } btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; } __stack_pointer = $5 + 64 | 0; return; } function btConvexTriangleMeshShape__getNumVertices_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 | 0; } function btConvexTriangleMeshShape__getNumEdges_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 | 0; } function btConvexTriangleMeshShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; __assert_fail(86177 | 0, 74639 | 0, 169 | 0, 81912 | 0); wasm2js_trap(); } function btConvexTriangleMeshShape__getVertex_28int_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; __assert_fail(86177 | 0, 74639 | 0, 174 | 0, 66266 | 0); wasm2js_trap(); } function btConvexTriangleMeshShape__getNumPlanes_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 | 0; } function btConvexTriangleMeshShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; __assert_fail(86177 | 0, 74639 | 0, 184 | 0, 81810 | 0); wasm2js_trap(); } function btConvexTriangleMeshShape__isInside_28btVector3_20const__2c_20float_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; __assert_fail(86177 | 0, 74639 | 0, 190 | 0, 82062 | 0); wasm2js_trap(); } function btConvexTriangleMeshShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btStridingMeshInterface__setScaling_28btVector3_20const__29(HEAP32[($5 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btStridingMeshInterface__setScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btConvexTriangleMeshShape__getLocalScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btPolyhedralConvexShape___btPolyhedralConvexShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29($4 | 0) | 0; btConvexTriangleMeshShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexTriangleMeshShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexTriangleMeshShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 77952 | 0; } function LocalSupportVertexCallback___LocalSupportVertexCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; LocalSupportVertexCallback___LocalSupportVertexCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function LocalSupportVertexCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $36 = 0, $38 = 0, $126 = 0, $136 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 24 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) > Math_fround(HEAPF32[($7 + 20 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($7 + 20 | 0) >> 2] = Math_fround(HEAPF32[($6 + 8 | 0) >> 2]); $36 = $7 + 4 | 0; i64toi32_i32$2 = (HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $126 = i64toi32_i32$0; i64toi32_i32$0 = $36; HEAP32[i64toi32_i32$0 >> 2] = $126; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $38 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $38 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $136 = i64toi32_i32$1; i64toi32_i32$1 = $36 + $38 | 0; HEAP32[i64toi32_i32$1 >> 2] = $136; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function _GLOBAL__sub_I_btConvexTriangleMeshShape_cpp() { __cxx_global_var_init_37(); return; } function __cxx_global_var_init_38() { btInfMaskConverter__btInfMaskConverter_28int_29(114140 | 0, 2139095040 | 0) | 0; return; } function btCylinderShape__btCylinderShape_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $47 = 0, $49 = 0, $161 = 0, $174 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAP32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; btConvexInternalShape__btConvexInternalShape_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 98600 + 8 | 0; HEAP32[($5 + 60 | 0) >> 2] = 1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $4 + 52 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 56 | 0 | 0); $47 = $5 + 36 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; $161 = i64toi32_i32$0; i64toi32_i32$0 = $47; HEAP32[i64toi32_i32$0 >> 2] = $161; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; i64toi32_i32$2 = ($4 + 28 | 0) + $49 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $174 = i64toi32_i32$1; i64toi32_i32$1 = $47 + $49 | 0; HEAP32[i64toi32_i32$1 >> 2] = $174; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btConvexInternalShape__setSafeMargin_28btVector3_20const__2c_20float_29($5 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(.10000000149011612))); HEAP32[($5 + 4 | 0) >> 2] = 13; __stack_pointer = $4 + 80 | 0; return $5 | 0; } function btCylinderShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btTransformAabb_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29(btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const($7 | 0) | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); __stack_pointer = $6 + 16 | 0; return; } function btCylinderShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $30 = 0, $6 = 0, $18 = 0, $69 = 0, $74 = 0, $78 = 0, $83 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAPF32[($5 + 56 | 0) >> 2] = $1; HEAP32[($5 + 52 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; btCylinderShape__getHalfExtentsWithMargin_28_29_20const($5 + 28 | 0 | 0, $6 | 0); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(12.0)); HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(4.0)); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(2.0)); $18 = HEAP32[($6 + 60 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($18 | 0) { case 0: HEAP32[($5 + 12 | 0) >> 2] = 1; HEAP32[($5 + 8 | 0) >> 2] = 0; break label$1; case 2: HEAP32[($5 + 12 | 0) >> 2] = 0; HEAP32[($5 + 8 | 0) >> 2] = 2; break label$1; default: break label$2; }; } HEAP32[($5 + 12 | 0) >> 2] = 0; HEAP32[($5 + 8 | 0) >> 2] = 1; } $30 = 2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 28 | 0 | 0) | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << $30 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 28 | 0 | 0) | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << $30 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 28 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << $30 | 0) | 0) >> 2]) * Math_fround(4.0)) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 28 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << $30 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); $69 = HEAP32[($6 + 60 | 0) >> 2] | 0; label$5 : { label$6 : { switch ($69 | 0) { case 0: $74 = $5 + 4 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, $5 | 0, $74 | 0, $74 | 0); break label$5; case 2: $78 = $5 + 4 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, $78 | 0, $78 | 0, $5 | 0); break label$5; default: break label$6; }; } $83 = $5 + 4 | 0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, $83 | 0, $5 | 0, $83 | 0); } __stack_pointer = $5 + 64 | 0; return; } function btCylinderShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; CylinderLocalSupportY_28btVector3_20const__2c_20btVector3_20const__29($0 | 0, btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function CylinderLocalSupportY_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $58 = Math_fround(0), $81 = Math_fround(0), $45 = Math_fround(0), $66 = Math_fround(0), $68 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $1; HEAP32[($5 + 40 | 0) >> 2] = $2; HEAP32[($5 + 36 | 0) >> 2] = 1; HEAP32[($5 + 32 | 0) >> 2] = 0; HEAP32[($5 + 28 | 0) >> 2] = 1; HEAP32[($5 + 24 | 0) >> 2] = 2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 8 | 0) >> 2])); $45 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $45), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(+Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) < +(0 | 0) & 1 | 0)) { break label$4 } $58 = Math_fround(-Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); break label$3; } $58 = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $58), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $66 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $66), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; break label$1; } $68 = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $68), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(+Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) < +(0 | 0) & 1 | 0)) { break label$6 } $81 = Math_fround(-Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); break label$5; } $81 = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $81), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } __stack_pointer = $5 + 48 | 0; return; } function btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $29 = 0, $31 = 0, $7 = 0, $105 = 0, $118 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } CylinderLocalSupportY_28btVector3_20const__2c_20btVector3_20const__29($6 + 12 | 0 | 0, btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const($7 | 0) | 0 | 0, (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); $29 = (HEAP32[($6 + 36 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 16 | 0) >> 2] | 0; $105 = i64toi32_i32$0; i64toi32_i32$0 = $29; HEAP32[i64toi32_i32$0 >> 2] = $105; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $31 = 8; i64toi32_i32$2 = ($6 + 12 | 0) + $31 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $118 = i64toi32_i32$1; i64toi32_i32$1 = $29 + $31 | 0; HEAP32[i64toi32_i32$1 >> 2] = $118; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 48 | 0; return; } function btCylinderShape___btCylinderShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCylinderShape___btCylinderShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCylinderShape___btCylinderShape_28_29($4 | 0) | 0; btCylinderShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCylinderShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btCylinderShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $62 = 0, $64 = 0, $198 = 0, $211 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 112 | 0; __stack_pointer = $4; HEAP32[($4 + 108 | 0) >> 2] = $0; HEAP32[($4 + 104 | 0) >> 2] = $1; $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 88 | 0 | 0, $4 + 84 | 0 | 0, $4 + 80 | 0 | 0, $4 + 76 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 60 | 0 | 0, $5 + 36 | 0 | 0, $4 + 88 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 44 | 0 | 0, $4 + 60 | 0 | 0, $5 + 20 | 0 | 0); btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 104 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, $4 + 44 | 0 | 0, $5 + 20 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 88 | 0 | 0); $62 = $5 + 36 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; $198 = i64toi32_i32$0; i64toi32_i32$0 = $62; HEAP32[i64toi32_i32$0 >> 2] = $198; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $64 = 8; i64toi32_i32$2 = ($4 + 28 | 0) + $64 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $211 = i64toi32_i32$1; i64toi32_i32$1 = $62 + $64 | 0; HEAP32[i64toi32_i32$1 >> 2] = $211; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 112 | 0; return; } function btCylinderShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 83912 | 0; } function btCylinderShape__getAnisotropicRollingFrictionDirection_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[$4 >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((btCylinderShape__getUpAxis_28_29_20const($5 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; __stack_pointer = $4 + 16 | 0; return; } function btCylinderShape__setMargin_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $65 = 0, $67 = 0, $216 = 0, $226 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 96 | 0; __stack_pointer = $4; HEAP32[($4 + 92 | 0) >> 2] = $0; HEAPF32[($4 + 88 | 0) >> 2] = $1; $5 = HEAP32[($4 + 92 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 72 | 0 | 0, $4 + 68 | 0 | 0, $4 + 64 | 0 | 0, $4 + 60 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 44 | 0 | 0, $5 + 36 | 0 | 0, $4 + 72 | 0 | 0); btConvexInternalShape__setMargin_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($4 | 0, $4 + 44 | 0 | 0, $4 + 28 | 0 | 0); $65 = $5 + 36 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[$4 >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 4 | 0) >> 2] | 0; $216 = i64toi32_i32$0; i64toi32_i32$0 = $65; HEAP32[i64toi32_i32$0 >> 2] = $216; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $67 = 8; i64toi32_i32$2 = $4 + $67 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $226 = i64toi32_i32$1; i64toi32_i32$1 = $65 + $67 | 0; HEAP32[i64toi32_i32$1 >> 2] = $226; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 96 | 0; return; } function btCylinderShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 60 | 0; } function btCylinderShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[((HEAP32[$5 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6 + 60 | 0) >> 2] | 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 57 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 58 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 59 | 0) >> 0] = 0; __stack_pointer = $5 + 16 | 0; return 83434 | 0; } function btCylinderShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $14 = 0, $28 = 0, $29 = 0, $109 = 0, $122 = 0, $154 = 0, $158 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 80 | 0; __stack_pointer = $5; HEAP32[($5 + 76 | 0) >> 2] = $1; HEAP32[($5 + 72 | 0) >> 2] = $2; $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; btVector3__btVector3_28_29($0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5 + 56 | 0, $6, HEAP32[($5 + 72 | 0) >> 2] | 0); i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 56 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 60 | 0) >> 2] | 0; $109 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $109; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $14 = 8; i64toi32_i32$2 = ($5 + 56 | 0) + $14 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $122 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $14 | 0; HEAP32[i64toi32_i32$1 >> 2] = $122; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$1 : { if (!(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } $28 = HEAP32[($5 + 72 | 0) >> 2] | 0; $29 = 8; i64toi32_i32$2 = $28 + $29 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $154 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 40 | 0) + $29 | 0; HEAP32[i64toi32_i32$0 >> 2] = $154; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $28; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $158 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 40 | 0) >> 2] = $158; HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; label$2 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$2 } HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); } btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; } __stack_pointer = $5 + 80 | 0; return; } function btCylinderShape__getRadius_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $12 = Math_fround(0); $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; btCylinderShape__getHalfExtentsWithMargin_28_29_20const($3 + 12 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0); $12 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const($3 + 12 | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 32 | 0; return Math_fround($12); } function _GLOBAL__sub_I_btCylinderShape_cpp() { __cxx_global_var_init_38(); return; } function __cxx_global_var_init_39() { btInfMaskConverter__btInfMaskConverter_28int_29(114144 | 0, 2139095040 | 0) | 0; return; } function btConcaveShape__btConcaveShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionShape__btCollisionShape_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 98736 + 8 | 0; HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConcaveShape___btConcaveShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionShape___btCollisionShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConcaveShape___btConcaveShape_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btConcaveShape_cpp() { __cxx_global_var_init_39(); return; } function __cxx_global_var_init_40() { btInfMaskConverter__btInfMaskConverter_28int_29(114148 | 0, 2139095040 | 0) | 0; return; } function btEmptyShape__btEmptyShape_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConcaveShape__btConcaveShape_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 98844 + 8 | 0; btVector3__btVector3_28_29($4 + 24 | 0 | 0) | 0; HEAP32[($4 + 4 | 0) >> 2] = 27; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btEmptyShape___btEmptyShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btEmptyShape___btEmptyShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[893 | 0]($4) | 0; btEmptyShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btEmptyShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btEmptyShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $37 = 0, $39 = 0, $53 = 0, $55 = 0, $146 = 0, $159 = 0, $180 = 0, $193 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAP32[($6 + 68 | 0) >> 2] = $2; HEAP32[($6 + 64 | 0) >> 2] = $3; $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 20 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 48 | 0 | 0); $37 = HEAP32[($6 + 68 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; $146 = i64toi32_i32$0; i64toi32_i32$0 = $37; HEAP32[i64toi32_i32$0 >> 2] = $146; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $39 = 8; i64toi32_i32$2 = ($6 + 20 | 0) + $39 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $159 = i64toi32_i32$1; i64toi32_i32$1 = $37 + $39 | 0; HEAP32[i64toi32_i32$1 >> 2] = $159; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 4 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 48 | 0 | 0); $53 = HEAP32[($6 + 64 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; $180 = i64toi32_i32$0; i64toi32_i32$0 = $53; HEAP32[i64toi32_i32$0 >> 2] = $180; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $55 = 8; i64toi32_i32$2 = ($6 + 4 | 0) + $55 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $193 = i64toi32_i32$1; i64toi32_i32$1 = $53 + $55 | 0; HEAP32[i64toi32_i32$1 >> 2] = $193; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 80 | 0; return; } function btEmptyShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; __assert_fail(86177 | 0, 74142 | 0, 46 | 0, 83783 | 0); wasm2js_trap(); } function btEmptyShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btEmptyShape__getLocalScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0 | 0; } function btEmptyShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 65654 | 0; } function btEmptyShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; return; } function _GLOBAL__sub_I_btEmptyShape_cpp() { __cxx_global_var_init_40(); return; } function __cxx_global_var_init_41() { btInfMaskConverter__btInfMaskConverter_28int_29(114152 | 0, 2139095040 | 0) | 0; return; } function btHeightfieldTerrainShape__btHeightfieldTerrainShape_28int_2c_20int_2c_20void_20const__2c_20float_2c_20float_2c_20float_2c_20int_2c_20PHY_ScalarType_2c_20bool_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = Math_fround($5); $6 = Math_fround($6); $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, $14 = 0; $12 = __stack_pointer - 48 | 0; __stack_pointer = $12; HEAP32[($12 + 44 | 0) >> 2] = $0; HEAP32[($12 + 40 | 0) >> 2] = $1; HEAP32[($12 + 36 | 0) >> 2] = $2; HEAP32[($12 + 32 | 0) >> 2] = $3; HEAPF32[($12 + 28 | 0) >> 2] = $4; HEAPF32[($12 + 24 | 0) >> 2] = $5; HEAPF32[($12 + 20 | 0) >> 2] = $6; HEAP32[($12 + 16 | 0) >> 2] = $7; HEAP32[($12 + 12 | 0) >> 2] = $8; HEAP8[($12 + 11 | 0) >> 0] = $9; $14 = HEAP32[($12 + 44 | 0) >> 2] | 0; btConcaveShape__btConcaveShape_28_29($14 | 0) | 0; HEAP32[$14 >> 2] = 98948 + 8 | 0; btVector3__btVector3_28_29($14 + 24 | 0 | 0) | 0; btVector3__btVector3_28_29($14 + 40 | 0 | 0) | 0; btVector3__btVector3_28_29($14 + 56 | 0 | 0) | 0; btVector3__btVector3_28_29($14 + 116 | 0 | 0) | 0; btHeightfieldTerrainShape__initialize_28int_2c_20int_2c_20void_20const__2c_20float_2c_20float_2c_20float_2c_20int_2c_20PHY_ScalarType_2c_20bool_29($14 | 0, HEAP32[($12 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12 + 32 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($12 + 28 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($12 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($12 + 20 | 0) >> 2])), HEAP32[($12 + 16 | 0) >> 2] | 0 | 0, HEAP32[($12 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($12 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $12 + 48 | 0; return $14 | 0; } function btHeightfieldTerrainShape__initialize_28int_2c_20int_2c_20void_20const__2c_20float_2c_20float_2c_20float_2c_20int_2c_20PHY_ScalarType_2c_20bool_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = Math_fround($5); $6 = Math_fround($6); $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, $14 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $116 = 0, i64toi32_i32$2 = 0, $100 = 0, $112 = 0, $123 = 0, $209 = 0, $211 = 0, $614 = 0, $627 = 0; $12 = __stack_pointer - 112 | 0; __stack_pointer = $12; HEAP32[($12 + 108 | 0) >> 2] = $0; HEAP32[($12 + 104 | 0) >> 2] = $1; HEAP32[($12 + 100 | 0) >> 2] = $2; HEAP32[($12 + 96 | 0) >> 2] = $3; HEAPF32[($12 + 92 | 0) >> 2] = $4; HEAPF32[($12 + 88 | 0) >> 2] = $5; HEAPF32[($12 + 84 | 0) >> 2] = $6; HEAP32[($12 + 80 | 0) >> 2] = $7; HEAP32[($12 + 76 | 0) >> 2] = $8; HEAP8[($12 + 75 | 0) >> 0] = $9; $14 = HEAP32[($12 + 108 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($12 + 104 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { break label$1 } __assert_fail(85653 | 0, 74508 | 0, 62 | 0, 80824 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($12 + 100 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { break label$2 } __assert_fail(85631 | 0, 74508 | 0, 63 | 0, 80824 | 0); wasm2js_trap(); } label$3 : { if ((HEAP32[($12 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$3 } __assert_fail(83752 | 0, 74508 | 0, 64 | 0, 80824 | 0); wasm2js_trap(); } label$4 : { if (Math_fround(HEAPF32[($12 + 88 | 0) >> 2]) <= Math_fround(HEAPF32[($12 + 84 | 0) >> 2]) & 1 | 0) { break label$4 } __assert_fail(68077 | 0, 74508 | 0, 66 | 0, 80824 | 0); wasm2js_trap(); } label$5 : { label$6 : { if (!((HEAP32[($12 + 80 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$6 } if ((HEAP32[($12 + 80 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0) { break label$5 } } __assert_fail(85367 | 0, 74508 | 0, 67 | 0, 80824 | 0); wasm2js_trap(); } label$7 : { if ((HEAP32[($12 + 76 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0) { break label$7 } if (HEAP32[($12 + 76 | 0) >> 2] | 0) { break label$7 } if ((HEAP32[($12 + 76 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0) { break label$7 } __assert_fail(83971 | 0, 74508 | 0, 68 | 0, 80824 | 0); wasm2js_trap(); } HEAP32[($14 + 4 | 0) >> 2] = 24; HEAP32[($14 + 72 | 0) >> 2] = HEAP32[($12 + 104 | 0) >> 2] | 0; HEAP32[($14 + 76 | 0) >> 2] = HEAP32[($12 + 100 | 0) >> 2] | 0; HEAPF32[($14 + 80 | 0) >> 2] = Math_fround(HEAPF32[($12 + 88 | 0) >> 2]); HEAPF32[($14 + 84 | 0) >> 2] = Math_fround(HEAPF32[($12 + 84 | 0) >> 2]); $100 = -1; HEAPF32[($14 + 88 | 0) >> 2] = Math_fround((HEAP32[($12 + 104 | 0) >> 2] | 0) + $100 | 0 | 0); HEAPF32[($14 + 92 | 0) >> 2] = Math_fround((HEAP32[($12 + 100 | 0) >> 2] | 0) + $100 | 0 | 0); HEAPF32[($14 + 96 | 0) >> 2] = Math_fround(HEAPF32[($12 + 92 | 0) >> 2]); HEAP32[($14 + 100 | 0) >> 2] = HEAP32[($12 + 96 | 0) >> 2] | 0; HEAP32[($14 + 104 | 0) >> 2] = HEAP32[($12 + 76 | 0) >> 2] | 0; HEAP8[($14 + 108 | 0) >> 0] = (HEAPU8[($12 + 75 | 0) >> 0] | 0) & 1 | 0; $112 = 0; HEAP8[($14 + 109 | 0) >> 0] = $112; HEAP8[($14 + 110 | 0) >> 0] = $112; HEAP32[($14 + 112 | 0) >> 2] = HEAP32[($12 + 80 | 0) >> 2] | 0; $116 = 1065353216; HEAP32[($12 + 68 | 0) >> 2] = $116; HEAP32[($12 + 64 | 0) >> 2] = $116; HEAP32[($12 + 60 | 0) >> 2] = $116; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 116 | 0 | 0, $12 + 68 | 0 | 0, $12 + 64 | 0 | 0, $12 + 60 | 0 | 0); $123 = HEAP32[($14 + 112 | 0) >> 2] | 0; label$8 : { label$9 : { switch ($123 | 0) { case 0: HEAPF32[($12 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($12 + 52 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 24 | 0 | 0, $14 + 80 | 0 | 0, $12 + 56 | 0 | 0, $12 + 52 | 0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 40 | 0 | 0, $14 + 84 | 0 | 0, $14 + 88 | 0 | 0, $14 + 92 | 0 | 0); break label$8; case 1: HEAPF32[($12 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($12 + 44 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 24 | 0 | 0, $12 + 48 | 0 | 0, $14 + 80 | 0 | 0, $12 + 44 | 0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 40 | 0 | 0, $14 + 88 | 0 | 0, $14 + 84 | 0 | 0, $14 + 92 | 0 | 0); break label$8; case 2: HEAPF32[($12 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($12 + 36 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 24 | 0 | 0, $12 + 40 | 0 | 0, $12 + 36 | 0 | 0, $14 + 80 | 0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 40 | 0 | 0, $14 + 88 | 0 | 0, $14 + 92 | 0 | 0, $14 + 84 | 0 | 0); break label$8; default: break label$9; }; } __assert_fail(86177 | 0, 74508 | 0, 111 | 0, 80824 | 0); wasm2js_trap(); } HEAPF32[($12 + 16 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29_2($12 | 0, $14 + 24 | 0 | 0, $14 + 40 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($12 + 20 | 0 | 0, $12 + 16 | 0 | 0, $12 | 0); $209 = $14 + 56 | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 24 | 0) >> 2] | 0; $614 = i64toi32_i32$0; i64toi32_i32$0 = $209; HEAP32[i64toi32_i32$0 >> 2] = $614; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $211 = 8; i64toi32_i32$2 = ($12 + 20 | 0) + $211 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $627 = i64toi32_i32$1; i64toi32_i32$1 = $209 + $211 | 0; HEAP32[i64toi32_i32$1 >> 2] = $627; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $12 + 112 | 0; return; } function btHeightfieldTerrainShape___btHeightfieldTerrainShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 98948 + 8 | 0; btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHeightfieldTerrainShape___btHeightfieldTerrainShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[901 | 0]($4) | 0; btHeightfieldTerrainShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHeightfieldTerrainShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHeightfieldTerrainShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $75 = 0, $76 = 0, $140 = 0, $142 = 0, $157 = 0, $159 = 0, $55 = Math_fround(0), $321 = 0, $325 = 0, $439 = 0, $452 = 0, $473 = 0, $486 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 240 | 0; __stack_pointer = $6; HEAP32[($6 + 236 | 0) >> 2] = $0; HEAP32[($6 + 232 | 0) >> 2] = $1; HEAP32[($6 + 228 | 0) >> 2] = $2; HEAP32[($6 + 224 | 0) >> 2] = $3; $7 = HEAP32[($6 + 236 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 176 | 0 | 0, $7 + 40 | 0 | 0, $7 + 24 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 192 | 0 | 0, $6 + 176 | 0 | 0, $7 + 116 | 0 | 0); HEAPF32[($6 + 172 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($6 + 208 | 0 | 0, $6 + 192 | 0 | 0, $6 + 172 | 0 | 0); HEAPF32[($6 + 152 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 148 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 144 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 156 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0, $6 + 144 | 0 | 0) | 0; $55 = Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 80 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 84 | 0) >> 2])) * Math_fround(.5)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 156 | 0 | 0) | 0) + ((HEAP32[($7 + 112 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $55), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__operator___28btVector3_20const__29_2($6 + 156 | 0 | 0, $7 + 116 | 0 | 0) | 0; btMatrix3x3__absolute_28_29_20const($6 + 96 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 232 | 0) >> 2] | 0 | 0) | 0 | 0); $75 = btTransform__getOrigin_28_29_20const(HEAP32[($6 + 232 | 0) >> 2] | 0 | 0) | 0; $76 = 8; i64toi32_i32$2 = $75 + $76 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $321 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 80 | 0) + $76 | 0; HEAP32[i64toi32_i32$0 >> 2] = $321; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $75; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $325 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 80 | 0) >> 2] = $325; HEAP32[($6 + 84 | 0) >> 2] = i64toi32_i32$0; btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 64 | 0 | 0, $6 + 208 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 96 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 96 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 96 | 0 | 0, 2 | 0) | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($6 + 64 | 0 | 0, $6 + 48 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 20 | 0 | 0, $6 + 80 | 0 | 0, $6 + 64 | 0 | 0); $140 = HEAP32[($6 + 228 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; $439 = i64toi32_i32$0; i64toi32_i32$0 = $140; HEAP32[i64toi32_i32$0 >> 2] = $439; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $142 = 8; i64toi32_i32$2 = ($6 + 20 | 0) + $142 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $452 = i64toi32_i32$1; i64toi32_i32$1 = $140 + $142 | 0; HEAP32[i64toi32_i32$1 >> 2] = $452; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 4 | 0 | 0, $6 + 80 | 0 | 0, $6 + 64 | 0 | 0); $157 = HEAP32[($6 + 224 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; $473 = i64toi32_i32$0; i64toi32_i32$0 = $157; HEAP32[i64toi32_i32$0 >> 2] = $473; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $159 = 8; i64toi32_i32$2 = ($6 + 4 | 0) + $159 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $486 = i64toi32_i32$1; i64toi32_i32$1 = $157 + $159 | 0; HEAP32[i64toi32_i32$1 >> 2] = $486; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 240 | 0; return; } function btVector3__operator___28btVector3_20const__29_2($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2])); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])); return $5 | 0; } function btHeightfieldTerrainShape__getRawHeightFieldValue_28int_2c_20int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $8 = 0, $45 = 0, $55 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = 0; $8 = HEAP32[($6 + 104 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($8 | 0) { case 0: HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($6 + 72 | 0) >> 2] | 0) + (HEAP32[($5 + 24 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]); break label$1; case 5: HEAP8[($5 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($6 + 100 | 0) >> 2] | 0) + (Math_imul(HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($6 + 72 | 0) >> 2] | 0) + (HEAP32[($5 + 24 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) * Math_fround(HEAPF32[($6 + 96 | 0) >> 2])); break label$1; case 3: HEAP16[($5 + 12 | 0) >> 1] = HEAPU16[((HEAP32[($6 + 100 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($6 + 72 | 0) >> 2] | 0) + (HEAP32[($5 + 24 | 0) >> 2] | 0) | 0) << 1 | 0) | 0) >> 1] | 0; $45 = 16; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(((HEAPU16[($5 + 12 | 0) >> 1] | 0) << $45 | 0) >> $45 | 0 | 0) * Math_fround(HEAPF32[($6 + 96 | 0) >> 2])); break label$1; default: break label$2; }; } __assert_fail(88263 | 0, 74508 | 0, 176 | 0, 81125 | 0); wasm2js_trap(); } $55 = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); __stack_pointer = $5 + 32 | 0; return Math_fround($55); } function btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $57 = 0, $59 = 0, $89 = 0, $119 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; HEAP32[($6 + 60 | 0) >> 2] = $0; HEAP32[($6 + 56 | 0) >> 2] = $1; HEAP32[($6 + 52 | 0) >> 2] = $2; HEAP32[($6 + 48 | 0) >> 2] = $3; $7 = HEAP32[($6 + 60 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85835 | 0, 74508 | 0, 189 | 0, 66266 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($6 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$2 } __assert_fail(85809 | 0, 74508 | 0, 190 | 0, 66266 | 0); wasm2js_trap(); } label$3 : { if ((HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$3 } __assert_fail(77901 | 0, 74508 | 0, 191 | 0, 66266 | 0); wasm2js_trap(); } label$4 : { if ((HEAP32[($6 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 76 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$4 } __assert_fail(77879 | 0, 74508 | 0, 192 | 0, 66266 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 56 | 0) >> 2] | 0, HEAP32[($6 + 52 | 0) >> 2] | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; $57 = HEAP32[($7 + 112 | 0) >> 2] | 0; label$5 : { label$6 : { switch ($57 | 0) { case 0: $59 = HEAP32[($6 + 48 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 56 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0)); HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 92 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0)); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($59 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0); break label$5; case 1: $89 = HEAP32[($6 + 48 | 0) >> 2] | 0; HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0)); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 56 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 92 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0)); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($89 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); break label$5; case 2: $119 = HEAP32[($6 + 48 | 0) >> 2] | 0; HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0)); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 92 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0)); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 56 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($119 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); break label$5; default: break label$6; }; } __assert_fail(86177 | 0, 74508 | 0, 228 | 0, 66266 | 0); wasm2js_trap(); } btVector3__operator___28btVector3_20const__29_2(HEAP32[($6 + 48 | 0) >> 2] | 0 | 0, $7 + 116 | 0 | 0) | 0; __stack_pointer = $6 + 64 | 0; return; } function btHeightfieldTerrainShape__quantizeWithClamp_28int__2c_20btVector3_20const__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $9 = 0, $63 = 0, $67 = 0, $23 = 0, $28 = 0, $33 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; $8 = HEAP32[($6 + 20 | 0) >> 2] | 0; $9 = 8; i64toi32_i32$2 = $8 + $9 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $63 = i64toi32_i32$0; i64toi32_i32$0 = $6 + $9 | 0; HEAP32[i64toi32_i32$0 >> 2] = $63; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $67 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[$6 >> 2] = $67; HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__setMax_28btVector3_20const__29($6 | 0, $7 + 24 | 0 | 0); btVector3__setMin_28btVector3_20const__29($6 | 0, $7 + 40 | 0 | 0); $23 = getQuantized_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 | 0) | 0) >> 2]))) | 0; HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] = $23; $28 = getQuantized_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 | 0) | 0) >> 2]))) | 0; HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $28; $33 = getQuantized_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 | 0) | 0) >> 2]))) | 0; HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $33; __stack_pointer = $6 + 32 | 0; return; } function getQuantized_28float_29($0) { $0 = Math_fround($0); var $3 = 0, $14 = 0.0, $20 = 0, $26 = 0.0, $32 = 0; $3 = __stack_pointer - 16 | 0; HEAPF32[($3 + 8 | 0) >> 2] = $0; label$1 : { label$2 : { if (!(+Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0)) { break label$2 } $14 = +Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) - .5; label$3 : { label$4 : { if (!(Math_abs($14) < 2147483648.0)) { break label$4 } $20 = ~~$14; break label$3; } $20 = -2147483648; } HEAP32[($3 + 12 | 0) >> 2] = $20; break label$1; } $26 = +Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) + .5; label$5 : { label$6 : { if (!(Math_abs($26) < 2147483648.0)) { break label$6 } $32 = ~~$26; break label$5; } $32 = -2147483648; } HEAP32[($3 + 12 | 0) >> 2] = $32; } return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btHeightfieldTerrainShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $120 = 0, $130 = 0, $137 = 0, $139 = 0, $143 = 0, $264 = 0, $265 = 0, $267 = 0, $309 = 0, $331 = 0, $354 = 0, $374 = 0, $8 = 0, $45 = 0, $263 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 208 | 0; __stack_pointer = $6; HEAP32[($6 + 204 | 0) >> 2] = $0; HEAP32[($6 + 200 | 0) >> 2] = $1; HEAP32[($6 + 196 | 0) >> 2] = $2; HEAP32[($6 + 192 | 0) >> 2] = $3; $7 = HEAP32[($6 + 204 | 0) >> 2] | 0; $8 = HEAP32[($6 + 196 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 160 | 0 | 0, $6 + 156 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 176 | 0 | 0, $8 | 0, $6 + 160 | 0 | 0); $45 = HEAP32[($6 + 192 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 116 | 0 | 0, $6 + 112 | 0 | 0, $6 + 108 | 0 | 0, $6 + 104 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 132 | 0 | 0, $45 | 0, $6 + 116 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($6 + 176 | 0 | 0, $7 + 56 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($6 + 132 | 0 | 0, $7 + 56 | 0 | 0) | 0; btHeightfieldTerrainShape__quantizeWithClamp_28int__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 92 | 0 | 0, $6 + 176 | 0 | 0, 0 | 0); btHeightfieldTerrainShape__quantizeWithClamp_28int__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 80 | 0 | 0, $6 + 132 | 0 | 0, 1 | 0); HEAP32[($6 + 76 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 76 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } $120 = ($6 + 92 | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0; HEAP32[$120 >> 2] = (HEAP32[$120 >> 2] | 0) + -1 | 0; $130 = ($6 + 80 | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0; HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + 1 | 0; HEAP32[($6 + 76 | 0) >> 2] = (HEAP32[($6 + 76 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } $137 = 0; HEAP32[($6 + 72 | 0) >> 2] = $137; $139 = -1; HEAP32[($6 + 68 | 0) >> 2] = (HEAP32[($7 + 72 | 0) >> 2] | 0) + $139 | 0; HEAP32[($6 + 64 | 0) >> 2] = $137; HEAP32[($6 + 60 | 0) >> 2] = (HEAP32[($7 + 76 | 0) >> 2] | 0) + $139 | 0; $143 = HEAP32[($7 + 112 | 0) >> 2] | 0; label$3 : { label$4 : { switch ($143 | 0) { case 0: label$8 : { if (!((HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 96 | 0) >> 2] | 0; } label$9 : { if (!((HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 84 | 0) >> 2] | 0; } label$10 : { if (!((HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } HEAP32[($6 + 64 | 0) >> 2] = HEAP32[($6 + 100 | 0) >> 2] | 0; } label$11 : { if (!((HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$11 } HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 88 | 0) >> 2] | 0; } break label$3; case 1: label$12 : { if (!((HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$12 } HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 92 | 0) >> 2] | 0; } label$13 : { if (!((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$13 } HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 80 | 0) >> 2] | 0; } label$14 : { if (!((HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } HEAP32[($6 + 64 | 0) >> 2] = HEAP32[($6 + 100 | 0) >> 2] | 0; } label$15 : { if (!((HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$15 } HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 88 | 0) >> 2] | 0; } break label$3; case 2: label$16 : { if (!((HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 92 | 0) >> 2] | 0; } label$17 : { if (!((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$17 } HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 80 | 0) >> 2] | 0; } label$18 : { if (!((HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$18 } HEAP32[($6 + 64 | 0) >> 2] = HEAP32[($6 + 96 | 0) >> 2] | 0; } label$19 : { if (!((HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$19 } HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 84 | 0) >> 2] | 0; } break label$3; default: break label$4; }; } __assert_fail(86177 | 0, 74508 | 0, 350 | 0, 70168 | 0); wasm2js_trap(); } HEAP32[($6 + 56 | 0) >> 2] = HEAP32[($6 + 64 | 0) >> 2] | 0; label$20 : { label$21 : while (1) { if (!((HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$20 } HEAP32[($6 + 52 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; label$22 : { label$23 : while (1) { if (!((HEAP32[($6 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$22 } $263 = $6 + 48 | 0; $264 = $6; label$24 : while (1) { $265 = $264; btVector3__btVector3_28_29($265 | 0) | 0; $267 = $265 + 16 | 0; $264 = $267; if (!(($267 | 0) == ($263 | 0) & 1 | 0)) { continue label$24 } break label$24; }; label$25 : { label$26 : { label$27 : { if ((HEAPU8[($7 + 108 | 0) >> 0] | 0) & 1 | 0) { break label$27 } label$28 : { if (!((HEAPU8[($7 + 109 | 0) >> 0] | 0) & 1 | 0)) { break label$28 } if (!(((HEAP32[($6 + 56 | 0) >> 2] | 0) + (HEAP32[($6 + 52 | 0) >> 2] | 0) | 0) & 1 | 0)) { break label$27 } } if (!((HEAPU8[($7 + 110 | 0) >> 0] | 0) & 1 | 0)) { break label$26 } if ((HEAP32[($6 + 56 | 0) >> 2] | 0) & 1 | 0) { break label$26 } } btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 | 0); btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 16 | 0 | 0); btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 32 | 0 | 0); $309 = HEAP32[($6 + 200 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$309 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($309, $6, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 56 | 0) >> 2] | 0); btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 16 | 0 | 0); btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 + 32 | 0 | 0); $331 = HEAP32[($6 + 200 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$331 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($331, $6, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 56 | 0) >> 2] | 0); break label$25; } btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 | 0); btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 16 | 0 | 0); btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 + 32 | 0 | 0); $354 = HEAP32[($6 + 200 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$354 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($354, $6, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 56 | 0) >> 2] | 0); btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 | 0); btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 32 | 0 | 0); $374 = HEAP32[($6 + 200 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$374 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($374, $6, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 56 | 0) >> 2] | 0); } HEAP32[($6 + 52 | 0) >> 2] = (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0; continue label$23; }; } HEAP32[($6 + 56 | 0) >> 2] = (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0; continue label$21; }; } __stack_pointer = $6 + 208 | 0; return; } function btHeightfieldTerrainShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAPF32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 20 | 0) >> 2] | 0; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btHeightfieldTerrainShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 116 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btHeightfieldTerrainShape__getLocalScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 116 | 0 | 0; } function btHeightfieldTerrainShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 84431 | 0; } function _GLOBAL__sub_I_btHeightfieldTerrainShape_cpp() { __cxx_global_var_init_41(); return; } function __cxx_global_var_init_42() { btInfMaskConverter__btInfMaskConverter_28int_29(114156 | 0, 2139095040 | 0) | 0; return; } function btOptimizedBvh__btOptimizedBvh_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btQuantizedBvh__btQuantizedBvh_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 99068 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btOptimizedBvh___btOptimizedBvh_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btQuantizedBvh___btQuantizedBvh_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btOptimizedBvh___btOptimizedBvh_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[910 | 0]($4) | 0; btOptimizedBvh__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btOptimizedBvh__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$1 = 0, $9 = 0, i64toi32_i32$0 = 0, $109 = 0, $25 = 0, $45 = 0, $87 = 0, $164 = 0, $42 = 0, $106 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 224 | 0; __stack_pointer = $7; HEAP32[($7 + 220 | 0) >> 2] = $0; HEAP32[($7 + 216 | 0) >> 2] = $1; HEAP8[($7 + 215 | 0) >> 0] = $2; HEAP32[($7 + 208 | 0) >> 2] = $3; HEAP32[($7 + 204 | 0) >> 2] = $4; $9 = HEAP32[($7 + 220 | 0) >> 2] | 0; HEAP8[($9 + 60 | 0) >> 0] = (HEAPU8[($7 + 215 | 0) >> 0] | 0) & 1 | 0; HEAP32[($7 + 200 | 0) >> 2] = 0; label$1 : { label$2 : { if (!((HEAPU8[($9 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btQuantizedBvh__setQuantizationValues_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($9 | 0, HEAP32[($7 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7 + 204 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback__QuantizedNodeTriangleCallback_28btAlignedObjectArray_btQuantizedBvhNode___2c_20btQuantizedBvh_20const__29($7 + 188 | 0 | 0, $9 + 104 | 0 | 0, $9 | 0) | 0; $25 = HEAP32[($7 + 216 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($25, $7 + 188 | 0, $9 + 4 | 0, $9 + 20 | 0); (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($9 + 104 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; $42 = (HEAP32[($7 + 200 | 0) >> 2] | 0) << 1 | 0; i64toi32_i32$0 = 0; $45 = 0; i64toi32_i32$1 = $7 + 176 | 0; HEAP32[i64toi32_i32$1 >> 2] = $45; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $7; HEAP32[($7 + 168 | 0) >> 2] = $45; HEAP32[($7 + 172 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btQuantizedBvhNode___resize_28int_2c_20btQuantizedBvhNode_20const__29($9 + 124 | 0 | 0, $42 | 0, $7 + 168 | 0 | 0); btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29($7 + 188 | 0 | 0) | 0; break label$1; } btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback__NodeTriangleCallback_28btAlignedObjectArray_btOptimizedBvhNode___29($7 + 160 | 0 | 0, $9 + 64 | 0 | 0) | 0; HEAPF32[($7 + 140 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($7 + 136 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($7 + 132 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 144 | 0 | 0, $7 + 140 | 0 | 0, $7 + 136 | 0 | 0, $7 + 132 | 0 | 0) | 0; HEAPF32[($7 + 112 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($7 + 108 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($7 + 104 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 116 | 0 | 0, $7 + 112 | 0 | 0, $7 + 108 | 0 | 0, $7 + 104 | 0 | 0) | 0; $87 = HEAP32[($7 + 216 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$87 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($87, $7 + 160 | 0, $7 + 144 | 0, $7 + 116 | 0); (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($9 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; $106 = (HEAP32[($7 + 200 | 0) >> 2] | 0) << 1 | 0; i64toi32_i32$0 = 0; $109 = 0; i64toi32_i32$1 = $7 + 96 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $7 + 88 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $7 + 80 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $7 + 72 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $7 + 64 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $7 + 56 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $7 + 48 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $7; HEAP32[($7 + 40 | 0) >> 2] = $109; HEAP32[($7 + 44 | 0) >> 2] = i64toi32_i32$0; btOptimizedBvhNode__btOptimizedBvhNode_28_29($7 + 40 | 0 | 0) | 0; btAlignedObjectArray_btOptimizedBvhNode___resize_28int_2c_20btOptimizedBvhNode_20const__29($9 + 84 | 0 | 0, $106 | 0, $7 + 40 | 0 | 0); btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29($7 + 160 | 0 | 0) | 0; } HEAP32[($9 + 56 | 0) >> 2] = 0; btQuantizedBvh__buildTree_28int_2c_20int_29($9 | 0, 0 | 0, HEAP32[($7 + 200 | 0) >> 2] | 0 | 0); label$3 : { if (!((HEAPU8[($9 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } if (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($9 + 148 | 0 | 0) | 0) { break label$3 } btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($7 + 4 | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___expand_28btBvhSubtreeInfo_20const__29($9 + 148 | 0 | 0, $7 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; btBvhSubtreeInfo__setAabbFromQuantizeNode_28btQuantizedBvhNode_20const__29(HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($9 + 124 | 0 | 0, 0 | 0) | 0 | 0); HEAP32[((HEAP32[($7 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; label$4 : { label$5 : { if (!((btQuantizedBvhNode__isLeafNode_28_29_20const(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($9 + 124 | 0 | 0, 0 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$5 } $164 = 1; break label$4; } $164 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($9 + 124 | 0 | 0, 0 | 0) | 0 | 0) | 0; } HEAP32[((HEAP32[($7 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = $164; } (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($9 + 148 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btQuantizedBvhNode___clear_28_29($9 + 104 | 0 | 0); btAlignedObjectArray_btOptimizedBvhNode___clear_28_29($9 + 64 | 0 | 0); __stack_pointer = $7 + 224 | 0; return; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback__QuantizedNodeTriangleCallback_28btAlignedObjectArray_btQuantizedBvhNode___2c_20btQuantizedBvh_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 99140 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback__NodeTriangleCallback_28btAlignedObjectArray_btOptimizedBvhNode___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 99272 + 8 | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btOptimizedBvh__serializeInPlace_28void__2c_20unsigned_20int_2c_20bool_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $16 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP8[($6 + 3 | 0) >> 0] = $3; $16 = (btQuantizedBvh__serialize_28void__2c_20unsigned_20int_2c_20bool_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0; __stack_pointer = $6 + 16 | 0; return $16 | 0; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 96 | 0; __stack_pointer = $6; HEAP32[($6 + 92 | 0) >> 2] = $0; HEAP32[($6 + 88 | 0) >> 2] = $1; HEAP32[($6 + 84 | 0) >> 2] = $2; HEAP32[($6 + 80 | 0) >> 2] = $3; $7 = HEAP32[($6 + 92 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) < (1024 | 0) & 1 | 0) { break label$1 } __assert_fail(86395 | 0, 73758 | 0, 100 | 0, 66568 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) < (2097152 | 0) & 1 | 0) { break label$2 } __assert_fail(86842 | 0, 73758 | 0, 101 | 0, 66568 | 0); wasm2js_trap(); } label$3 : { if ((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$3 } __assert_fail(85823 | 0, 73758 | 0, 103 | 0, 66568 | 0); wasm2js_trap(); } btVector3__btVector3_28_29($6 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 32 | 0 | 0) | 0; HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0); btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0); btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, (HEAP32[($6 + 88 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, (HEAP32[($6 + 88 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, (HEAP32[($6 + 88 | 0) >> 2] | 0) + 32 | 0 | 0); btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, (HEAP32[($6 + 88 | 0) >> 2] | 0) + 32 | 0 | 0); HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(2.0000000949949026e-03); HEAPF32[$6 >> 2] = Math_fround(1.0000000474974513e-03); label$4 : { if (!(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2])) < Math_fround(2.0000000949949026e-03) & 1 | 0)) { break label$4 } btVector3__setX_28float_29($6 + 32 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) + Math_fround(1.0000000474974513e-03)))); btVector3__setX_28float_29($6 + 48 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2]) - Math_fround(1.0000000474974513e-03)))); } label$5 : { if (!(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2])) < Math_fround(2.0000000949949026e-03) & 1 | 0)) { break label$5 } btVector3__setY_28float_29($6 + 32 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) + Math_fround(1.0000000474974513e-03)))); btVector3__setY_28float_29($6 + 48 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2]) - Math_fround(1.0000000474974513e-03)))); } label$6 : { if (!(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2])) < Math_fround(2.0000000949949026e-03) & 1 | 0)) { break label$6 } btVector3__setZ_28float_29($6 + 32 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) + Math_fround(1.0000000474974513e-03)))); btVector3__setZ_28float_29($6 + 48 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2]) - Math_fround(1.0000000474974513e-03)))); } btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0, $6 + 48 | 0 | 0, 0 | 0); btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, ($6 + 64 | 0) + 6 | 0 | 0, $6 + 32 | 0 | 0, 1 | 0); HEAP32[($6 + 76 | 0) >> 2] = (HEAP32[($6 + 84 | 0) >> 2] | 0) << 21 | 0 | (HEAP32[($6 + 80 | 0) >> 2] | 0) | 0; btAlignedObjectArray_btQuantizedBvhNode___push_back_28btQuantizedBvhNode_20const__29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0); __stack_pointer = $6 + 96 | 0; return; } function btAlignedObjectArray_btQuantizedBvhNode___push_back_28btQuantizedBvhNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22 = 0, $25 = 0, $88 = 0, $98 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btQuantizedBvhNode___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btQuantizedBvhNode___reserve_28int_29($5 | 0, btAlignedObjectArray_btQuantizedBvhNode___allocSize_28int_29($5 | 0, btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $22 = btQuantizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $88 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $88; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $98 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $98; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btQuantizedBvhNode___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $81 = 0, $83 = 0, $93 = 0, $95 = 0, $7 = 0, $262 = 0, $275 = 0, $286 = 0, $299 = 0; $6 = __stack_pointer - 144 | 0; __stack_pointer = $6; HEAP32[($6 + 140 | 0) >> 2] = $0; HEAP32[($6 + 136 | 0) >> 2] = $1; HEAP32[($6 + 132 | 0) >> 2] = $2; HEAP32[($6 + 128 | 0) >> 2] = $3; $7 = HEAP32[($6 + 140 | 0) >> 2] | 0; btOptimizedBvhNode__btOptimizedBvhNode_28_29($6 + 64 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 32 | 0 | 0) | 0; HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0); btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0); btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, (HEAP32[($6 + 136 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, (HEAP32[($6 + 136 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, (HEAP32[($6 + 136 | 0) >> 2] | 0) + 32 | 0 | 0); btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, (HEAP32[($6 + 136 | 0) >> 2] | 0) + 32 | 0 | 0); $81 = $6 + 64 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 52 | 0) >> 2] | 0; $262 = i64toi32_i32$0; i64toi32_i32$0 = $81; HEAP32[i64toi32_i32$0 >> 2] = $262; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $83 = 8; i64toi32_i32$2 = ($6 + 48 | 0) + $83 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $275 = i64toi32_i32$1; i64toi32_i32$1 = $81 + $83 | 0; HEAP32[i64toi32_i32$1 >> 2] = $275; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $93 = ($6 + 64 | 0) + 16 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; $286 = i64toi32_i32$0; i64toi32_i32$0 = $93; HEAP32[i64toi32_i32$0 >> 2] = $286; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $95 = 8; i64toi32_i32$2 = ($6 + 32 | 0) + $95 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $299 = i64toi32_i32$1; i64toi32_i32$1 = $93 + $95 | 0; HEAP32[i64toi32_i32$1 >> 2] = $299; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 96 | 0) >> 2] = -1; HEAP32[($6 + 100 | 0) >> 2] = HEAP32[($6 + 132 | 0) >> 2] | 0; HEAP32[($6 + 104 | 0) >> 2] = HEAP32[($6 + 128 | 0) >> 2] | 0; btAlignedObjectArray_btOptimizedBvhNode___push_back_28btOptimizedBvhNode_20const__29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0); __stack_pointer = $6 + 144 | 0; return; } function btAlignedObjectArray_btOptimizedBvhNode___push_back_28btOptimizedBvhNode_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $4 = 0, $22 = 0, $23 = 0, $25 = 0, $29 = 0, $33 = 0, $37 = 0, $41 = 0, $45 = 0, $49 = 0, $112 = 0, $122 = 0, $132 = 0, $142 = 0, $152 = 0, $162 = 0, $172 = 0, $182 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btOptimizedBvhNode___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btOptimizedBvhNode___reserve_28int_29($5 | 0, btAlignedObjectArray_btOptimizedBvhNode___allocSize_28int_29($5 | 0, btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $22 = btOptimizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(64 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 6 | 0) | 0 | 0) | 0; $23 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $23; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $112 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $112; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 56; i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $122 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $122; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $29 = 48; i64toi32_i32$2 = $23 + $29 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $132 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $29 | 0; HEAP32[i64toi32_i32$0 >> 2] = $132; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $33 = 40; i64toi32_i32$2 = $23 + $33 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $142 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $33 | 0; HEAP32[i64toi32_i32$1 >> 2] = $142; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $37 = 32; i64toi32_i32$2 = $23 + $37 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $152 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $37 | 0; HEAP32[i64toi32_i32$0 >> 2] = $152; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $41 = 24; i64toi32_i32$2 = $23 + $41 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $162 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $41 | 0; HEAP32[i64toi32_i32$1 >> 2] = $162; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $45 = 16; i64toi32_i32$2 = $23 + $45 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $172 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $45 | 0; HEAP32[i64toi32_i32$0 >> 2] = $172; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; i64toi32_i32$2 = $23 + $49 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $182 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $49 | 0; HEAP32[i64toi32_i32$1 >> 2] = $182; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btOptimizedBvhNode___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function _GLOBAL__sub_I_btOptimizedBvh_cpp() { __cxx_global_var_init_42(); return; } function __cxx_global_var_init_43() { btInfMaskConverter__btInfMaskConverter_28int_29(114160 | 0, 2139095040 | 0) | 0; return; } function btConvexPolyhedron__btConvexPolyhedron_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 99396 + 8 | 0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; btAlignedObjectArray_btFace___btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 80 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 100 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 116 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexPolyhedron___btConvexPolyhedron_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 99396 + 8 | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; btAlignedObjectArray_btFace____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexPolyhedron___btConvexPolyhedron_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[919 | 0]($4) | 0; btConvexPolyhedron__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexPolyhedron__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexPolyhedron__testContainment_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $41 = 0, $84 = 0, $127 = 0, $173 = 0, $218 = 0, $266 = 0, $314 = 0, $365 = 0, $536 = 0, $540 = 0, $61 = 0, $66 = 0, $619 = 0, $623 = 0, $104 = 0, $702 = 0, $706 = 0, $147 = 0, $792 = 0, $796 = 0, $878 = 0, $882 = 0, $245 = 0, $971 = 0, $975 = 0, $1064 = 0, $1068 = 0, $1164 = 0, $1168 = 0, $442 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 368 | 0; __stack_pointer = $3; HEAP32[($3 + 360 | 0) >> 2] = $0; $4 = HEAP32[($3 + 360 | 0) >> 2] | 0; HEAP32[($3 + 356 | 0) >> 2] = 0; label$1 : { label$2 : { label$3 : while (1) { if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { break label$2 } btVector3__btVector3_28_29($3 + 336 | 0 | 0) | 0; label$4 : { label$5 : { if (HEAP32[($3 + 356 | 0) >> 2] | 0) { break label$5 } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 304 | 0 | 0, btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 320 | 0 | 0, $4 + 64 | 0 | 0, $3 + 304 | 0 | 0); $41 = 8; i64toi32_i32$2 = ($3 + 320 | 0) + $41 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $536 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 336 | 0) + $41 | 0; HEAP32[i64toi32_i32$0 >> 2] = $536; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 320 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 324 | 0) >> 2] | 0; $540 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 336 | 0) >> 2] = $540; HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; break label$4; } label$6 : { label$7 : { if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$7 } $61 = btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0; $66 = (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 272 | 0 | 0, $61 | 0, $66 | 0, $3 + 268 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 288 | 0 | 0, $4 + 64 | 0 | 0, $3 + 272 | 0 | 0); $84 = 8; i64toi32_i32$2 = ($3 + 288 | 0) + $84 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $619 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 336 | 0) + $84 | 0; HEAP32[i64toi32_i32$0 >> 2] = $619; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 288 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 292 | 0) >> 2] | 0; $623 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 336 | 0) >> 2] = $623; HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; break label$6; } label$8 : { label$9 : { if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { break label$9 } $104 = btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 236 | 0 | 0, $104 | 0, $3 + 232 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 252 | 0 | 0, $4 + 64 | 0 | 0, $3 + 236 | 0 | 0); $127 = 8; i64toi32_i32$2 = ($3 + 252 | 0) + $127 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $702 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 336 | 0) + $127 | 0; HEAP32[i64toi32_i32$0 >> 2] = $702; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 252 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 256 | 0) >> 2] | 0; $706 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 336 | 0) >> 2] = $706; HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; break label$8; } label$10 : { label$11 : { if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { break label$11 } $147 = btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 200 | 0 | 0, $147 | 0, $3 + 196 | 0 | 0, $3 + 192 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 216 | 0 | 0, $4 + 64 | 0 | 0, $3 + 200 | 0 | 0); $173 = 8; i64toi32_i32$2 = ($3 + 216 | 0) + $173 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $792 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 336 | 0) + $173 | 0; HEAP32[i64toi32_i32$0 >> 2] = $792; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 216 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 220 | 0) >> 2] | 0; $796 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 336 | 0) >> 2] = $796; HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; break label$10; } label$12 : { label$13 : { if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { break label$13 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 160 | 0 | 0, $3 + 156 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 176 | 0 | 0, $4 + 64 | 0 | 0, $3 + 160 | 0 | 0); $218 = 8; i64toi32_i32$2 = ($3 + 176 | 0) + $218 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $878 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 336 | 0) + $218 | 0; HEAP32[i64toi32_i32$0 >> 2] = $878; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 176 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 180 | 0) >> 2] | 0; $882 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 336 | 0) >> 2] = $882; HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; break label$12; } label$14 : { label$15 : { if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { break label$15 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; $245 = (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 124 | 0 | 0, $3 + 120 | 0 | 0, $245 | 0, $3 + 116 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 140 | 0 | 0, $4 + 64 | 0 | 0, $3 + 124 | 0 | 0); $266 = 8; i64toi32_i32$2 = ($3 + 140 | 0) + $266 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $971 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 336 | 0) + $266 | 0; HEAP32[i64toi32_i32$0 >> 2] = $971; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 140 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 144 | 0) >> 2] | 0; $975 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 336 | 0) >> 2] = $975; HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; break label$14; } label$16 : { label$17 : { if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { break label$17 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 84 | 0 | 0, $3 + 80 | 0 | 0, $3 + 76 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 100 | 0 | 0, $4 + 64 | 0 | 0, $3 + 84 | 0 | 0); $314 = 8; i64toi32_i32$2 = ($3 + 100 | 0) + $314 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1064 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 336 | 0) + $314 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1064; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 100 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 104 | 0) >> 2] | 0; $1068 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 336 | 0) >> 2] = $1068; HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; break label$16; } label$18 : { if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { break label$18 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 44 | 0 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 60 | 0 | 0, $4 + 64 | 0 | 0, $3 + 44 | 0 | 0); $365 = 8; i64toi32_i32$2 = ($3 + 60 | 0) + $365 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1164 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 336 | 0) + $365 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1164; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 60 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 64 | 0) >> 2] | 0; $1168 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 336 | 0) >> 2] = $1168; HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; } } } } } } } } HEAP32[($3 + 28 | 0) >> 2] = 0; label$19 : { label$20 : while (1) { if (!((HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$19 } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($4 + 24 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($4 + 24 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($4 + 24 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($3 + 336 | 0 | 0, $3 + 12 | 0 | 0)) + Math_fround(HEAPF32[((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($4 + 24 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$21 : { if (!(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$21 } HEAP8[($3 + 367 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[($3 + 28 | 0) >> 2] = (HEAP32[($3 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$20; }; } HEAP32[($3 + 356 | 0) >> 2] = (HEAP32[($3 + 356 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP8[($3 + 367 | 0) >> 0] = 1 & 1 | 0; } $442 = (HEAPU8[($3 + 367 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $3 + 368 | 0; return $442 | 0; } function btConvexPolyhedron__initialize_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $561 = Math_fround(0), $617 = Math_fround(0), $73 = 0, $76 = 0, $89 = 0, $96 = 0, $134 = 0, $173 = 0, $188 = 0, $608 = 0, $673 = 0, $683 = 0, $580 = Math_fround(0), $601 = Math_fround(0), $666 = Math_fround(0), $676 = Math_fround(0), $689 = Math_fround(0), $697 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 464 | 0; __stack_pointer = $3; HEAP32[($3 + 460 | 0) >> 2] = $0; $4 = HEAP32[($3 + 460 | 0) >> 2] | 0; btHashMap_btInternalVertexPair_2c_20btInternalEdge___btHashMap_28_29($3 + 380 | 0 | 0) | 0; HEAPF32[($3 + 376 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 372 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 368 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 364 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $3 + 372 | 0 | 0, $3 + 368 | 0 | 0, $3 + 364 | 0 | 0); HEAP32[($3 + 360 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 360 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 360 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 352 | 0) >> 2] = HEAP32[($3 + 356 | 0) >> 2] | 0; HEAP32[($3 + 348 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($3 + 348 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 352 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($3 + 344 | 0) >> 2] = ((HEAP32[($3 + 348 | 0) >> 2] | 0) + 1 | 0 | 0) % (HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) | 0; $73 = 16; $76 = 16; btInternalVertexPair__btInternalVertexPair_28short_2c_20short_29($3 + 340 | 0 | 0, ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 360 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3 + 348 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0) << $73 | 0) >> $73 | 0 | 0, ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 360 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3 + 344 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0) << $76 | 0) >> $76 | 0 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btHashMap_btInternalVertexPair_2c_20btInternalEdge___find_28btInternalVertexPair_20const__29($3 + 380 | 0 | 0, $3 + 340 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 336 | 0) >> 2] = wasm2js_i32$1; $89 = 16; $96 = 16; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 320 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, ((HEAPU16[($3 + 342 | 0) >> 1] | 0) << $89 | 0) >> $89 | 0 | 0) | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, ((HEAPU16[($3 + 340 | 0) >> 1] | 0) << $96 | 0) >> $96 | 0 | 0) | 0 | 0); btVector3__normalize_28_29($3 + 320 | 0 | 0) | 0; HEAP8[($3 + 319 | 0) >> 0] = 0; HEAP32[($3 + 312 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($3 + 312 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($4 + 44 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 296 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 44 | 0 | 0, HEAP32[($3 + 312 | 0) >> 2] | 0 | 0) | 0 | 0, $3 + 320 | 0 | 0); $134 = 1; label$7 : { if ((IsAlmostZero_28btVector3_20const__29($3 + 296 | 0 | 0) | 0) & 1 | 0) { break label$7 } operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 280 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 44 | 0 | 0, HEAP32[($3 + 312 | 0) >> 2] | 0 | 0) | 0 | 0, $3 + 320 | 0 | 0); $134 = IsAlmostZero_28btVector3_20const__29($3 + 280 | 0 | 0) | 0; } label$8 : { if (!($134 & 1 | 0)) { break label$8 } HEAP8[($3 + 319 | 0) >> 0] = 1; break label$5; } HEAP32[($3 + 312 | 0) >> 2] = (HEAP32[($3 + 312 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } label$9 : { if ((HEAPU8[($3 + 319 | 0) >> 0] | 0) & 1 | 0) { break label$9 } btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($4 + 44 | 0 | 0, $3 + 320 | 0 | 0); } label$10 : { label$11 : { if (!((HEAP32[($3 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$11 } $173 = 16; label$12 : { if ((((HEAPU16[(HEAP32[($3 + 336 | 0) >> 2] | 0) >> 1] | 0) << $173 | 0) >> $173 | 0 | 0) >= (0 | 0) & 1 | 0) { break label$12 } __assert_fail(85875 | 0, 73099 | 0, 142 | 0, 80824 | 0); wasm2js_trap(); } $188 = 16; label$13 : { if ((((HEAPU16[((HEAP32[($3 + 336 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $188 | 0) >> $188 | 0 | 0) < (0 | 0) & 1 | 0) { break label$13 } __assert_fail(86046 | 0, 73099 | 0, 143 | 0, 80824 | 0); wasm2js_trap(); } HEAP16[((HEAP32[($3 + 336 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAP32[($3 + 360 | 0) >> 2] | 0; break label$10; } btInternalEdge__btInternalEdge_28_29($3 + 276 | 0 | 0) | 0; HEAP16[($3 + 276 | 0) >> 1] = HEAP32[($3 + 360 | 0) >> 2] | 0; btHashMap_btInternalVertexPair_2c_20btInternalEdge___insert_28btInternalVertexPair_20const__2c_20btInternalEdge_20const__29($3 + 380 | 0 | 0, $3 + 340 | 0 | 0, $3 + 276 | 0 | 0); } HEAP32[($3 + 348 | 0) >> 2] = (HEAP32[($3 + 348 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAP32[($3 + 360 | 0) >> 2] = (HEAP32[($3 + 360 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAP32[($3 + 272 | 0) >> 2] = 0; label$14 : { label$15 : while (1) { if (!((HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$14 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 264 | 0) >> 2] = (HEAP32[($3 + 268 | 0) >> 2] | 0) - 2 | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 256 | 0) >> 2] = 1; label$16 : { label$17 : while (1) { if (!((HEAP32[($3 + 256 | 0) >> 2] | 0 | 0) <= (HEAP32[($3 + 264 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } HEAP32[($3 + 252 | 0) >> 2] = ((HEAP32[($3 + 256 | 0) >> 2] | 0) + 1 | 0 | 0) % (HEAP32[($3 + 268 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3 + 256 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3 + 252 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 208 | 0 | 0, HEAP32[($3 + 260 | 0) >> 2] | 0 | 0, HEAP32[($3 + 248 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 192 | 0 | 0, HEAP32[($3 + 260 | 0) >> 2] | 0 | 0, HEAP32[($3 + 244 | 0) >> 2] | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($3 + 224 | 0 | 0, $3 + 208 | 0 | 0, $3 + 192 | 0 | 0); (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__length_28_29_20const($3 + 224 | 0 | 0)) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 144 | 0 | 0, HEAP32[($3 + 260 | 0) >> 2] | 0 | 0, HEAP32[($3 + 248 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 160 | 0 | 0, $3 + 144 | 0 | 0, HEAP32[($3 + 244 | 0) >> 2] | 0 | 0); HEAPF32[($3 + 140 | 0) >> 2] = Math_fround(3.0); operator__28btVector3_20const__2c_20float_20const__29_1($3 + 176 | 0 | 0, $3 + 160 | 0 | 0, $3 + 140 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($3 + 124 | 0 | 0, $3 + 240 | 0 | 0, $3 + 176 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($4 + 64 | 0 | 0, $3 + 124 | 0 | 0) | 0; HEAPF32[($3 + 376 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 376 | 0) >> 2]) + Math_fround(HEAPF32[($3 + 240 | 0) >> 2])); HEAP32[($3 + 256 | 0) >> 2] = (HEAP32[($3 + 256 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } HEAP32[($3 + 272 | 0) >> 2] = (HEAP32[($3 + 272 | 0) >> 2] | 0) + 1 | 0; continue label$15; }; } btVector3__operator___28float_20const__29($4 + 64 | 0 | 0, $3 + 376 | 0 | 0) | 0; HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAP32[($3 + 120 | 0) >> 2] = 0; label$18 : { label$19 : while (1) { if (!((HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$18 } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 104 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 + 64 | 0 | 0, $3 + 104 | 0 | 0)) + Math_fround(HEAPF32[((btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; label$20 : { if (!(Math_fround(HEAPF32[($3 + 100 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 96 | 0) >> 2]) & 1 | 0)) { break label$20 } HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(HEAPF32[($3 + 100 | 0) >> 2]); } HEAP32[($3 + 120 | 0) >> 2] = (HEAP32[($3 + 120 | 0) >> 2] | 0) + 1 | 0; continue label$19; }; } HEAPF32[($3 + 96 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAPF32[($3 + 92 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAPF32[($3 + 88 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAPF32[($3 + 84 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[($3 + 80 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[($3 + 76 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAP32[($3 + 72 | 0) >> 2] = 0; label$21 : { label$22 : while (1) { if (!((HEAP32[($3 + 72 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$21 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; label$23 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[($3 + 96 | 0) >> 2]) & 1 | 0)) { break label$23 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; } label$24 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($3 + 84 | 0) >> 2]) & 1 | 0)) { break label$24 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; } label$25 : { if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[($3 + 92 | 0) >> 2]) & 1 | 0)) { break label$25 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; } label$26 : { if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($3 + 80 | 0) >> 2]) & 1 | 0)) { break label$26 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; } label$27 : { if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[($3 + 88 | 0) >> 2]) & 1 | 0)) { break label$27 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; } label$28 : { if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($3 + 76 | 0) >> 2]) & 1 | 0)) { break label$28 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; } HEAP32[($3 + 72 | 0) >> 2] = (HEAP32[($3 + 72 | 0) >> 2] | 0) + 1 | 0; continue label$22; }; } HEAPF32[($3 + 64 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 84 | 0) >> 2]) + Math_fround(HEAPF32[($3 + 96 | 0) >> 2])); HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 80 | 0) >> 2]) + Math_fround(HEAPF32[($3 + 92 | 0) >> 2])); HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 76 | 0) >> 2]) + Math_fround(HEAPF32[($3 + 88 | 0) >> 2])); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 100 | 0 | 0, $3 + 64 | 0 | 0, $3 + 60 | 0 | 0, $3 + 56 | 0 | 0); HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 84 | 0) >> 2]) - Math_fround(HEAPF32[($3 + 96 | 0) >> 2])); HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 80 | 0) >> 2]) - Math_fround(HEAPF32[($3 + 92 | 0) >> 2])); HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 76 | 0) >> 2]) - Math_fround(HEAPF32[($3 + 88 | 0) >> 2])); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 116 | 0 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0, $3 + 44 | 0 | 0); HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 96 | 0) >> 2]) / Math_fround(Math_sqrt(Math_fround(3.0)))); (wasm2js_i32$0 = $3, wasm2js_i32$1 = btVector3__maxAxis_28_29_20const($4 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 116 | 0 | 0) | 0) + ((HEAP32[($3 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(.5)) + Math_fround(-Math_fround(HEAPF32[($3 + 40 | 0) >> 2]))) / Math_fround(1024.0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; $561 = Math_fround(HEAPF32[($3 + 40 | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $561), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $561), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $561), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $580 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 116 | 0 | 0) | 0) + ((HEAP32[($3 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(.5)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 36 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $580), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP8[($3 + 31 | 0) >> 0] = 0; HEAP32[($3 + 24 | 0) >> 2] = 0; label$29 : { label$30 : while (1) { if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (1024 | 0) & 1 | 0)) { break label$29 } label$31 : { if (!((btConvexPolyhedron__testContainment_28_29_20const($4 | 0) | 0) & 1 | 0)) { break label$31 } HEAP8[($3 + 31 | 0) >> 0] = 1; break label$29; } $601 = Math_fround(HEAPF32[($3 + 32 | 0) >> 2]); $608 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 36 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$608 >> 2] = Math_fround(Math_fround(HEAPF32[$608 >> 2]) - $601); HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$30; }; } label$32 : { label$33 : { if ((HEAPU8[($3 + 31 | 0) >> 0] | 0) & 1 | 0) { break label$33 } $617 = Math_fround(HEAPF32[($3 + 40 | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $617), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $617), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $617), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$32; } HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 96 | 0) >> 2]) - Math_fround(HEAPF32[($3 + 40 | 0) >> 2])) / Math_fround(1024.0)); HEAP32[($3 + 16 | 0) >> 2] = (1 << (HEAP32[($3 + 36 | 0) >> 2] | 0) | 0) & 3 | 0; HEAP32[($3 + 12 | 0) >> 2] = (1 << (HEAP32[($3 + 16 | 0) >> 2] | 0) | 0) & 3 | 0; HEAP32[($3 + 8 | 0) >> 2] = 0; label$34 : { label$35 : while (1) { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (1024 | 0) & 1 | 0)) { break label$34 } (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $666 = Math_fround(HEAPF32[($3 + 20 | 0) >> 2]); $673 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$673 >> 2] = Math_fround(Math_fround(HEAPF32[$673 >> 2]) + $666); $676 = Math_fround(HEAPF32[($3 + 20 | 0) >> 2]); $683 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$683 >> 2] = Math_fround(Math_fround(HEAPF32[$683 >> 2]) + $676); label$36 : { if ((btConvexPolyhedron__testContainment_28_29_20const($4 | 0) | 0) & 1 | 0) { break label$36 } $689 = Math_fround(HEAPF32[($3 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 16 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $689), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $697 = Math_fround(HEAPF32[$3 >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $697), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$34; } HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$35; }; } } btHashMap_btInternalVertexPair_2c_20btInternalEdge____btHashMap_28_29($3 + 380 | 0 | 0) | 0; __stack_pointer = $3 + 464 | 0; return; } function btHashMap_btInternalVertexPair_2c_20btInternalEdge___btHashMap_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btAlignedObjectArray_btInternalEdge___btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; btAlignedObjectArray_btInternalVertexPair___btAlignedObjectArray_28_29($4 + 60 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btInternalVertexPair__btInternalVertexPair_28short_2c_20short_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $10 = 0, $14 = 0, $24 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 8 | 0) >> 2] = $0; HEAP16[($5 + 6 | 0) >> 1] = $1; HEAP16[($5 + 4 | 0) >> 1] = $2; $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = $6; HEAP16[$6 >> 1] = HEAPU16[($5 + 6 | 0) >> 1] | 0; HEAP16[($6 + 2 | 0) >> 1] = HEAPU16[($5 + 4 | 0) >> 1] | 0; $10 = 16; $14 = 16; label$1 : { if (!((((HEAPU16[($6 + 2 | 0) >> 1] | 0) << $10 | 0) >> $10 | 0 | 0) > (((HEAPU16[$6 >> 1] | 0) << $14 | 0) >> $14 | 0 | 0) & 1 | 0)) { break label$1 } void_20btSwap_short__28short__2c_20short__29($6 | 0, $6 + 2 | 0 | 0); } $24 = HEAP32[($5 + 12 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $24 | 0; } function btHashMap_btInternalVertexPair_2c_20btInternalEdge___find_28btInternalVertexPair_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $20 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btHashMap_btInternalVertexPair_2c_20btInternalEdge___findIndex_28btInternalVertexPair_20const__29_20const($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[$4 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { break label$2 } HEAP32[($4 + 12 | 0) >> 2] = 0; break label$1; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___operator_5b_5d_28int_29($5 + 40 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; } $20 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $20 | 0; } function IsAlmostZero_28btVector3_20const__29($0) { $0 = $0 | 0; var $3 = 0, $39 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; label$1 : { label$2 : { label$3 : { if (+Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))) > 1.0e-06 & 1 | 0) { break label$3 } if (+Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))) > 1.0e-06 & 1 | 0) { break label$3 } if (!(+Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))) > 1.0e-06 & 1 | 0)) { break label$2 } } HEAP8[($3 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP8[($3 + 15 | 0) >> 0] = 1 & 1 | 0; } $39 = (HEAPU8[($3 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $39 | 0; } function btInternalEdge__btInternalEdge_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP16[$4 >> 1] = 65535; HEAP16[($4 + 2 | 0) >> 1] = 65535; return $4 | 0; } function btHashMap_btInternalVertexPair_2c_20btInternalEdge___insert_28btInternalVertexPair_20const__2c_20btInternalEdge_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $63 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btInternalVertexPair__getHash_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($6 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashMap_btInternalVertexPair_2c_20btInternalEdge___findIndex_28btInternalVertexPair_20const__29_20const($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$2 } $7 = HEAP32[($5 + 20 | 0) >> 2] | 0; $8 = btAlignedObjectArray_btInternalEdge___operator_5b_5d_28int_29($6 + 40 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0; $9 = HEAPU16[$7 >> 1] | 0 | ((HEAPU16[($7 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; HEAP16[$8 >> 1] = $9; HEAP16[($8 + 2 | 0) >> 1] = $9 >>> 16 | 0; break label$1; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___size_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btInternalEdge___push_back_28btInternalEdge_20const__29($6 + 40 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btInternalVertexPair___push_back_28btInternalVertexPair_20const__29($6 + 60 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$3 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[$5 >> 2] | 0 | 0) & 1 | 0)) { break label$3 } btHashMap_btInternalVertexPair_2c_20btInternalEdge___growTables_28btInternalVertexPair_20const__29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btInternalVertexPair__getHash_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($6 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; } $63 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 20 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $63), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $68 = HEAP32[($5 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $68), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } __stack_pointer = $5 + 32 | 0; return; } function btHashMap_btInternalVertexPair_2c_20btInternalEdge____btHashMap_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btInternalVertexPair____btAlignedObjectArray_28_29($4 + 60 | 0 | 0) | 0; btAlignedObjectArray_btInternalEdge____btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btInternalEdge___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btInternalEdge_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btInternalEdge___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btInternalVertexPair___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btInternalVertexPair_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btInternalVertexPair___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function void_20btSwap_short__28short__2c_20short__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP16[($4 + 6 | 0) >> 1] = HEAPU16[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 1] | 0; HEAP16[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 1] = HEAPU16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] | 0; HEAP16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] = HEAPU16[($4 + 6 | 0) >> 1] | 0; return; } function btHashMap_btInternalVertexPair_2c_20btInternalEdge___findIndex_28btInternalVertexPair_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $33 = 0, $55 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; $5 = HEAP32[($4 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btInternalVertexPair__getHash_28_29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0) >>> 0 >= (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0) >>> 0 & 1 | 0)) { break label$2 } HEAP32[($4 + 28 | 0) >> 2] = -1; break label$1; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($5 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$3 : while (1) { $33 = 0; label$4 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$4 } $33 = ((btInternalVertexPair__equals_28btInternalVertexPair_20const__29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btInternalVertexPair___operator_5b_5d_28int_29_20const($5 + 60 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); } label$5 : { if (!($33 & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($5 + 20 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; continue label$3; } break label$3; }; HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; } $55 = HEAP32[($4 + 28 | 0) >> 2] | 0; __stack_pointer = $4 + 32 | 0; return $55 | 0; } function btAlignedObjectArray_btInternalEdge___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btInternalVertexPair__getHash_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $6 = 0, $10 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $6 = 16; $10 = 16; return (((HEAPU16[$4 >> 1] | 0) << $6 | 0) >> $6 | 0) + ((((HEAPU16[($4 + 2 | 0) >> 1] | 0) << $10 | 0) >> $10 | 0) << 16 | 0) | 0 | 0; } function btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btInternalEdge___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btInternalEdge___push_back_28btInternalEdge_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, $6 = 0, $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btInternalEdge___reserve_28int_29($5 | 0, btAlignedObjectArray_btInternalEdge___allocSize_28int_29($5 | 0, btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; $7 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0; $8 = HEAPU16[$6 >> 1] | 0 | ((HEAPU16[($6 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; HEAP16[$7 >> 1] = $8; HEAP16[($7 + 2 | 0) >> 1] = $8 >>> 16 | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btInternalVertexPair___push_back_28btInternalVertexPair_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, $6 = 0, $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btInternalVertexPair___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btInternalVertexPair___reserve_28int_29($5 | 0, btAlignedObjectArray_btInternalVertexPair___allocSize_28int_29($5 | 0, btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; $7 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0; $8 = HEAPU16[$6 >> 1] | 0 | ((HEAPU16[($6 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; HEAP16[$7 >> 1] = $8; HEAP16[($7 + 2 | 0) >> 1] = $8 >>> 16 | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btHashMap_btInternalVertexPair_2c_20btInternalEdge___growTables_28btInternalVertexPair_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $17 = 0, $24 = 0, $80 = 0, $85 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; $17 = HEAP32[($4 + 20 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 | 0, $17 | 0, $4 + 12 | 0 | 0); $24 = HEAP32[($4 + 20 | 0) >> 2] | 0; HEAP32[($4 + 8 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 + 20 | 0 | 0, $24 | 0, $4 + 8 | 0 | 0); HEAP32[($4 + 4 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP32[($4 + 4 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } HEAP32[($4 + 4 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btInternalVertexPair__getHash_28_29_20const(btAlignedObjectArray_btInternalVertexPair___operator_5b_5d_28int_29($5 + 60 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & ((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $80 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $80), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $85 = HEAP32[($4 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $85), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } __stack_pointer = $4 + 32 | 0; return; } function btAlignedObjectArray_btInternalVertexPair____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btInternalVertexPair___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btInternalEdge____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btInternalEdge___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexPolyhedron__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $47 = 0, $49 = 0, $63 = 0, $65 = 0, $192 = 0, $205 = 0, $231 = 0, $244 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $9 = __stack_pointer - 64 | 0; __stack_pointer = $9; HEAP32[($9 + 60 | 0) >> 2] = $0; HEAP32[($9 + 56 | 0) >> 2] = $1; HEAP32[($9 + 52 | 0) >> 2] = $2; HEAP32[($9 + 48 | 0) >> 2] = $3; HEAP32[($9 + 44 | 0) >> 2] = $4; HEAP32[($9 + 40 | 0) >> 2] = $5; HEAP32[($9 + 36 | 0) >> 2] = $6; $10 = HEAP32[($9 + 60 | 0) >> 2] | 0; HEAPF32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAPF32[(HEAP32[($9 + 44 | 0) >> 2] | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const($10 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; HEAP32[($9 + 28 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($9 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($9 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btTransform__operator__28btVector3_20const__29_20const($9 + 12 | 0 | 0, HEAP32[($9 + 56 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const($10 + 4 | 0 | 0, HEAP32[($9 + 28 | 0) >> 2] | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 12 | 0 | 0, HEAP32[($9 + 52 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($9 + 8 | 0) >> 2]); $47 = HEAP32[($9 + 40 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 16 | 0) >> 2] | 0; $192 = i64toi32_i32$0; i64toi32_i32$0 = $47; HEAP32[i64toi32_i32$0 >> 2] = $192; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; i64toi32_i32$2 = ($9 + 12 | 0) + $49 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $205 = i64toi32_i32$1; i64toi32_i32$1 = $47 + $49 | 0; HEAP32[i64toi32_i32$1 >> 2] = $205; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } label$4 : { if (!(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 44 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$4 } HEAPF32[(HEAP32[($9 + 44 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($9 + 8 | 0) >> 2]); $63 = HEAP32[($9 + 36 | 0) >> 2] | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 16 | 0) >> 2] | 0; $231 = i64toi32_i32$0; i64toi32_i32$0 = $63; HEAP32[i64toi32_i32$0 >> 2] = $231; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $65 = 8; i64toi32_i32$2 = ($9 + 12 | 0) + $65 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $244 = i64toi32_i32$1; i64toi32_i32$1 = $63 + $65 | 0; HEAP32[i64toi32_i32$1 >> 2] = $244; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($9 + 28 | 0) >> 2] = (HEAP32[($9 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } label$5 : { if (!(Math_fround(HEAPF32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 44 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$5 } void_20btSwap_float__28float__2c_20float__29(HEAP32[($9 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9 + 44 | 0) >> 2] | 0 | 0); void_20btSwap_btVector3__28btVector3__2c_20btVector3__29(HEAP32[($9 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9 + 36 | 0) >> 2] | 0 | 0); } __stack_pointer = $9 + 64 | 0; return; } function void_20btSwap_float__28float__2c_20float__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]); HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); return; } function void_20btSwap_btVector3__28btVector3__2c_20btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4 = 0, $5 = 0, $6 = 0, $14 = 0, $16 = 0, $20 = 0, $22 = 0, $50 = 0, $54 = 0, $62 = 0, $72 = 0, $78 = 0, $91 = 0; $4 = __stack_pointer - 32 | 0; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; $6 = 8; i64toi32_i32$2 = $5 + $6 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $50 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 8 | 0) + $6 | 0; HEAP32[i64toi32_i32$0 >> 2] = $50; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $54 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $54; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; $14 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $62 = i64toi32_i32$0; i64toi32_i32$0 = $14; HEAP32[i64toi32_i32$0 >> 2] = $62; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $72 = i64toi32_i32$1; i64toi32_i32$1 = $14 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $72; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $20 = HEAP32[($4 + 24 | 0) >> 2] | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $78 = i64toi32_i32$0; i64toi32_i32$0 = $20; HEAP32[i64toi32_i32$0 >> 2] = $78; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $22 = 8; i64toi32_i32$2 = (i64toi32_i32$2 + 8 | 0) + $22 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $91 = i64toi32_i32$1; i64toi32_i32$1 = $20 + $22 | 0; HEAP32[i64toi32_i32$1 >> 2] = $91; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btAlignedAllocator_btInternalEdge_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btInternalEdge___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btInternalVertexPair_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btInternalVertexPair___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btInternalVertexPair___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btInternalVertexPair___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btInternalVertexPair___deallocate_28_29($4 | 0); btAlignedObjectArray_btInternalVertexPair___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btInternalEdge___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btInternalEdge___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btInternalEdge___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btInternalEdge___deallocate_28_29($4 | 0); btAlignedObjectArray_btInternalEdge___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btInternalVertexPair___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btInternalVertexPair___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btInternalVertexPair_2c_2016u___deallocate_28btInternalVertexPair__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btInternalVertexPair_2c_2016u___deallocate_28btInternalVertexPair__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btInternalEdge___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btInternalEdge___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btInternalEdge_2c_2016u___deallocate_28btInternalEdge__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btInternalEdge_2c_2016u___deallocate_28btInternalEdge__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btInternalVertexPair___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btInternalVertexPair__equals_28btInternalVertexPair_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $7 = 0, $12 = 0, $21 = 0, $23 = 0, $28 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $7 = 16; $12 = 16; $21 = 0; label$1 : { if (!((((HEAPU16[$5 >> 1] | 0) << $7 | 0) >> $7 | 0 | 0) == (((HEAPU16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] | 0) << $12 | 0) >> $12 | 0 | 0) & 1 | 0)) { break label$1 } $23 = 16; $28 = 16; $21 = (((HEAPU16[($5 + 2 | 0) >> 1] | 0) << $23 | 0) >> $23 | 0 | 0) == (((HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $28 | 0) >> $28 | 0 | 0); } return $21 & 1 | 0 | 0; } function btAlignedObjectArray_btInternalEdge___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btInternalEdge___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btInternalEdge___copy_28int_2c_20int_2c_20btInternalEdge__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btInternalEdge___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btInternalEdge___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btInternalVertexPair___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btInternalVertexPair___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btInternalVertexPair___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btInternalVertexPair___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalVertexPair___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btInternalVertexPair___copy_28int_2c_20int_2c_20btInternalVertexPair__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btInternalVertexPair___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btInternalVertexPair___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btInternalVertexPair___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btInternalEdge___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btInternalEdge_2c_2016u___allocate_28int_2c_20btInternalEdge_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btInternalEdge___copy_28int_2c_20int_2c_20btInternalEdge__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $9 = 0, $10 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $8 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; $9 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; $10 = HEAPU16[$8 >> 1] | 0 | ((HEAPU16[($8 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; HEAP16[$9 >> 1] = $10; HEAP16[($9 + 2 | 0) >> 1] = $10 >>> 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btInternalEdge_2c_2016u___allocate_28int_2c_20btInternalEdge_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btInternalVertexPair___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btInternalVertexPair_2c_2016u___allocate_28int_2c_20btInternalVertexPair_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btInternalVertexPair___copy_28int_2c_20int_2c_20btInternalVertexPair__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, $9 = 0, $10 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $8 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; $9 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; $10 = HEAPU16[$8 >> 1] | 0 | ((HEAPU16[($8 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; HEAP16[$9 >> 1] = $10; HEAP16[($9 + 2 | 0) >> 1] = $10 >>> 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btInternalVertexPair_2c_2016u___allocate_28int_2c_20btInternalVertexPair_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btConvexPolyhedron_cpp() { __cxx_global_var_init_43(); return; } function __cxx_global_var_init_44() { btInfMaskConverter__btInfMaskConverter_28int_29(114164 | 0, 2139095040 | 0) | 0; return; } function btGeometryUtil__isPointInsidePlanes_28btAlignedObjectArray_btVector3__20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $45 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAPF32[($5 + 16 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 8 | 0) >> 2] = 0; label$1 : { label$2 : { label$3 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0)) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2])) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$4 : { if (!(Math_fround(HEAPF32[$5 >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP8[($5 + 31 | 0) >> 0] = 1 & 1 | 0; } $45 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 32 | 0; return $45 | 0; } function btGeometryUtil__areVerticesBehindPlane_28btVector3_20const__2c_20btAlignedObjectArray_btVector3__20const__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $45 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAPF32[($5 + 16 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 8 | 0) >> 2] = 0; label$1 : { label$2 : { label$3 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0)) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2])) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$4 : { if (!(Math_fround(HEAPF32[$5 >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP8[($5 + 31 | 0) >> 0] = 1 & 1 | 0; } $45 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 32 | 0; return $45 | 0; } function notExist_28btVector3_20const__2c_20btAlignedObjectArray_btVector3__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 12 | 0) >> 2] = 0; label$1 : { label$2 : { label$3 : while (1) { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$4 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)) > Math_fround(.9990000128746033) & 1 | 0)) { break label$4 } HEAP8[($4 + 31 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP8[($4 + 31 | 0) >> 0] = 1 & 1 | 0; } $36 = (HEAPU8[($4 + 31 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 32 | 0; return $36 | 0; } function btGeometryUtil__getPlaneEquationsFromVertices_28btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $58 = 0, $72 = 0, $104 = 0, $312 = 0, $316 = 0, $343 = 0, $347 = 0, $403 = 0, $407 = 0, $136 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 160 | 0; __stack_pointer = $4; HEAP32[($4 + 156 | 0) >> 2] = $0; HEAP32[($4 + 152 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 144 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 136 | 0) >> 2] = (HEAP32[($4 + 144 | 0) >> 2] | 0) + 1 | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 136 | 0) >> 2] | 0) + 1 | 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; btVector3__btVector3_28_29($4 + 104 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 88 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 72 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 56 | 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0); $58 = 8; i64toi32_i32$2 = ($4 + 56 | 0) + $58 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $312 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 88 | 0) + $58 | 0; HEAP32[i64toi32_i32$0 >> 2] = $312; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 56 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 60 | 0) >> 2] | 0; $316 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 88 | 0) >> 2] = $316; HEAP32[($4 + 92 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 40 | 0 | 0, HEAP32[($4 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0); $72 = 8; i64toi32_i32$2 = ($4 + 40 | 0) + $72 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $343 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 72 | 0) + $72 | 0; HEAP32[i64toi32_i32$0 >> 2] = $343; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 40 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 44 | 0) >> 2] | 0; $347 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 72 | 0) >> 2] = $347; HEAP32[($4 + 76 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(1.0); HEAP32[($4 + 32 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { break label$7 } btVector3__cross_28btVector3_20const__29_20const($4 | 0, $4 + 88 | 0 | 0, $4 + 72 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($4 + 16 | 0 | 0, $4 + 36 | 0 | 0, $4 | 0); $104 = 8; i64toi32_i32$2 = ($4 + 16 | 0) + $104 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $403 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 104 | 0) + $104 | 0; HEAP32[i64toi32_i32$0 >> 2] = $403; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 20 | 0) >> 2] | 0; $407 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 104 | 0) >> 2] = $407; HEAP32[($4 + 108 | 0) >> 2] = i64toi32_i32$0; label$9 : { if (!(Math_fround(btVector3__length2_28_29_20const($4 + 104 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$9 } btVector3__normalize_28_29($4 + 104 | 0 | 0) | 0; label$10 : { if (!((notExist_28btVector3_20const__2c_20btAlignedObjectArray_btVector3__20const__29($4 + 104 | 0 | 0, HEAP32[($4 + 152 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$10 } $136 = Math_fround(-Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 + 104 | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 104 | 0 | 0) | 0, wasm2js_f32$0 = $136), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; label$11 : { if (!((btGeometryUtil__areVerticesBehindPlane_28btVector3_20const__2c_20btAlignedObjectArray_btVector3__20const__2c_20float_29($4 + 104 | 0 | 0, HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(.009999999776482582))) | 0) & 1 | 0)) { break label$11 } btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29(HEAP32[($4 + 152 | 0) >> 2] | 0 | 0, $4 + 104 | 0 | 0); } } } HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(-1.0); HEAP32[($4 + 32 | 0) >> 2] = (HEAP32[($4 + 32 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 128 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } HEAP32[($4 + 136 | 0) >> 2] = (HEAP32[($4 + 136 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAP32[($4 + 144 | 0) >> 2] = (HEAP32[($4 + 144 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 160 | 0; return; } function btGeometryUtil__getVerticesFromPlaneEquations_28btAlignedObjectArray_btVector3__20const__2c_20btAlignedObjectArray_btVector3___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $52 = 0, $69 = 0, $86 = 0, $154 = 0, $324 = 0, $328 = 0, $361 = 0, $365 = 0, $398 = 0, $402 = 0, $529 = 0, $533 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 160 | 0; __stack_pointer = $4; HEAP32[($4 + 156 | 0) >> 2] = $0; HEAP32[($4 + 152 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 144 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 136 | 0) >> 2] = (HEAP32[($4 + 144 | 0) >> 2] | 0) + 1 | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 136 | 0) >> 2] | 0) + 1 | 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; btVector3__btVector3_28_29($4 + 104 | 0 | 0) | 0; btVector3__cross_28btVector3_20const__29_20const($4 + 88 | 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0, HEAP32[($4 + 124 | 0) >> 2] | 0 | 0); $52 = 8; i64toi32_i32$2 = ($4 + 88 | 0) + $52 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $324 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 104 | 0) + $52 | 0; HEAP32[i64toi32_i32$0 >> 2] = $324; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 88 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 92 | 0) >> 2] | 0; $328 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 104 | 0) >> 2] = $328; HEAP32[($4 + 108 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($4 + 72 | 0 | 0) | 0; btVector3__cross_28btVector3_20const__29_20const($4 + 56 | 0 | 0, HEAP32[($4 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0); $69 = 8; i64toi32_i32$2 = ($4 + 56 | 0) + $69 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $361 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 72 | 0) + $69 | 0; HEAP32[i64toi32_i32$0 >> 2] = $361; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 56 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 60 | 0) >> 2] | 0; $365 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 72 | 0) >> 2] = $365; HEAP32[($4 + 76 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($4 + 40 | 0 | 0) | 0; btVector3__cross_28btVector3_20const__29_20const($4 + 24 | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0); $86 = 8; i64toi32_i32$2 = ($4 + 24 | 0) + $86 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $398 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 40 | 0) + $86 | 0; HEAP32[i64toi32_i32$0 >> 2] = $398; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; $402 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 40 | 0) >> 2] = $402; HEAP32[($4 + 44 | 0) >> 2] = i64toi32_i32$0; label$7 : { if (!(Math_fround(btVector3__length2_28_29_20const($4 + 104 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$7 } if (!(Math_fround(btVector3__length2_28_29_20const($4 + 72 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$7 } if (!(Math_fround(btVector3__length2_28_29_20const($4 + 40 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$7 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($4 + 140 | 0) >> 2] | 0 | 0, $4 + 104 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; label$8 : { if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 20 | 0) >> 2])))) > Math_fround(9.999999974752427e-07) & 1 | 0)) { break label$8 } HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(Math_fround(-1.0) / Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); btVector3__operator___28float_20const__29_1($4 + 104 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 140 | 0) >> 2] | 0 | 0) | 0) + 12 | 0 | 0) | 0; btVector3__operator___28float_20const__29_1($4 + 72 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 132 | 0) >> 2] | 0 | 0) | 0) + 12 | 0 | 0) | 0; btVector3__operator___28float_20const__29_1($4 + 40 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0) | 0) + 12 | 0 | 0) | 0; $154 = 8; i64toi32_i32$2 = ($4 + 104 | 0) + $154 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $529 = i64toi32_i32$0; i64toi32_i32$0 = $4 + $154 | 0; HEAP32[i64toi32_i32$0 >> 2] = $529; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 104 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 108 | 0) >> 2] | 0; $533 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[$4 >> 2] = $533; HEAP32[($4 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29_1($4 | 0, $4 + 72 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($4 | 0, $4 + 40 | 0 | 0) | 0; btVector3__operator___28float_20const__29_1($4 | 0, $4 + 20 | 0 | 0) | 0; label$9 : { if (!((btGeometryUtil__isPointInsidePlanes_28btAlignedObjectArray_btVector3__20const__2c_20btVector3_20const__2c_20float_29(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, $4 | 0, Math_fround(Math_fround(.009999999776482582))) | 0) & 1 | 0)) { break label$9 } btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29(HEAP32[($4 + 152 | 0) >> 2] | 0 | 0, $4 | 0); } } } HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 128 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } HEAP32[($4 + 136 | 0) >> 2] = (HEAP32[($4 + 136 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } HEAP32[($4 + 144 | 0) >> 2] = (HEAP32[($4 + 144 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 160 | 0; return; } function _GLOBAL__sub_I_btGeometryUtil_cpp() { __cxx_global_var_init_44(); return; } function __cxx_global_var_init_45() { btInfMaskConverter__btInfMaskConverter_28int_29(114168 | 0, 2139095040 | 0) | 0; return; } function btConvexHullInternal__Int128__operator__28long_20long_29_20const($0, $1, $2, $2$hi) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $6 = 0, $7$hi = 0, $8$hi = 0, $27$hi = 0, $28$hi = 0, $36 = 0, $37 = 0, $38 = 0, $20 = 0, $39 = 0, $40 = 0, $41 = 0, $39$hi = 0, $42$hi = 0, $43$hi = 0, $47$hi = 0, $48$hi = 0, $49$hi = 0, $59 = 0, $115 = 0, $119 = 0, $144$hi = 0, $145 = 0, $42 = 0, $159 = 0, $47 = 0, $165 = 0, $49 = 0, $169$hi = 0, $190 = 0, $203 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $1; i64toi32_i32$0 = $2$hi; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = $2; HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; $6 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $7$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $8$hi = i64toi32_i32$1; i64toi32_i32$1 = $7$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $7$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $7$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $8$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { $36 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { $37 = 0 } else { $37 = 1 } $38 = $37; } else { $38 = 0 } $36 = $38; } HEAP8[($5 + 47 | 0) >> 0] = $36 & 1 | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 47 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btConvexHullInternal__Int128__operator__28_29_20const($5 + 24 | 0 | 0, $6 | 0); break label$1; } $20 = 8; i64toi32_i32$3 = $6 + $20 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; $115 = i64toi32_i32$2; i64toi32_i32$2 = ($5 + 24 | 0) + $20 | 0; HEAP32[i64toi32_i32$2 >> 2] = $115; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$3 = $6; i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; $119 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $119; HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$2; } i64toi32_i32$3 = $5; i64toi32_i32$2 = HEAP32[($5 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 52 | 0) >> 2] | 0; $27$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $28$hi = i64toi32_i32$1; i64toi32_i32$1 = $27$hi; i64toi32_i32$1 = $28$hi; i64toi32_i32$1 = $27$hi; i64toi32_i32$1 = $28$hi; i64toi32_i32$1 = $27$hi; i64toi32_i32$3 = i64toi32_i32$2; i64toi32_i32$2 = $28$hi; i64toi32_i32$0 = 0; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { $39 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { $40 = 0 } else { $40 = 1 } $41 = $40; } else { $41 = 0 } $39 = $41; } label$3 : { if (!($39 & 1 | 0)) { break label$3 } HEAP8[($5 + 47 | 0) >> 0] = ((HEAPU8[($5 + 47 | 0) >> 0] | 0) ^ -1 | 0) & 1 | 0; i64toi32_i32$0 = $5; i64toi32_i32$3 = HEAP32[($5 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 52 | 0) >> 2] | 0; $39$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $144$hi = i64toi32_i32$1; i64toi32_i32$1 = $39$hi; $145 = i64toi32_i32$3; i64toi32_i32$1 = $144$hi; i64toi32_i32$0 = 0; i64toi32_i32$3 = $39$hi; i64toi32_i32$2 = $145; i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; i64toi32_i32$0 = $5; HEAP32[($5 + 48 | 0) >> 2] = i64toi32_i32$4; HEAP32[($5 + 52 | 0) >> 2] = i64toi32_i32$5; } i64toi32_i32$1 = $5; i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; $42 = i64toi32_i32$5; $42$hi = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; $43$hi = i64toi32_i32$5; i64toi32_i32$5 = $42$hi; i64toi32_i32$5 = $43$hi; $159 = i64toi32_i32$0; i64toi32_i32$5 = $42$hi; i64toi32_i32$0 = $43$hi; btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29(i64toi32_i32$1 + 8 | 0 | 0, $42 | 0, i64toi32_i32$5 | 0, $159 | 0, i64toi32_i32$0 | 0); i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; $47 = i64toi32_i32$0; $47$hi = i64toi32_i32$5; i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; $48$hi = i64toi32_i32$0; i64toi32_i32$0 = $47$hi; i64toi32_i32$0 = $48$hi; $165 = i64toi32_i32$5; i64toi32_i32$0 = $47$hi; i64toi32_i32$5 = $48$hi; i64toi32_i32$5 = __wasm_i64_mul($47 | 0, i64toi32_i32$0 | 0, $165 | 0, i64toi32_i32$5 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $49 = i64toi32_i32$5; $49$hi = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; $169$hi = i64toi32_i32$5; i64toi32_i32$5 = $49$hi; i64toi32_i32$5 = $169$hi; i64toi32_i32$1 = i64toi32_i32$0; i64toi32_i32$0 = $49$hi; i64toi32_i32$2 = $49; i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = i64toi32_i32$3; HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$4; label$4 : { label$5 : { if (!((HEAPU8[(i64toi32_i32$1 + 47 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } btConvexHullInternal__Int128__operator__28_29_20const($0 | 0, $5 + 8 | 0 | 0); break label$4; } i64toi32_i32$5 = $5; i64toi32_i32$4 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; $190 = i64toi32_i32$4; i64toi32_i32$4 = $0; HEAP32[i64toi32_i32$4 >> 2] = $190; HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$1; $59 = 8; i64toi32_i32$5 = ($5 + 8 | 0) + $59 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; $203 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $59 | 0; HEAP32[i64toi32_i32$1 >> 2] = $203; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; } __stack_pointer = $5 + 64 | 0; return; } function btConvexHullInternal__Int128__operator__28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $4 = 0, $5 = 0, $12$hi = 0, $13$hi = 0, $6$hi = 0, $8$hi = 0, $9$hi = 0, $10$hi = 0, $11$hi = 0, $19$hi = 0, $20$hi = 0, $34$hi = 0, $35 = 0, $8 = 0, $11 = 0, $52 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $6$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $34$hi = i64toi32_i32$1; i64toi32_i32$1 = $6$hi; $35 = i64toi32_i32$0; i64toi32_i32$1 = $34$hi; i64toi32_i32$2 = 0; i64toi32_i32$0 = $6$hi; i64toi32_i32$3 = $35; i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; $8 = i64toi32_i32$4; $8$hi = i64toi32_i32$5; i64toi32_i32$1 = $5; i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; $9$hi = i64toi32_i32$2; i64toi32_i32$2 = -1; $10$hi = i64toi32_i32$2; i64toi32_i32$2 = $9$hi; i64toi32_i32$2 = $10$hi; i64toi32_i32$2 = $9$hi; i64toi32_i32$1 = i64toi32_i32$5; i64toi32_i32$5 = $10$hi; i64toi32_i32$3 = -1; i64toi32_i32$5 = i64toi32_i32$2 ^ i64toi32_i32$5 | 0; $11 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; $11$hi = i64toi32_i32$5; i64toi32_i32$2 = $5; i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $12$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $13$hi = i64toi32_i32$1; i64toi32_i32$1 = $12$hi; i64toi32_i32$1 = $13$hi; i64toi32_i32$1 = $12$hi; i64toi32_i32$1 = $13$hi; i64toi32_i32$1 = $12$hi; i64toi32_i32$2 = i64toi32_i32$5; i64toi32_i32$5 = $13$hi; i64toi32_i32$3 = 0; $52 = ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0; i64toi32_i32$2 = 0; $19$hi = i64toi32_i32$2; i64toi32_i32$2 = $11$hi; i64toi32_i32$2 = $19$hi; i64toi32_i32$2 = $11$hi; i64toi32_i32$3 = $11; i64toi32_i32$1 = $19$hi; i64toi32_i32$5 = $52; i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } $20$hi = i64toi32_i32$4; i64toi32_i32$4 = $8$hi; i64toi32_i32$4 = $20$hi; i64toi32_i32$4 = $8$hi; i64toi32_i32$3 = $20$hi; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0 | 0, $8 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5 = 0, $6$hi = 0, $7$hi = 0, $6 = 0, $31 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = $2$hi; HEAP32[i64toi32_i32$1 >> 2] = $2; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btConvexHullInternal__Int128__Int128_28_29($0 | 0) | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; $6 = i64toi32_i32$0; $6$hi = i64toi32_i32$1; i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; $7$hi = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$0 = $7$hi; $31 = i64toi32_i32$1; i64toi32_i32$0 = $6$hi; i64toi32_i32$1 = $7$hi; btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_2c_20unsigned_20long_20long__2c_20unsigned_20long_20long__29($6 | 0, i64toi32_i32$0 | 0, $31 | 0, i64toi32_i32$1 | 0, $0 | 0, $0 + 8 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5 = 0, $6 = 0, $24 = 0, $28 = 0; $5 = __stack_pointer - 32 | 0; HEAP32[($5 + 28 | 0) >> 2] = $0; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = $2$hi; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $2; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; $6 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; $24 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[i64toi32_i32$0 >> 2] = $24; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; $28 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $28; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; return i64toi32_i32$1 | 0; } function btConvexHullInternal__Int128__Int128_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_2c_20unsigned_20long_20long__2c_20unsigned_20long_20long__29($0, $0$hi, $1, $1$hi, $2, $3) { $0 = $0 | 0; $0$hi = $0$hi | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $6 = 0, $58$hi = 0, $59$hi = 0, $30$hi = 0, $34$hi = 0, $39$hi = 0, $45$hi = 0, $51$hi = 0, $55$hi = 0, $65$hi = 0, $66$hi = 0, $8 = 0, $99 = 0, $13 = 0, $112 = 0, $18 = 0, $125 = 0, $23 = 0, $138 = 0, $144 = 0, $151 = 0, $163 = 0, $167$hi = 0, $177 = 0, $181$hi = 0, $191 = 0, $195$hi = 0, $55 = 0, $206$hi = 0, $58 = 0, $218 = 0, $237 = 0, $243 = 0; $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; i64toi32_i32$0 = $0$hi; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = $0; HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = $1$hi; HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = $2; HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $3; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; $8 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; i64toi32_i32$0 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($8 | 0, btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $99 = i64toi32_i32$0; i64toi32_i32$0 = i64toi32_i32$2; HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $99; HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; $13 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; i64toi32_i32$1 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($13 | 0, btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $112 = i64toi32_i32$1; i64toi32_i32$1 = i64toi32_i32$2; HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $112; HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; $18 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; i64toi32_i32$0 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($18 | 0, btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $125 = i64toi32_i32$0; i64toi32_i32$0 = i64toi32_i32$2; HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $125; HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; $23 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; i64toi32_i32$1 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($23 | 0, btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $138 = i64toi32_i32$1; i64toi32_i32$1 = i64toi32_i32$2; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $138; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; $144 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$1 = 0; $30$hi = i64toi32_i32$1; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; $151 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$0 = 0; $34$hi = i64toi32_i32$0; i64toi32_i32$0 = $30$hi; i64toi32_i32$0 = $34$hi; i64toi32_i32$0 = $30$hi; i64toi32_i32$2 = $144; i64toi32_i32$1 = $34$hi; i64toi32_i32$3 = $151; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } i64toi32_i32$2 = $6; HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$0 = i64toi32_i32$2; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; $163 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$2 = 0; $39$hi = i64toi32_i32$2; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; $167$hi = i64toi32_i32$5; i64toi32_i32$5 = $39$hi; i64toi32_i32$5 = $167$hi; i64toi32_i32$0 = i64toi32_i32$2; i64toi32_i32$2 = $39$hi; i64toi32_i32$3 = $163; i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = i64toi32_i32$1; HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$4; i64toi32_i32$5 = i64toi32_i32$0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; $177 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$0 = 0; $45$hi = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; $181$hi = i64toi32_i32$4; i64toi32_i32$4 = $45$hi; i64toi32_i32$4 = $181$hi; i64toi32_i32$5 = i64toi32_i32$0; i64toi32_i32$0 = $45$hi; i64toi32_i32$3 = $177; i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 } i64toi32_i32$5 = $6; HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$2; HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$4 = i64toi32_i32$5; i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; $191 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0; i64toi32_i32$5 = 0; $51$hi = i64toi32_i32$5; i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] | 0; $195$hi = i64toi32_i32$1; i64toi32_i32$1 = $51$hi; i64toi32_i32$1 = $195$hi; i64toi32_i32$4 = i64toi32_i32$5; i64toi32_i32$5 = $51$hi; i64toi32_i32$3 = $191; i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 } i64toi32_i32$4 = $6; HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = i64toi32_i32$0; HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$2; btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___shlHalf_28unsigned_20long_20long__29(i64toi32_i32$4 | 0); i64toi32_i32$1 = i64toi32_i32$4; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $55 = i64toi32_i32$2; $55$hi = i64toi32_i32$4; i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; $206$hi = i64toi32_i32$2; i64toi32_i32$2 = $55$hi; i64toi32_i32$2 = $206$hi; i64toi32_i32$1 = i64toi32_i32$4; i64toi32_i32$4 = $55$hi; i64toi32_i32$3 = $55; i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 } i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = i64toi32_i32$5; HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; $58 = i64toi32_i32$0; $58$hi = i64toi32_i32$1; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $59$hi = i64toi32_i32$0; i64toi32_i32$0 = $58$hi; i64toi32_i32$0 = $59$hi; i64toi32_i32$0 = $58$hi; i64toi32_i32$0 = $59$hi; $218 = i64toi32_i32$1; i64toi32_i32$0 = $58$hi; i64toi32_i32$2 = $58; i64toi32_i32$1 = $59$hi; i64toi32_i32$3 = $218; label$1 : { if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { break label$1 } i64toi32_i32$3 = $6; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $65$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $66$hi = i64toi32_i32$0; i64toi32_i32$0 = $65$hi; i64toi32_i32$0 = $66$hi; i64toi32_i32$0 = $65$hi; i64toi32_i32$3 = i64toi32_i32$2; i64toi32_i32$2 = $66$hi; i64toi32_i32$1 = 1; i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } i64toi32_i32$3 = $6; HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = i64toi32_i32$4; HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$5; } i64toi32_i32$0 = $6; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; $237 = i64toi32_i32$5; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; HEAP32[i64toi32_i32$5 >> 2] = $237; HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; $243 = i64toi32_i32$3; i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; HEAP32[i64toi32_i32$3 >> 2] = $243; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; __stack_pointer = i64toi32_i32$0 + 64 | 0; return; } function btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; var i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $5 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $9$hi = 0, $10$hi = 0, i64toi32_i32$6 = 0, $22$hi = 0, $23$hi = 0, $30 = 0, $31 = 0, $32 = 0, $19$hi = 0, $33 = 0, $34 = 0, $35 = 0, $34$hi = 0, $37$hi = 0, $38$hi = 0, $54 = 0, $98$hi = 0, $99 = 0, $127$hi = 0, $128 = 0, $37 = 0, $148 = 0, $167 = 0, $180 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = $2$hi; HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $2; HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; btConvexHullInternal__Int128__Int128_28_29(i64toi32_i32$1 + 16 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; $9$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $10$hi = i64toi32_i32$1; i64toi32_i32$1 = $9$hi; i64toi32_i32$1 = $10$hi; i64toi32_i32$1 = $9$hi; i64toi32_i32$1 = $10$hi; i64toi32_i32$1 = $9$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $10$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { $30 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { $31 = 0 } else { $31 = 1 } $32 = $31; } else { $32 = 0 } $30 = $32; } HEAP8[($5 + 15 | 0) >> 0] = $30 & 1 | 0; label$1 : { if (!((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } i64toi32_i32$3 = $5; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; $19$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $98$hi = i64toi32_i32$1; i64toi32_i32$1 = $19$hi; $99 = i64toi32_i32$2; i64toi32_i32$1 = $98$hi; i64toi32_i32$3 = 0; i64toi32_i32$2 = $19$hi; i64toi32_i32$0 = $99; i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; i64toi32_i32$3 = $5; HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] = i64toi32_i32$4; HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] = i64toi32_i32$5; } i64toi32_i32$1 = $5; i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; $22$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; $23$hi = i64toi32_i32$3; i64toi32_i32$3 = $22$hi; i64toi32_i32$3 = $23$hi; i64toi32_i32$3 = $22$hi; i64toi32_i32$3 = $23$hi; i64toi32_i32$3 = $22$hi; i64toi32_i32$1 = i64toi32_i32$5; i64toi32_i32$5 = $23$hi; i64toi32_i32$0 = 0; if ((i64toi32_i32$3 | 0) < (i64toi32_i32$5 | 0)) { $33 = 1 } else { if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$5 | 0)) { if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { $34 = 0 } else { $34 = 1 } $35 = $34; } else { $35 = 0 } $33 = $35; } label$2 : { if (!($33 & 1 | 0)) { break label$2 } HEAP8[($5 + 15 | 0) >> 0] = ((HEAPU8[($5 + 15 | 0) >> 0] | 0) ^ -1 | 0) & 1 | 0; i64toi32_i32$0 = $5; i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; $34$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; $127$hi = i64toi32_i32$3; i64toi32_i32$3 = $34$hi; $128 = i64toi32_i32$1; i64toi32_i32$3 = $127$hi; i64toi32_i32$0 = 0; i64toi32_i32$1 = $34$hi; i64toi32_i32$5 = $128; i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$5 | 0; i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0; i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; i64toi32_i32$0 = $5; HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = i64toi32_i32$2; HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$4; } i64toi32_i32$3 = $5; i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; $37 = i64toi32_i32$4; $37$hi = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; $38$hi = i64toi32_i32$4; i64toi32_i32$4 = $37$hi; i64toi32_i32$4 = $38$hi; $148 = i64toi32_i32$0; i64toi32_i32$4 = $37$hi; i64toi32_i32$0 = $38$hi; btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_2c_20unsigned_20long_20long__2c_20unsigned_20long_20long__29($37 | 0, i64toi32_i32$4 | 0, $148 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 + 16 | 0 | 0, (i64toi32_i32$3 + 16 | 0) + 8 | 0 | 0); label$3 : { label$4 : { if (!((HEAPU8[(i64toi32_i32$3 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } btConvexHullInternal__Int128__operator__28_29_20const($0 | 0, $5 + 16 | 0 | 0); break label$3; } i64toi32_i32$3 = $5; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; $167 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $167; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; $54 = 8; i64toi32_i32$3 = (i64toi32_i32$3 + 16 | 0) + $54 | 0; i64toi32_i32$4 = HEAP32[i64toi32_i32$3 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; $180 = i64toi32_i32$4; i64toi32_i32$4 = $0 + $54 | 0; HEAP32[i64toi32_i32$4 >> 2] = $180; HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 48 | 0; return; } function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29($0, $0$hi) { $0 = $0 | 0; $0$hi = $0$hi | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; i64toi32_i32$0 = $0$hi; i64toi32_i32$1 = __stack_pointer - 16 | 0; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; return i64toi32_i32$0 | 0; } function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, $4 = 0, i64toi32_i32$1 = 0, $7$hi = 0, $10$hi = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; i64toi32_i32$0 = 0; $7$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $10$hi = i64toi32_i32$0; i64toi32_i32$0 = $7$hi; i64toi32_i32$0 = $10$hi; i64toi32_i32$0 = $7$hi; i64toi32_i32$1 = $10$hi; i64toi32_i32$1 = __wasm_i64_mul(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return i64toi32_i32$1 | 0; } function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29($0, $0$hi) { $0 = $0 | 0; $0$hi = $0$hi | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, $4$hi = 0, $5$hi = 0, i64toi32_i32$3 = 0, $9 = 0; i64toi32_i32$0 = $0$hi; i64toi32_i32$1 = __stack_pointer - 16 | 0; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; $4$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $5$hi = i64toi32_i32$1; i64toi32_i32$1 = $4$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $4$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $5$hi; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$0 = 0; $9 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; $9 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; } return $9 | 0; } function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___shlHalf_28unsigned_20long_20long__29($0) { $0 = $0 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $3 = 0, $4 = 0, $5$hi = 0, $6$hi = 0, i64toi32_i32$3 = 0, $10 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $5$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $6$hi = i64toi32_i32$1; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $6$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; $10 = 0; } else { i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } i64toi32_i32$2 = $4; HEAP32[i64toi32_i32$2 >> 2] = $10; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $21$hi = 0, $23$hi = 0, $27$hi = 0, $29$hi = 0, $20 = 0, $21 = 0, $97 = 0, $27 = 0, $107 = 0, $37 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 40 | 0) >> 2] = $0; HEAP32[($4 + 36 | 0) >> 2] = $1; $5 = HEAP32[($4 + 40 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($4 + 44 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; break label$1; } label$3 : { if (HEAP32[($5 + 16 | 0) >> 2] | 0) { break label$3 } HEAP32[($4 + 44 | 0) >> 2] = 0; break label$1; } $20 = HEAP32[($5 + 16 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $21 = i64toi32_i32$0; $21$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $23$hi = i64toi32_i32$0; i64toi32_i32$0 = $21$hi; i64toi32_i32$0 = $23$hi; $97 = i64toi32_i32$1; i64toi32_i32$0 = $21$hi; i64toi32_i32$1 = $23$hi; btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($4 + 16 | 0 | 0, $21 | 0, i64toi32_i32$0 | 0, $97 | 0, i64toi32_i32$1 | 0); i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $27 = i64toi32_i32$1; $27$hi = i64toi32_i32$0; i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $29$hi = i64toi32_i32$1; i64toi32_i32$1 = $27$hi; i64toi32_i32$1 = $29$hi; $107 = i64toi32_i32$0; i64toi32_i32$1 = $27$hi; i64toi32_i32$0 = $29$hi; btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($4 | 0, $27 | 0, i64toi32_i32$1 | 0, $107 | 0, i64toi32_i32$0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = Math_imul($20, btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const($4 + 16 | 0 | 0, $4 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; } $37 = HEAP32[($4 + 44 | 0) >> 2] | 0; __stack_pointer = $4 + 48 | 0; return $37 | 0; } function btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4 = 0, $5 = 0, $6$hi = 0, $8$hi = 0, $15$hi = 0, $17$hi = 0, $24$hi = 0, $26$hi = 0, $33$hi = 0, $35$hi = 0, $6 = 0, $63 = 0, $15 = 0, $81 = 0, $24 = 0, $99 = 0, $33 = 0, $117 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $6 = i64toi32_i32$0; $6$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($4 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $8$hi = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$0 = $8$hi; i64toi32_i32$0 = $6$hi; i64toi32_i32$0 = $8$hi; $63 = i64toi32_i32$1; i64toi32_i32$0 = $6$hi; i64toi32_i32$2 = $6; i64toi32_i32$1 = $8$hi; i64toi32_i32$3 = $63; label$1 : { label$2 : { if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { break label$2 } HEAP32[($4 + 12 | 0) >> 2] = -1; break label$1; } i64toi32_i32$3 = $5; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $15 = i64toi32_i32$2; $15$hi = i64toi32_i32$0; i64toi32_i32$3 = HEAP32[($4 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $17$hi = i64toi32_i32$2; i64toi32_i32$2 = $15$hi; i64toi32_i32$2 = $17$hi; i64toi32_i32$2 = $15$hi; i64toi32_i32$2 = $17$hi; $81 = i64toi32_i32$0; i64toi32_i32$2 = $15$hi; i64toi32_i32$3 = $15; i64toi32_i32$0 = $17$hi; i64toi32_i32$1 = $81; label$3 : { if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 12 | 0) >> 2] = 1; break label$1; } i64toi32_i32$1 = $5; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $24 = i64toi32_i32$3; $24$hi = i64toi32_i32$2; i64toi32_i32$1 = HEAP32[($4 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $26$hi = i64toi32_i32$3; i64toi32_i32$3 = $24$hi; i64toi32_i32$3 = $26$hi; i64toi32_i32$3 = $24$hi; i64toi32_i32$3 = $26$hi; $99 = i64toi32_i32$2; i64toi32_i32$3 = $24$hi; i64toi32_i32$1 = $24; i64toi32_i32$2 = $26$hi; i64toi32_i32$0 = $99; label$4 : { if (!((i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP32[($4 + 12 | 0) >> 2] = -1; break label$1; } i64toi32_i32$0 = $5; i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $33 = i64toi32_i32$1; $33$hi = i64toi32_i32$3; i64toi32_i32$0 = HEAP32[($4 + 4 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $35$hi = i64toi32_i32$1; i64toi32_i32$1 = $33$hi; i64toi32_i32$1 = $35$hi; i64toi32_i32$1 = $33$hi; i64toi32_i32$1 = $35$hi; $117 = i64toi32_i32$3; i64toi32_i32$1 = $33$hi; i64toi32_i32$0 = $33; i64toi32_i32$3 = $35$hi; i64toi32_i32$2 = $117; label$5 : { if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { break label$5 } HEAP32[($4 + 12 | 0) >> 2] = 1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } return HEAP32[($4 + 12 | 0) >> 2] | 0 | 0; } function btConvexHullInternal__Rational128__compare_28btConvexHullInternal__Rational128_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $5 = 0, $61 = 0, $103 = 0, $26$hi = 0, $27$hi = 0, $44 = 0, $53 = 0, $54 = 0, $87 = 0, $88 = 0, $95 = 0, $96 = 0, $23 = 0, $26 = 0, $211 = 0, $257 = 0, $261 = 0, $279 = 0, $283 = 0, $299 = 0, $303 = 0, $319 = 0, $323 = 0, $355 = 0, $359 = 0, $374 = 0, $378 = 0, $394 = 0, $398 = 0, $414 = 0, $418 = 0, $148 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 224 | 0; __stack_pointer = $4; HEAP32[($4 + 216 | 0) >> 2] = $0; HEAP32[($4 + 212 | 0) >> 2] = $1; $5 = HEAP32[($4 + 216 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4 + 212 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($4 + 220 | 0) >> 2] = (HEAP32[($5 + 32 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4 + 212 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0; break label$1; } label$3 : { if (HEAP32[($5 + 32 | 0) >> 2] | 0) { break label$3 } HEAP32[($4 + 220 | 0) >> 2] = 0; break label$1; } label$4 : { if (!((HEAPU8[($5 + 36 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $23 = HEAP32[($4 + 212 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 32 | 0) >> 2] | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $26 = i64toi32_i32$1; $26$hi = i64toi32_i32$0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $27$hi = i64toi32_i32$1; i64toi32_i32$1 = $26$hi; i64toi32_i32$1 = $27$hi; $211 = i64toi32_i32$0; i64toi32_i32$1 = $26$hi; i64toi32_i32$0 = $27$hi; i64toi32_i32$0 = __wasm_i64_mul($26 | 0, i64toi32_i32$1 | 0, $211 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; (wasm2js_i32$0 = $4, wasm2js_i32$1 = 0 - (btConvexHullInternal__Rational128__compare_28long_20long_29_20const($23 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; break label$1; } btConvexHullInternal__Int128__Int128_28_29($4 + 192 | 0 | 0) | 0; btConvexHullInternal__Int128__Int128_28_29($4 + 176 | 0 | 0) | 0; btConvexHullInternal__Int128__Int128_28_29($4 + 160 | 0 | 0) | 0; btConvexHullInternal__Int128__Int128_28_29($4 + 144 | 0 | 0) | 0; $44 = 8; i64toi32_i32$2 = $5 + $44 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $257 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 128 | 0) + $44 | 0; HEAP32[i64toi32_i32$1 >> 2] = $257; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $261 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 128 | 0) >> 2] = $261; HEAP32[(i64toi32_i32$0 + 132 | 0) >> 2] = i64toi32_i32$1; $53 = (HEAP32[(i64toi32_i32$0 + 212 | 0) >> 2] | 0) + 16 | 0; $54 = 8; i64toi32_i32$2 = $53 + $54 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $279 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 112 | 0) + $54 | 0; HEAP32[i64toi32_i32$1 >> 2] = $279; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $53; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $283 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 112 | 0) >> 2] = $283; HEAP32[(i64toi32_i32$0 + 116 | 0) >> 2] = i64toi32_i32$1; $61 = 8; i64toi32_i32$2 = (i64toi32_i32$0 + 128 | 0) + $61 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $299 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 24 | 0) + $61 | 0; HEAP32[i64toi32_i32$1 >> 2] = $299; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 128 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 132 | 0) >> 2] | 0; $303 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $303; HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = (i64toi32_i32$0 + 112 | 0) + $61 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $319 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 8 | 0) + $61 | 0; HEAP32[i64toi32_i32$1 >> 2] = $319; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 112 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 116 | 0) >> 2] | 0; $323 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $323; HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128__2c_20btConvexHullInternal__Int128__29(i64toi32_i32$0 + 24 | 0 | 0, i64toi32_i32$0 + 8 | 0 | 0, i64toi32_i32$0 + 192 | 0 | 0, i64toi32_i32$0 + 176 | 0 | 0); $87 = $5 + 16 | 0; $88 = 8; i64toi32_i32$2 = $87 + $88 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $355 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 96 | 0) + $88 | 0; HEAP32[i64toi32_i32$1 >> 2] = $355; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $87; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $359 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 96 | 0) >> 2] = $359; HEAP32[(i64toi32_i32$0 + 100 | 0) >> 2] = i64toi32_i32$1; $95 = HEAP32[(i64toi32_i32$0 + 212 | 0) >> 2] | 0; $96 = 8; i64toi32_i32$2 = $95 + $96 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $374 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 80 | 0) + $96 | 0; HEAP32[i64toi32_i32$1 >> 2] = $374; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $95; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $378 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] = $378; HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] = i64toi32_i32$1; $103 = 8; i64toi32_i32$2 = (i64toi32_i32$0 + 96 | 0) + $103 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $394 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 56 | 0) + $103 | 0; HEAP32[i64toi32_i32$1 >> 2] = $394; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 96 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 100 | 0) >> 2] | 0; $398 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $398; HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = (i64toi32_i32$0 + 80 | 0) + $103 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $414 = i64toi32_i32$1; i64toi32_i32$1 = ($4 + 40 | 0) + $103 | 0; HEAP32[i64toi32_i32$1 >> 2] = $414; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 80 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 84 | 0) >> 2] | 0; $418 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $418; HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128__2c_20btConvexHullInternal__Int128__29(i64toi32_i32$0 + 56 | 0 | 0, i64toi32_i32$0 + 40 | 0 | 0, i64toi32_i32$0 + 160 | 0 | 0, i64toi32_i32$0 + 144 | 0 | 0); (wasm2js_i32$0 = i64toi32_i32$0, wasm2js_i32$1 = btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const(i64toi32_i32$0 + 176 | 0 | 0, i64toi32_i32$0 + 144 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; label$5 : { if (!(HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0)) { break label$5 } HEAP32[($4 + 220 | 0) >> 2] = Math_imul(HEAP32[($4 + 76 | 0) >> 2] | 0, HEAP32[($5 + 32 | 0) >> 2] | 0); break label$1; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = Math_imul(btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const($4 + 192 | 0 | 0, $4 + 160 | 0 | 0) | 0, HEAP32[($5 + 32 | 0) >> 2] | 0)), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; } $148 = HEAP32[($4 + 220 | 0) >> 2] | 0; __stack_pointer = $4 + 224 | 0; return $148 | 0; } function btConvexHullInternal__Rational128__compare_28long_20long_29_20const($0, $1, $1$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4 = 0, i64toi32_i32$3 = 0, $5 = 0, i64toi32_i32$5 = 0, $14$hi = 0, $15$hi = 0, $23$hi = 0, $24$hi = 0, $34$hi = 0, $35$hi = 0, $49$hi = 0, $50$hi = 0, $11$hi = 0, $12$hi = 0, $33 = 0, $34 = 0, $35 = 0, $22 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $64$hi = 0, $11 = 0, $109 = 0, $112 = 0, $14 = 0, $120 = 0, $23 = 0, $135 = 0, $202$hi = 0, $203 = 0, $206 = 0, $80 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 40 | 0) >> 2] = $0; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $4; HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; $5 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 36 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } i64toi32_i32$1 = HEAP32[($5 + 32 | 0) >> 2] | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $11 = i64toi32_i32$1; $11$hi = i64toi32_i32$0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $12$hi = i64toi32_i32$1; i64toi32_i32$1 = $11$hi; i64toi32_i32$1 = $12$hi; $109 = i64toi32_i32$0; i64toi32_i32$1 = $11$hi; i64toi32_i32$0 = $12$hi; i64toi32_i32$0 = __wasm_i64_mul($11 | 0, i64toi32_i32$1 | 0, $109 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $112 = i64toi32_i32$0; i64toi32_i32$0 = $4; HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $112; HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; $14 = i64toi32_i32$1; $14$hi = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; $15$hi = i64toi32_i32$1; i64toi32_i32$1 = $14$hi; i64toi32_i32$1 = $15$hi; i64toi32_i32$1 = $14$hi; i64toi32_i32$1 = $15$hi; $120 = i64toi32_i32$0; i64toi32_i32$1 = $14$hi; i64toi32_i32$2 = $14; i64toi32_i32$0 = $15$hi; i64toi32_i32$3 = $120; if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { $33 = 1 } else { if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { $34 = 0 } else { $34 = 1 } $35 = $34; } else { $35 = 0 } $33 = $35; } label$3 : { label$4 : { if (!($33 & 1 | 0)) { break label$4 } $22 = 1; break label$3; } i64toi32_i32$3 = $4; i64toi32_i32$2 = HEAP32[($4 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 28 | 0) >> 2] | 0; $23 = i64toi32_i32$2; $23$hi = i64toi32_i32$1; i64toi32_i32$3 = $4; i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; $24$hi = i64toi32_i32$2; i64toi32_i32$2 = $23$hi; i64toi32_i32$2 = $24$hi; i64toi32_i32$2 = $23$hi; i64toi32_i32$2 = $24$hi; $135 = i64toi32_i32$1; i64toi32_i32$2 = $23$hi; i64toi32_i32$3 = $23; i64toi32_i32$1 = $24$hi; i64toi32_i32$0 = $135; if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { $36 = 1 } else { if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { $37 = 0 } else { $37 = 1 } $38 = $37; } else { $38 = 0 } $36 = $38; } $22 = $36 & 1 | 0 ? -1 : 0; } HEAP32[($4 + 44 | 0) >> 2] = $22; break label$1; } i64toi32_i32$0 = $4; i64toi32_i32$3 = HEAP32[($4 + 32 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; $34$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $35$hi = i64toi32_i32$2; i64toi32_i32$2 = $34$hi; i64toi32_i32$2 = $35$hi; i64toi32_i32$2 = $34$hi; i64toi32_i32$2 = $35$hi; i64toi32_i32$2 = $34$hi; i64toi32_i32$0 = i64toi32_i32$3; i64toi32_i32$3 = $35$hi; i64toi32_i32$1 = 0; if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { $39 = 1 } else { if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$1 >>> 0) { $40 = 0 } else { $40 = 1 } $41 = $40; } else { $41 = 0 } $39 = $41; } label$5 : { label$6 : { if (!($39 & 1 | 0)) { break label$6 } label$7 : { if (!((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { break label$7 } HEAP32[($4 + 44 | 0) >> 2] = -1; break label$1; } break label$5; } i64toi32_i32$1 = $4; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; $49$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $50$hi = i64toi32_i32$2; i64toi32_i32$2 = $49$hi; i64toi32_i32$2 = $50$hi; i64toi32_i32$2 = $49$hi; i64toi32_i32$2 = $50$hi; i64toi32_i32$2 = $49$hi; i64toi32_i32$1 = i64toi32_i32$0; i64toi32_i32$0 = $50$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { $42 = 1 } else { if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0) { $43 = 0 } else { $43 = 1 } $44 = $43; } else { $44 = 0 } $42 = $44; } label$8 : { label$9 : { if (!($42 & 1 | 0)) { break label$9 } label$10 : { if (!((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$10 } HEAP32[($4 + 44 | 0) >> 2] = 1; break label$1; } i64toi32_i32$3 = $4; i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; $64$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $202$hi = i64toi32_i32$2; i64toi32_i32$2 = $64$hi; $203 = i64toi32_i32$1; i64toi32_i32$2 = $202$hi; i64toi32_i32$3 = 0; i64toi32_i32$1 = $64$hi; i64toi32_i32$0 = $203; i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$1 | 0; i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; $206 = i64toi32_i32$3 - i64toi32_i32$0 | 0; i64toi32_i32$3 = $4; HEAP32[($4 + 32 | 0) >> 2] = $206; HEAP32[($4 + 36 | 0) >> 2] = i64toi32_i32$5; break label$8; } HEAP32[($4 + 44 | 0) >> 2] = HEAP32[($5 + 32 | 0) >> 2] | 0; break label$1; } } i64toi32_i32$2 = $4; i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; btConvexHullInternal__Int128__operator__28long_20long_29_20const(i64toi32_i32$2 + 8 | 0 | 0, $5 + 16 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0); (wasm2js_i32$0 = i64toi32_i32$2, wasm2js_i32$1 = Math_imul(btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const($5 | 0, i64toi32_i32$2 + 8 | 0 | 0) | 0, HEAP32[($5 + 32 | 0) >> 2] | 0)), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; } $80 = HEAP32[($4 + 44 | 0) >> 2] | 0; __stack_pointer = $4 + 48 | 0; return $80 | 0; } function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128__2c_20btConvexHullInternal__Int128__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6 = 0, i64toi32_i32$2 = 0, $7 = 0, $14 = 0, $25$hi = 0, $26 = 0, $33 = 0, $44$hi = 0, $48 = 0, $55 = 0, $66$hi = 0, $67 = 0, $74 = 0, $85$hi = 0, $89 = 0, $96 = 0, $107$hi = 0, $108 = 0, $115 = 0, $126$hi = 0, $130 = 0, $137 = 0, $148$hi = 0, $149 = 0, $156 = 0, $167$hi = 0, $171 = 0, $180 = 0, $195 = 0, $204 = 0, $228 = 0, $237 = 0, $258 = 0, $267 = 0, $288 = 0, $297 = 0, $339 = 0, $341 = 0, $347 = 0, $349 = 0, $378 = 0, $382 = 0, $398 = 0, $402 = 0, $25 = 0, $420 = 0, $424 = 0, $440 = 0, $444 = 0, $456 = 0, $469 = 0, $473 = 0, $489 = 0, $493 = 0, $66 = 0, $511 = 0, $515 = 0, $531 = 0, $535 = 0, $547 = 0, $560 = 0, $564 = 0, $580 = 0, $584 = 0, $107 = 0, $602 = 0, $606 = 0, $622 = 0, $626 = 0, $638 = 0, $651 = 0, $655 = 0, $671 = 0, $675 = 0, $148 = 0, $693 = 0, $697 = 0, $713 = 0, $717 = 0, $729 = 0, $745 = 0, $749 = 0, $765 = 0, $769 = 0, $797 = 0, $801 = 0, $817 = 0, $821 = 0, $864 = 0, $868 = 0, $884 = 0, $888 = 0, $927 = 0, $931 = 0, $947 = 0, $951 = 0, $990 = 0, $994 = 0, $1010 = 0, $1014 = 0, $1081 = 0, $1094 = 0, $1100 = 0, $1113 = 0; $6 = __stack_pointer - 592 | 0; __stack_pointer = $6; HEAP32[($6 + 588 | 0) >> 2] = $2; HEAP32[($6 + 584 | 0) >> 2] = $3; $7 = 8; i64toi32_i32$2 = $0 + $7 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $378 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 552 | 0) + $7 | 0; HEAP32[i64toi32_i32$0 >> 2] = $378; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $382 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 552 | 0) >> 2] = $382; HEAP32[(i64toi32_i32$1 + 556 | 0) >> 2] = i64toi32_i32$0; $14 = 8; i64toi32_i32$2 = (i64toi32_i32$1 + 552 | 0) + $14 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $398 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 8 | 0) + $14 | 0; HEAP32[i64toi32_i32$0 >> 2] = $398; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 552 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 556 | 0) >> 2] | 0; $402 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $402; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 8 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $25 = i64toi32_i32$0; $25$hi = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = $1 + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $420 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 536 | 0) + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $420; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $1; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $424 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 536 | 0) >> 2] = $424; HEAP32[(i64toi32_i32$0 + 540 | 0) >> 2] = i64toi32_i32$1; $33 = 8; i64toi32_i32$2 = (i64toi32_i32$0 + 536 | 0) + $33 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $440 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 24 | 0) + $33 | 0; HEAP32[i64toi32_i32$1 >> 2] = $440; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 536 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 540 | 0) >> 2] | 0; $444 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $444; HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 24 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $44$hi = i64toi32_i32$0; i64toi32_i32$0 = $25$hi; i64toi32_i32$0 = $44$hi; $456 = i64toi32_i32$1; i64toi32_i32$0 = $25$hi; i64toi32_i32$1 = $44$hi; btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($6 + 568 | 0 | 0, $25 | 0, i64toi32_i32$0 | 0, $456 | 0, i64toi32_i32$1 | 0); $48 = 8; i64toi32_i32$2 = $0 + $48 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $469 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 504 | 0) + $48 | 0; HEAP32[i64toi32_i32$1 >> 2] = $469; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $473 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 504 | 0) >> 2] = $473; HEAP32[(i64toi32_i32$0 + 508 | 0) >> 2] = i64toi32_i32$1; $55 = 8; i64toi32_i32$2 = (i64toi32_i32$0 + 504 | 0) + $55 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $489 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 40 | 0) + $55 | 0; HEAP32[i64toi32_i32$1 >> 2] = $489; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 504 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 508 | 0) >> 2] | 0; $493 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $493; HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 40 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $66 = i64toi32_i32$1; $66$hi = i64toi32_i32$0; $67 = 8; i64toi32_i32$2 = $1 + $67 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $511 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 488 | 0) + $67 | 0; HEAP32[i64toi32_i32$0 >> 2] = $511; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $1; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $515 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 488 | 0) >> 2] = $515; HEAP32[(i64toi32_i32$1 + 492 | 0) >> 2] = i64toi32_i32$0; $74 = 8; i64toi32_i32$2 = (i64toi32_i32$1 + 488 | 0) + $74 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $531 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 56 | 0) + $74 | 0; HEAP32[i64toi32_i32$0 >> 2] = $531; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 488 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 492 | 0) >> 2] | 0; $535 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = $535; HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 56 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $85$hi = i64toi32_i32$1; i64toi32_i32$1 = $66$hi; i64toi32_i32$1 = $85$hi; $547 = i64toi32_i32$0; i64toi32_i32$1 = $66$hi; i64toi32_i32$0 = $85$hi; btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($6 + 520 | 0 | 0, $66 | 0, i64toi32_i32$1 | 0, $547 | 0, i64toi32_i32$0 | 0); $89 = 8; i64toi32_i32$2 = $0 + $89 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $560 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 456 | 0) + $89 | 0; HEAP32[i64toi32_i32$0 >> 2] = $560; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $564 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 456 | 0) >> 2] = $564; HEAP32[(i64toi32_i32$1 + 460 | 0) >> 2] = i64toi32_i32$0; $96 = 8; i64toi32_i32$2 = (i64toi32_i32$1 + 456 | 0) + $96 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $580 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 72 | 0) + $96 | 0; HEAP32[i64toi32_i32$0 >> 2] = $580; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 456 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 460 | 0) >> 2] | 0; $584 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $584; HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 72 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $107 = i64toi32_i32$0; $107$hi = i64toi32_i32$1; $108 = 8; i64toi32_i32$2 = $1 + $108 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $602 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 440 | 0) + $108 | 0; HEAP32[i64toi32_i32$1 >> 2] = $602; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $1; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $606 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 440 | 0) >> 2] = $606; HEAP32[(i64toi32_i32$0 + 444 | 0) >> 2] = i64toi32_i32$1; $115 = 8; i64toi32_i32$2 = (i64toi32_i32$0 + 440 | 0) + $115 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $622 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 88 | 0) + $115 | 0; HEAP32[i64toi32_i32$1 >> 2] = $622; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 440 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 444 | 0) >> 2] | 0; $626 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 88 | 0) >> 2] = $626; HEAP32[(i64toi32_i32$0 + 92 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 88 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $126$hi = i64toi32_i32$0; i64toi32_i32$0 = $107$hi; i64toi32_i32$0 = $126$hi; $638 = i64toi32_i32$1; i64toi32_i32$0 = $107$hi; i64toi32_i32$1 = $126$hi; btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($6 + 472 | 0 | 0, $107 | 0, i64toi32_i32$0 | 0, $638 | 0, i64toi32_i32$1 | 0); $130 = 8; i64toi32_i32$2 = $0 + $130 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $651 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 408 | 0) + $130 | 0; HEAP32[i64toi32_i32$1 >> 2] = $651; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $655 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 408 | 0) >> 2] = $655; HEAP32[(i64toi32_i32$0 + 412 | 0) >> 2] = i64toi32_i32$1; $137 = 8; i64toi32_i32$2 = (i64toi32_i32$0 + 408 | 0) + $137 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $671 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 104 | 0) + $137 | 0; HEAP32[i64toi32_i32$1 >> 2] = $671; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 408 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 412 | 0) >> 2] | 0; $675 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 104 | 0) >> 2] = $675; HEAP32[(i64toi32_i32$0 + 108 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 104 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $148 = i64toi32_i32$1; $148$hi = i64toi32_i32$0; $149 = 8; i64toi32_i32$2 = $1 + $149 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $693 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 392 | 0) + $149 | 0; HEAP32[i64toi32_i32$0 >> 2] = $693; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $1; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $697 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 392 | 0) >> 2] = $697; HEAP32[(i64toi32_i32$1 + 396 | 0) >> 2] = i64toi32_i32$0; $156 = 8; i64toi32_i32$2 = (i64toi32_i32$1 + 392 | 0) + $156 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $713 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 120 | 0) + $156 | 0; HEAP32[i64toi32_i32$0 >> 2] = $713; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 392 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 396 | 0) >> 2] | 0; $717 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 120 | 0) >> 2] = $717; HEAP32[(i64toi32_i32$1 + 124 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 120 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $167$hi = i64toi32_i32$1; i64toi32_i32$1 = $148$hi; i64toi32_i32$1 = $167$hi; $729 = i64toi32_i32$0; i64toi32_i32$1 = $148$hi; i64toi32_i32$0 = $167$hi; btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($6 + 424 | 0 | 0, $148 | 0, i64toi32_i32$1 | 0, $729 | 0, i64toi32_i32$0 | 0); $171 = 8; i64toi32_i32$2 = ($6 + 520 | 0) + $171 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $745 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 344 | 0) + $171 | 0; HEAP32[i64toi32_i32$0 >> 2] = $745; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 520 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 524 | 0) >> 2] | 0; $749 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 344 | 0) >> 2] = $749; HEAP32[(i64toi32_i32$1 + 348 | 0) >> 2] = i64toi32_i32$0; $180 = 8; i64toi32_i32$2 = (i64toi32_i32$1 + 344 | 0) + $180 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $765 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 136 | 0) + $180 | 0; HEAP32[i64toi32_i32$0 >> 2] = $765; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 344 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 348 | 0) >> 2] | 0; $769 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 136 | 0) >> 2] = $769; HEAP32[(i64toi32_i32$1 + 140 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 136 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 360 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; $195 = 8; i64toi32_i32$2 = ($6 + 472 | 0) + $195 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $797 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 312 | 0) + $195 | 0; HEAP32[i64toi32_i32$1 >> 2] = $797; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 472 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 476 | 0) >> 2] | 0; $801 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 312 | 0) >> 2] = $801; HEAP32[(i64toi32_i32$0 + 316 | 0) >> 2] = i64toi32_i32$1; $204 = 8; i64toi32_i32$2 = (i64toi32_i32$0 + 312 | 0) + $204 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $817 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 152 | 0) + $204 | 0; HEAP32[i64toi32_i32$1 >> 2] = $817; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 312 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 316 | 0) >> 2] | 0; $821 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 152 | 0) >> 2] = $821; HEAP32[(i64toi32_i32$0 + 156 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 152 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 328 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 376 | 0 | 0, $6 + 360 | 0 | 0, $6 + 328 | 0 | 0); $228 = 8; i64toi32_i32$2 = ($6 + 520 | 0) + $228 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $864 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 280 | 0) + $228 | 0; HEAP32[i64toi32_i32$0 >> 2] = $864; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 520 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 524 | 0) >> 2] | 0; $868 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 280 | 0) >> 2] = $868; HEAP32[(i64toi32_i32$1 + 284 | 0) >> 2] = i64toi32_i32$0; $237 = 8; i64toi32_i32$2 = (i64toi32_i32$1 + 280 | 0) + $237 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $884 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 168 | 0) + $237 | 0; HEAP32[i64toi32_i32$0 >> 2] = $884; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 280 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 284 | 0) >> 2] | 0; $888 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 168 | 0) >> 2] = $888; HEAP32[(i64toi32_i32$1 + 172 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 168 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 296 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($6 + 424 | 0 | 0, $6 + 296 | 0 | 0) | 0; $258 = 8; i64toi32_i32$2 = ($6 + 472 | 0) + $258 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $927 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 248 | 0) + $258 | 0; HEAP32[i64toi32_i32$1 >> 2] = $927; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 472 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 476 | 0) >> 2] | 0; $931 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 248 | 0) >> 2] = $931; HEAP32[(i64toi32_i32$0 + 252 | 0) >> 2] = i64toi32_i32$1; $267 = 8; i64toi32_i32$2 = (i64toi32_i32$0 + 248 | 0) + $267 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $947 = i64toi32_i32$1; i64toi32_i32$1 = ($6 + 184 | 0) + $267 | 0; HEAP32[i64toi32_i32$1 >> 2] = $947; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 248 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 252 | 0) >> 2] | 0; $951 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[(i64toi32_i32$0 + 184 | 0) >> 2] = $951; HEAP32[(i64toi32_i32$0 + 188 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 184 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 264 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($6 + 424 | 0 | 0, $6 + 264 | 0 | 0) | 0; $288 = 8; i64toi32_i32$2 = ($6 + 376 | 0) + $288 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $990 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 216 | 0) + $288 | 0; HEAP32[i64toi32_i32$0 >> 2] = $990; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 376 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 380 | 0) >> 2] | 0; $994 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 216 | 0) >> 2] = $994; HEAP32[(i64toi32_i32$1 + 220 | 0) >> 2] = i64toi32_i32$0; $297 = 8; i64toi32_i32$2 = (i64toi32_i32$1 + 216 | 0) + $297 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1010 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 200 | 0) + $297 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1010; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 216 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 220 | 0) >> 2] | 0; $1014 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 200 | 0) >> 2] = $1014; HEAP32[(i64toi32_i32$1 + 204 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 200 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 232 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($6 + 424 | 0 | 0, $6 + 232 | 0 | 0) | 0; btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___shlHalf_28btConvexHullInternal__Int128__29($6 + 376 | 0 | 0); btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($6 + 568 | 0 | 0, $6 + 376 | 0 | 0) | 0; label$1 : { if (!((btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_1($6 + 568 | 0 | 0, $6 + 376 | 0 | 0) | 0) & 1 | 0)) { break label$1 } btConvexHullInternal__Int128__operator___28_29($6 + 424 | 0 | 0) | 0; } $339 = HEAP32[($6 + 588 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 568 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 572 | 0) >> 2] | 0; $1081 = i64toi32_i32$1; i64toi32_i32$1 = $339; HEAP32[i64toi32_i32$1 >> 2] = $1081; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $341 = 8; i64toi32_i32$2 = ($6 + 568 | 0) + $341 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1094 = i64toi32_i32$0; i64toi32_i32$0 = $339 + $341 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1094; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $347 = HEAP32[($6 + 584 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 424 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 428 | 0) >> 2] | 0; $1100 = i64toi32_i32$1; i64toi32_i32$1 = $347; HEAP32[i64toi32_i32$1 >> 2] = $1100; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $349 = 8; i64toi32_i32$2 = ($6 + 424 | 0) + $349 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1113 = i64toi32_i32$0; i64toi32_i32$0 = $347 + $349 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1113; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; __stack_pointer = $6 + 592 | 0; return; } function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29($0) { $0 = $0 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; i64toi32_i32$2 = $0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$0 | 0; } function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5 = 0, $6$hi = 0, $7$hi = 0, $6 = 0, $25 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = $2$hi; HEAP32[i64toi32_i32$1 >> 2] = $2; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; $6 = i64toi32_i32$0; $6$hi = i64toi32_i32$1; i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; $7$hi = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$0 = $7$hi; $25 = i64toi32_i32$1; i64toi32_i32$0 = $6$hi; i64toi32_i32$1 = $7$hi; btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0 | 0, $6 | 0, i64toi32_i32$0 | 0, $25 | 0, i64toi32_i32$1 | 0); __stack_pointer = $5 + 16 | 0; return; } function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29($0) { $0 = $0 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; i64toi32_i32$2 = $0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$0 | 0; } function btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($0, $1, $1$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $21 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $4; HEAP32[i64toi32_i32$1 >> 2] = $1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $21 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[i64toi32_i32$0 >> 2] = $21; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = 0; HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; return i64toi32_i32$0 | 0; } function btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $5 = 0, $6 = 0, $16$hi = 0, $17$hi = 0, $7$hi = 0, $9$hi = 0, $11$hi = 0, $12$hi = 0, $14$hi = 0, $15$hi = 0, $23$hi = 0, $24$hi = 0, $7 = 0, $45 = 0, $11 = 0, $12 = 0, $58 = 0, $16 = 0, $67 = 0, $72 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $7 = i64toi32_i32$0; $7$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $9$hi = i64toi32_i32$0; i64toi32_i32$0 = $7$hi; i64toi32_i32$0 = $9$hi; $45 = i64toi32_i32$1; i64toi32_i32$0 = $7$hi; i64toi32_i32$2 = $7; i64toi32_i32$1 = $9$hi; i64toi32_i32$3 = $45; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } i64toi32_i32$2 = $5; HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$0 = i64toi32_i32$2; i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $11 = i64toi32_i32$5; $11$hi = i64toi32_i32$2; i64toi32_i32$0 = $6; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; $12 = i64toi32_i32$2; $12$hi = i64toi32_i32$5; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; $14$hi = i64toi32_i32$2; i64toi32_i32$2 = $12$hi; i64toi32_i32$2 = $14$hi; $58 = i64toi32_i32$5; i64toi32_i32$2 = $12$hi; i64toi32_i32$0 = $12; i64toi32_i32$5 = $14$hi; i64toi32_i32$3 = $58; i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } $15$hi = i64toi32_i32$4; i64toi32_i32$2 = $5; i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $16 = i64toi32_i32$4; $16$hi = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $17$hi = i64toi32_i32$4; i64toi32_i32$4 = $16$hi; i64toi32_i32$4 = $17$hi; i64toi32_i32$4 = $16$hi; i64toi32_i32$4 = $17$hi; $67 = i64toi32_i32$0; i64toi32_i32$4 = $16$hi; i64toi32_i32$2 = $16; i64toi32_i32$0 = $17$hi; i64toi32_i32$3 = $67; $72 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0; i64toi32_i32$2 = 0; $23$hi = i64toi32_i32$2; i64toi32_i32$2 = $15$hi; i64toi32_i32$2 = $23$hi; i64toi32_i32$2 = $15$hi; i64toi32_i32$3 = i64toi32_i32$1; i64toi32_i32$4 = $23$hi; i64toi32_i32$0 = $72; i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 } $24$hi = i64toi32_i32$1; i64toi32_i32$1 = $11$hi; i64toi32_i32$1 = $24$hi; i64toi32_i32$1 = $11$hi; i64toi32_i32$3 = $24$hi; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0 | 0, $11 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0) | 0; __stack_pointer = $5 + 16 | 0; return; } function btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, $5 = 0, $4 = 0, $10$hi = 0, $11$hi = 0, $6$hi = 0, $8$hi = 0, $17$hi = 0, $18$hi = 0, $22$hi = 0, $6 = 0, $42 = 0, $10 = 0, $53 = 0, $70 = 0, $22 = 0, $77$hi = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $6 = i64toi32_i32$0; $6$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $8$hi = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$0 = $8$hi; $42 = i64toi32_i32$1; i64toi32_i32$0 = $6$hi; i64toi32_i32$2 = $6; i64toi32_i32$1 = $8$hi; i64toi32_i32$3 = $42; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } i64toi32_i32$2 = $4; HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$0 = i64toi32_i32$2; i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $10 = i64toi32_i32$5; $10$hi = i64toi32_i32$2; i64toi32_i32$0 = $5; i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $11$hi = i64toi32_i32$5; i64toi32_i32$5 = $10$hi; i64toi32_i32$5 = $11$hi; i64toi32_i32$5 = $10$hi; i64toi32_i32$5 = $11$hi; $53 = i64toi32_i32$2; i64toi32_i32$5 = $10$hi; i64toi32_i32$0 = $10; i64toi32_i32$2 = $11$hi; i64toi32_i32$3 = $53; label$1 : { if (!((i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { break label$1 } i64toi32_i32$3 = $5; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $17$hi = i64toi32_i32$5; i64toi32_i32$5 = 0; $18$hi = i64toi32_i32$5; i64toi32_i32$5 = $17$hi; i64toi32_i32$5 = $18$hi; i64toi32_i32$5 = $17$hi; i64toi32_i32$3 = i64toi32_i32$0; i64toi32_i32$0 = $18$hi; i64toi32_i32$2 = 1; i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$2 | 0; i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } i64toi32_i32$3 = $5; HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = i64toi32_i32$1; HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$4; } i64toi32_i32$5 = $4; i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; $70 = i64toi32_i32$4; i64toi32_i32$4 = $5; HEAP32[i64toi32_i32$4 >> 2] = $70; HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; $22 = i64toi32_i32$3; $22$hi = i64toi32_i32$4; i64toi32_i32$5 = $5; i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; $77$hi = i64toi32_i32$3; i64toi32_i32$3 = $22$hi; i64toi32_i32$3 = $77$hi; i64toi32_i32$5 = i64toi32_i32$4; i64toi32_i32$4 = $22$hi; i64toi32_i32$2 = $22; i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$2 | 0; i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$4 | 0; if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 } i64toi32_i32$5 = $5; HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$0; HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$1; return i64toi32_i32$5 | 0; } function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___shlHalf_28btConvexHullInternal__Int128__29($0) { $0 = $0 | 0; var i64toi32_i32$0 = 0, $3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; i64toi32_i32$2 = HEAP32[($3 + 12 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $22 = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $22; HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[i64toi32_i32$0 >> 2] = 0; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; } function btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_1($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $6$hi = 0, $8$hi = 0, $16$hi = 0, $18$hi = 0, $26$hi = 0, $28$hi = 0, $15 = 0, $25 = 0, $6 = 0, $55 = 0, $16 = 0, $71 = 0, $26 = 0, $88 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $6 = i64toi32_i32$0; $6$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $8$hi = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$0 = $8$hi; i64toi32_i32$0 = $6$hi; i64toi32_i32$0 = $8$hi; $55 = i64toi32_i32$1; i64toi32_i32$0 = $6$hi; i64toi32_i32$2 = $6; i64toi32_i32$1 = $8$hi; i64toi32_i32$3 = $55; $15 = 1; label$1 : { if ((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0) { break label$1 } i64toi32_i32$3 = $5; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $16 = i64toi32_i32$2; $16$hi = i64toi32_i32$0; i64toi32_i32$3 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $18$hi = i64toi32_i32$2; i64toi32_i32$2 = $16$hi; i64toi32_i32$2 = $18$hi; i64toi32_i32$2 = $16$hi; i64toi32_i32$2 = $18$hi; $71 = i64toi32_i32$0; i64toi32_i32$2 = $16$hi; i64toi32_i32$3 = $16; i64toi32_i32$0 = $18$hi; i64toi32_i32$1 = $71; $25 = 0; label$2 : { if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { break label$2 } i64toi32_i32$1 = $5; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $26 = i64toi32_i32$3; $26$hi = i64toi32_i32$2; i64toi32_i32$1 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $28$hi = i64toi32_i32$3; i64toi32_i32$3 = $26$hi; i64toi32_i32$3 = $28$hi; i64toi32_i32$3 = $26$hi; i64toi32_i32$3 = $28$hi; $88 = i64toi32_i32$2; i64toi32_i32$3 = $26$hi; i64toi32_i32$1 = $26; i64toi32_i32$2 = $28$hi; i64toi32_i32$0 = $88; $25 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; } $15 = $25; } return $15 & 1 | 0 | 0; } function btConvexHullInternal__Int128__operator___28_29($0) { $0 = $0 | 0; var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $4 = 0, $7$hi = 0, $8$hi = 0, $3 = 0, $5$hi = 0, $6$hi = 0, $14$hi = 0, $15$hi = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $5$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $6$hi = i64toi32_i32$1; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $6$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$3 = 1; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } $7$hi = i64toi32_i32$5; i64toi32_i32$2 = $4; HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$5 = 0; $8$hi = i64toi32_i32$5; i64toi32_i32$5 = $7$hi; i64toi32_i32$5 = $8$hi; i64toi32_i32$5 = $7$hi; i64toi32_i32$5 = $8$hi; i64toi32_i32$5 = $7$hi; i64toi32_i32$1 = i64toi32_i32$4; i64toi32_i32$2 = $8$hi; i64toi32_i32$3 = 0; label$1 : { if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { break label$1 } i64toi32_i32$3 = $4; i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $14$hi = i64toi32_i32$5; i64toi32_i32$5 = 0; $15$hi = i64toi32_i32$5; i64toi32_i32$5 = $14$hi; i64toi32_i32$5 = $15$hi; i64toi32_i32$5 = $14$hi; i64toi32_i32$3 = i64toi32_i32$1; i64toi32_i32$1 = $15$hi; i64toi32_i32$2 = 1; i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } i64toi32_i32$3 = $4; HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = i64toi32_i32$0; HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$4; } return $4 | 0; } function btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $58 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } } __assert_fail(76189 | 0, 72732 | 0, 1e3 | 0, 71028 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Edge___newObject_28_29($6 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Edge___newObject_28_29($6 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6 + 100 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6 + 100 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; HEAP32[($6 + 116 | 0) >> 2] = (HEAP32[($6 + 116 | 0) >> 2] | 0) + 1 | 0; label$3 : { if (!((HEAP32[($6 + 116 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($6 + 120 | 0) >> 2] = HEAP32[($6 + 116 | 0) >> 2] | 0; } $58 = HEAP32[($5 + 16 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return $58 | 0; } function btConvexHullInternal__Pool_btConvexHullInternal__Edge___newObject_28_29($0) { $0 = $0 | 0; var $3 = 0, i64toi32_i32$1 = 0, $4 = 0, $34 = 0, i64toi32_i32$0 = 0, $35 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } HEAP32[($3 + 4 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; label$2 : { label$3 : { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; break label$2; } $25 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(12 | 0, 16 | 0) | 0; btConvexHullInternal__PoolArray_btConvexHullInternal__Edge___PoolArray_28int_29($25 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = $25; HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[($3 + 4 | 0) >> 2] | 0; } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btConvexHullInternal__PoolArray_btConvexHullInternal__Edge___init_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; } HEAP32[($4 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] | 0; $34 = HEAP32[($3 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = 0; $35 = 0; i64toi32_i32$1 = $34; HEAP32[i64toi32_i32$1 >> 2] = $35; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $35; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $34 + 8 | 0; HEAP32[i64toi32_i32$1 >> 2] = $35; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $3 + 16 | 0; return $34 | 0; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Edge___PoolArray_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 24) | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Edge___init_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $26 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[($3 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { label$4 : { if (!(((HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } $26 = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 24 | 0; break label$3; } $26 = 0; } HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] = $26; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 24 | 0; continue label$2; }; } return HEAP32[$4 >> 2] | 0 | 0; } function btConvexHullInternal__mergeProjection_28btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__Vertex___2c_20btConvexHullInternal__Vertex___29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $503 = 0, $543 = 0, $219 = 0, $279 = 0, $359 = 0, $419 = 0, $492 = 0, $495 = 0, $532 = 0, $535 = 0, $625 = 0; $7 = __stack_pointer - 160 | 0; __stack_pointer = $7; HEAP32[($7 + 152 | 0) >> 2] = $0; HEAP32[($7 + 148 | 0) >> 2] = $1; HEAP32[($7 + 144 | 0) >> 2] = $2; HEAP32[($7 + 140 | 0) >> 2] = $3; HEAP32[($7 + 136 | 0) >> 2] = $4; HEAP32[($7 + 132 | 0) >> 2] = HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[($7 + 128 | 0) >> 2] = HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } label$3 : { if ((HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$3 } __assert_fail(65574 | 0, 72732 | 0, 1025 | 0, 76421 | 0); wasm2js_trap(); } HEAP32[($7 + 124 | 0) >> 2] = HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; label$4 : { if (!((HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } HEAP32[(HEAP32[($7 + 140 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 132 | 0) >> 2] | 0; label$5 : { if (!((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } label$6 : { if ((HEAP32[(HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$6 } __assert_fail(70216 | 0, 72732 | 0, 1032 | 0, 76421 | 0); wasm2js_trap(); } HEAP32[($7 + 128 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; label$7 : { if ((HEAP32[(HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$7 } __assert_fail(70216 | 0, 72732 | 0, 1034 | 0, 76421 | 0); wasm2js_trap(); } } HEAP32[(HEAP32[($7 + 136 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 128 | 0) >> 2] | 0; HEAP8[($7 + 159 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[($7 + 120 | 0) >> 2] = HEAP32[(HEAP32[($7 + 128 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($7 + 124 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 120 | 0) >> 2] | 0; HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 124 | 0) >> 2] | 0; label$8 : { if (!((HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } label$9 : { label$10 : { label$11 : { if ((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$11 } if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } } HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 120 | 0) >> 2] | 0; break label$9; } HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 124 | 0) >> 2] | 0; } } label$12 : { if (!((HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$12 } label$13 : { label$14 : { label$15 : { if ((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$15 } if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } } HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 120 | 0) >> 2] | 0; break label$13; } HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 124 | 0) >> 2] | 0; } } } HEAP32[($7 + 132 | 0) >> 2] = HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[($7 + 128 | 0) >> 2] = HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[($7 + 116 | 0) >> 2] = 0; HEAP32[($7 + 112 | 0) >> 2] = 0; HEAP32[($7 + 108 | 0) >> 2] = 1; HEAP32[($7 + 104 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { break label$16 } HEAP32[($7 + 100 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); label$18 : { label$19 : { if (!((HEAP32[($7 + 100 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$19 } label$20 : { label$21 : while (1) { HEAP32[($7 + 96 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; label$22 : { label$23 : { if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { break label$23 } $219 = HEAP32[(HEAP32[($7 + 132 | 0) >> 2] | 0) >> 2] | 0; break label$22; } $219 = HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } HEAP32[($7 + 92 | 0) >> 2] = $219; label$24 : { if (!((HEAP32[($7 + 92 | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$24 } HEAP32[($7 + 88 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 92 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); HEAP32[($7 + 84 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 92 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; label$25 : { if (!((HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { break label$25 } label$26 : { if (!(HEAP32[($7 + 88 | 0) >> 2] | 0)) { break label$26 } if (!((HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$25 } if (!((Math_imul(HEAP32[($7 + 84 | 0) >> 2] | 0, HEAP32[($7 + 100 | 0) >> 2] | 0) | 0) <= (Math_imul(HEAP32[($7 + 96 | 0) >> 2] | 0, HEAP32[($7 + 88 | 0) >> 2] | 0) | 0) & 1 | 0)) { break label$25 } } HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($7 + 92 | 0) >> 2] | 0; HEAP32[($7 + 100 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); continue label$21; } } label$27 : { label$28 : { if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { break label$28 } $279 = HEAP32[(HEAP32[($7 + 128 | 0) >> 2] | 0) >> 2] | 0; break label$27; } $279 = HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } HEAP32[($7 + 80 | 0) >> 2] = $279; if (!((HEAP32[($7 + 80 | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$20 } HEAP32[($7 + 76 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); HEAP32[($7 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; HEAP32[($7 + 68 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); label$29 : { if (!((HEAP32[($7 + 68 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$29 } if (!((HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$29 } label$30 : { if (!(HEAP32[($7 + 76 | 0) >> 2] | 0)) { break label$30 } if (!((HEAP32[($7 + 76 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$29 } if (!((Math_imul(HEAP32[($7 + 72 | 0) >> 2] | 0, HEAP32[($7 + 100 | 0) >> 2] | 0) | 0) < (Math_imul(HEAP32[($7 + 96 | 0) >> 2] | 0, HEAP32[($7 + 76 | 0) >> 2] | 0) | 0) & 1 | 0)) { break label$29 } } HEAP32[($7 + 128 | 0) >> 2] = HEAP32[($7 + 80 | 0) >> 2] | 0; HEAP32[($7 + 100 | 0) >> 2] = HEAP32[($7 + 68 | 0) >> 2] | 0; continue label$21; } break label$21; }; } break label$18; } label$31 : { label$32 : { if (!((HEAP32[($7 + 100 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$32 } label$33 : { label$34 : while (1) { HEAP32[($7 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; label$35 : { label$36 : { if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { break label$36 } $359 = HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; break label$35; } $359 = HEAP32[(HEAP32[($7 + 128 | 0) >> 2] | 0) >> 2] | 0; } HEAP32[($7 + 60 | 0) >> 2] = $359; label$37 : { if (!((HEAP32[($7 + 60 | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$37 } HEAP32[($7 + 56 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 60 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); HEAP32[($7 + 52 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 60 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; label$38 : { if (!((HEAP32[($7 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$38 } label$39 : { if (!(HEAP32[($7 + 56 | 0) >> 2] | 0)) { break label$39 } if (!((HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$38 } if (!((Math_imul(HEAP32[($7 + 52 | 0) >> 2] | 0, HEAP32[($7 + 100 | 0) >> 2] | 0) | 0) <= (Math_imul(HEAP32[($7 + 64 | 0) >> 2] | 0, HEAP32[($7 + 56 | 0) >> 2] | 0) | 0) & 1 | 0)) { break label$38 } } HEAP32[($7 + 128 | 0) >> 2] = HEAP32[($7 + 60 | 0) >> 2] | 0; HEAP32[($7 + 100 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); continue label$34; } } label$40 : { label$41 : { if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { break label$41 } $419 = HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; break label$40; } $419 = HEAP32[(HEAP32[($7 + 132 | 0) >> 2] | 0) >> 2] | 0; } HEAP32[($7 + 48 | 0) >> 2] = $419; if (!((HEAP32[($7 + 48 | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$33 } HEAP32[($7 + 44 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 48 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); HEAP32[($7 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 48 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; HEAP32[($7 + 36 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 48 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); label$42 : { if (!((HEAP32[($7 + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$42 } if (!((HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$42 } label$43 : { if (!(HEAP32[($7 + 44 | 0) >> 2] | 0)) { break label$43 } if (!((HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$42 } if (!((Math_imul(HEAP32[($7 + 40 | 0) >> 2] | 0, HEAP32[($7 + 100 | 0) >> 2] | 0) | 0) < (Math_imul(HEAP32[($7 + 64 | 0) >> 2] | 0, HEAP32[($7 + 44 | 0) >> 2] | 0) | 0) & 1 | 0)) { break label$42 } } HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($7 + 48 | 0) >> 2] | 0; HEAP32[($7 + 100 | 0) >> 2] = HEAP32[($7 + 36 | 0) >> 2] | 0; continue label$34; } break label$34; }; } break label$31; } HEAP32[($7 + 32 | 0) >> 2] = HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($7 + 132 | 0) >> 2] | 0; label$44 : while (1) { label$45 : { label$46 : { if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { break label$46 } $492 = HEAP32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2] | 0; break label$45; } $492 = HEAP32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } $495 = $492; HEAP32[($7 + 20 | 0) >> 2] = $495; $503 = 0; label$47 : { if (!(($495 | 0) != (HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$47 } $503 = 0; if (!((HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$47 } $503 = (HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) <= (HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); } label$48 : { if (!($503 & 1 | 0)) { break label$48 } HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; continue label$44; } break label$44; }; HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($7 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($7 + 128 | 0) >> 2] | 0; label$49 : while (1) { label$50 : { label$51 : { if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { break label$51 } $532 = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; break label$50; } $532 = HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0; } $535 = $532; HEAP32[($7 + 20 | 0) >> 2] = $535; $543 = 0; label$52 : { if (!(($535 | 0) != (HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$52 } $543 = 0; if (!((HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$52 } $543 = (HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) >= (HEAP32[($7 + 16 | 0) >> 2] | 0 | 0); } label$53 : { if (!($543 & 1 | 0)) { break label$53 } HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; HEAP32[($7 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; continue label$49; } break label$49; }; HEAP32[($7 + 128 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; } } label$54 : { if (HEAP32[($7 + 104 | 0) >> 2] | 0) { break label$54 } HEAP32[($7 + 116 | 0) >> 2] = HEAP32[($7 + 132 | 0) >> 2] | 0; HEAP32[($7 + 112 | 0) >> 2] = HEAP32[($7 + 128 | 0) >> 2] | 0; HEAP32[($7 + 132 | 0) >> 2] = HEAP32[(HEAP32[($7 + 148 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($7 + 128 | 0) >> 2] = HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($7 + 108 | 0) >> 2] = -1; } HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 128 | 0) >> 2] | 0; HEAP32[(HEAP32[($7 + 128 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 132 | 0) >> 2] | 0; HEAP32[(HEAP32[($7 + 116 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 112 | 0) >> 2] | 0; HEAP32[((HEAP32[($7 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 116 | 0) >> 2] | 0; label$55 : { if (!((HEAP32[((HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[(HEAP32[($7 + 148 | 0) >> 2] | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$55 } HEAP32[(HEAP32[($7 + 148 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] | 0; } label$56 : { if (!((HEAP32[((HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$56 } HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[(HEAP32[($7 + 140 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 116 | 0) >> 2] | 0; HEAP32[(HEAP32[($7 + 136 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 112 | 0) >> 2] | 0; HEAP8[($7 + 159 | 0) >> 0] = 1 & 1 | 0; } $625 = (HEAPU8[($7 + 159 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $7 + 160 | 0; return $625 | 0; } function btConvexHullInternal__computeInternal_28int_2c_20int_2c_20btConvexHullInternal__IntermediateHull__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $11 = 0, $205 = 0, $206 = 0, $222 = 0, $767 = 0, $771 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 96 | 0; __stack_pointer = $6; HEAP32[($6 + 92 | 0) >> 2] = $0; HEAP32[($6 + 88 | 0) >> 2] = $1; HEAP32[($6 + 84 | 0) >> 2] = $2; HEAP32[($6 + 80 | 0) >> 2] = $3; $7 = HEAP32[($6 + 92 | 0) >> 2] | 0; HEAP32[($6 + 76 | 0) >> 2] = (HEAP32[($6 + 84 | 0) >> 2] | 0) - (HEAP32[($6 + 88 | 0) >> 2] | 0) | 0; $11 = HEAP32[($6 + 76 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($11 | 0) { case 0: HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; break label$1; case 2: (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 68 | 0) >> 2] = (HEAP32[($6 + 72 | 0) >> 2] | 0) + 112 | 0; label$6 : { if (!((btConvexHullInternal__Point32__operator___28btConvexHullInternal__Point32_20const__29_20const((HEAP32[($6 + 72 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($6 + 68 | 0) >> 2] | 0) + 88 | 0 | 0) | 0) & 1 | 0)) { break label$6 } HEAP32[($6 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0; HEAP32[($6 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; label$7 : { label$8 : { if (HEAP32[($6 + 64 | 0) >> 2] | 0) { break label$8 } if (HEAP32[($6 + 60 | 0) >> 2] | 0) { break label$8 } label$9 : { if (!((HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } HEAP32[($6 + 56 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; } label$10 : { if ((HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$10 } __assert_fail(65550 | 0, 72732 | 0, 1232 | 0, 77500 | 0); wasm2js_trap(); } HEAP32[(HEAP32[($6 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; break label$7; } HEAP32[(HEAP32[($6 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; HEAP32[(HEAP32[($6 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; label$11 : { label$12 : { label$13 : { if ((HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { break label$13 } if (HEAP32[($6 + 64 | 0) >> 2] | 0) { break label$12 } if (!((HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$12 } } HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; break label$11; } HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; } label$14 : { label$15 : { label$16 : { if ((HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { break label$16 } if (HEAP32[($6 + 60 | 0) >> 2] | 0) { break label$15 } if (!((HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$15 } } HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; break label$14; } HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; } } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($7 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; HEAP32[($6 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; break label$1; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($6 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; HEAP32[(HEAP32[($6 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; break label$1; case 1: (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; HEAP32[(HEAP32[($6 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; break label$1; default: break label$2; }; } HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 88 | 0) >> 2] | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0; $205 = (HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, (HEAP32[($6 + 40 | 0) >> 2] | 0) - 1 | 0 | 0) | 0) >> 2] | 0) + 88 | 0; $206 = 8; i64toi32_i32$2 = $205 + $206 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $767 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 24 | 0) + $206 | 0; HEAP32[i64toi32_i32$0 >> 2] = $767; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $205; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $771 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 24 | 0) >> 2] = $771; HEAP32[($6 + 28 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; label$17 : while (1) { $222 = 0; label$18 : { if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$18 } $222 = btConvexHullInternal__Point32__operator___28btConvexHullInternal__Point32_20const__29_20const_1((HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0) + 88 | 0 | 0, $6 + 24 | 0 | 0) | 0; } label$19 : { if (!($222 & 1 | 0)) { break label$19 } HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$17; } break label$17; }; btConvexHullInternal__computeInternal_28int_2c_20int_2c_20btConvexHullInternal__IntermediateHull__29($7 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 80 | 0) >> 2] | 0 | 0); btConvexHullInternal__IntermediateHull__IntermediateHull_28_29($6 + 4 | 0 | 0) | 0; btConvexHullInternal__computeInternal_28int_2c_20int_2c_20btConvexHullInternal__IntermediateHull__29($7 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 84 | 0) >> 2] | 0 | 0, $6 + 4 | 0 | 0); btConvexHullInternal__merge_28btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__IntermediateHull__29($7 | 0, HEAP32[($6 + 80 | 0) >> 2] | 0 | 0, $6 + 4 | 0 | 0); } __stack_pointer = $6 + 96 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78295 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78295 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btConvexHullInternal__Point32__operator___28btConvexHullInternal__Point32_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $15 = 1; label$1 : { if ((HEAP32[$5 >> 2] | 0 | 0) != (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { break label$1 } $15 = 1; if ((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$1 } $15 = (HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); } return $15 & 1 | 0 | 0; } function btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$1 } __assert_fail(68510 | 0, 72732 | 0, 528 | 0, 77666 | 0); wasm2js_trap(); } HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $5; __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__Point32__operator___28btConvexHullInternal__Point32_20const__29_20const_1($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $15 = 0; label$1 : { if (!((HEAP32[$5 >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $15 = 0; if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $15 = (HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); } return $15 & 1 | 0 | 0; } function btConvexHullInternal__IntermediateHull__IntermediateHull_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = 0; return $4 | 0; } function btConvexHullInternal__merge_28btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__IntermediateHull__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $6 = 0, $118$hi = 0, $119$hi = 0, $129$hi = 0, $130$hi = 0, $150$hi = 0, $151$hi = 0, $222$hi = 0, $223$hi = 0, $233$hi = 0, $234$hi = 0, $254$hi = 0, $255$hi = 0, $24 = 0, $26 = 0, $65 = 0, $60 = 0, $61 = 0, $62 = 0, $137 = 0, $63 = 0, $64 = 0, $66 = 0, $166 = 0, $172 = 0, $67 = 0, $68 = 0, $69 = 0, $241 = 0, $70 = 0, $71 = 0, $72 = 0, $270 = 0, $276 = 0, $325 = 0, $346 = 0, $347 = 0, $359 = 0, $360 = 0, $408 = 0, $429 = 0, $482 = 0, $491 = 0, $565 = 0, $635 = 0, $636 = 0, $716 = 0, $717 = 0, $863 = 0, $873 = 0, $1040 = 0, $167 = 0, $168 = 0, $1226 = 0, $271 = 0, $272 = 0, $1462 = 0, $1466 = 0, $1491 = 0, $1495 = 0, $2055 = 0, $2059 = 0, $2228 = 0, $2232 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 496 | 0; __stack_pointer = $5; HEAP32[($5 + 492 | 0) >> 2] = $0; HEAP32[($5 + 488 | 0) >> 2] = $1; HEAP32[($5 + 484 | 0) >> 2] = $2; $6 = HEAP32[($5 + 492 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAP32[((HEAP32[($5 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } break label$1; } label$3 : { if ((HEAP32[((HEAP32[($5 + 488 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$3 } $24 = HEAP32[($5 + 488 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($5 + 484 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $863 = i64toi32_i32$0; i64toi32_i32$0 = $24; HEAP32[i64toi32_i32$0 >> 2] = $863; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $873 = i64toi32_i32$1; i64toi32_i32$1 = $24 + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $873; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$1; } HEAP32[($6 + 100 | 0) >> 2] = (HEAP32[($6 + 100 | 0) >> 2] | 0) + -1 | 0; HEAP32[($5 + 480 | 0) >> 2] = 0; HEAP32[($5 + 476 | 0) >> 2] = 0; HEAP32[($5 + 472 | 0) >> 2] = 0; HEAP32[($5 + 468 | 0) >> 2] = 0; HEAP32[($5 + 464 | 0) >> 2] = 0; HEAP32[($5 + 460 | 0) >> 2] = 0; HEAP32[($5 + 456 | 0) >> 2] = 0; HEAP32[($5 + 452 | 0) >> 2] = 0; HEAP32[($5 + 448 | 0) >> 2] = 0; HEAP32[($5 + 444 | 0) >> 2] = 0; btConvexHullInternal__Point32__Point32_28_29($5 + 424 | 0 | 0) | 0; label$4 : { label$5 : { if (!((btConvexHullInternal__mergeProjection_28btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__Vertex___2c_20btConvexHullInternal__Vertex___29($6 | 0, HEAP32[($5 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5 + 484 | 0) >> 2] | 0 | 0, $5 + 480 | 0 | 0, $5 + 460 | 0 | 0) | 0) & 1 | 0)) { break label$5 } btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 408 | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0); $65 = 0; btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($5 + 368 | 0 | 0, $65 | 0, $65 | 0, -1 | 0) | 0; btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($5 + 384 | 0 | 0, $5 + 368 | 0 | 0, $5 + 408 | 0 | 0); btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point64_20const__29_20const($5 + 344 | 0 | 0, $5 + 408 | 0 | 0, $5 + 384 | 0 | 0); label$6 : { if (!((btConvexHullInternal__Point64__isZero_28_29($5 + 344 | 0 | 0) | 0) & 1 | 0)) { break label$6 } __assert_fail(87266 | 0, 72732 | 0, 1691 | 0, 81906 | 0); wasm2js_trap(); } HEAP32[($5 + 340 | 0) >> 2] = HEAP32[((HEAP32[($5 + 480 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($5 + 336 | 0) >> 2] = 0; label$7 : { if (!((HEAP32[($5 + 340 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$7 } label$8 : while (1) { btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 312 | 0 | 0, HEAP32[((HEAP32[($5 + 340 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0); i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 312 | 0 | 0, $5 + 384 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $1040 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[($5 + 328 | 0) >> 2] = $1040; HEAP32[($5 + 332 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 328 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 332 | 0) >> 2] | 0; $118$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $119$hi = i64toi32_i32$0; i64toi32_i32$0 = $118$hi; i64toi32_i32$0 = $119$hi; i64toi32_i32$0 = $118$hi; i64toi32_i32$0 = $119$hi; i64toi32_i32$0 = $118$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $119$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { $60 = 1 } else { if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { $61 = 0 } else { $61 = 1 } $62 = $61; } else { $62 = 0 } $60 = $62; } label$9 : { if ($60 & 1 | 0) { break label$9 } __assert_fail(86116 | 0, 72732 | 0, 1700 | 0, 81906 | 0); wasm2js_trap(); } i64toi32_i32$3 = $5; i64toi32_i32$2 = HEAP32[($5 + 328 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 332 | 0) >> 2] | 0; $129$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $130$hi = i64toi32_i32$0; i64toi32_i32$0 = $129$hi; i64toi32_i32$0 = $130$hi; i64toi32_i32$0 = $129$hi; i64toi32_i32$0 = $130$hi; i64toi32_i32$0 = $129$hi; i64toi32_i32$3 = i64toi32_i32$2; i64toi32_i32$2 = $130$hi; i64toi32_i32$1 = 0; $137 = 0; label$10 : { if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { break label$10 } btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 296 | 0 | 0, HEAP32[((HEAP32[($5 + 340 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0); i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 296 | 0 | 0, $5 + 344 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $150$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $151$hi = i64toi32_i32$0; i64toi32_i32$0 = $150$hi; i64toi32_i32$0 = $151$hi; i64toi32_i32$0 = $150$hi; i64toi32_i32$0 = $151$hi; i64toi32_i32$0 = $150$hi; i64toi32_i32$1 = i64toi32_i32$3; i64toi32_i32$3 = $151$hi; i64toi32_i32$2 = 0; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { $63 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { $64 = 0 } else { $64 = 1 } $66 = $64; } else { $66 = 0 } $63 = $66; } $137 = $63; } label$11 : { if (!($137 & 1 | 0)) { break label$11 } $166 = 1; label$12 : { if (!((HEAP32[($5 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$12 } $167 = HEAP32[($5 + 336 | 0) >> 2] | 0; $168 = HEAP32[($5 + 340 | 0) >> 2] | 0; $172 = 0; btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($5 + 280 | 0 | 0, $172 | 0, $172 | 0, -1 | 0) | 0; $166 = (btConvexHullInternal__getOrientation_28btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29($167 | 0, $168 | 0, $5 + 408 | 0 | 0, $5 + 280 | 0 | 0) | 0 | 0) == (1 | 0); } label$13 : { if (!($166 & 1 | 0)) { break label$13 } HEAP32[($5 + 336 | 0) >> 2] = HEAP32[($5 + 340 | 0) >> 2] | 0; } } HEAP32[($5 + 340 | 0) >> 2] = HEAP32[(HEAP32[($5 + 340 | 0) >> 2] | 0) >> 2] | 0; if ((HEAP32[($5 + 340 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5 + 480 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$8 } break label$8; }; } HEAP32[($5 + 340 | 0) >> 2] = HEAP32[((HEAP32[($5 + 460 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($5 + 276 | 0) >> 2] = 0; label$14 : { if (!((HEAP32[($5 + 340 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$14 } label$15 : while (1) { btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 248 | 0 | 0, HEAP32[((HEAP32[($5 + 340 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0); i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 248 | 0 | 0, $5 + 384 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $1226 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 264 | 0) >> 2] = $1226; HEAP32[($5 + 268 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 264 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 268 | 0) >> 2] | 0; $222$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $223$hi = i64toi32_i32$1; i64toi32_i32$1 = $222$hi; i64toi32_i32$1 = $223$hi; i64toi32_i32$1 = $222$hi; i64toi32_i32$1 = $223$hi; i64toi32_i32$1 = $222$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $223$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { $67 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { $68 = 0 } else { $68 = 1 } $69 = $68; } else { $69 = 0 } $67 = $69; } label$16 : { if ($67 & 1 | 0) { break label$16 } __assert_fail(86116 | 0, 72732 | 0, 1719 | 0, 81906 | 0); wasm2js_trap(); } i64toi32_i32$3 = $5; i64toi32_i32$2 = HEAP32[($5 + 264 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 268 | 0) >> 2] | 0; $233$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $234$hi = i64toi32_i32$1; i64toi32_i32$1 = $233$hi; i64toi32_i32$1 = $234$hi; i64toi32_i32$1 = $233$hi; i64toi32_i32$1 = $234$hi; i64toi32_i32$1 = $233$hi; i64toi32_i32$3 = i64toi32_i32$2; i64toi32_i32$2 = $234$hi; i64toi32_i32$0 = 0; $241 = 0; label$17 : { if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { break label$17 } btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 232 | 0 | 0, HEAP32[((HEAP32[($5 + 340 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0); i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 232 | 0 | 0, $5 + 344 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $254$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $255$hi = i64toi32_i32$1; i64toi32_i32$1 = $254$hi; i64toi32_i32$1 = $255$hi; i64toi32_i32$1 = $254$hi; i64toi32_i32$1 = $255$hi; i64toi32_i32$1 = $254$hi; i64toi32_i32$0 = i64toi32_i32$3; i64toi32_i32$3 = $255$hi; i64toi32_i32$2 = 0; if ((i64toi32_i32$1 | 0) > (i64toi32_i32$3 | 0)) { $70 = 1 } else { if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$3 | 0)) { if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$2 >>> 0) { $71 = 0 } else { $71 = 1 } $72 = $71; } else { $72 = 0 } $70 = $72; } $241 = $70; } label$18 : { if (!($241 & 1 | 0)) { break label$18 } $270 = 1; label$19 : { if (!((HEAP32[($5 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$19 } $271 = HEAP32[($5 + 276 | 0) >> 2] | 0; $272 = HEAP32[($5 + 340 | 0) >> 2] | 0; $276 = 0; btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($5 + 216 | 0 | 0, $276 | 0, $276 | 0, -1 | 0) | 0; $270 = (btConvexHullInternal__getOrientation_28btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29($271 | 0, $272 | 0, $5 + 408 | 0 | 0, $5 + 216 | 0 | 0) | 0 | 0) == (2 | 0); } label$20 : { if (!($270 & 1 | 0)) { break label$20 } HEAP32[($5 + 276 | 0) >> 2] = HEAP32[($5 + 340 | 0) >> 2] | 0; } } HEAP32[($5 + 340 | 0) >> 2] = HEAP32[(HEAP32[($5 + 340 | 0) >> 2] | 0) >> 2] | 0; if ((HEAP32[($5 + 340 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5 + 460 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$15 } break label$15; }; } label$21 : { label$22 : { if ((HEAP32[($5 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$22 } if (!((HEAP32[($5 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$21 } } $325 = 0; btConvexHullInternal__findEdgeForCoplanarFaces_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($6 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, $5 + 336 | 0 | 0, $5 + 276 | 0 | 0, $325 | 0, $325 | 0); label$23 : { if (!((HEAP32[($5 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$23 } HEAP32[($5 + 480 | 0) >> 2] = HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; } label$24 : { if (!((HEAP32[($5 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$24 } HEAP32[($5 + 460 | 0) >> 2] = HEAP32[((HEAP32[($5 + 276 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; } } $346 = (HEAP32[($5 + 460 | 0) >> 2] | 0) + 88 | 0; $347 = 8; i64toi32_i32$2 = $346 + $347 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1462 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 424 | 0) + $347 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1462; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $346; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1466 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 424 | 0) >> 2] = $1466; HEAP32[($5 + 428 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 432 | 0) >> 2] = (HEAP32[($5 + 432 | 0) >> 2] | 0) + 1 | 0; break label$4; } $359 = (HEAP32[($5 + 460 | 0) >> 2] | 0) + 88 | 0; $360 = 8; i64toi32_i32$2 = $359 + $360 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1491 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 424 | 0) + $360 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1491; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $359; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1495 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 424 | 0) >> 2] = $1495; HEAP32[($5 + 428 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 424 | 0) >> 2] = (HEAP32[($5 + 424 | 0) >> 2] | 0) + 1 | 0; } HEAP32[($5 + 212 | 0) >> 2] = HEAP32[($5 + 480 | 0) >> 2] | 0; HEAP32[($5 + 208 | 0) >> 2] = HEAP32[($5 + 460 | 0) >> 2] | 0; HEAP8[($5 + 207 | 0) >> 0] = 1; label$25 : while (1) { btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 188 | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0); btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($5 + 172 | 0 | 0, $5 + 424 | 0 | 0, (HEAP32[($5 + 480 | 0) >> 2] | 0) + 88 | 0 | 0); btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($5 + 144 | 0 | 0, $5 + 172 | 0 | 0, $5 + 188 | 0 | 0); btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point64_20const__29_20const($5 + 120 | 0 | 0, $5 + 188 | 0 | 0, $5 + 144 | 0 | 0); i64toi32_i32$0 = 0; $408 = 0; i64toi32_i32$1 = i64toi32_i32$0; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($5 + 96 | 0 | 0, $408 | 0, i64toi32_i32$0 | 0, $408 | 0, i64toi32_i32$0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__findMaxAngle_28bool_2c_20btConvexHullInternal__Vertex_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Rational64__29($6 | 0, 0 & 1 | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, $5 + 188 | 0 | 0, $5 + 144 | 0 | 0, $5 + 120 | 0 | 0, $5 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; i64toi32_i32$1 = 0; $429 = 0; i64toi32_i32$0 = i64toi32_i32$1; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($5 + 64 | 0 | 0, $429 | 0, i64toi32_i32$0 | 0, $429 | 0, i64toi32_i32$0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__findMaxAngle_28bool_2c_20btConvexHullInternal__Vertex_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Rational64__29($6 | 0, 1 & 1 | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, $5 + 188 | 0 | 0, $5 + 144 | 0 | 0, $5 + 120 | 0 | 0, $5 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; label$26 : { if ((HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$26 } if ((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$26 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($6 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($5 + 480 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; HEAP32[($5 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($5 + 460 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; break label$1; } label$27 : { label$28 : { if ((HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$28 } $482 = 1; break label$27; } label$29 : { label$30 : { if ((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$30 } $491 = -1; break label$29; } $491 = btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($5 + 96 | 0 | 0, $5 + 64 | 0 | 0) | 0; } $482 = $491; } HEAP32[($5 + 52 | 0) >> 2] = $482; label$31 : { label$32 : { if ((HEAPU8[($5 + 207 | 0) >> 0] | 0) & 1 | 0) { break label$32 } label$33 : { if (!((HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$33 } if ((btConvexHullInternal__Rational64__isNegativeInfinity_28_29_20const($5 + 64 | 0 | 0) | 0) & 1 | 0) { break label$31 } break label$32; } if ((btConvexHullInternal__Rational64__isNegativeInfinity_28_29_20const($5 + 96 | 0 | 0) | 0) & 1 | 0) { break label$31 } } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($6 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; label$34 : { label$35 : { if (!((HEAP32[($5 + 464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$35 } HEAP32[((HEAP32[($5 + 464 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; break label$34; } HEAP32[($5 + 468 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; } HEAP32[(HEAP32[($5 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 464 | 0) >> 2] | 0; HEAP32[($5 + 464 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; HEAP32[($5 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$36 : { label$37 : { if (!((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$37 } HEAP32[(HEAP32[($5 + 444 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; break label$36; } HEAP32[($5 + 448 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; } HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5 + 444 | 0) >> 2] | 0; HEAP32[($5 + 444 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; } HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 92 | 0) >> 2] | 0; HEAP32[($5 + 40 | 0) >> 2] = HEAP32[($5 + 60 | 0) >> 2] | 0; label$38 : { if (HEAP32[($5 + 52 | 0) >> 2] | 0) { break label$38 } $565 = 0; btConvexHullInternal__findEdgeForCoplanarFaces_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($6 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $565 | 0, $565 | 0); } label$39 : { if (!((HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$39 } if (!((HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$39 } label$40 : { if (!((HEAP32[($5 + 456 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$40 } HEAP32[($5 + 36 | 0) >> 2] = HEAP32[(HEAP32[($5 + 456 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 32 | 0) >> 2] = 0; label$41 : { label$42 : while (1) { if (!((HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$41 } HEAP32[($5 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2] | 0; btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0); HEAP32[($5 + 36 | 0) >> 2] = HEAP32[($5 + 32 | 0) >> 2] | 0; continue label$42; }; } } label$43 : { label$44 : { if (!((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$44 } label$45 : { label$46 : { if (!((HEAP32[($5 + 456 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$46 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 456 | 0) >> 2] | 0 | 0, HEAP32[($5 + 448 | 0) >> 2] | 0 | 0); break label$45; } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 448 | 0) >> 2] | 0 | 0); HEAP32[($5 + 452 | 0) >> 2] = HEAP32[($5 + 448 | 0) >> 2] | 0; } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); HEAP32[($5 + 448 | 0) >> 2] = 0; HEAP32[($5 + 444 | 0) >> 2] = 0; break label$43; } label$47 : { if ((HEAP32[($5 + 456 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$47 } HEAP32[($5 + 452 | 0) >> 2] = HEAP32[($5 + 60 | 0) >> 2] | 0; } } $635 = (HEAP32[($5 + 460 | 0) >> 2] | 0) + 88 | 0; $636 = 8; i64toi32_i32$2 = $635 + $636 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2055 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 424 | 0) + $636 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2055; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $635; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2059 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 424 | 0) >> 2] = $2059; HEAP32[($5 + 428 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 460 | 0) >> 2] = HEAP32[((HEAP32[($5 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[($5 + 456 | 0) >> 2] = HEAP32[((HEAP32[($5 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; } label$48 : { if (!((HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { break label$48 } if (!((HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$48 } label$49 : { if (!((HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$49 } HEAP32[($5 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[($5 + 24 | 0) >> 2] = 0; label$50 : { label$51 : while (1) { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$50 } HEAP32[($5 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($6 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0); HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; continue label$51; }; } } label$52 : { label$53 : { if (!((HEAP32[($5 + 464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$53 } label$54 : { label$55 : { if (!((HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$55 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 468 | 0) >> 2] | 0 | 0, HEAP32[($5 + 476 | 0) >> 2] | 0 | 0); break label$54; } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 468 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0); HEAP32[($5 + 472 | 0) >> 2] = HEAP32[($5 + 468 | 0) >> 2] | 0; } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5 + 464 | 0) >> 2] | 0 | 0); HEAP32[($5 + 468 | 0) >> 2] = 0; HEAP32[($5 + 464 | 0) >> 2] = 0; break label$52; } label$56 : { if ((HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$56 } HEAP32[($5 + 472 | 0) >> 2] = HEAP32[($5 + 92 | 0) >> 2] | 0; } } $716 = (HEAP32[($5 + 480 | 0) >> 2] | 0) + 88 | 0; $717 = 8; i64toi32_i32$2 = $716 + $717 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2228 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 424 | 0) + $717 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2228; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $716; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2232 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 424 | 0) >> 2] = $2232; HEAP32[($5 + 428 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 480 | 0) >> 2] = HEAP32[((HEAP32[($5 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[($5 + 476 | 0) >> 2] = HEAP32[((HEAP32[($5 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; } label$57 : { if (!((HEAP32[($5 + 480 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 212 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$57 } if (!((HEAP32[($5 + 460 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 208 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$57 } label$58 : { label$59 : { if (!((HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { break label$59 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 468 | 0) >> 2] | 0 | 0, HEAP32[($5 + 464 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($5 + 480 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 464 | 0) >> 2] | 0; break label$58; } HEAP32[($5 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = 0; label$60 : { label$61 : while (1) { if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$60 } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); HEAP32[($5 + 20 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; continue label$61; }; } label$62 : { if (!((HEAP32[($5 + 464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$62 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 468 | 0) >> 2] | 0 | 0, HEAP32[($5 + 476 | 0) >> 2] | 0 | 0); btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 472 | 0) >> 2] | 0 | 0, HEAP32[($5 + 464 | 0) >> 2] | 0 | 0); } } label$63 : { label$64 : { if (!((HEAP32[($5 + 456 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { break label$64 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5 + 448 | 0) >> 2] | 0 | 0); HEAP32[((HEAP32[($5 + 460 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 444 | 0) >> 2] | 0; break label$63; } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5 + 456 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = 0; label$65 : { label$66 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 452 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$65 } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] | 0; btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($6 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; continue label$66; }; } label$67 : { if (!((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$67 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 456 | 0) >> 2] | 0 | 0, HEAP32[($5 + 448 | 0) >> 2] | 0 | 0); btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5 + 452 | 0) >> 2] | 0 | 0); } } break label$1; } HEAP8[($5 + 207 | 0) >> 0] = 0; continue label$25; }; } __stack_pointer = $5 + 496 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btConvexHullInternal__Point32__Point32_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($0 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($5 + 8 | 0) >> 2] | 0) + 88 | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; HEAP32[$7 >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = -1; return $7 | 0; } function btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6 = 0, $17$hi = 0, $28$hi = 0, $39$hi = 0, $17 = 0, $28 = 0, $128 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = Math_imul(HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - Math_imul(HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $17 = i64toi32_i32$1; $17$hi = i64toi32_i32$0; i64toi32_i32$1 = Math_imul(HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0) - Math_imul(HEAP32[$6 >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $28 = i64toi32_i32$1; $28$hi = i64toi32_i32$0; i64toi32_i32$1 = Math_imul(HEAP32[$6 >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - Math_imul(HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $39$hi = i64toi32_i32$0; i64toi32_i32$0 = $17$hi; i64toi32_i32$0 = $28$hi; i64toi32_i32$0 = $39$hi; $128 = i64toi32_i32$1; i64toi32_i32$0 = $17$hi; i64toi32_i32$1 = $28$hi; btConvexHullInternal__Point64__Point64_28long_20long_2c_20long_20long_2c_20long_20long_29($0 | 0, $17 | 0, i64toi32_i32$0 | 0, $28 | 0, i64toi32_i32$1 | 0, $128 | 0, $39$hi | 0) | 0; __stack_pointer = $5 + 16 | 0; return; } function btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point64_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $5 = 0, i64toi32_i32$3 = 0, $6 = 0, i64toi32_i32$6 = 0, $9$hi = 0, $11$hi = 0, $12$hi = 0, $15$hi = 0, $17$hi = 0, $18$hi = 0, $19$hi = 0, $22$hi = 0, $24$hi = 0, $25$hi = 0, $28$hi = 0, $30$hi = 0, $31$hi = 0, $32$hi = 0, $35$hi = 0, $37$hi = 0, $38$hi = 0, $41$hi = 0, $43$hi = 0, $44$hi = 0, $45$hi = 0, $9 = 0, $69 = 0, $12 = 0, $15 = 0, $81 = 0, $84 = 0, $19 = 0, $22 = 0, $96 = 0, $25 = 0, $28 = 0, $108 = 0, $111 = 0, $32 = 0, $35 = 0, $123 = 0, $38 = 0, $41 = 0, $135 = 0, $138 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $9 = i64toi32_i32$1; $9$hi = i64toi32_i32$0; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; $11$hi = i64toi32_i32$1; i64toi32_i32$1 = $9$hi; i64toi32_i32$1 = $11$hi; $69 = i64toi32_i32$0; i64toi32_i32$1 = $9$hi; i64toi32_i32$0 = $11$hi; i64toi32_i32$0 = __wasm_i64_mul($9 | 0, i64toi32_i32$1 | 0, $69 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $12 = i64toi32_i32$0; $12$hi = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; $15 = i64toi32_i32$0; $15$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $17$hi = i64toi32_i32$0; i64toi32_i32$0 = $15$hi; i64toi32_i32$0 = $17$hi; $81 = i64toi32_i32$1; i64toi32_i32$0 = $15$hi; i64toi32_i32$1 = $17$hi; i64toi32_i32$1 = __wasm_i64_mul($15 | 0, i64toi32_i32$0 | 0, $81 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $18$hi = i64toi32_i32$0; i64toi32_i32$0 = $12$hi; i64toi32_i32$0 = $18$hi; $84 = i64toi32_i32$1; i64toi32_i32$0 = $12$hi; i64toi32_i32$2 = $12; i64toi32_i32$1 = $18$hi; i64toi32_i32$3 = $84; i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; $19 = i64toi32_i32$4; $19$hi = i64toi32_i32$5; i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; $22 = i64toi32_i32$2; $22$hi = i64toi32_i32$5; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $24$hi = i64toi32_i32$2; i64toi32_i32$2 = $22$hi; i64toi32_i32$2 = $24$hi; $96 = i64toi32_i32$5; i64toi32_i32$2 = $22$hi; i64toi32_i32$5 = $24$hi; i64toi32_i32$5 = __wasm_i64_mul($22 | 0, i64toi32_i32$2 | 0, $96 | 0, i64toi32_i32$5 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $25 = i64toi32_i32$5; $25$hi = i64toi32_i32$2; i64toi32_i32$5 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; $28 = i64toi32_i32$5; $28$hi = i64toi32_i32$2; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; $30$hi = i64toi32_i32$5; i64toi32_i32$5 = $28$hi; i64toi32_i32$5 = $30$hi; $108 = i64toi32_i32$2; i64toi32_i32$5 = $28$hi; i64toi32_i32$2 = $30$hi; i64toi32_i32$2 = __wasm_i64_mul($28 | 0, i64toi32_i32$5 | 0, $108 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $31$hi = i64toi32_i32$5; i64toi32_i32$5 = $25$hi; i64toi32_i32$5 = $31$hi; $111 = i64toi32_i32$2; i64toi32_i32$5 = $25$hi; i64toi32_i32$0 = $25; i64toi32_i32$2 = $31$hi; i64toi32_i32$3 = $111; i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; $32 = i64toi32_i32$1; $32$hi = i64toi32_i32$4; i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; $35 = i64toi32_i32$0; $35$hi = i64toi32_i32$4; i64toi32_i32$5 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; $37$hi = i64toi32_i32$0; i64toi32_i32$0 = $35$hi; i64toi32_i32$0 = $37$hi; $123 = i64toi32_i32$4; i64toi32_i32$0 = $35$hi; i64toi32_i32$4 = $37$hi; i64toi32_i32$4 = __wasm_i64_mul($35 | 0, i64toi32_i32$0 | 0, $123 | 0, i64toi32_i32$4 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $38 = i64toi32_i32$4; $38$hi = i64toi32_i32$0; i64toi32_i32$4 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; $41 = i64toi32_i32$4; $41$hi = i64toi32_i32$0; i64toi32_i32$5 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; $43$hi = i64toi32_i32$4; i64toi32_i32$4 = $41$hi; i64toi32_i32$4 = $43$hi; $135 = i64toi32_i32$0; i64toi32_i32$4 = $41$hi; i64toi32_i32$0 = $43$hi; i64toi32_i32$0 = __wasm_i64_mul($41 | 0, i64toi32_i32$4 | 0, $135 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; $44$hi = i64toi32_i32$4; i64toi32_i32$4 = $38$hi; i64toi32_i32$4 = $44$hi; $138 = i64toi32_i32$0; i64toi32_i32$4 = $38$hi; i64toi32_i32$5 = $38; i64toi32_i32$0 = $44$hi; i64toi32_i32$3 = $138; i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$3 | 0; i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0; i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$0 | 0; i64toi32_i32$1 = i64toi32_i32$4 - i64toi32_i32$1 | 0; $45$hi = i64toi32_i32$1; i64toi32_i32$1 = $19$hi; i64toi32_i32$1 = $32$hi; i64toi32_i32$1 = $45$hi; i64toi32_i32$1 = $19$hi; i64toi32_i32$5 = $32$hi; i64toi32_i32$4 = $45$hi; btConvexHullInternal__Point64__Point64_28long_20long_2c_20long_20long_2c_20long_20long_29($0 | 0, $19 | 0, i64toi32_i32$1 | 0, $32 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0, i64toi32_i32$4 | 0) | 0; __stack_pointer = $5 + 16 | 0; return; } function btConvexHullInternal__Point64__isZero_28_29($0) { $0 = $0 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4 = 0, $5$hi = 0, $6$hi = 0, $13 = 0, $14$hi = 0, $15$hi = 0, $22$hi = 0, $23$hi = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $5$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $6$hi = i64toi32_i32$1; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $6$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $6$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$3 = 0; $13 = 0; label$1 : { if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { break label$1 } i64toi32_i32$3 = $4; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $14$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $15$hi = i64toi32_i32$1; i64toi32_i32$1 = $14$hi; i64toi32_i32$1 = $15$hi; i64toi32_i32$1 = $14$hi; i64toi32_i32$1 = $15$hi; i64toi32_i32$1 = $14$hi; i64toi32_i32$3 = i64toi32_i32$2; i64toi32_i32$2 = $15$hi; i64toi32_i32$0 = 0; $13 = 0; if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { break label$1 } i64toi32_i32$0 = $4; i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; $22$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $23$hi = i64toi32_i32$1; i64toi32_i32$1 = $22$hi; i64toi32_i32$1 = $23$hi; i64toi32_i32$1 = $22$hi; i64toi32_i32$1 = $23$hi; i64toi32_i32$1 = $22$hi; i64toi32_i32$0 = i64toi32_i32$3; i64toi32_i32$3 = $23$hi; i64toi32_i32$2 = 0; $13 = (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0; } return $13 & 1 | 0 | 0; } function btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $4 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $5 = 0, $8$hi = 0, $10$hi = 0, $11$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $18$hi = 0, $21$hi = 0, $23$hi = 0, $24$hi = 0, $8 = 0, $46 = 0, $11 = 0, $14 = 0, $58 = 0, $61 = 0, $21 = 0, $73 = 0, $76 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $8 = i64toi32_i32$1; $8$hi = i64toi32_i32$0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $10$hi = i64toi32_i32$1; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $10$hi; $46 = i64toi32_i32$0; i64toi32_i32$1 = $8$hi; i64toi32_i32$0 = $10$hi; i64toi32_i32$0 = __wasm_i64_mul($8 | 0, i64toi32_i32$1 | 0, $46 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $11 = i64toi32_i32$0; $11$hi = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; $14 = i64toi32_i32$0; $14$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $16$hi = i64toi32_i32$0; i64toi32_i32$0 = $14$hi; i64toi32_i32$0 = $16$hi; $58 = i64toi32_i32$1; i64toi32_i32$0 = $14$hi; i64toi32_i32$1 = $16$hi; i64toi32_i32$1 = __wasm_i64_mul($14 | 0, i64toi32_i32$0 | 0, $58 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $17$hi = i64toi32_i32$0; i64toi32_i32$0 = $11$hi; i64toi32_i32$0 = $17$hi; $61 = i64toi32_i32$1; i64toi32_i32$0 = $11$hi; i64toi32_i32$2 = $11; i64toi32_i32$1 = $17$hi; i64toi32_i32$3 = $61; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } $18$hi = i64toi32_i32$5; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; $21 = i64toi32_i32$2; $21$hi = i64toi32_i32$5; i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; $23$hi = i64toi32_i32$2; i64toi32_i32$2 = $21$hi; i64toi32_i32$2 = $23$hi; $73 = i64toi32_i32$5; i64toi32_i32$2 = $21$hi; i64toi32_i32$5 = $23$hi; i64toi32_i32$5 = __wasm_i64_mul($21 | 0, i64toi32_i32$2 | 0, $73 | 0, i64toi32_i32$5 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $24$hi = i64toi32_i32$2; i64toi32_i32$2 = $18$hi; i64toi32_i32$2 = $24$hi; $76 = i64toi32_i32$5; i64toi32_i32$2 = $18$hi; i64toi32_i32$0 = i64toi32_i32$4; i64toi32_i32$5 = $24$hi; i64toi32_i32$3 = $76; i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } i64toi32_i32$0 = i64toi32_i32$1; i64toi32_i32$HIGH_BITS = i64toi32_i32$4; return i64toi32_i32$0 | 0; } function btConvexHullInternal__getOrientation_28btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $85$hi = 0, $86$hi = 0, $96$hi = 0, $97$hi = 0, $15 = 0, $16 = 0, $17 = 0, $277 = 0, $117 = 0; $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 104 | 0) >> 2] = $0; HEAP32[($6 + 100 | 0) >> 2] = $1; HEAP32[($6 + 96 | 0) >> 2] = $2; HEAP32[($6 + 92 | 0) >> 2] = $3; label$1 : { if ((HEAP32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$1 } __assert_fail(68463 | 0, 72732 | 0, 1400 | 0, 76667 | 0); wasm2js_trap(); } label$2 : { label$3 : { if (!((HEAP32[(HEAP32[($6 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } label$4 : { if (!((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($6 + 64 | 0 | 0, HEAP32[($6 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6 + 96 | 0) >> 2] | 0 | 0); btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($6 + 24 | 0 | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($6 + 8 | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($6 + 40 | 0 | 0, $6 + 24 | 0 | 0, $6 + 8 | 0 | 0); label$5 : { if (!((btConvexHullInternal__Point64__isZero_28_29($6 + 40 | 0 | 0) | 0) & 1 | 0)) { break label$5 } __assert_fail(87293 | 0, 72732 | 0, 1407 | 0, 76667 | 0); wasm2js_trap(); } i64toi32_i32$0 = btConvexHullInternal__Point64__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 64 | 0 | 0, $6 + 40 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $277 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[$6 >> 2] = $277; HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[$6 >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; $85$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $86$hi = i64toi32_i32$0; i64toi32_i32$0 = $85$hi; i64toi32_i32$0 = $86$hi; i64toi32_i32$0 = $85$hi; i64toi32_i32$0 = $86$hi; i64toi32_i32$0 = $85$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $86$hi; i64toi32_i32$3 = 0; label$6 : { if (((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { break label$6 } __assert_fail(86151 | 0, 72732 | 0, 1409 | 0, 76667 | 0); wasm2js_trap(); } i64toi32_i32$3 = $6; i64toi32_i32$2 = HEAP32[$6 >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; $96$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $97$hi = i64toi32_i32$0; i64toi32_i32$0 = $96$hi; i64toi32_i32$0 = $97$hi; i64toi32_i32$0 = $96$hi; i64toi32_i32$0 = $97$hi; i64toi32_i32$0 = $96$hi; i64toi32_i32$3 = i64toi32_i32$2; i64toi32_i32$2 = $97$hi; i64toi32_i32$1 = 0; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { $15 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { $16 = 0 } else { $16 = 1 } $17 = $16; } else { $17 = 0 } $15 = $17; } HEAP32[($6 + 108 | 0) >> 2] = $15 & 1 | 0 ? 2 : 1; break label$2; } HEAP32[($6 + 108 | 0) >> 2] = 2; break label$2; } label$7 : { if (!((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } HEAP32[($6 + 108 | 0) >> 2] = 1; break label$2; } HEAP32[($6 + 108 | 0) >> 2] = 0; } $117 = HEAP32[($6 + 108 | 0) >> 2] | 0; __stack_pointer = $6 + 112 | 0; return $117 | 0; } function btConvexHullInternal__findEdgeForCoplanarFaces_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $10 = 0, $120$hi = 0, $121$hi = 0, $185$hi = 0, $186$hi = 0, $199$hi = 0, $200$hi = 0, $226$hi = 0, $227$hi = 0, $282$hi = 0, $283$hi = 0, $296$hi = 0, $297$hi = 0, $323$hi = 0, $324$hi = 0, $347$hi = 0, $348$hi = 0, $433$hi = 0, $434$hi = 0, $440$hi = 0, $441$hi = 0, $446$hi = 0, $447$hi = 0, $565$hi = 0, $566$hi = 0, $603$hi = 0, $604$hi = 0, $612$hi = 0, $613$hi = 0, $619$hi = 0, $620$hi = 0, $625$hi = 0, $626$hi = 0, $689$hi = 0, $690$hi = 0, $700$hi = 0, $701$hi = 0, $786$hi = 0, $787$hi = 0, $793$hi = 0, $794$hi = 0, $799$hi = 0, $800$hi = 0, $918$hi = 0, $919$hi = 0, $956$hi = 0, $957$hi = 0, $965$hi = 0, $966$hi = 0, $972$hi = 0, $973$hi = 0, $978$hi = 0, $979$hi = 0, $1042$hi = 0, $1043$hi = 0, $26 = 0, $30 = 0, $31 = 0, $49 = 0, $53 = 0, $54 = 0, $78 = 0, $189 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $239 = 0, $240 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $200 = 0, $201 = 0, $336 = 0, $337 = 0, $344$hi = 0, $345$hi = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $445 = 0, $208 = 0, $209 = 0, $210 = 0, $454 = 0, $455$hi = 0, $456$hi = 0, $460$hi = 0, $461$hi = 0, $483 = 0, $484 = 0, $516 = 0, $211 = 0, $212 = 0, $213 = 0, $611 = 0, $214 = 0, $215 = 0, $216 = 0, $624 = 0, $217 = 0, $218 = 0, $219 = 0, $633 = 0, $634$hi = 0, $635$hi = 0, $639$hi = 0, $640$hi = 0, $666 = 0, $667 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $227 = 0, $228 = 0, $229 = 0, $798 = 0, $230 = 0, $231 = 0, $232 = 0, $807 = 0, $808$hi = 0, $809$hi = 0, $813$hi = 0, $814$hi = 0, $836 = 0, $837 = 0, $869 = 0, $233 = 0, $234 = 0, $235 = 0, $964 = 0, $236 = 0, $237 = 0, $238 = 0, $977 = 0, $241 = 0, $242 = 0, $243 = 0, $986 = 0, $987$hi = 0, $988$hi = 0, $992$hi = 0, $993$hi = 0, $1019 = 0, $1020 = 0, $244 = 0, $245 = 0, $246 = 0, $1127 = 0, $1131 = 0, $1171 = 0, $1175 = 0, $1257 = 0, $120 = 0, $1289 = 0, $1341 = 0, $185 = 0, $1403 = 0, $199 = 0, $1429 = 0, $1470 = 0, $226 = 0, $1478 = 0, $1488 = 0, $1514 = 0, $1518 = 0, $1531 = 0, $282 = 0, $1593 = 0, $296 = 0, $1619 = 0, $1660 = 0, $323 = 0, $1668 = 0, $1678 = 0, $1704 = 0, $1708 = 0, $344 = 0, $1714 = 0, $1717 = 0, $1757 = 0, $1846 = 0, $1877 = 0, $455 = 0, $1921 = 0, $460 = 0, $1933 = 0, $1979 = 0, $1983 = 0, $2011 = 0, $2146 = 0, $2159 = 0, $2190 = 0, $634 = 0, $2247 = 0, $639 = 0, $2259 = 0, $2315 = 0, $2319 = 0, $2323 = 0, $2403 = 0, $2492 = 0, $2523 = 0, $808 = 0, $2567 = 0, $813 = 0, $2579 = 0, $2625 = 0, $2629 = 0, $2657 = 0, $2792 = 0, $2805 = 0, $2836 = 0, $987 = 0, $2893 = 0, $992 = 0, $2905 = 0, $2961 = 0, $2965 = 0, $2969 = 0; $9 = __stack_pointer - 736 | 0; __stack_pointer = $9; HEAP32[($9 + 732 | 0) >> 2] = $0; HEAP32[($9 + 728 | 0) >> 2] = $1; HEAP32[($9 + 724 | 0) >> 2] = $2; HEAP32[($9 + 720 | 0) >> 2] = $3; HEAP32[($9 + 716 | 0) >> 2] = $4; HEAP32[($9 + 712 | 0) >> 2] = $5; HEAP32[($9 + 708 | 0) >> 2] = $6; $10 = HEAP32[($9 + 732 | 0) >> 2] | 0; HEAP32[($9 + 704 | 0) >> 2] = HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($9 + 700 | 0) >> 2] = HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($9 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $26 = (HEAP32[((HEAP32[($9 + 704 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; break label$1; } $26 = (HEAP32[($9 + 728 | 0) >> 2] | 0) + 88 | 0; } $30 = $26; $31 = 8; i64toi32_i32$2 = $30 + $31 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1127 = i64toi32_i32$0; i64toi32_i32$0 = ($9 + 680 | 0) + $31 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1127; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $30; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1131 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 680 | 0) >> 2] = $1131; HEAP32[($9 + 684 | 0) >> 2] = i64toi32_i32$0; label$3 : { label$4 : { if (!((HEAP32[($9 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } $49 = (HEAP32[((HEAP32[($9 + 700 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; break label$3; } $49 = (HEAP32[($9 + 724 | 0) >> 2] | 0) + 88 | 0; } $53 = $49; $54 = 8; i64toi32_i32$2 = $53 + $54 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1171 = i64toi32_i32$0; i64toi32_i32$0 = ($9 + 664 | 0) + $54 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1171; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $53; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1175 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 664 | 0) >> 2] = $1175; HEAP32[($9 + 668 | 0) >> 2] = i64toi32_i32$0; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 648 | 0 | 0, (HEAP32[($9 + 724 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($9 + 728 | 0) >> 2] | 0) + 88 | 0 | 0); label$5 : { label$6 : { if (!((HEAP32[($9 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } $78 = HEAP32[($9 + 704 | 0) >> 2] | 0; break label$5; } $78 = HEAP32[($9 + 700 | 0) >> 2] | 0; } btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 608 | 0 | 0, (HEAP32[($78 + 12 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($9 + 728 | 0) >> 2] | 0) + 88 | 0 | 0); btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($9 + 624 | 0 | 0, $9 + 608 | 0 | 0, $9 + 648 | 0 | 0); i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($9 + 728 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $1257 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 600 | 0) >> 2] = $1257; HEAP32[($9 + 604 | 0) >> 2] = i64toi32_i32$1; label$7 : { if (!((HEAP32[($9 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$7 } i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 700 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $120 = i64toi32_i32$1; $120$hi = i64toi32_i32$0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 600 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 604 | 0) >> 2] | 0; $121$hi = i64toi32_i32$1; i64toi32_i32$1 = $120$hi; i64toi32_i32$1 = $121$hi; i64toi32_i32$1 = $120$hi; i64toi32_i32$1 = $121$hi; $1289 = i64toi32_i32$0; i64toi32_i32$1 = $120$hi; i64toi32_i32$2 = $120; i64toi32_i32$0 = $121$hi; i64toi32_i32$3 = $1289; if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { break label$7 } __assert_fail(86181 | 0, 72732 | 0, 1485 | 0, 70286 | 0); wasm2js_trap(); } btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point64_20const__29_20const($9 + 576 | 0 | 0, $9 + 648 | 0 | 0, $9 + 624 | 0 | 0); label$8 : { if (!((btConvexHullInternal__Point64__isZero_28_29($9 + 576 | 0 | 0) | 0) & 1 | 0)) { break label$8 } __assert_fail(87278 | 0, 72732 | 0, 1487 | 0, 70286 | 0); wasm2js_trap(); } i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 680 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $1341 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 568 | 0) >> 2] = $1341; HEAP32[($9 + 572 | 0) >> 2] = i64toi32_i32$1; label$9 : { if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } label$10 : { label$11 : while (1) { if (!((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 712 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } HEAP32[($9 + 564 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $185 = i64toi32_i32$1; $185$hi = i64toi32_i32$2; i64toi32_i32$3 = $9; i64toi32_i32$2 = HEAP32[($9 + 600 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 604 | 0) >> 2] | 0; $186$hi = i64toi32_i32$1; i64toi32_i32$1 = $185$hi; i64toi32_i32$1 = $186$hi; i64toi32_i32$1 = $185$hi; i64toi32_i32$1 = $186$hi; $1403 = i64toi32_i32$2; i64toi32_i32$1 = $185$hi; i64toi32_i32$3 = $185; i64toi32_i32$2 = $186$hi; i64toi32_i32$0 = $1403; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { $189 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { $190 = 0 } else { $190 = 1 } $191 = $190; } else { $191 = 0 } $189 = $191; } label$12 : { if (!($189 & 1 | 0)) { break label$12 } break label$10; } i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $199 = i64toi32_i32$3; $199$hi = i64toi32_i32$1; i64toi32_i32$0 = $9; i64toi32_i32$1 = HEAP32[($9 + 600 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($9 + 604 | 0) >> 2] | 0; $200$hi = i64toi32_i32$3; i64toi32_i32$3 = $199$hi; i64toi32_i32$3 = $200$hi; i64toi32_i32$3 = $199$hi; i64toi32_i32$3 = $200$hi; $1429 = i64toi32_i32$1; i64toi32_i32$3 = $199$hi; i64toi32_i32$0 = $199; i64toi32_i32$1 = $200$hi; i64toi32_i32$2 = $1429; label$13 : { if (((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0) { break label$13 } __assert_fail(67337 | 0, 72732 | 0, 1503 | 0, 70286 | 0); wasm2js_trap(); } label$14 : { if (!((HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } break label$10; } i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $1470 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 552 | 0) >> 2] = $1470; HEAP32[($9 + 556 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$2 = $9; i64toi32_i32$3 = HEAP32[($9 + 552 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 556 | 0) >> 2] | 0; $226 = i64toi32_i32$3; $226$hi = i64toi32_i32$0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 568 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($9 + 572 | 0) >> 2] | 0; $227$hi = i64toi32_i32$3; i64toi32_i32$3 = $226$hi; i64toi32_i32$3 = $227$hi; i64toi32_i32$3 = $226$hi; i64toi32_i32$3 = $227$hi; $1478 = i64toi32_i32$0; i64toi32_i32$3 = $226$hi; i64toi32_i32$2 = $226; i64toi32_i32$0 = $227$hi; i64toi32_i32$1 = $1478; if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { $192 = 1 } else { if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0) { $193 = 0 } else { $193 = 1 } $194 = $193; } else { $194 = 0 } $192 = $194; } label$15 : { if (!($192 & 1 | 0)) { break label$15 } break label$10; } i64toi32_i32$1 = $9; i64toi32_i32$2 = HEAP32[($9 + 552 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($9 + 556 | 0) >> 2] | 0; $1488 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 568 | 0) >> 2] = $1488; HEAP32[($9 + 572 | 0) >> 2] = i64toi32_i32$3; HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 564 | 0) >> 2] | 0; $239 = (HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; $240 = 8; i64toi32_i32$1 = $239 + $240 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $1514 = i64toi32_i32$3; i64toi32_i32$3 = ($9 + 680 | 0) + $240 | 0; HEAP32[i64toi32_i32$3 >> 2] = $1514; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $239; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $1518 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 680 | 0) >> 2] = $1518; HEAP32[($9 + 684 | 0) >> 2] = i64toi32_i32$3; continue label$11; }; } } i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 664 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $1531 = i64toi32_i32$3; i64toi32_i32$3 = $9; HEAP32[($9 + 544 | 0) >> 2] = $1531; HEAP32[($9 + 548 | 0) >> 2] = i64toi32_i32$2; label$16 : { if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$16 } label$17 : { label$18 : while (1) { if (!((HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 708 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$17 } HEAP32[($9 + 540 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $282 = i64toi32_i32$2; $282$hi = i64toi32_i32$3; i64toi32_i32$1 = $9; i64toi32_i32$3 = HEAP32[($9 + 600 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 604 | 0) >> 2] | 0; $283$hi = i64toi32_i32$2; i64toi32_i32$2 = $282$hi; i64toi32_i32$2 = $283$hi; i64toi32_i32$2 = $282$hi; i64toi32_i32$2 = $283$hi; $1593 = i64toi32_i32$3; i64toi32_i32$2 = $282$hi; i64toi32_i32$1 = $282; i64toi32_i32$3 = $283$hi; i64toi32_i32$0 = $1593; if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { $195 = 1 } else { if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { $196 = 0 } else { $196 = 1 } $197 = $196; } else { $197 = 0 } $195 = $197; } label$19 : { if (!($195 & 1 | 0)) { break label$19 } break label$17; } i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $296 = i64toi32_i32$1; $296$hi = i64toi32_i32$2; i64toi32_i32$0 = $9; i64toi32_i32$2 = HEAP32[($9 + 600 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 604 | 0) >> 2] | 0; $297$hi = i64toi32_i32$1; i64toi32_i32$1 = $296$hi; i64toi32_i32$1 = $297$hi; i64toi32_i32$1 = $296$hi; i64toi32_i32$1 = $297$hi; $1619 = i64toi32_i32$2; i64toi32_i32$1 = $296$hi; i64toi32_i32$0 = $296; i64toi32_i32$2 = $297$hi; i64toi32_i32$3 = $1619; label$20 : { if (((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { break label$20 } __assert_fail(67337 | 0, 72732 | 0, 1529 | 0, 70286 | 0); wasm2js_trap(); } label$21 : { if (!((HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$21 } break label$17; } i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $1660 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 528 | 0) >> 2] = $1660; HEAP32[($9 + 532 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$3 = $9; i64toi32_i32$1 = HEAP32[($9 + 528 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 532 | 0) >> 2] | 0; $323 = i64toi32_i32$1; $323$hi = i64toi32_i32$0; i64toi32_i32$3 = $9; i64toi32_i32$0 = HEAP32[($9 + 544 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 548 | 0) >> 2] | 0; $324$hi = i64toi32_i32$1; i64toi32_i32$1 = $323$hi; i64toi32_i32$1 = $324$hi; i64toi32_i32$1 = $323$hi; i64toi32_i32$1 = $324$hi; $1668 = i64toi32_i32$0; i64toi32_i32$1 = $323$hi; i64toi32_i32$3 = $323; i64toi32_i32$0 = $324$hi; i64toi32_i32$2 = $1668; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { $198 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$3 >>> 0 > i64toi32_i32$2 >>> 0) { $200 = 0 } else { $200 = 1 } $201 = $200; } else { $201 = 0 } $198 = $201; } label$22 : { if (!($198 & 1 | 0)) { break label$22 } break label$17; } i64toi32_i32$2 = $9; i64toi32_i32$3 = HEAP32[($9 + 528 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 532 | 0) >> 2] | 0; $1678 = i64toi32_i32$3; i64toi32_i32$3 = $9; HEAP32[($9 + 544 | 0) >> 2] = $1678; HEAP32[($9 + 548 | 0) >> 2] = i64toi32_i32$1; HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 540 | 0) >> 2] | 0; $336 = (HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; $337 = 8; i64toi32_i32$2 = $336 + $337 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1704 = i64toi32_i32$1; i64toi32_i32$1 = ($9 + 664 | 0) + $337 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1704; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$2 = $336; i64toi32_i32$3 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1708 = i64toi32_i32$3; i64toi32_i32$3 = $9; HEAP32[($9 + 664 | 0) >> 2] = $1708; HEAP32[($9 + 668 | 0) >> 2] = i64toi32_i32$1; continue label$18; }; } } i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 544 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($9 + 548 | 0) >> 2] | 0; $344 = i64toi32_i32$1; $344$hi = i64toi32_i32$3; i64toi32_i32$2 = $9; i64toi32_i32$3 = HEAP32[($9 + 568 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 572 | 0) >> 2] | 0; $345$hi = i64toi32_i32$1; i64toi32_i32$1 = $344$hi; i64toi32_i32$1 = $345$hi; $1714 = i64toi32_i32$3; i64toi32_i32$1 = $344$hi; i64toi32_i32$2 = $344; i64toi32_i32$3 = $345$hi; i64toi32_i32$0 = $1714; i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; $1717 = i64toi32_i32$2 - i64toi32_i32$0 | 0; i64toi32_i32$2 = $9; HEAP32[($9 + 520 | 0) >> 2] = $1717; HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$1 = $9; i64toi32_i32$5 = HEAP32[($9 + 520 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 524 | 0) >> 2] | 0; $347$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $348$hi = i64toi32_i32$2; i64toi32_i32$2 = $347$hi; i64toi32_i32$2 = $348$hi; i64toi32_i32$2 = $347$hi; i64toi32_i32$2 = $348$hi; i64toi32_i32$2 = $347$hi; i64toi32_i32$1 = i64toi32_i32$5; i64toi32_i32$5 = $348$hi; i64toi32_i32$0 = 0; if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { $202 = 1 } else { if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { $203 = 0 } else { $203 = 1 } $204 = $203; } else { $204 = 0 } $202 = $204; } label$23 : { label$24 : { if (!($202 & 1 | 0)) { break label$24 } label$25 : { label$26 : { label$27 : { label$28 : { label$29 : while (1) { btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 496 | 0 | 0, $9 + 664 | 0 | 0, $9 + 680 | 0 | 0); i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 496 | 0 | 0, $9 + 648 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $1757 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 512 | 0) >> 2] = $1757; HEAP32[($9 + 516 | 0) >> 2] = i64toi32_i32$2; label$30 : { if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$30 } if (!((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 712 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$30 } HEAP32[($9 + 492 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$31 : { if (!((HEAP32[((HEAP32[($9 + 492 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$31 } btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 464 | 0 | 0, (HEAP32[((HEAP32[($9 + 492 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 680 | 0 | 0); i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 464 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $1846 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 480 | 0) >> 2] = $1846; HEAP32[($9 + 484 | 0) >> 2] = i64toi32_i32$1; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 440 | 0 | 0, (HEAP32[((HEAP32[($9 + 492 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 680 | 0 | 0); i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 440 | 0 | 0, $9 + 648 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $1877 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 456 | 0) >> 2] = $1877; HEAP32[($9 + 460 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$0 = $9; i64toi32_i32$2 = HEAP32[($9 + 480 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 484 | 0) >> 2] | 0; $433$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $434$hi = i64toi32_i32$1; i64toi32_i32$1 = $433$hi; i64toi32_i32$1 = $434$hi; i64toi32_i32$1 = $433$hi; i64toi32_i32$1 = $434$hi; i64toi32_i32$1 = $433$hi; i64toi32_i32$0 = i64toi32_i32$2; i64toi32_i32$2 = $434$hi; i64toi32_i32$5 = 0; label$32 : { label$33 : { if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { break label$33 } i64toi32_i32$5 = $9; i64toi32_i32$0 = HEAP32[($9 + 456 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 460 | 0) >> 2] | 0; $440$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $441$hi = i64toi32_i32$1; i64toi32_i32$1 = $440$hi; i64toi32_i32$1 = $441$hi; i64toi32_i32$1 = $440$hi; i64toi32_i32$1 = $441$hi; i64toi32_i32$1 = $440$hi; i64toi32_i32$5 = i64toi32_i32$0; i64toi32_i32$0 = $441$hi; i64toi32_i32$2 = 0; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { $205 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$2 >>> 0) { $206 = 0 } else { $206 = 1 } $207 = $206; } else { $207 = 0 } $205 = $207; } $445 = $205; break label$32; } i64toi32_i32$2 = $9; i64toi32_i32$5 = HEAP32[($9 + 480 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 484 | 0) >> 2] | 0; $446$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $447$hi = i64toi32_i32$1; i64toi32_i32$1 = $446$hi; i64toi32_i32$1 = $447$hi; i64toi32_i32$1 = $446$hi; i64toi32_i32$1 = $447$hi; i64toi32_i32$1 = $446$hi; i64toi32_i32$2 = i64toi32_i32$5; i64toi32_i32$5 = $447$hi; i64toi32_i32$0 = 0; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$5 | 0)) { $208 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$5 | 0)) { if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$0 >>> 0) { $209 = 0 } else { $209 = 1 } $210 = $209; } else { $210 = 0 } $208 = $210; } $454 = 0; label$34 : { if (!($208 & 1 | 0)) { break label$34 } i64toi32_i32$0 = $9; i64toi32_i32$2 = HEAP32[($9 + 456 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 460 | 0) >> 2] | 0; $455 = i64toi32_i32$2; $455$hi = i64toi32_i32$1; i64toi32_i32$0 = $9; i64toi32_i32$1 = HEAP32[($9 + 480 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 484 | 0) >> 2] | 0; $456$hi = i64toi32_i32$2; i64toi32_i32$2 = $455$hi; i64toi32_i32$2 = $456$hi; $1921 = i64toi32_i32$1; i64toi32_i32$2 = $455$hi; i64toi32_i32$1 = $456$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 416 | 0 | 0, $455 | 0, i64toi32_i32$2 | 0, $1921 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = $9; i64toi32_i32$1 = HEAP32[($9 + 512 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 516 | 0) >> 2] | 0; $460 = i64toi32_i32$1; $460$hi = i64toi32_i32$2; i64toi32_i32$0 = $9; i64toi32_i32$2 = HEAP32[($9 + 520 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 524 | 0) >> 2] | 0; $461$hi = i64toi32_i32$1; i64toi32_i32$1 = $460$hi; i64toi32_i32$1 = $461$hi; $1933 = i64toi32_i32$2; i64toi32_i32$1 = $460$hi; i64toi32_i32$2 = $461$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 392 | 0 | 0, $460 | 0, i64toi32_i32$1 | 0, $1933 | 0, i64toi32_i32$2 | 0) | 0; $454 = (btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 416 | 0 | 0, $9 + 392 | 0 | 0) | 0 | 0) >= (0 | 0); } $445 = $454; } label$35 : { if (!($445 & 1 | 0)) { break label$35 } $483 = (HEAP32[((HEAP32[($9 + 492 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; $484 = 8; i64toi32_i32$0 = $483 + $484 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $1979 = i64toi32_i32$2; i64toi32_i32$2 = ($9 + 680 | 0) + $484 | 0; HEAP32[i64toi32_i32$2 >> 2] = $1979; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$0 = $483; i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $1983 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 680 | 0) >> 2] = $1983; HEAP32[($9 + 684 | 0) >> 2] = i64toi32_i32$2; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 376 | 0 | 0, $9 + 664 | 0 | 0, $9 + 680 | 0 | 0); i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 376 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $2011 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 520 | 0) >> 2] = $2011; HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$1; label$36 : { label$37 : { if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 704 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$37 } $516 = 0; break label$36; } $516 = HEAP32[($9 + 492 | 0) >> 2] | 0; } HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] = $516; continue label$29; } } } if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$25 } if (!((HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 708 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$25 } HEAP32[($9 + 372 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; if (!((HEAP32[((HEAP32[($9 + 372 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$26 } btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 356 | 0 | 0, (HEAP32[((HEAP32[($9 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 664 | 0 | 0); i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 356 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $565$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $566$hi = i64toi32_i32$2; i64toi32_i32$2 = $565$hi; i64toi32_i32$2 = $566$hi; i64toi32_i32$2 = $565$hi; i64toi32_i32$2 = $566$hi; i64toi32_i32$2 = $565$hi; i64toi32_i32$0 = i64toi32_i32$1; i64toi32_i32$1 = $566$hi; i64toi32_i32$5 = 0; if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { break label$28 } i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 356 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $2146 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 344 | 0) >> 2] = $2146; HEAP32[($9 + 348 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 356 | 0 | 0, $9 + 648 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $2159 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 336 | 0) >> 2] = $2159; HEAP32[($9 + 340 | 0) >> 2] = i64toi32_i32$0; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 312 | 0 | 0, (HEAP32[((HEAP32[($9 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 680 | 0 | 0); i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 312 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $2190 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 328 | 0) >> 2] = $2190; HEAP32[($9 + 332 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$5 = $9; i64toi32_i32$2 = HEAP32[($9 + 328 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 332 | 0) >> 2] | 0; $603$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $604$hi = i64toi32_i32$0; i64toi32_i32$0 = $603$hi; i64toi32_i32$0 = $604$hi; i64toi32_i32$0 = $603$hi; i64toi32_i32$0 = $604$hi; i64toi32_i32$0 = $603$hi; i64toi32_i32$5 = i64toi32_i32$2; i64toi32_i32$2 = $604$hi; i64toi32_i32$1 = 0; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { $211 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { $212 = 0 } else { $212 = 1 } $213 = $212; } else { $213 = 0 } $211 = $213; } $611 = 0; label$38 : { if (!($211 & 1 | 0)) { break label$38 } i64toi32_i32$1 = $9; i64toi32_i32$5 = HEAP32[($9 + 344 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 348 | 0) >> 2] | 0; $612$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $613$hi = i64toi32_i32$0; i64toi32_i32$0 = $612$hi; i64toi32_i32$0 = $613$hi; i64toi32_i32$0 = $612$hi; i64toi32_i32$0 = $613$hi; i64toi32_i32$0 = $612$hi; i64toi32_i32$1 = i64toi32_i32$5; i64toi32_i32$5 = $613$hi; i64toi32_i32$2 = 0; label$39 : { label$40 : { if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { break label$40 } i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 336 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 340 | 0) >> 2] | 0; $619$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $620$hi = i64toi32_i32$0; i64toi32_i32$0 = $619$hi; i64toi32_i32$0 = $620$hi; i64toi32_i32$0 = $619$hi; i64toi32_i32$0 = $620$hi; i64toi32_i32$0 = $619$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $620$hi; i64toi32_i32$5 = 0; if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { $214 = 1 } else { if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$5 >>> 0) { $215 = 0 } else { $215 = 1 } $216 = $215; } else { $216 = 0 } $214 = $216; } $624 = $214; break label$39; } i64toi32_i32$5 = $9; i64toi32_i32$2 = HEAP32[($9 + 344 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 348 | 0) >> 2] | 0; $625$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $626$hi = i64toi32_i32$0; i64toi32_i32$0 = $625$hi; i64toi32_i32$0 = $626$hi; i64toi32_i32$0 = $625$hi; i64toi32_i32$0 = $626$hi; i64toi32_i32$0 = $625$hi; i64toi32_i32$5 = i64toi32_i32$2; i64toi32_i32$2 = $626$hi; i64toi32_i32$1 = 0; if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { $217 = 1 } else { if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$1 >>> 0) { $218 = 0 } else { $218 = 1 } $219 = $218; } else { $219 = 0 } $217 = $219; } $633 = 0; label$41 : { if (!($217 & 1 | 0)) { break label$41 } i64toi32_i32$1 = $9; i64toi32_i32$5 = HEAP32[($9 + 336 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 340 | 0) >> 2] | 0; $634 = i64toi32_i32$5; $634$hi = i64toi32_i32$0; i64toi32_i32$1 = $9; i64toi32_i32$0 = HEAP32[($9 + 344 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[($9 + 348 | 0) >> 2] | 0; $635$hi = i64toi32_i32$5; i64toi32_i32$5 = $634$hi; i64toi32_i32$5 = $635$hi; $2247 = i64toi32_i32$0; i64toi32_i32$5 = $634$hi; i64toi32_i32$0 = $635$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 288 | 0 | 0, $634 | 0, i64toi32_i32$5 | 0, $2247 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$1 = $9; i64toi32_i32$0 = HEAP32[($9 + 512 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[($9 + 516 | 0) >> 2] | 0; $639 = i64toi32_i32$0; $639$hi = i64toi32_i32$5; i64toi32_i32$1 = $9; i64toi32_i32$5 = HEAP32[($9 + 520 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 524 | 0) >> 2] | 0; $640$hi = i64toi32_i32$0; i64toi32_i32$0 = $639$hi; i64toi32_i32$0 = $640$hi; $2259 = i64toi32_i32$5; i64toi32_i32$0 = $639$hi; i64toi32_i32$5 = $640$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 264 | 0 | 0, $639 | 0, i64toi32_i32$0 | 0, $2259 | 0, i64toi32_i32$5 | 0) | 0; $633 = (btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 288 | 0 | 0, $9 + 264 | 0 | 0) | 0 | 0) > (0 | 0); } $624 = $633; } $611 = $624; } label$42 : { if (!($611 & 1 | 0)) { break label$42 } HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 372 | 0) >> 2] | 0; $666 = (HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; $667 = 8; i64toi32_i32$1 = $666 + $667 | 0; i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $2315 = i64toi32_i32$5; i64toi32_i32$5 = ($9 + 664 | 0) + $667 | 0; HEAP32[i64toi32_i32$5 >> 2] = $2315; HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $666; i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $2319 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 664 | 0) >> 2] = $2319; HEAP32[($9 + 668 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$1 = $9; i64toi32_i32$5 = HEAP32[($9 + 328 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 332 | 0) >> 2] | 0; $2323 = i64toi32_i32$5; i64toi32_i32$5 = $9; HEAP32[($9 + 520 | 0) >> 2] = $2323; HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$0; continue label$29; } break label$29; }; break label$27; } label$43 : { label$44 : { if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 700 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$44 } i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 356 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $689$hi = i64toi32_i32$5; i64toi32_i32$5 = 0; $690$hi = i64toi32_i32$5; i64toi32_i32$5 = $689$hi; i64toi32_i32$5 = $690$hi; i64toi32_i32$5 = $689$hi; i64toi32_i32$5 = $690$hi; i64toi32_i32$5 = $689$hi; i64toi32_i32$1 = i64toi32_i32$0; i64toi32_i32$0 = $690$hi; i64toi32_i32$2 = 0; if ((i64toi32_i32$5 | 0) < (i64toi32_i32$0 | 0)) { $220 = 1 } else { if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { $221 = 0 } else { $221 = 1 } $222 = $221; } else { $222 = 0 } $220 = $222; } if ($220 & 1 | 0) { break label$43 } } __assert_fail(86764 | 0, 72732 | 0, 1594 | 0, 70286 | 0); wasm2js_trap(); } } } } break label$23; } i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 520 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[($9 + 524 | 0) >> 2] | 0; $700$hi = i64toi32_i32$5; i64toi32_i32$5 = 0; $701$hi = i64toi32_i32$5; i64toi32_i32$5 = $700$hi; i64toi32_i32$5 = $701$hi; i64toi32_i32$5 = $700$hi; i64toi32_i32$5 = $701$hi; i64toi32_i32$5 = $700$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $701$hi; i64toi32_i32$0 = 0; if ((i64toi32_i32$5 | 0) < (i64toi32_i32$1 | 0)) { $223 = 1 } else { if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$0 >>> 0) { $224 = 0 } else { $224 = 1 } $225 = $224; } else { $225 = 0 } $223 = $225; } label$45 : { if (!($223 & 1 | 0)) { break label$45 } label$46 : { label$47 : { label$48 : { label$49 : { label$50 : while (1) { btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 240 | 0 | 0, $9 + 664 | 0 | 0, $9 + 680 | 0 | 0); i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 240 | 0 | 0, $9 + 648 | 0 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $2403 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 256 | 0) >> 2] = $2403; HEAP32[($9 + 260 | 0) >> 2] = i64toi32_i32$5; label$51 : { if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$51 } if (!((HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 708 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$51 } HEAP32[($9 + 236 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$52 : { if (!((HEAP32[((HEAP32[($9 + 236 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$52 } btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 208 | 0 | 0, (HEAP32[((HEAP32[($9 + 236 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 664 | 0 | 0); i64toi32_i32$5 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 208 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $2492 = i64toi32_i32$5; i64toi32_i32$5 = $9; HEAP32[($9 + 224 | 0) >> 2] = $2492; HEAP32[($9 + 228 | 0) >> 2] = i64toi32_i32$2; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 184 | 0 | 0, (HEAP32[((HEAP32[($9 + 236 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 664 | 0 | 0); i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 184 | 0 | 0, $9 + 648 | 0 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $2523 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 200 | 0) >> 2] = $2523; HEAP32[($9 + 204 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$0 = $9; i64toi32_i32$5 = HEAP32[($9 + 224 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 228 | 0) >> 2] | 0; $786$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $787$hi = i64toi32_i32$2; i64toi32_i32$2 = $786$hi; i64toi32_i32$2 = $787$hi; i64toi32_i32$2 = $786$hi; i64toi32_i32$2 = $787$hi; i64toi32_i32$2 = $786$hi; i64toi32_i32$0 = i64toi32_i32$5; i64toi32_i32$5 = $787$hi; i64toi32_i32$1 = 0; label$53 : { label$54 : { if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { break label$54 } i64toi32_i32$1 = $9; i64toi32_i32$0 = HEAP32[($9 + 200 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 204 | 0) >> 2] | 0; $793$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $794$hi = i64toi32_i32$2; i64toi32_i32$2 = $793$hi; i64toi32_i32$2 = $794$hi; i64toi32_i32$2 = $793$hi; i64toi32_i32$2 = $794$hi; i64toi32_i32$2 = $793$hi; i64toi32_i32$1 = i64toi32_i32$0; i64toi32_i32$0 = $794$hi; i64toi32_i32$5 = 0; if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { $227 = 1 } else { if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$5 >>> 0) { $228 = 0 } else { $228 = 1 } $229 = $228; } else { $229 = 0 } $227 = $229; } $798 = $227; break label$53; } i64toi32_i32$5 = $9; i64toi32_i32$1 = HEAP32[($9 + 224 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 228 | 0) >> 2] | 0; $799$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $800$hi = i64toi32_i32$2; i64toi32_i32$2 = $799$hi; i64toi32_i32$2 = $800$hi; i64toi32_i32$2 = $799$hi; i64toi32_i32$2 = $800$hi; i64toi32_i32$2 = $799$hi; i64toi32_i32$5 = i64toi32_i32$1; i64toi32_i32$1 = $800$hi; i64toi32_i32$0 = 0; if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { $230 = 1 } else { if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { $231 = 0 } else { $231 = 1 } $232 = $231; } else { $232 = 0 } $230 = $232; } $807 = 0; label$55 : { if (!($230 & 1 | 0)) { break label$55 } i64toi32_i32$0 = $9; i64toi32_i32$5 = HEAP32[($9 + 200 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 204 | 0) >> 2] | 0; $808 = i64toi32_i32$5; $808$hi = i64toi32_i32$2; i64toi32_i32$0 = $9; i64toi32_i32$2 = HEAP32[($9 + 224 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[($9 + 228 | 0) >> 2] | 0; $809$hi = i64toi32_i32$5; i64toi32_i32$5 = $808$hi; i64toi32_i32$5 = $809$hi; $2567 = i64toi32_i32$2; i64toi32_i32$5 = $808$hi; i64toi32_i32$2 = $809$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 160 | 0 | 0, $808 | 0, i64toi32_i32$5 | 0, $2567 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$0 = $9; i64toi32_i32$2 = HEAP32[($9 + 256 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[($9 + 260 | 0) >> 2] | 0; $813 = i64toi32_i32$2; $813$hi = i64toi32_i32$5; i64toi32_i32$0 = $9; i64toi32_i32$5 = HEAP32[($9 + 520 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 524 | 0) >> 2] | 0; $814$hi = i64toi32_i32$2; i64toi32_i32$2 = $813$hi; i64toi32_i32$2 = $814$hi; $2579 = i64toi32_i32$5; i64toi32_i32$2 = $813$hi; i64toi32_i32$5 = $814$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 136 | 0 | 0, $813 | 0, i64toi32_i32$2 | 0, $2579 | 0, i64toi32_i32$5 | 0) | 0; $807 = (btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 160 | 0 | 0, $9 + 136 | 0 | 0) | 0 | 0) <= (0 | 0); } $798 = $807; } label$56 : { if (!($798 & 1 | 0)) { break label$56 } $836 = (HEAP32[((HEAP32[($9 + 236 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; $837 = 8; i64toi32_i32$0 = $836 + $837 | 0; i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $2625 = i64toi32_i32$5; i64toi32_i32$5 = ($9 + 664 | 0) + $837 | 0; HEAP32[i64toi32_i32$5 >> 2] = $2625; HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$0 = $836; i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $2629 = i64toi32_i32$2; i64toi32_i32$2 = $9; HEAP32[($9 + 664 | 0) >> 2] = $2629; HEAP32[($9 + 668 | 0) >> 2] = i64toi32_i32$5; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 120 | 0 | 0, $9 + 664 | 0 | 0, $9 + 680 | 0 | 0); i64toi32_i32$5 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 120 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $2657 = i64toi32_i32$5; i64toi32_i32$5 = $9; HEAP32[($9 + 520 | 0) >> 2] = $2657; HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$2; label$57 : { label$58 : { if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 700 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$58 } $869 = 0; break label$57; } $869 = HEAP32[($9 + 236 | 0) >> 2] | 0; } HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] = $869; continue label$50; } } } if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$46 } if (!((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 712 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$46 } HEAP32[($9 + 116 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; if (!((HEAP32[((HEAP32[($9 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$47 } btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 100 | 0 | 0, (HEAP32[((HEAP32[($9 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 680 | 0 | 0); i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 100 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $918$hi = i64toi32_i32$5; i64toi32_i32$5 = 0; $919$hi = i64toi32_i32$5; i64toi32_i32$5 = $918$hi; i64toi32_i32$5 = $919$hi; i64toi32_i32$5 = $918$hi; i64toi32_i32$5 = $919$hi; i64toi32_i32$5 = $918$hi; i64toi32_i32$0 = i64toi32_i32$2; i64toi32_i32$2 = $919$hi; i64toi32_i32$1 = 0; if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { break label$49 } i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 100 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $2792 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 88 | 0) >> 2] = $2792; HEAP32[($9 + 92 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$5 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 100 | 0 | 0, $9 + 648 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $2805 = i64toi32_i32$5; i64toi32_i32$5 = $9; HEAP32[($9 + 80 | 0) >> 2] = $2805; HEAP32[($9 + 84 | 0) >> 2] = i64toi32_i32$0; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 56 | 0 | 0, $9 + 664 | 0 | 0, (HEAP32[((HEAP32[($9 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0); i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 56 | 0 | 0, $9 + 576 | 0 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $2836 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 72 | 0) >> 2] = $2836; HEAP32[($9 + 76 | 0) >> 2] = i64toi32_i32$5; i64toi32_i32$1 = $9; i64toi32_i32$5 = HEAP32[($9 + 72 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 76 | 0) >> 2] | 0; $956$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $957$hi = i64toi32_i32$0; i64toi32_i32$0 = $956$hi; i64toi32_i32$0 = $957$hi; i64toi32_i32$0 = $956$hi; i64toi32_i32$0 = $957$hi; i64toi32_i32$0 = $956$hi; i64toi32_i32$1 = i64toi32_i32$5; i64toi32_i32$5 = $957$hi; i64toi32_i32$2 = 0; if ((i64toi32_i32$0 | 0) < (i64toi32_i32$5 | 0)) { $233 = 1 } else { if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$5 | 0)) { if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { $234 = 0 } else { $234 = 1 } $235 = $234; } else { $235 = 0 } $233 = $235; } $964 = 0; label$59 : { if (!($233 & 1 | 0)) { break label$59 } i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 88 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 92 | 0) >> 2] | 0; $965$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $966$hi = i64toi32_i32$0; i64toi32_i32$0 = $965$hi; i64toi32_i32$0 = $966$hi; i64toi32_i32$0 = $965$hi; i64toi32_i32$0 = $966$hi; i64toi32_i32$0 = $965$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $966$hi; i64toi32_i32$5 = 0; label$60 : { label$61 : { if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { break label$61 } i64toi32_i32$5 = $9; i64toi32_i32$2 = HEAP32[($9 + 80 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 84 | 0) >> 2] | 0; $972$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $973$hi = i64toi32_i32$0; i64toi32_i32$0 = $972$hi; i64toi32_i32$0 = $973$hi; i64toi32_i32$0 = $972$hi; i64toi32_i32$0 = $973$hi; i64toi32_i32$0 = $972$hi; i64toi32_i32$5 = i64toi32_i32$2; i64toi32_i32$2 = $973$hi; i64toi32_i32$1 = 0; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { $236 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { $237 = 0 } else { $237 = 1 } $238 = $237; } else { $238 = 0 } $236 = $238; } $977 = $236; break label$60; } i64toi32_i32$1 = $9; i64toi32_i32$5 = HEAP32[($9 + 88 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 92 | 0) >> 2] | 0; $978$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $979$hi = i64toi32_i32$0; i64toi32_i32$0 = $978$hi; i64toi32_i32$0 = $979$hi; i64toi32_i32$0 = $978$hi; i64toi32_i32$0 = $979$hi; i64toi32_i32$0 = $978$hi; i64toi32_i32$1 = i64toi32_i32$5; i64toi32_i32$5 = $979$hi; i64toi32_i32$2 = 0; if ((i64toi32_i32$0 | 0) < (i64toi32_i32$5 | 0)) { $241 = 1 } else { if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$5 | 0)) { if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { $242 = 0 } else { $242 = 1 } $243 = $242; } else { $243 = 0 } $241 = $243; } $986 = 0; label$62 : { if (!($241 & 1 | 0)) { break label$62 } i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 80 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 84 | 0) >> 2] | 0; $987 = i64toi32_i32$1; $987$hi = i64toi32_i32$0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 88 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 92 | 0) >> 2] | 0; $988$hi = i64toi32_i32$1; i64toi32_i32$1 = $987$hi; i64toi32_i32$1 = $988$hi; $2893 = i64toi32_i32$0; i64toi32_i32$1 = $987$hi; i64toi32_i32$0 = $988$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 32 | 0 | 0, $987 | 0, i64toi32_i32$1 | 0, $2893 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 256 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 260 | 0) >> 2] | 0; $992 = i64toi32_i32$0; $992$hi = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 520 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 524 | 0) >> 2] | 0; $993$hi = i64toi32_i32$0; i64toi32_i32$0 = $992$hi; i64toi32_i32$0 = $993$hi; $2905 = i64toi32_i32$1; i64toi32_i32$0 = $992$hi; i64toi32_i32$1 = $993$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 8 | 0 | 0, $992 | 0, i64toi32_i32$0 | 0, $2905 | 0, i64toi32_i32$1 | 0) | 0; $986 = (btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 32 | 0 | 0, $9 + 8 | 0 | 0) | 0 | 0) < (0 | 0); } $977 = $986; } $964 = $977; } label$63 : { if (!($964 & 1 | 0)) { break label$63 } HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 116 | 0) >> 2] | 0; $1019 = (HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; $1020 = 8; i64toi32_i32$2 = $1019 + $1020 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2961 = i64toi32_i32$1; i64toi32_i32$1 = ($9 + 680 | 0) + $1020 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2961; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $1019; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2965 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[($9 + 680 | 0) >> 2] = $2965; HEAP32[($9 + 684 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 72 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 76 | 0) >> 2] | 0; $2969 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 520 | 0) >> 2] = $2969; HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$0; continue label$50; } break label$50; }; break label$48; } label$64 : { label$65 : { if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 704 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$65 } i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 100 | 0 | 0, $9 + 624 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $1042$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $1043$hi = i64toi32_i32$1; i64toi32_i32$1 = $1042$hi; i64toi32_i32$1 = $1043$hi; i64toi32_i32$1 = $1042$hi; i64toi32_i32$1 = $1043$hi; i64toi32_i32$1 = $1042$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $1043$hi; i64toi32_i32$5 = 0; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { $244 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$5 >>> 0) { $245 = 0 } else { $245 = 1 } $246 = $245; } else { $246 = 0 } $244 = $246; } if ($244 & 1 | 0) { break label$64 } } __assert_fail(86803 | 0, 72732 | 0, 1646 | 0, 70286 | 0); wasm2js_trap(); } } } } } } __stack_pointer = $9 + 736 | 0; return; } function btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($0 | 0, (HEAP32[$6 >> 2] | 0) - (HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return; } function btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $5 = 0, $6 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $7$hi = 0, $8$hi = 0, $16$hi = 0, $17$hi = 0, i64toi32_i32$6 = 0, $29$hi = 0, $30$hi = 0, $37$hi = 0, $38$hi = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $24$hi = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $47$hi = 0, $83 = 0, $100$hi = 0, $101 = 0, $124 = 0, $146$hi = 0, $147 = 0; $5 = __stack_pointer - 32 | 0; HEAP32[($5 + 24 | 0) >> 2] = $0; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = $2$hi; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $2; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; $6 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = $6; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; $7$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $8$hi = i64toi32_i32$1; i64toi32_i32$1 = $7$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $7$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $7$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $8$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { $30 = 1 } else { if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { $31 = 0 } else { $31 = 1 } $32 = $31; } else { $32 = 0 } $30 = $32; } label$1 : { label$2 : { if (!($30 & 1 | 0)) { break label$2 } HEAP32[($6 + 16 | 0) >> 2] = 1; i64toi32_i32$3 = $5; i64toi32_i32$2 = HEAP32[($5 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 20 | 0) >> 2] | 0; $83 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[i64toi32_i32$2 >> 2] = $83; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; break label$1; } i64toi32_i32$3 = $5; i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; $16$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $17$hi = i64toi32_i32$2; i64toi32_i32$2 = $16$hi; i64toi32_i32$2 = $17$hi; i64toi32_i32$2 = $16$hi; i64toi32_i32$2 = $17$hi; i64toi32_i32$2 = $16$hi; i64toi32_i32$3 = i64toi32_i32$1; i64toi32_i32$1 = $17$hi; i64toi32_i32$0 = 0; if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { $33 = 1 } else { if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { $34 = 0 } else { $34 = 1 } $35 = $34; } else { $35 = 0 } $33 = $35; } label$3 : { label$4 : { if (!($33 & 1 | 0)) { break label$4 } HEAP32[($6 + 16 | 0) >> 2] = -1; i64toi32_i32$0 = $5; i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; $24$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $100$hi = i64toi32_i32$2; i64toi32_i32$2 = $24$hi; $101 = i64toi32_i32$3; i64toi32_i32$2 = $100$hi; i64toi32_i32$0 = 0; i64toi32_i32$3 = $24$hi; i64toi32_i32$1 = $101; i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$1 | 0; i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; i64toi32_i32$0 = $6; HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$4; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; break label$3; } HEAP32[($6 + 16 | 0) >> 2] = 0; i64toi32_i32$5 = 0; i64toi32_i32$0 = $6; HEAP32[i64toi32_i32$0 >> 2] = 0; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; } } i64toi32_i32$2 = $5; i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $29$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $30$hi = i64toi32_i32$0; i64toi32_i32$0 = $29$hi; i64toi32_i32$0 = $30$hi; i64toi32_i32$0 = $29$hi; i64toi32_i32$0 = $30$hi; i64toi32_i32$0 = $29$hi; i64toi32_i32$2 = i64toi32_i32$5; i64toi32_i32$5 = $30$hi; i64toi32_i32$1 = 0; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$5 | 0)) { $36 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$5 | 0)) { if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { $37 = 0 } else { $37 = 1 } $38 = $37; } else { $38 = 0 } $36 = $38; } label$5 : { label$6 : { if (!($36 & 1 | 0)) { break label$6 } i64toi32_i32$1 = $5; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; $124 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $124; HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$0; break label$5; } i64toi32_i32$1 = $5; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; $37$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $38$hi = i64toi32_i32$2; i64toi32_i32$2 = $37$hi; i64toi32_i32$2 = $38$hi; i64toi32_i32$2 = $37$hi; i64toi32_i32$2 = $38$hi; i64toi32_i32$2 = $37$hi; i64toi32_i32$1 = i64toi32_i32$0; i64toi32_i32$0 = $38$hi; i64toi32_i32$5 = 0; if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { $39 = 1 } else { if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { $40 = 0 } else { $40 = 1 } $41 = $40; } else { $41 = 0 } $39 = $41; } label$7 : { label$8 : { if (!($39 & 1 | 0)) { break label$8 } HEAP32[($6 + 16 | 0) >> 2] = 0 - (HEAP32[($6 + 16 | 0) >> 2] | 0) | 0; i64toi32_i32$5 = $5; i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; $47$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $146$hi = i64toi32_i32$2; i64toi32_i32$2 = $47$hi; $147 = i64toi32_i32$1; i64toi32_i32$2 = $146$hi; i64toi32_i32$5 = 0; i64toi32_i32$1 = $47$hi; i64toi32_i32$0 = $147; i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$0 | 0; i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0; i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; i64toi32_i32$5 = $6; HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$3; HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$4; break label$7; } i64toi32_i32$4 = 0; i64toi32_i32$5 = $6; HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = 0; HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$4; } } return HEAP32[($5 + 28 | 0) >> 2] | 0 | 0; } function btConvexHullInternal__findMaxAngle_28bool_2c_20btConvexHullInternal__Vertex_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Rational64__29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $62$hi = 0, $63$hi = 0, $73$hi = 0, $74$hi = 0, $40$hi = 0, $45$hi = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $91 = 0, $93 = 0, $99 = 0, $110 = 0, $117 = 0, $119 = 0, $125 = 0, $11 = 0, $40 = 0, $263 = 0, $340 = 0, $366 = 0, $397 = 0, $423 = 0, $165 = 0; $9 = __stack_pointer - 96 | 0; __stack_pointer = $9; HEAP32[($9 + 92 | 0) >> 2] = $0; HEAP8[($9 + 91 | 0) >> 0] = $1; HEAP32[($9 + 84 | 0) >> 2] = $2; HEAP32[($9 + 80 | 0) >> 2] = $3; HEAP32[($9 + 76 | 0) >> 2] = $4; HEAP32[($9 + 72 | 0) >> 2] = $5; HEAP32[($9 + 68 | 0) >> 2] = $6; $11 = HEAP32[($9 + 92 | 0) >> 2] | 0; HEAP32[($9 + 64 | 0) >> 2] = 0; HEAP32[($9 + 60 | 0) >> 2] = HEAP32[((HEAP32[($9 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($9 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : while (1) { label$3 : { if (!((HEAP32[((HEAP32[($9 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($11 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($9 + 44 | 0 | 0, HEAP32[((HEAP32[($9 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($9 + 84 | 0) >> 2] | 0 | 0); i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 44 | 0 | 0, HEAP32[($9 + 72 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $40 = i64toi32_i32$0; $40$hi = i64toi32_i32$1; i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 44 | 0 | 0, HEAP32[($9 + 76 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $45$hi = i64toi32_i32$0; i64toi32_i32$0 = $40$hi; i64toi32_i32$0 = $45$hi; $263 = i64toi32_i32$1; i64toi32_i32$0 = $40$hi; i64toi32_i32$1 = $45$hi; btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 16 | 0 | 0, $40 | 0, i64toi32_i32$0 | 0, $263 | 0, i64toi32_i32$1 | 0) | 0; label$4 : { label$5 : { if (!((btConvexHullInternal__Rational64__isNaN_28_29_20const($9 + 16 | 0 | 0) | 0) & 1 | 0)) { break label$5 } label$6 : { label$7 : { label$8 : { if (!((HEAPU8[($9 + 91 | 0) >> 0] | 0) & 1 | 0)) { break label$8 } i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 44 | 0 | 0, HEAP32[($9 + 80 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $62$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $63$hi = i64toi32_i32$0; i64toi32_i32$0 = $62$hi; i64toi32_i32$0 = $63$hi; i64toi32_i32$0 = $62$hi; i64toi32_i32$0 = $63$hi; i64toi32_i32$0 = $62$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $63$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { $33 = 1 } else { if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { $34 = 0 } else { $34 = 1 } $35 = $34; } else { $35 = 0 } $33 = $35; } if ($33 & 1 | 0) { break label$6 } break label$7; } i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 44 | 0 | 0, HEAP32[($9 + 80 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $73$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $74$hi = i64toi32_i32$0; i64toi32_i32$0 = $73$hi; i64toi32_i32$0 = $74$hi; i64toi32_i32$0 = $73$hi; i64toi32_i32$0 = $74$hi; i64toi32_i32$0 = $73$hi; i64toi32_i32$3 = i64toi32_i32$2; i64toi32_i32$2 = $74$hi; i64toi32_i32$1 = 0; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { $36 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { $37 = 0 } else { $37 = 1 } $38 = $37; } else { $38 = 0 } $36 = $38; } if ($36 & 1 | 0) { break label$6 } } __assert_fail(86726 | 0, 72732 | 0, 1446 | 0, 81886 | 0); wasm2js_trap(); } break label$4; } label$9 : { label$10 : { if (!((HEAP32[($9 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { break label$10 } $91 = HEAP32[($9 + 68 | 0) >> 2] | 0; i64toi32_i32$1 = $9; i64toi32_i32$3 = HEAP32[($9 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 20 | 0) >> 2] | 0; $340 = i64toi32_i32$3; i64toi32_i32$3 = $91; HEAP32[i64toi32_i32$3 >> 2] = $340; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; $93 = 16; HEAP32[(i64toi32_i32$3 + $93 | 0) >> 2] = HEAP32[(($9 + 16 | 0) + $93 | 0) >> 2] | 0; $99 = 8; i64toi32_i32$1 = ($9 + 16 | 0) + $99 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $366 = i64toi32_i32$0; i64toi32_i32$0 = $91 + $99 | 0; HEAP32[i64toi32_i32$0 >> 2] = $366; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; HEAP32[($9 + 64 | 0) >> 2] = HEAP32[($9 + 60 | 0) >> 2] | 0; break label$9; } $110 = btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 16 | 0 | 0, HEAP32[($9 + 68 | 0) >> 2] | 0 | 0) | 0; HEAP32[($9 + 12 | 0) >> 2] = $110; label$11 : { label$12 : { if (!(($110 | 0) < (0 | 0) & 1 | 0)) { break label$12 } $117 = HEAP32[($9 + 68 | 0) >> 2] | 0; i64toi32_i32$1 = $9; i64toi32_i32$3 = HEAP32[($9 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 20 | 0) >> 2] | 0; $397 = i64toi32_i32$3; i64toi32_i32$3 = $117; HEAP32[i64toi32_i32$3 >> 2] = $397; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; $119 = 16; HEAP32[(i64toi32_i32$3 + $119 | 0) >> 2] = HEAP32[(($9 + 16 | 0) + $119 | 0) >> 2] | 0; $125 = 8; i64toi32_i32$1 = ($9 + 16 | 0) + $125 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $423 = i64toi32_i32$0; i64toi32_i32$0 = $117 + $125 | 0; HEAP32[i64toi32_i32$0 >> 2] = $423; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; HEAP32[($9 + 64 | 0) >> 2] = HEAP32[($9 + 60 | 0) >> 2] | 0; break label$11; } label$13 : { if (HEAP32[($9 + 12 | 0) >> 2] | 0) { break label$13 } if (!(((HEAPU8[($9 + 91 | 0) >> 0] | 0) & 1 | 0 | 0) == ((btConvexHullInternal__getOrientation_28btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29(HEAP32[($9 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9 + 80 | 0) >> 2] | 0 | 0, $9 + 44 | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0 | 0) & 1 | 0)) { break label$13 } HEAP32[($9 + 64 | 0) >> 2] = HEAP32[($9 + 60 | 0) >> 2] | 0; } } } } } HEAP32[($9 + 60 | 0) >> 2] = HEAP32[(HEAP32[($9 + 60 | 0) >> 2] | 0) >> 2] | 0; if ((HEAP32[($9 + 60 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($9 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$2 } break label$2; }; } $165 = HEAP32[($9 + 64 | 0) >> 2] | 0; __stack_pointer = $9 + 96 | 0; return $165 | 0; } function btConvexHullInternal__Rational64__isNegativeInfinity_28_29_20const($0) { $0 = $0 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $14$hi = 0, $15$hi = 0, $3 = 0, $4 = 0, $13 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $13 = 0; label$1 : { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$1 } i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $14$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $15$hi = i64toi32_i32$1; i64toi32_i32$1 = $14$hi; i64toi32_i32$1 = $15$hi; i64toi32_i32$1 = $14$hi; i64toi32_i32$1 = $15$hi; i64toi32_i32$1 = $14$hi; i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; $13 = (i64toi32_i32$2 | 0) == (0 | 0) & ($14$hi | 0) == ($15$hi | 0) | 0; } return $13 & 1 | 0 | 0; } function btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } } __assert_fail(68437 | 0, 72732 | 0, 784 | 0, 71040 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[(HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[((HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; break label$3; } HEAP32[((HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[$4 >> 2] | 0) >> 2] | 0; label$5 : { label$6 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[$4 >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[(HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; break label$5; } HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; } btConvexHullInternal__Pool_btConvexHullInternal__Edge___freeObject_28btConvexHullInternal__Edge__29($5 + 48 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btConvexHullInternal__Pool_btConvexHullInternal__Edge___freeObject_28btConvexHullInternal__Edge__29($5 + 48 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); HEAP32[($5 + 116 | 0) >> 2] = (HEAP32[($5 + 116 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__Point64__dot_28btConvexHullInternal__Point64_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $4 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $5 = 0, $6$hi = 0, $8$hi = 0, $9$hi = 0, $10$hi = 0, $12$hi = 0, $13$hi = 0, $14$hi = 0, $15$hi = 0, $17$hi = 0, $18$hi = 0, $6 = 0, $37 = 0, $9 = 0, $10 = 0, $46 = 0, $49 = 0, $15 = 0, $58 = 0, $61 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $6 = i64toi32_i32$0; $6$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $8$hi = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$0 = $8$hi; $37 = i64toi32_i32$1; i64toi32_i32$0 = $6$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = __wasm_i64_mul($6 | 0, i64toi32_i32$0 | 0, $37 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $9 = i64toi32_i32$1; $9$hi = i64toi32_i32$0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $10 = i64toi32_i32$0; $10$hi = i64toi32_i32$1; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $12$hi = i64toi32_i32$0; i64toi32_i32$0 = $10$hi; i64toi32_i32$0 = $12$hi; $46 = i64toi32_i32$1; i64toi32_i32$0 = $10$hi; i64toi32_i32$1 = $12$hi; i64toi32_i32$1 = __wasm_i64_mul($10 | 0, i64toi32_i32$0 | 0, $46 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $13$hi = i64toi32_i32$0; i64toi32_i32$0 = $9$hi; i64toi32_i32$0 = $13$hi; $49 = i64toi32_i32$1; i64toi32_i32$0 = $9$hi; i64toi32_i32$2 = $9; i64toi32_i32$1 = $13$hi; i64toi32_i32$3 = $49; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } $14$hi = i64toi32_i32$5; i64toi32_i32$0 = $5; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; $15 = i64toi32_i32$5; $15$hi = i64toi32_i32$2; i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; $17$hi = i64toi32_i32$5; i64toi32_i32$5 = $15$hi; i64toi32_i32$5 = $17$hi; $58 = i64toi32_i32$2; i64toi32_i32$5 = $15$hi; i64toi32_i32$2 = $17$hi; i64toi32_i32$2 = __wasm_i64_mul($15 | 0, i64toi32_i32$5 | 0, $58 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $18$hi = i64toi32_i32$5; i64toi32_i32$5 = $14$hi; i64toi32_i32$5 = $18$hi; $61 = i64toi32_i32$2; i64toi32_i32$5 = $14$hi; i64toi32_i32$0 = i64toi32_i32$4; i64toi32_i32$2 = $18$hi; i64toi32_i32$3 = $61; i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } i64toi32_i32$0 = i64toi32_i32$1; i64toi32_i32$HIGH_BITS = i64toi32_i32$4; return i64toi32_i32$0 | 0; } function btConvexHullInternal__Point64__Point64_28long_20long_2c_20long_20long_2c_20long_20long_29($0, $1, $1$hi, $2, $2$hi, $3, $3$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; $3 = $3 | 0; $3$hi = $3$hi | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, $6 = 0, $28 = 0, $32 = 0, $36 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $6; HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = $2$hi; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $2; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = $3$hi; HEAP32[i64toi32_i32$1 >> 2] = $3; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $7 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; $28 = i64toi32_i32$0; i64toi32_i32$0 = $7; HEAP32[i64toi32_i32$0 >> 2] = $28; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $32 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $32; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $36 = i64toi32_i32$0; i64toi32_i32$0 = $7; HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $36; HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; return i64toi32_i32$0 | 0; } function btConvexHullInternal__Rational64__isNaN_28_29_20const($0) { $0 = $0 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8$hi = 0, $9$hi = 0, $3 = 0, $4 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = 0; label$1 : { if (HEAP32[($4 + 16 | 0) >> 2] | 0) { break label$1 } i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $8$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $9$hi = i64toi32_i32$1; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $9$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $9$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; $7 = (i64toi32_i32$2 | 0) == (0 | 0) & ($8$hi | 0) == ($9$hi | 0) | 0; } return $7 & 1 | 0 | 0; } function btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = (Math_imul(HEAP32[$5 >> 2] | 0, HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return i64toi32_i32$1 | 0; } function btConvexHullInternal__Pool_btConvexHullInternal__Edge___freeObject_28btConvexHullInternal__Edge__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btConvexHullInternal__Edge___Edge_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__compute_28void_20const__2c_20bool_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $189 = 0, $278 = 0, $280 = 0, $353 = 0, $370 = Math_fround(0), $376 = 0, $392 = Math_fround(0), $398 = 0, $414 = Math_fround(0), $420 = 0, $476 = 0, $493 = Math_fround(0), $499 = 0, $515 = Math_fround(0), $521 = 0, $537 = Math_fround(0), $543 = 0, $598 = 0, $600 = 0, $1014 = 0, $1027 = 0, $211 = Math_fround(0), $232 = Math_fround(0), $253 = Math_fround(0), $1177 = 0, $1190 = 0, $289 = 0, $1345 = 0, $1349 = 0, $428 = 0, $1584 = 0, $1588 = 0, $551 = 0, $573 = 0, $595 = 0, $1808 = 0, $1818 = 0, $606 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 400 | 0; __stack_pointer = $7; HEAP32[($7 + 396 | 0) >> 2] = $0; HEAP32[($7 + 392 | 0) >> 2] = $1; HEAP8[($7 + 391 | 0) >> 0] = $2; HEAP32[($7 + 384 | 0) >> 2] = $3; HEAP32[($7 + 380 | 0) >> 2] = $4; $9 = HEAP32[($7 + 396 | 0) >> 2] | 0; HEAPF32[($7 + 360 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); HEAPF32[($7 + 356 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); HEAPF32[($7 + 352 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 364 | 0 | 0, $7 + 360 | 0 | 0, $7 + 356 | 0 | 0, $7 + 352 | 0 | 0) | 0; HEAPF32[($7 + 332 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); HEAPF32[($7 + 328 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); HEAPF32[($7 + 324 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 336 | 0 | 0, $7 + 332 | 0 | 0, $7 + 328 | 0 | 0, $7 + 324 | 0 | 0) | 0; HEAP32[($7 + 320 | 0) >> 2] = HEAP32[($7 + 392 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($7 + 391 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAP32[($7 + 316 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($7 + 316 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($7 + 312 | 0) >> 2] = HEAP32[($7 + 320 | 0) >> 2] | 0; HEAPF32[($7 + 292 | 0) >> 2] = Math_fround(+HEAPF64[(HEAP32[($7 + 312 | 0) >> 2] | 0) >> 3]); HEAPF32[($7 + 288 | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($7 + 312 | 0) >> 2] | 0) + 8 | 0) >> 3]); HEAPF32[($7 + 284 | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($7 + 312 | 0) >> 2] | 0) + 16 | 0) >> 3]); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 296 | 0 | 0, $7 + 292 | 0 | 0, $7 + 288 | 0 | 0, $7 + 284 | 0 | 0) | 0; HEAP32[($7 + 320 | 0) >> 2] = (HEAP32[($7 + 320 | 0) >> 2] | 0) + (HEAP32[($7 + 384 | 0) >> 2] | 0) | 0; btVector3__setMin_28btVector3_20const__29($7 + 364 | 0 | 0, $7 + 296 | 0 | 0); btVector3__setMax_28btVector3_20const__29($7 + 336 | 0 | 0, $7 + 296 | 0 | 0); HEAP32[($7 + 316 | 0) >> 2] = (HEAP32[($7 + 316 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } HEAP32[($7 + 280 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($7 + 280 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } HEAP32[($7 + 276 | 0) >> 2] = HEAP32[($7 + 320 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 260 | 0 | 0, HEAP32[($7 + 276 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 276 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7 + 276 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; HEAP32[($7 + 320 | 0) >> 2] = (HEAP32[($7 + 320 | 0) >> 2] | 0) + (HEAP32[($7 + 384 | 0) >> 2] | 0) | 0; btVector3__setMin_28btVector3_20const__29($7 + 364 | 0 | 0, $7 + 260 | 0 | 0); btVector3__setMax_28btVector3_20const__29($7 + 336 | 0 | 0, $7 + 260 | 0 | 0); HEAP32[($7 + 280 | 0) >> 2] = (HEAP32[($7 + 280 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } } operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 244 | 0 | 0, $7 + 336 | 0 | 0, $7 + 364 | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVector3__maxAxis_28_29_20const($7 + 244 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVector3__minAxis_28_29_20const($7 + 244 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; label$7 : { if (!((HEAP32[($9 + 104 | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } HEAP32[($9 + 104 | 0) >> 2] = ((HEAP32[($9 + 112 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0; } HEAP32[($9 + 108 | 0) >> 2] = (3 - (HEAP32[($9 + 112 | 0) >> 2] | 0) | 0) - (HEAP32[($9 + 104 | 0) >> 2] | 0) | 0; HEAPF32[($7 + 240 | 0) >> 2] = Math_fround(10216.0); btVector3__operator___28float_20const__29($7 + 244 | 0 | 0, $7 + 240 | 0 | 0) | 0; label$8 : { if (!((((HEAP32[($9 + 108 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0 | 0) != (HEAP32[($9 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } HEAPF32[($7 + 236 | 0) >> 2] = Math_fround(-1.0); btVector3__operator___28float_20const__29_1($7 + 244 | 0 | 0, $7 + 236 | 0 | 0) | 0; } i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 244 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 248 | 0) >> 2] | 0; $1014 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[i64toi32_i32$0 >> 2] = $1014; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $189 = 8; i64toi32_i32$2 = ($7 + 244 | 0) + $189 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1027 = i64toi32_i32$1; i64toi32_i32$1 = $9 + $189 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1027; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$9 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$9 } $211 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0, wasm2js_f32$0 = $211), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; } label$10 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) + 4 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$10 } $232 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) + 4 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0, wasm2js_f32$0 = $232), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; } label$11 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$11 } $253 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) + 8 | 0) >> 2])); (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0, wasm2js_f32$0 = $253), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 204 | 0 | 0, $7 + 364 | 0 | 0, $7 + 336 | 0 | 0); HEAPF32[($7 + 200 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($7 + 220 | 0 | 0, $7 + 204 | 0 | 0, $7 + 200 | 0 | 0); $278 = $9 + 16 | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 220 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 224 | 0) >> 2] | 0; $1177 = i64toi32_i32$0; i64toi32_i32$0 = $278; HEAP32[i64toi32_i32$0 >> 2] = $1177; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $280 = 8; i64toi32_i32$2 = ($7 + 220 | 0) + $280 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1190 = i64toi32_i32$1; i64toi32_i32$1 = $278 + $280 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1190; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btConvexHullInternal__Point32___btAlignedObjectArray_28_29($7 + 180 | 0 | 0) | 0; $289 = HEAP32[($7 + 380 | 0) >> 2] | 0; btConvexHullInternal__Point32__Point32_28_29($7 + 164 | 0 | 0) | 0; btAlignedObjectArray_btConvexHullInternal__Point32___resize_28int_2c_20btConvexHullInternal__Point32_20const__29($7 + 180 | 0 | 0, $289 | 0, $7 + 164 | 0 | 0); HEAP32[($7 + 320 | 0) >> 2] = HEAP32[($7 + 392 | 0) >> 2] | 0; label$12 : { label$13 : { if (!((HEAPU8[($7 + 391 | 0) >> 0] | 0) & 1 | 0)) { break label$13 } HEAP32[($7 + 160 | 0) >> 2] = 0; label$14 : { label$15 : while (1) { if (!((HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } HEAP32[($7 + 156 | 0) >> 2] = HEAP32[($7 + 320 | 0) >> 2] | 0; HEAPF32[($7 + 132 | 0) >> 2] = Math_fround(+HEAPF64[(HEAP32[($7 + 156 | 0) >> 2] | 0) >> 3]); HEAPF32[($7 + 128 | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($7 + 156 | 0) >> 2] | 0) + 8 | 0) >> 3]); HEAPF32[($7 + 124 | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($7 + 156 | 0) >> 2] | 0) + 16 | 0) >> 3]); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 136 | 0 | 0, $7 + 132 | 0 | 0, $7 + 128 | 0 | 0, $7 + 124 | 0 | 0) | 0; HEAP32[($7 + 320 | 0) >> 2] = (HEAP32[($7 + 320 | 0) >> 2] | 0) + (HEAP32[($7 + 384 | 0) >> 2] | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 92 | 0 | 0, $7 + 136 | 0 | 0, $9 + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($7 + 108 | 0 | 0, $7 + 92 | 0 | 0, $7 + 244 | 0 | 0); $353 = 8; i64toi32_i32$2 = ($7 + 108 | 0) + $353 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1345 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 136 | 0) + $353 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1345; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 108 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 112 | 0) >> 2] | 0; $1349 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 136 | 0) >> 2] = $1349; HEAP32[($7 + 140 | 0) >> 2] = i64toi32_i32$0; $370 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 136 | 0 | 0) | 0) + ((HEAP32[($9 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$16 : { label$17 : { if (!(Math_fround(Math_abs($370)) < Math_fround(2147483648.0))) { break label$17 } $376 = ~~$370; break label$16; } $376 = -2147483648; } (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $376), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $392 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 136 | 0 | 0) | 0) + ((HEAP32[($9 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$18 : { label$19 : { if (!(Math_fround(Math_abs($392)) < Math_fround(2147483648.0))) { break label$19 } $398 = ~~$392; break label$18; } $398 = -2147483648; } (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $398), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $414 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 136 | 0 | 0) | 0) + ((HEAP32[($9 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$20 : { label$21 : { if (!(Math_fround(Math_abs($414)) < Math_fround(2147483648.0))) { break label$21 } $420 = ~~$414; break label$20; } $420 = -2147483648; } (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $420), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $428 = HEAP32[($7 + 160 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $428), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[($7 + 160 | 0) >> 2] = (HEAP32[($7 + 160 | 0) >> 2] | 0) + 1 | 0; continue label$15; }; } break label$12; } HEAP32[($7 + 88 | 0) >> 2] = 0; label$22 : { label$23 : while (1) { if (!((HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$22 } HEAP32[($7 + 84 | 0) >> 2] = HEAP32[($7 + 320 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 64 | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 84 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7 + 84 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; HEAP32[($7 + 320 | 0) >> 2] = (HEAP32[($7 + 320 | 0) >> 2] | 0) + (HEAP32[($7 + 384 | 0) >> 2] | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 32 | 0 | 0, $7 + 64 | 0 | 0, $9 + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($7 + 48 | 0 | 0, $7 + 32 | 0 | 0, $7 + 244 | 0 | 0); $476 = 8; i64toi32_i32$2 = ($7 + 48 | 0) + $476 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1584 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 64 | 0) + $476 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1584; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 52 | 0) >> 2] | 0; $1588 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 64 | 0) >> 2] = $1588; HEAP32[($7 + 68 | 0) >> 2] = i64toi32_i32$0; $493 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 64 | 0 | 0) | 0) + ((HEAP32[($9 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$24 : { label$25 : { if (!(Math_fround(Math_abs($493)) < Math_fround(2147483648.0))) { break label$25 } $499 = ~~$493; break label$24; } $499 = -2147483648; } (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $499), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $515 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 64 | 0 | 0) | 0) + ((HEAP32[($9 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$26 : { label$27 : { if (!(Math_fround(Math_abs($515)) < Math_fround(2147483648.0))) { break label$27 } $521 = ~~$515; break label$26; } $521 = -2147483648; } (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $521), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $537 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 64 | 0 | 0) | 0) + ((HEAP32[($9 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$28 : { label$29 : { if (!(Math_fround(Math_abs($537)) < Math_fround(2147483648.0))) { break label$29 } $543 = ~~$537; break label$28; } $543 = -2147483648; } (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $543), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $551 = HEAP32[($7 + 88 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $551), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; HEAP32[($7 + 88 | 0) >> 2] = (HEAP32[($7 + 88 | 0) >> 2] | 0) + 1 | 0; continue label$23; }; } } void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSort_pointCmp__28pointCmp_20const__29($7 + 180 | 0 | 0, $7 + 31 | 0 | 0); btConvexHullInternal__Pool_btConvexHullInternal__Vertex___reset_28_29($9 + 32 | 0 | 0); btConvexHullInternal__Pool_btConvexHullInternal__Vertex___setArraySize_28int_29($9 + 32 | 0 | 0, HEAP32[($7 + 380 | 0) >> 2] | 0 | 0); $573 = HEAP32[($7 + 380 | 0) >> 2] | 0; HEAP32[($7 + 24 | 0) >> 2] = 0; btAlignedObjectArray_btConvexHullInternal__Vertex____resize_28int_2c_20btConvexHullInternal__Vertex__20const__29($9 + 80 | 0 | 0, $573 | 0, $7 + 24 | 0 | 0); HEAP32[($7 + 20 | 0) >> 2] = 0; label$30 : { label$31 : while (1) { if (!((HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$30 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Vertex___newObject_28_29($9 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($7 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; $595 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0; $598 = (HEAP32[($7 + 16 | 0) >> 2] | 0) + 88 | 0; i64toi32_i32$2 = $595; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1808 = i64toi32_i32$0; i64toi32_i32$0 = $598; HEAP32[i64toi32_i32$0 >> 2] = $1808; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $600 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $600 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1818 = i64toi32_i32$1; i64toi32_i32$1 = $598 + $600 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1818; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[((HEAP32[($7 + 16 | 0) >> 2] | 0) + 104 | 0) >> 2] = -1; $606 = HEAP32[($7 + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($9 + 80 | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $606), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($7 + 20 | 0) >> 2] = (HEAP32[($7 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$31; }; } btAlignedObjectArray_btConvexHullInternal__Point32___clear_28_29($7 + 180 | 0 | 0); btConvexHullInternal__Pool_btConvexHullInternal__Edge___reset_28_29($9 + 48 | 0 | 0); btConvexHullInternal__Pool_btConvexHullInternal__Edge___setArraySize_28int_29($9 + 48 | 0 | 0, Math_imul(HEAP32[($7 + 380 | 0) >> 2] | 0, 6) | 0); HEAP32[($9 + 116 | 0) >> 2] = 0; HEAP32[($9 + 120 | 0) >> 2] = 0; HEAP32[($9 + 100 | 0) >> 2] = -3; btConvexHullInternal__IntermediateHull__IntermediateHull_28_29($7 | 0) | 0; btConvexHullInternal__computeInternal_28int_2c_20int_2c_20btConvexHullInternal__IntermediateHull__29($9 | 0, 0 | 0, HEAP32[($7 + 380 | 0) >> 2] | 0 | 0, $7 | 0); HEAP32[($9 + 124 | 0) >> 2] = HEAP32[$7 >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Point32____btAlignedObjectArray_28_29($7 + 180 | 0 | 0) | 0; __stack_pointer = $7 + 400 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Point32___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btConvexHullInternal__Point32___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___resize_28int_2c_20btConvexHullInternal__Point32_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $46 = 0, $49 = 0, $166 = 0, $176 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btConvexHullInternal__Point32___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } $46 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $166 = i64toi32_i32$0; i64toi32_i32$0 = $46; HEAP32[i64toi32_i32$0 >> 2] = $166; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $49 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $176 = i64toi32_i32$1; i64toi32_i32$1 = $46 + $49 | 0; HEAP32[i64toi32_i32$1 >> 2] = $176; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78295 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78295 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSort_pointCmp__28pointCmp_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { break label$1 } void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSortInternal_pointCmp__28pointCmp_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__Pool_btConvexHullInternal__Vertex___reset_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btConvexHullInternal__Pool_btConvexHullInternal__Vertex___setArraySize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____resize_28int_2c_20btConvexHullInternal__Vertex__20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btConvexHullInternal__Vertex____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btConvexHullInternal__Pool_btConvexHullInternal__Vertex___newObject_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $25 = 0, $34 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } HEAP32[($3 + 4 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; label$2 : { label$3 : { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; break label$2; } $25 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(12 | 0, 16 | 0) | 0; btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex___PoolArray_28int_29($25 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = $25; HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[($3 + 4 | 0) >> 2] | 0; } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex___init_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; } HEAP32[($4 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] | 0; $34 = HEAP32[($3 + 8 | 0) >> 2] | 0; btConvexHullInternal__Vertex__Vertex_28_29($34 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $34 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Point32___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Point32___deallocate_28_29($4 | 0); btAlignedObjectArray_btConvexHullInternal__Point32___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexHullInternal__Pool_btConvexHullInternal__Edge___reset_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btConvexHullInternal__Pool_btConvexHullInternal__Edge___setArraySize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Point32____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Point32___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btConvexHullInternal__Point32___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Point32___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btConvexHullInternal__Point32___copy_28int_2c_20int_2c_20btConvexHullInternal__Point32__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Point32___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Point32___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSortInternal_pointCmp__28pointCmp_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $18 = 0, $19 = 0, $153 = 0, $157 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; $18 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 36 | 0) >> 2] | 0) + (HEAP32[($6 + 32 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 4 | 0) | 0; $19 = 8; i64toi32_i32$2 = $18 + $19 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $153 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 8 | 0) + $19 | 0; HEAP32[i64toi32_i32$0 >> 2] = $153; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $18; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $157 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 8 | 0) >> 2] = $157; HEAP32[($6 + 12 | 0) >> 2] = i64toi32_i32$0; label$1 : while (1) { label$2 : { label$3 : while (1) { if (!((pointCmp__operator_28_29_28btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $6 + 8 | 0 | 0) | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } label$4 : { label$5 : while (1) { if (!((pointCmp__operator_28_29_28btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; continue label$5; }; } label$6 : { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btAlignedObjectArray_btConvexHullInternal__Point32___swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; } if ((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$1 } break label$1; }; label$7 : { if (!((HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSortInternal_pointCmp__28pointCmp_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); } label$8 : { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSortInternal_pointCmp__28pointCmp_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 48 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btConvexHullInternal__Vertex____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btConvexHullInternal__Vertex____copy_28int_2c_20int_2c_20btConvexHullInternal__Vertex___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex___PoolArray_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 112) | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex___init_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $26 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[($3 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { label$4 : { if (!(((HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } $26 = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 112 | 0; break label$3; } $26 = 0; } HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] = $26; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 112 | 0; continue label$2; }; } return HEAP32[$4 >> 2] | 0 | 0; } function btConvexHullInternal__Vertex__Vertex_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 16 | 0) >> 2] = 0; btConvexHullInternal__PointR128__PointR128_28_29($4 + 24 | 0 | 0) | 0; btConvexHullInternal__Point32__Point32_28_29($4 + 88 | 0 | 0) | 0; HEAP32[($4 + 104 | 0) >> 2] = -1; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btConvexHullInternal__Point32___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___deallocate_28btConvexHullInternal__Point32__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btConvexHullInternal__toBtVector_28btConvexHullInternal__Point32_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $12 = Math_fround(0), $23 = Math_fround(0), $34 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btVector3__btVector3_28_29($5 + 8 | 0 | 0) | 0; $12 = Math_fround(HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 8 | 0 | 0) | 0) + ((HEAP32[($6 + 108 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $12), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $23 = Math_fround(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 8 | 0 | 0) | 0) + ((HEAP32[($6 + 112 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $23), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $34 = Math_fround(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 8 | 0 | 0) | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $34), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($0 | 0, $5 + 8 | 0 | 0, $6 | 0); __stack_pointer = $5 + 32 | 0; return; } function btConvexHullInternal__getBtNormal_28btConvexHullInternal__Face__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $1; HEAP32[($5 + 56 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; btConvexHullInternal__toBtVector_28btConvexHullInternal__Point32_20const__29($5 + 24 | 0 | 0, $6 | 0, (HEAP32[($5 + 56 | 0) >> 2] | 0) + 28 | 0 | 0); btConvexHullInternal__toBtVector_28btConvexHullInternal__Point32_20const__29($5 + 8 | 0 | 0, $6 | 0, (HEAP32[($5 + 56 | 0) >> 2] | 0) + 44 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($5 + 40 | 0 | 0, $5 + 24 | 0 | 0, $5 + 8 | 0 | 0); btVector3__normalized_28_29_20const($0 | 0, $5 + 40 | 0 | 0); __stack_pointer = $5 + 64 | 0; return; } function btConvexHullInternal__getCoordinates_28btConvexHullInternal__Vertex_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $11 = Math_fround(0), $21 = Math_fround(0), $31 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $1; HEAP32[($5 + 40 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; $11 = Math_fround(btConvexHullInternal__Vertex__xvalue_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 24 | 0 | 0) | 0) + ((HEAP32[($6 + 108 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $11), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $21 = Math_fround(btConvexHullInternal__Vertex__yvalue_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 24 | 0 | 0) | 0) + ((HEAP32[($6 + 112 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $21), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $31 = Math_fround(btConvexHullInternal__Vertex__zvalue_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 24 | 0 | 0) | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 8 | 0 | 0, $5 + 24 | 0 | 0, $6 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($0 | 0, $5 + 8 | 0 | 0, $6 + 16 | 0 | 0); __stack_pointer = $5 + 48 | 0; return; } function btConvexHullInternal__Vertex__xvalue_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $14 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($4 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } $14 = Math_fround(HEAP32[($4 + 88 | 0) >> 2] | 0 | 0); break label$1; } $14 = Math_fround(btConvexHullInternal__PointR128__xvalue_28_29_20const($4 + 24 | 0 | 0)); } __stack_pointer = $3 + 16 | 0; return Math_fround($14); } function btConvexHullInternal__Vertex__yvalue_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $14 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($4 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } $14 = Math_fround(HEAP32[($4 + 92 | 0) >> 2] | 0 | 0); break label$1; } $14 = Math_fround(btConvexHullInternal__PointR128__yvalue_28_29_20const($4 + 24 | 0 | 0)); } __stack_pointer = $3 + 16 | 0; return Math_fround($14); } function btConvexHullInternal__Vertex__zvalue_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $14 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($4 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } $14 = Math_fround(HEAP32[($4 + 96 | 0) >> 2] | 0 | 0); break label$1; } $14 = Math_fround(btConvexHullInternal__PointR128__zvalue_28_29_20const($4 + 24 | 0 | 0)); } __stack_pointer = $3 + 16 | 0; return Math_fround($14); } function btConvexHullInternal__PointR128__xvalue_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $9 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $9 = Math_fround(Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 | 0)) / Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 48 | 0 | 0))); __stack_pointer = $3 + 16 | 0; return Math_fround($9); } function btConvexHullInternal__PointR128__yvalue_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $11 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $11 = Math_fround(Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 16 | 0 | 0)) / Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 48 | 0 | 0))); __stack_pointer = $3 + 16 | 0; return Math_fround($11); } function btConvexHullInternal__PointR128__zvalue_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $11 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $11 = Math_fround(Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 32 | 0 | 0)) / Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 48 | 0 | 0))); __stack_pointer = $3 + 16 | 0; return Math_fround($11); } function btConvexHullInternal__shrink_28float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6 = 0, $194$hi = 0, $195$hi = 0, $18 = 0, $34 = 0, $35 = 0, $45 = 0, $49 = 0, $53 = 0, $57 = 0, i64toi32_i32$3 = 0, $40 = 0, $41 = 0, $42 = 0, $232$hi = 0, $235$hi = 0, $246$hi = 0, $249$hi = 0, $260$hi = 0, $263$hi = 0, $633 = 0, $637 = 0, $926 = 0, $232 = 0, $998 = 0, $246 = 0, $1026 = 0, $260 = 0, $1054 = 0, $342 = Math_fround(0), $354 = Math_fround(0), $366 = Math_fround(0), $516 = 0, $517 = Math_fround(0), $529 = 0, $549 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 496 | 0; __stack_pointer = $5; HEAP32[($5 + 488 | 0) >> 2] = $0; HEAPF32[($5 + 484 | 0) >> 2] = $1; HEAPF32[($5 + 480 | 0) >> 2] = $2; $6 = HEAP32[($5 + 488 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAP32[($6 + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(0 | 0); break label$1; } $18 = (HEAP32[($6 + 100 | 0) >> 2] | 0) + -1 | 0; HEAP32[($6 + 100 | 0) >> 2] = $18; HEAP32[($5 + 476 | 0) >> 2] = $18; btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28_29($5 + 456 | 0 | 0) | 0; HEAP32[((HEAP32[($6 + 124 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($5 + 476 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($5 + 456 | 0 | 0, $6 + 124 | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Face____btAlignedObjectArray_28_29($5 + 436 | 0 | 0) | 0; $34 = (HEAP32[($6 + 124 | 0) >> 2] | 0) + 88 | 0; $35 = 8; i64toi32_i32$2 = $34 + $35 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $633 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 416 | 0) + $35 | 0; HEAP32[i64toi32_i32$0 >> 2] = $633; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $34; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $637 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 416 | 0) >> 2] = $637; HEAP32[($5 + 420 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$0 = 0; $45 = 0; i64toi32_i32$1 = i64toi32_i32$0; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($5 + 400 | 0 | 0, $45 | 0, i64toi32_i32$0 | 0, $45 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$1 = 0; $49 = 0; i64toi32_i32$0 = i64toi32_i32$1; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($5 + 384 | 0 | 0, $49 | 0, i64toi32_i32$0 | 0, $49 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$0 = 0; $53 = 0; i64toi32_i32$1 = i64toi32_i32$0; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($5 + 368 | 0 | 0, $53 | 0, i64toi32_i32$0 | 0, $53 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$1 = 0; $57 = 0; i64toi32_i32$0 = i64toi32_i32$1; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($5 + 352 | 0 | 0, $57 | 0, i64toi32_i32$0 | 0, $57 | 0, i64toi32_i32$0 | 0) | 0; label$3 : { label$4 : while (1) { if (!((btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 + 456 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($5 + 456 | 0 | 0, (btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 + 456 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btConvexHullInternal__Vertex____pop_back_28_29($5 + 456 | 0 | 0); HEAP32[($5 + 344 | 0) >> 2] = HEAP32[((HEAP32[($5 + 348 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$5 : { if (!((HEAP32[($5 + 344 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } label$6 : while (1) { label$7 : { if (!((HEAP32[((HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } HEAP32[((HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($5 + 476 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($5 + 456 | 0 | 0, (HEAP32[($5 + 344 | 0) >> 2] | 0) + 12 | 0 | 0); } label$8 : { if (!((HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Face___newObject_28_29($6 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; btConvexHullInternal__Face__init_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29(HEAP32[($5 + 340 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 348 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Face____push_back_28btConvexHullInternal__Face__20const__29($5 + 436 | 0 | 0, $5 + 340 | 0 | 0); HEAP32[($5 + 336 | 0) >> 2] = HEAP32[($5 + 344 | 0) >> 2] | 0; HEAP32[($5 + 332 | 0) >> 2] = 0; HEAP32[($5 + 328 | 0) >> 2] = 0; label$9 : while (1) { label$10 : { if (!((HEAP32[($5 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$10 } if (!((HEAP32[($5 + 328 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$10 } btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($5 + 304 | 0 | 0, (HEAP32[($5 + 348 | 0) >> 2] | 0) + 88 | 0 | 0, $5 + 416 | 0 | 0); btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($5 + 264 | 0 | 0, (HEAP32[($5 + 332 | 0) >> 2] | 0) + 88 | 0 | 0, $5 + 416 | 0 | 0); btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($5 + 248 | 0 | 0, (HEAP32[($5 + 328 | 0) >> 2] | 0) + 88 | 0 | 0, $5 + 416 | 0 | 0); btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($5 + 280 | 0 | 0, $5 + 264 | 0 | 0, $5 + 248 | 0 | 0); i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 304 | 0 | 0, $5 + 280 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $926 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[($5 + 320 | 0) >> 2] = $926; HEAP32[($5 + 324 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 320 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 324 | 0) >> 2] | 0; $194$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $195$hi = i64toi32_i32$0; i64toi32_i32$0 = $194$hi; i64toi32_i32$0 = $195$hi; i64toi32_i32$0 = $194$hi; i64toi32_i32$0 = $195$hi; i64toi32_i32$0 = $194$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $195$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { $40 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { $41 = 0 } else { $41 = 1 } $42 = $41; } else { $42 = 0 } $40 = $42; } label$11 : { if ($40 & 1 | 0) { break label$11 } __assert_fail(86093 | 0, 72732 | 0, 2147 | 0, 77659 | 0); wasm2js_trap(); } btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($5 + 200 | 0 | 0, (HEAP32[($5 + 348 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($5 + 332 | 0) >> 2] | 0) + 88 | 0 | 0); btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($5 + 216 | 0 | 0, $5 + 200 | 0 | 0, (HEAP32[($5 + 328 | 0) >> 2] | 0) + 88 | 0 | 0); btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($5 + 232 | 0 | 0, $5 + 216 | 0 | 0, $5 + 416 | 0 | 0); i64toi32_i32$2 = HEAP32[($5 + 320 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 324 | 0) >> 2] | 0; $232 = i64toi32_i32$2; $232$hi = i64toi32_i32$0; i64toi32_i32$2 = HEAP32[($5 + 232 | 0) >> 2] | 0; i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; $235$hi = i64toi32_i32$0; i64toi32_i32$0 = $232$hi; i64toi32_i32$0 = $235$hi; $998 = i64toi32_i32$2; i64toi32_i32$0 = $232$hi; i64toi32_i32$2 = $235$hi; i64toi32_i32$2 = __wasm_i64_mul($232 | 0, i64toi32_i32$0 | 0, $998 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Int128__Int128_28long_20long_29($5 + 184 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0; btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($5 + 400 | 0 | 0, $5 + 184 | 0 | 0) | 0; i64toi32_i32$0 = HEAP32[($5 + 320 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($5 + 324 | 0) >> 2] | 0; $246 = i64toi32_i32$0; $246$hi = i64toi32_i32$2; i64toi32_i32$0 = HEAP32[($5 + 236 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; $249$hi = i64toi32_i32$2; i64toi32_i32$2 = $246$hi; i64toi32_i32$2 = $249$hi; $1026 = i64toi32_i32$0; i64toi32_i32$2 = $246$hi; i64toi32_i32$0 = $249$hi; i64toi32_i32$0 = __wasm_i64_mul($246 | 0, i64toi32_i32$2 | 0, $1026 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Int128__Int128_28long_20long_29($5 + 168 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($5 + 384 | 0 | 0, $5 + 168 | 0 | 0) | 0; i64toi32_i32$2 = HEAP32[($5 + 320 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 324 | 0) >> 2] | 0; $260 = i64toi32_i32$2; $260$hi = i64toi32_i32$0; i64toi32_i32$2 = HEAP32[($5 + 240 | 0) >> 2] | 0; i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; $263$hi = i64toi32_i32$0; i64toi32_i32$0 = $260$hi; i64toi32_i32$0 = $263$hi; $1054 = i64toi32_i32$2; i64toi32_i32$0 = $260$hi; i64toi32_i32$2 = $263$hi; i64toi32_i32$2 = __wasm_i64_mul($260 | 0, i64toi32_i32$0 | 0, $1054 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Int128__Int128_28long_20long_29($5 + 152 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0; btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($5 + 368 | 0 | 0, $5 + 152 | 0 | 0) | 0; i64toi32_i32$3 = $5; i64toi32_i32$0 = HEAP32[($5 + 320 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($5 + 324 | 0) >> 2] | 0; btConvexHullInternal__Int128__Int128_28long_20long_29($5 + 136 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($5 + 352 | 0 | 0, $5 + 136 | 0 | 0) | 0; } label$12 : { if ((HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$12 } __assert_fail(76078 | 0, 72732 | 0, 2155 | 0, 77659 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5 + 476 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5 + 340 | 0) >> 2] | 0; HEAP32[($5 + 332 | 0) >> 2] = HEAP32[($5 + 328 | 0) >> 2] | 0; HEAP32[($5 + 328 | 0) >> 2] = HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[($5 + 336 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; if ((HEAP32[($5 + 336 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 344 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$9 } break label$9; }; } HEAP32[($5 + 344 | 0) >> 2] = HEAP32[(HEAP32[($5 + 344 | 0) >> 2] | 0) >> 2] | 0; if ((HEAP32[($5 + 344 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5 + 348 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$6 } break label$6; }; } continue label$4; }; } label$13 : { label$14 : { if (!((btConvexHullInternal__Int128__getSign_28_29_20const($5 + 352 | 0 | 0) | 0 | 0) <= (0 | 0) & 1 | 0)) { break label$14 } HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($5 + 132 | 0) >> 2] = 1; break label$13; } btVector3__btVector3_28_29($5 + 116 | 0 | 0) | 0; $342 = Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($5 + 400 | 0 | 0)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 116 | 0 | 0) | 0) + ((HEAP32[($6 + 108 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $342), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $354 = Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($5 + 384 | 0 | 0)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 116 | 0 | 0) | 0) + ((HEAP32[($6 + 112 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $354), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $366 = Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($5 + 368 | 0 | 0)); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 116 | 0 | 0) | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $366), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(4.0) * Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($5 + 352 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29($5 + 116 | 0 | 0, $5 + 112 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_2($5 + 116 | 0 | 0, $6 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 + 436 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; label$15 : { if (!(Math_fround(HEAPF32[($5 + 480 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$15 } HEAPF32[($5 + 104 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAP32[($5 + 100 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } btConvexHullInternal__getBtNormal_28btConvexHullInternal__Face__29($5 + 84 | 0 | 0, $6 | 0, HEAP32[(btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0); btConvexHullInternal__toBtVector_28btConvexHullInternal__Point32_20const__29($5 + 48 | 0 | 0, $6 | 0, (HEAP32[(btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0) + 12 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 64 | 0 | 0, $5 + 48 | 0 | 0, $5 + 116 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 84 | 0 | 0, $5 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; label$18 : { if (!(Math_fround(HEAPF32[($5 + 80 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 104 | 0) >> 2]) & 1 | 0)) { break label$18 } HEAPF32[($5 + 104 | 0) >> 2] = Math_fround(HEAPF32[($5 + 80 | 0) >> 2]); } HEAP32[($5 + 100 | 0) >> 2] = (HEAP32[($5 + 100 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } label$19 : { if (!(Math_fround(HEAPF32[($5 + 104 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$19 } HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($5 + 132 | 0) >> 2] = 1; break label$13; } HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 104 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 480 | 0) >> 2])); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29($5 + 484 | 0 | 0, $5 + 44 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_f32$0; } HEAP32[($5 + 40 | 0) >> 2] = 243703; HEAP32[($5 + 36 | 0) >> 2] = 0; label$20 : { label$21 : while (1) { if (!((HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$20 } void_20btSwap_btConvexHullInternal__Face___28btConvexHullInternal__Face___2c_20btConvexHullInternal__Face___29(btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, ((HEAP32[($5 + 40 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($5 + 108 | 0) >> 2] | 0) >>> 0) | 0 | 0) | 0 | 0); HEAP32[($5 + 36 | 0) >> 2] = (HEAP32[($5 + 36 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 40 | 0) >> 2] = Math_imul(HEAP32[($5 + 40 | 0) >> 2] | 0, 1664525) + 1013904223 | 0; continue label$21; }; } HEAP32[($5 + 32 | 0) >> 2] = 0; label$22 : { label$23 : while (1) { if (!((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$22 } $516 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; $517 = Math_fround(HEAPF32[($5 + 484 | 0) >> 2]); btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28btAlignedObjectArray_btConvexHullInternal__Vertex___20const__29($5 + 12 | 0 | 0, $5 + 456 | 0 | 0) | 0; $529 = (btConvexHullInternal__shiftFace_28btConvexHullInternal__Face__2c_20float_2c_20btAlignedObjectArray_btConvexHullInternal__Vertex___29($6 | 0, $516 | 0, Math_fround($517), $5 + 12 | 0 | 0) | 0) ^ -1 | 0; btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($5 + 12 | 0 | 0) | 0; label$24 : { if (!($529 & 1 | 0)) { break label$24 } HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($5 + 484 | 0) >> 2])); HEAP32[($5 + 132 | 0) >> 2] = 1; break label$13; } HEAP32[($5 + 32 | 0) >> 2] = (HEAP32[($5 + 32 | 0) >> 2] | 0) + 1 | 0; continue label$23; }; } HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(HEAPF32[($5 + 484 | 0) >> 2]); HEAP32[($5 + 132 | 0) >> 2] = 1; } btAlignedObjectArray_btConvexHullInternal__Face_____btAlignedObjectArray_28_29($5 + 436 | 0 | 0) | 0; btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($5 + 456 | 0 | 0) | 0; } $549 = Math_fround(HEAPF32[($5 + 492 | 0) >> 2]); __stack_pointer = $5 + 496 | 0; return Math_fround($549); } function btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btConvexHullInternal__Vertex____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btConvexHullInternal__Vertex____reserve_28int_29($5 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____allocSize_28int_29($5 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Face____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btConvexHullInternal__Face____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullInternal__Vertex____pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78295 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btConvexHullInternal__Pool_btConvexHullInternal__Face___newObject_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $25 = 0, $34 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } HEAP32[($3 + 4 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; label$2 : { label$3 : { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; break label$2; } $25 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(12 | 0, 16 | 0) | 0; btConvexHullInternal__PoolArray_btConvexHullInternal__Face___PoolArray_28int_29($25 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = $25; HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[($3 + 4 | 0) >> 2] | 0; } (wasm2js_i32$0 = $3, wasm2js_i32$1 = btConvexHullInternal__PoolArray_btConvexHullInternal__Face___init_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; } HEAP32[($4 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] | 0; $34 = HEAP32[($3 + 8 | 0) >> 2] | 0; btConvexHullInternal__Face__Face_28_29($34 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $34 | 0; } function btConvexHullInternal__Face__init_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $13 = 0, $15 = 0, $25 = 0, $27 = 0, $37 = 0, $39 = 0, $87 = 0, $97 = 0, $115 = 0, $128 = 0, $143 = 0, $153 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; $13 = $7 + 12 | 0; i64toi32_i32$2 = (HEAP32[($6 + 40 | 0) >> 2] | 0) + 88 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $87 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $87; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $97 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $97; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($6 + 16 | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0); $25 = $7 + 28 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; $115 = i64toi32_i32$0; i64toi32_i32$0 = $25; HEAP32[i64toi32_i32$0 >> 2] = $115; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $27 = 8; i64toi32_i32$2 = ($6 + 16 | 0) + $27 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $128 = i64toi32_i32$1; i64toi32_i32$1 = $25 + $27 | 0; HEAP32[i64toi32_i32$1 >> 2] = $128; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($6 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0); $37 = $7 + 44 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; $143 = i64toi32_i32$0; i64toi32_i32$0 = $37; HEAP32[i64toi32_i32$0 >> 2] = $143; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $39 = 8; i64toi32_i32$2 = $6 + $39 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $153 = i64toi32_i32$1; i64toi32_i32$1 = $37 + $39 | 0; HEAP32[i64toi32_i32$1 >> 2] = $153; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[((HEAP32[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $7; break label$1; } HEAP32[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = $7; } HEAP32[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = $7; __stack_pointer = $6 + 48 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Face____push_back_28btConvexHullInternal__Face__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btConvexHullInternal__Face____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btConvexHullInternal__Face____reserve_28int_29($5 | 0, btAlignedObjectArray_btConvexHullInternal__Face____allocSize_28int_29($5 | 0, btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($0 | 0, (HEAP32[$6 >> 2] | 0) + (HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) | 0; __stack_pointer = $5 + 16 | 0; return; } function btConvexHullInternal__Int128__Int128_28long_20long_29($0, $1, $1$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7$hi = 0, $8$hi = 0, i64toi32_i32$3 = 0, $4 = 0, $5 = 0, $16 = 0, $17 = 0, $18 = 0, $12$hi = 0, $13$hi = 0, i64toi32_i32$4 = 0, $30 = 0, $46 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $4; HEAP32[i64toi32_i32$1 >> 2] = $1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $30 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[i64toi32_i32$0 >> 2] = $30; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $7$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $8$hi = i64toi32_i32$0; i64toi32_i32$0 = $7$hi; i64toi32_i32$0 = $8$hi; i64toi32_i32$0 = $7$hi; i64toi32_i32$0 = $8$hi; i64toi32_i32$0 = $7$hi; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = $8$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { $16 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { $17 = 0 } else { $17 = 1 } $18 = $17; } else { $18 = 0 } $16 = $18; } i64toi32_i32$2 = 0; $12$hi = i64toi32_i32$2; i64toi32_i32$2 = -1; $13$hi = i64toi32_i32$2; i64toi32_i32$2 = $12$hi; i64toi32_i32$2 = $13$hi; i64toi32_i32$4 = $16 & 1 | 0; i64toi32_i32$2 = $12$hi; i64toi32_i32$0 = $13$hi; i64toi32_i32$1 = i64toi32_i32$4 ? 0 : -1; i64toi32_i32$3 = i64toi32_i32$4 ? i64toi32_i32$2 : i64toi32_i32$0; $46 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $46; HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$3; return i64toi32_i32$1 | 0; } function btConvexHullInternal__Int128__getSign_28_29_20const($0) { $0 = $0 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $4 = 0, $5$hi = 0, $6$hi = 0, $14$hi = 0, $15$hi = 0, $23$hi = 0, $24$hi = 0, $3 = 0, $15 = 0, $16 = 0, $17 = 0, $13 = 0, $22 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $5$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $6$hi = i64toi32_i32$1; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $6$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $6$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { $15 = 1 } else { if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { $16 = 0 } else { $16 = 1 } $17 = $16; } else { $17 = 0 } $15 = $17; } label$1 : { label$2 : { if (!($15 & 1 | 0)) { break label$2 } $13 = -1; break label$1; } i64toi32_i32$3 = $4; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; $14$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $15$hi = i64toi32_i32$1; i64toi32_i32$1 = $14$hi; i64toi32_i32$1 = $15$hi; i64toi32_i32$1 = $14$hi; i64toi32_i32$1 = $15$hi; i64toi32_i32$1 = $14$hi; i64toi32_i32$3 = i64toi32_i32$2; i64toi32_i32$2 = $15$hi; i64toi32_i32$0 = 0; $22 = 1; label$3 : { if (((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0) { break label$3 } i64toi32_i32$0 = $4; i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; $23$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $24$hi = i64toi32_i32$1; i64toi32_i32$1 = $23$hi; i64toi32_i32$1 = $24$hi; i64toi32_i32$1 = $23$hi; i64toi32_i32$1 = $24$hi; i64toi32_i32$1 = $23$hi; i64toi32_i32$0 = i64toi32_i32$3; i64toi32_i32$3 = $24$hi; i64toi32_i32$2 = 0; $22 = (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0; } $13 = $22 & 1 | 0 ? 1 : 0; } return $13 | 0; } function btConvexHullInternal__Int128__toScalar_28_29_20const($0) { $0 = $0 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $3 = 0, $4 = 0, $6$hi = 0, i64toi32_i32$0 = 0, $5$hi = 0, $11 = 0, $12 = 0, $14 = 0, $19 = Math_fround(0), $13 = Math_fround(0); $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $5$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $6$hi = i64toi32_i32$1; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $6$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$1 = $6$hi; i64toi32_i32$1 = $5$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $6$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$1 | 0) > ($6$hi | 0)) { $11 = 1 } else { if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { $12 = 0 } else { $12 = 1 } $14 = $12; } else { $14 = 0 } $11 = $14; } label$1 : { label$2 : { if (!($11 & 1 | 0)) { break label$2 } i64toi32_i32$3 = $4; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; i64toi32_i32$3 = 0; $13 = Math_fround(+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 >>> 0)); i64toi32_i32$3 = $4; i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; i64toi32_i32$3 = 0; $19 = Math_fround(Math_fround($13 * Math_fround(18446744073709551615.0)) + Math_fround(+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 >>> 0))); break label$1; } btConvexHullInternal__Int128__operator__28_29_20const($3 + 8 | 0 | 0, $4 | 0); $19 = Math_fround(-Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($3 + 8 | 0 | 0))); } __stack_pointer = $3 + 32 | 0; return Math_fround($19); } function btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78295 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78295 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function void_20btSwap_btConvexHullInternal__Face___28btConvexHullInternal__Face___2c_20btConvexHullInternal__Face___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28btAlignedObjectArray_btConvexHullInternal__Vertex___20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___btAlignedAllocator_28_29($5 | 0) | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____init_28_29($5 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $8 = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; btAlignedObjectArray_btConvexHullInternal__Vertex____resize_28int_2c_20btConvexHullInternal__Vertex__20const__29($5 | 0, $8 | 0, $4 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____copy_28int_2c_20int_2c_20btConvexHullInternal__Vertex___29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btConvexHullInternal__shiftFace_28btConvexHullInternal__Face__2c_20float_2c_20btAlignedObjectArray_btConvexHullInternal__Vertex___29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7 = 0, $951 = 0, $992 = 0, $204 = 0, $205 = 0, $158$hi = 0, $159$hi = 0, $169$hi = 0, $170$hi = 0, $35 = 0, $50 = 0, $65 = 0, $76 = Math_fround(0), $82 = 0, $93 = Math_fround(0), $99 = 0, $110 = Math_fround(0), $116 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $210 = 0, $211 = 0, $245 = 0, $253 = 0, $261 = 0, $269 = 0, $359 = 0, $367 = 0, $375 = 0, $383 = 0, $651$hi = 0, $652$hi = 0, $656$hi = 0, $657$hi = 0, $688$hi = 0, $689$hi = 0, $690$hi = 0, $691$hi = 0, $698$hi = 0, $699$hi = 0, $700$hi = 0, $701$hi = 0, $717$hi = 0, $718$hi = 0, $719$hi = 0, $720$hi = 0, $736$hi = 0, $737$hi = 0, $738$hi = 0, $739$hi = 0, $773$hi = 0, $774$hi = 0, $775$hi = 0, $776$hi = 0, $783$hi = 0, $784$hi = 0, $785$hi = 0, $786$hi = 0, $802$hi = 0, $803$hi = 0, $804$hi = 0, $805$hi = 0, $821$hi = 0, $822$hi = 0, $823$hi = 0, $824$hi = 0, $858$hi = 0, $859$hi = 0, $860$hi = 0, $861$hi = 0, $868$hi = 0, $869$hi = 0, $870$hi = 0, $871$hi = 0, $887$hi = 0, $888$hi = 0, $889$hi = 0, $890$hi = 0, $906$hi = 0, $907$hi = 0, $908$hi = 0, $909$hi = 0, $940 = 0, $994 = 0, $1000 = 0, $1006 = 0, $1012 = 0, $1018 = 0, $1024 = 0, $1030 = 0, $1039 = Math_fround(0), $1045 = 0, $1052 = Math_fround(0), $1058 = 0, $1065 = Math_fround(0), $1071 = 0, $1278 = 0, $1284 = 0, $1288 = 0, $1332 = 0, $1334 = 0, $31 = Math_fround(0), $46 = Math_fround(0), $61 = Math_fround(0), $84 = 0, $101 = 0, $1619 = 0, $1648 = 0, $158 = 0, $1656 = 0, $169 = 0, $1673 = 0, $1821 = 0, $1837 = 0, $1853 = 0, $1869 = 0, $1873 = 0, $2043 = 0, $2059 = 0, $2075 = 0, $2091 = 0, $2095 = 0, $2518 = 0, $2532 = 0, $2546 = 0, $2560 = 0, $2591 = 0, $2624 = 0, $651 = 0, $2635 = 0, $656 = 0, $2646 = 0, $688 = 0, $2698 = 0, $690 = 0, $2708 = 0, $698 = 0, $2719 = 0, $700 = 0, $2729 = 0, $717 = 0, $2755 = 0, $719 = 0, $2765 = 0, $736 = 0, $2791 = 0, $738 = 0, $2801 = 0, $773 = 0, $2858 = 0, $775 = 0, $2868 = 0, $783 = 0, $2879 = 0, $785 = 0, $2889 = 0, $802 = 0, $2915 = 0, $804 = 0, $2925 = 0, $821 = 0, $2951 = 0, $823 = 0, $2961 = 0, $858 = 0, $3018 = 0, $860 = 0, $3028 = 0, $868 = 0, $3039 = 0, $870 = 0, $3049 = 0, $887 = 0, $3075 = 0, $889 = 0, $3085 = 0, $906 = 0, $3111 = 0, $908 = 0, $3121 = 0, $3183 = 0, $3187 = 0, $3207 = 0, $3211 = 0, $3227 = 0, $3231 = 0, $3247 = 0, $3251 = 0, $3264 = 0, $3268 = 0, $3295 = 0, $3308 = 0, $3321 = 0, $3334 = 0, $3347 = 0, $3360 = 0, $3373 = 0, $3386 = 0, $4019 = 0, $4032 = 0, $1345 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 1248 | 0; __stack_pointer = $6; HEAP32[($6 + 1240 | 0) >> 2] = $0; HEAP32[($6 + 1236 | 0) >> 2] = $1; HEAPF32[($6 + 1232 | 0) >> 2] = $2; HEAP32[($6 + 1228 | 0) >> 2] = $3; $7 = HEAP32[($6 + 1240 | 0) >> 2] | 0; btConvexHullInternal__getBtNormal_28btConvexHullInternal__Face__29($6 + 1196 | 0 | 0, $7 | 0, HEAP32[($6 + 1236 | 0) >> 2] | 0 | 0); HEAPF32[($6 + 1192 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($6 + 1232 | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($6 + 1212 | 0 | 0, $6 + 1196 | 0 | 0, $6 + 1192 | 0 | 0); label$1 : { if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } $31 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 | 0) | 0) >> 2]); $35 = btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0; HEAPF32[$35 >> 2] = Math_fround(Math_fround(HEAPF32[$35 >> 2]) / $31); } label$2 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 | 0) | 0) + 4 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$2 } $46 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 | 0) | 0) + 4 | 0) >> 2]); $50 = btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0; HEAPF32[($50 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($50 + 4 | 0) >> 2]) / $46); } label$3 : { if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 | 0) | 0) + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$3 } $61 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 | 0) | 0) + 8 | 0) >> 2]); $65 = btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0; HEAPF32[($65 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($65 + 8 | 0) >> 2]) / $61); } $76 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0) + ((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$4 : { label$5 : { if (!(Math_fround(Math_abs($76)) < Math_fround(2147483648.0))) { break label$5 } $82 = ~~$76; break label$4; } $82 = -2147483648; } $84 = $82; $93 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0) + ((HEAP32[($7 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$6 : { label$7 : { if (!(Math_fround(Math_abs($93)) < Math_fround(2147483648.0))) { break label$7 } $99 = ~~$93; break label$6; } $99 = -2147483648; } $101 = $99; $110 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); label$8 : { label$9 : { if (!(Math_fround(Math_abs($110)) < Math_fround(2147483648.0))) { break label$9 } $116 = ~~$110; break label$8; } $116 = -2147483648; } btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($6 + 1176 | 0 | 0, $84 | 0, $101 | 0, $116 | 0) | 0; label$10 : { label$11 : { if (!((btConvexHullInternal__Point32__isZero_28_29($6 + 1176 | 0 | 0) | 0) & 1 | 0)) { break label$11 } HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; break label$10; } btConvexHullInternal__Face__getNormal_28_29($6 + 1152 | 0 | 0, HEAP32[($6 + 1236 | 0) >> 2] | 0 | 0); i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 12 | 0 | 0, $6 + 1152 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $1619 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[($6 + 1144 | 0) >> 2] = $1619; HEAP32[($6 + 1148 | 0) >> 2] = i64toi32_i32$1; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($6 + 1128 | 0 | 0, (HEAP32[($6 + 1236 | 0) >> 2] | 0) + 12 | 0 | 0, $6 + 1176 | 0 | 0); i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 1128 | 0 | 0, $6 + 1152 | 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $1648 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 1120 | 0) >> 2] = $1648; HEAP32[($6 + 1124 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 1120 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 1124 | 0) >> 2] | 0; $158 = i64toi32_i32$0; $158$hi = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 1144 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 1148 | 0) >> 2] | 0; $159$hi = i64toi32_i32$0; i64toi32_i32$0 = $158$hi; i64toi32_i32$0 = $159$hi; i64toi32_i32$0 = $158$hi; i64toi32_i32$0 = $159$hi; $1656 = i64toi32_i32$1; i64toi32_i32$0 = $158$hi; i64toi32_i32$2 = $158; i64toi32_i32$1 = $159$hi; i64toi32_i32$3 = $1656; if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { $206 = 1 } else { if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { $207 = 0 } else { $207 = 1 } $208 = $207; } else { $208 = 0 } $206 = $208; } label$12 : { if ($206 & 1 | 0) { break label$12 } __assert_fail(67544 | 0, 72732 | 0, 2250 | 0, 82177 | 0); wasm2js_trap(); } i64toi32_i32$3 = $6; i64toi32_i32$2 = HEAP32[($6 + 1120 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 1124 | 0) >> 2] | 0; $169 = i64toi32_i32$2; $169$hi = i64toi32_i32$0; i64toi32_i32$3 = $6; i64toi32_i32$0 = HEAP32[($6 + 1144 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 1148 | 0) >> 2] | 0; $170$hi = i64toi32_i32$2; i64toi32_i32$2 = $169$hi; i64toi32_i32$2 = $170$hi; i64toi32_i32$2 = $169$hi; i64toi32_i32$2 = $170$hi; $1673 = i64toi32_i32$0; i64toi32_i32$2 = $169$hi; i64toi32_i32$3 = $169; i64toi32_i32$0 = $170$hi; i64toi32_i32$1 = $1673; if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { $209 = 1 } else { if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { $210 = 0 } else { $210 = 1 } $211 = $210; } else { $211 = 0 } $209 = $211; } label$13 : { if (!($209 & 1 | 0)) { break label$13 } HEAP8[($6 + 1247 | 0) >> 0] = 0 & 1 | 0; break label$10; } HEAP32[($6 + 1116 | 0) >> 2] = 0; HEAP32[($6 + 1112 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 1072 | 0 | 0, HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 1120 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 1124 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 1072 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1068 | 0) >> 2] = wasm2js_i32$1; label$14 : { label$15 : { if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$15 } HEAP32[($6 + 1064 | 0) >> 2] = HEAP32[($6 + 1112 | 0) >> 2] | 0; label$16 : while (1) { btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 1024 | 0 | 0, HEAP32[((HEAP32[($6 + 1064 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 1144 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 1148 | 0) >> 2] | 0; label$17 : { if ((btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 1024 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0 | 0) <= (0 | 0) & 1 | 0) { break label$17 } __assert_fail(86125 | 0, 72732 | 0, 2278 | 0, 82177 | 0); wasm2js_trap(); } label$18 : { label$19 : { if (!((btConvexHullInternal__Rational128__compare_28btConvexHullInternal__Rational128_20const__29_20const($6 + 1024 | 0 | 0, $6 + 1072 | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { break label$19 } i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 1120 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 1124 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 1024 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1020 | 0) >> 2] = wasm2js_i32$1; $245 = 29; i64toi32_i32$1 = ($6 + 1024 | 0) + $245 | 0; i64toi32_i32$2 = HEAPU8[i64toi32_i32$1 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; i64toi32_i32$3 = HEAPU8[(i64toi32_i32$1 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; $1821 = i64toi32_i32$2; i64toi32_i32$2 = ($6 + 1072 | 0) + $245 | 0; $204 = $1821; HEAP8[i64toi32_i32$2 >> 0] = $204; HEAP8[(i64toi32_i32$2 + 1 | 0) >> 0] = $204 >>> 8 | 0; HEAP8[(i64toi32_i32$2 + 2 | 0) >> 0] = $204 >>> 16 | 0; HEAP8[(i64toi32_i32$2 + 3 | 0) >> 0] = $204 >>> 24 | 0; HEAP8[(i64toi32_i32$2 + 4 | 0) >> 0] = i64toi32_i32$3; HEAP8[(i64toi32_i32$2 + 5 | 0) >> 0] = i64toi32_i32$3 >>> 8 | 0; HEAP8[(i64toi32_i32$2 + 6 | 0) >> 0] = i64toi32_i32$3 >>> 16 | 0; HEAP8[(i64toi32_i32$2 + 7 | 0) >> 0] = i64toi32_i32$3 >>> 24 | 0; $253 = 24; i64toi32_i32$1 = ($6 + 1024 | 0) + $253 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $1837 = i64toi32_i32$3; i64toi32_i32$3 = ($6 + 1072 | 0) + $253 | 0; HEAP32[i64toi32_i32$3 >> 2] = $1837; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; $261 = 16; i64toi32_i32$1 = ($6 + 1024 | 0) + $261 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $1853 = i64toi32_i32$2; i64toi32_i32$2 = ($6 + 1072 | 0) + $261 | 0; HEAP32[i64toi32_i32$2 >> 2] = $1853; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; $269 = 8; i64toi32_i32$1 = ($6 + 1024 | 0) + $269 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $1869 = i64toi32_i32$3; i64toi32_i32$3 = ($6 + 1072 | 0) + $269 | 0; HEAP32[i64toi32_i32$3 >> 2] = $1869; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 1024 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 1028 | 0) >> 2] | 0; $1873 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[($6 + 1072 | 0) >> 2] = $1873; HEAP32[($6 + 1076 | 0) >> 2] = i64toi32_i32$3; HEAP32[($6 + 1064 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1064 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($6 + 1112 | 0) >> 2] = HEAP32[($6 + 1064 | 0) >> 2] | 0; label$20 : { if (!((HEAP32[($6 + 1020 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$20 } HEAP32[($6 + 1116 | 0) >> 2] = HEAP32[($6 + 1064 | 0) >> 2] | 0; break label$18; } HEAP32[($6 + 1068 | 0) >> 2] = HEAP32[($6 + 1020 | 0) >> 2] | 0; } HEAP32[($6 + 1064 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1064 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; if ((HEAP32[($6 + 1064 | 0) >> 2] | 0 | 0) != (HEAP32[($6 + 1112 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$16 } } break label$16; }; label$21 : { if ((HEAP32[($6 + 1116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$21 } HEAP8[($6 + 1247 | 0) >> 0] = 0 & 1 | 0; break label$10; } break label$14; } HEAP32[($6 + 1016 | 0) >> 2] = HEAP32[($6 + 1112 | 0) >> 2] | 0; label$22 : while (1) { btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 976 | 0 | 0, HEAP32[((HEAP32[($6 + 1016 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 1144 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 1148 | 0) >> 2] | 0; label$23 : { if ((btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 976 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0 | 0) <= (0 | 0) & 1 | 0) { break label$23 } __assert_fail(86125 | 0, 72732 | 0, 2314 | 0, 82177 | 0); wasm2js_trap(); } label$24 : { label$25 : { if (!((btConvexHullInternal__Rational128__compare_28btConvexHullInternal__Rational128_20const__29_20const($6 + 976 | 0 | 0, $6 + 1072 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { break label$25 } i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 1120 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 1124 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 976 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1068 | 0) >> 2] = wasm2js_i32$1; label$26 : { if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$26 } HEAP32[($6 + 1116 | 0) >> 2] = HEAP32[($6 + 1016 | 0) >> 2] | 0; break label$24; } $359 = 29; i64toi32_i32$1 = ($6 + 976 | 0) + $359 | 0; i64toi32_i32$3 = HEAPU8[i64toi32_i32$1 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; i64toi32_i32$2 = HEAPU8[(i64toi32_i32$1 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; $2043 = i64toi32_i32$3; i64toi32_i32$3 = ($6 + 1072 | 0) + $359 | 0; $205 = $2043; HEAP8[i64toi32_i32$3 >> 0] = $205; HEAP8[(i64toi32_i32$3 + 1 | 0) >> 0] = $205 >>> 8 | 0; HEAP8[(i64toi32_i32$3 + 2 | 0) >> 0] = $205 >>> 16 | 0; HEAP8[(i64toi32_i32$3 + 3 | 0) >> 0] = $205 >>> 24 | 0; HEAP8[(i64toi32_i32$3 + 4 | 0) >> 0] = i64toi32_i32$2; HEAP8[(i64toi32_i32$3 + 5 | 0) >> 0] = i64toi32_i32$2 >>> 8 | 0; HEAP8[(i64toi32_i32$3 + 6 | 0) >> 0] = i64toi32_i32$2 >>> 16 | 0; HEAP8[(i64toi32_i32$3 + 7 | 0) >> 0] = i64toi32_i32$2 >>> 24 | 0; $367 = 24; i64toi32_i32$1 = ($6 + 976 | 0) + $367 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $2059 = i64toi32_i32$2; i64toi32_i32$2 = ($6 + 1072 | 0) + $367 | 0; HEAP32[i64toi32_i32$2 >> 2] = $2059; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; $375 = 16; i64toi32_i32$1 = ($6 + 976 | 0) + $375 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $2075 = i64toi32_i32$3; i64toi32_i32$3 = ($6 + 1072 | 0) + $375 | 0; HEAP32[i64toi32_i32$3 >> 2] = $2075; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; $383 = 8; i64toi32_i32$1 = ($6 + 976 | 0) + $383 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $2091 = i64toi32_i32$2; i64toi32_i32$2 = ($6 + 1072 | 0) + $383 | 0; HEAP32[i64toi32_i32$2 >> 2] = $2091; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 976 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 980 | 0) >> 2] | 0; $2095 = i64toi32_i32$3; i64toi32_i32$3 = $6; HEAP32[($6 + 1072 | 0) >> 2] = $2095; HEAP32[($6 + 1076 | 0) >> 2] = i64toi32_i32$2; HEAP32[($6 + 1016 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1016 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($6 + 1112 | 0) >> 2] = HEAP32[($6 + 1016 | 0) >> 2] | 0; } HEAP32[($6 + 1016 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1016 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; if ((HEAP32[($6 + 1016 | 0) >> 2] | 0 | 0) != (HEAP32[($6 + 1112 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$22 } } break label$22; }; label$27 : { if ((HEAP32[($6 + 1116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$27 } HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; break label$10; } } label$28 : { if (HEAP32[($6 + 1068 | 0) >> 2] | 0) { break label$28 } HEAP32[($6 + 972 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; label$29 : { label$30 : while (1) { btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 928 | 0 | 0, HEAP32[((HEAP32[($6 + 972 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 1120 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 1124 | 0) >> 2] | 0; if (!((btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 928 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0 | 0) <= (0 | 0) & 1 | 0)) { break label$29 } HEAP32[($6 + 972 | 0) >> 2] = HEAP32[(HEAP32[($6 + 972 | 0) >> 2] | 0) >> 2] | 0; label$31 : { if (!((HEAP32[($6 + 972 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$31 } HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; break label$10; } continue label$30; }; } } HEAP32[($6 + 924 | 0) >> 2] = 0; HEAP32[($6 + 920 | 0) >> 2] = 0; HEAP32[($6 + 916 | 0) >> 2] = 0; label$32 : while (1) { label$33 : { if (HEAP32[($6 + 1068 | 0) >> 2] | 0) { break label$33 } HEAP32[($6 + 912 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($6 + 1112 | 0) >> 2] = HEAP32[($6 + 912 | 0) >> 2] | 0; label$34 : { label$35 : while (1) { btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 872 | 0 | 0, HEAP32[((HEAP32[($6 + 912 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 1120 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 1124 | 0) >> 2] | 0; label$36 : { if (!((btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 872 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$36 } break label$34; } HEAP32[($6 + 1116 | 0) >> 2] = HEAP32[((HEAP32[($6 + 912 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($6 + 912 | 0) >> 2] = HEAP32[(HEAP32[($6 + 912 | 0) >> 2] | 0) >> 2] | 0; label$37 : { if (!((HEAP32[($6 + 912 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 1112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$37 } HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; break label$10; } continue label$35; }; } } label$38 : { label$39 : { label$40 : { if ((HEAP32[($6 + 924 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$40 } HEAP32[($6 + 924 | 0) >> 2] = HEAP32[($6 + 1116 | 0) >> 2] | 0; break label$39; } label$41 : { if (!((HEAP32[($6 + 1116 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 924 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$41 } break label$38; } } HEAP32[($6 + 868 | 0) >> 2] = HEAP32[($6 + 1068 | 0) >> 2] | 0; HEAP32[($6 + 864 | 0) >> 2] = HEAP32[($6 + 1116 | 0) >> 2] | 0; HEAP32[($6 + 860 | 0) >> 2] = HEAP32[($6 + 920 | 0) >> 2] | 0; HEAP32[($6 + 856 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$42 : while (1) { HEAP32[($6 + 856 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; label$43 : { if ((HEAP32[($6 + 856 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$43 } __assert_fail(81402 | 0, 72732 | 0, 2446 | 0, 82177 | 0); wasm2js_trap(); } btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 816 | 0 | 0, HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 1120 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 1124 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 816 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1068 | 0) >> 2] = wasm2js_i32$1; label$44 : { label$45 : { if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$45 } HEAP32[($6 + 1116 | 0) >> 2] = HEAP32[($6 + 856 | 0) >> 2] | 0; break label$44; } continue label$42; } break label$42; }; label$46 : { if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$46 } HEAP32[($6 + 812 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[($6 + 856 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$47 : { label$48 : { if (!((HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 856 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$48 } HEAP32[((HEAP32[($6 + 812 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; break label$47; } HEAP32[((HEAP32[($6 + 812 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6 + 856 | 0) >> 2] | 0) >> 2] | 0 | 0); btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 856 | 0) >> 2] | 0 | 0, HEAP32[($6 + 856 | 0) >> 2] | 0 | 0); } btConvexHullInternal__Face__getNormal_28_29($6 + 784 | 0 | 0, HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); btConvexHullInternal__Face__getNormal_28_29($6 + 760 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 28 | 0 | 0, $6 + 784 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $2518 = i64toi32_i32$3; i64toi32_i32$3 = $6; HEAP32[($6 + 752 | 0) >> 2] = $2518; HEAP32[($6 + 756 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 44 | 0 | 0, $6 + 784 | 0 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $2532 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[($6 + 744 | 0) >> 2] = $2532; HEAP32[($6 + 748 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 28 | 0 | 0, $6 + 760 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $2546 = i64toi32_i32$3; i64toi32_i32$3 = $6; HEAP32[($6 + 736 | 0) >> 2] = $2546; HEAP32[($6 + 740 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 44 | 0 | 0, $6 + 760 | 0 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $2560 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[($6 + 728 | 0) >> 2] = $2560; HEAP32[($6 + 732 | 0) >> 2] = i64toi32_i32$3; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($6 + 704 | 0 | 0, (HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0 | 0, $6 + 1128 | 0 | 0); i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 704 | 0 | 0, $6 + 784 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $2591 = i64toi32_i32$3; i64toi32_i32$3 = $6; HEAP32[($6 + 720 | 0) >> 2] = $2591; HEAP32[($6 + 724 | 0) >> 2] = i64toi32_i32$2; btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($6 + 680 | 0 | 0, (HEAP32[((HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0 | 0, $6 + 1128 | 0 | 0); i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 680 | 0 | 0, $6 + 760 | 0 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $2624 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[($6 + 696 | 0) >> 2] = $2624; HEAP32[($6 + 700 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 752 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 756 | 0) >> 2] | 0; $651 = i64toi32_i32$3; $651$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 728 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 732 | 0) >> 2] | 0; $652$hi = i64toi32_i32$3; i64toi32_i32$3 = $651$hi; i64toi32_i32$3 = $652$hi; $2635 = i64toi32_i32$2; i64toi32_i32$3 = $651$hi; i64toi32_i32$2 = $652$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 648 | 0 | 0, $651 | 0, i64toi32_i32$3 | 0, $2635 | 0, i64toi32_i32$2 | 0); i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 744 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 748 | 0) >> 2] | 0; $656 = i64toi32_i32$2; $656$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 736 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 740 | 0) >> 2] | 0; $657$hi = i64toi32_i32$2; i64toi32_i32$2 = $656$hi; i64toi32_i32$2 = $657$hi; $2646 = i64toi32_i32$3; i64toi32_i32$2 = $656$hi; i64toi32_i32$3 = $657$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 632 | 0 | 0, $656 | 0, i64toi32_i32$2 | 0, $2646 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 664 | 0 | 0, $6 + 648 | 0 | 0, $6 + 632 | 0 | 0); label$49 : { if (btConvexHullInternal__Int128__getSign_28_29_20const($6 + 664 | 0 | 0) | 0) { break label$49 } __assert_fail(86160 | 0, 72732 | 0, 2490 | 0, 82177 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Vertex___newObject_28_29($7 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 100 | 0) >> 2] = -1; HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 104 | 0) >> 2] = -1; i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; $688 = i64toi32_i32$2; $688$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 720 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 724 | 0) >> 2] | 0; $689$hi = i64toi32_i32$2; i64toi32_i32$2 = $688$hi; i64toi32_i32$2 = $689$hi; $2698 = i64toi32_i32$3; i64toi32_i32$2 = $688$hi; i64toi32_i32$3 = $689$hi; i64toi32_i32$3 = __wasm_i64_mul($688 | 0, i64toi32_i32$2 | 0, $2698 | 0, i64toi32_i32$3 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $690 = i64toi32_i32$3; $690$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 728 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 732 | 0) >> 2] | 0; $691$hi = i64toi32_i32$3; i64toi32_i32$3 = $690$hi; i64toi32_i32$3 = $691$hi; $2708 = i64toi32_i32$2; i64toi32_i32$3 = $690$hi; i64toi32_i32$2 = $691$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 480 | 0 | 0, $690 | 0, i64toi32_i32$3 | 0, $2708 | 0, i64toi32_i32$2 | 0); i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; $698 = i64toi32_i32$3; $698$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 696 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 700 | 0) >> 2] | 0; $699$hi = i64toi32_i32$3; i64toi32_i32$3 = $698$hi; i64toi32_i32$3 = $699$hi; $2719 = i64toi32_i32$2; i64toi32_i32$3 = $698$hi; i64toi32_i32$2 = $699$hi; i64toi32_i32$2 = __wasm_i64_mul($698 | 0, i64toi32_i32$3 | 0, $2719 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $700 = i64toi32_i32$2; $700$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 744 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 748 | 0) >> 2] | 0; $701$hi = i64toi32_i32$2; i64toi32_i32$2 = $700$hi; i64toi32_i32$2 = $701$hi; $2729 = i64toi32_i32$3; i64toi32_i32$2 = $700$hi; i64toi32_i32$3 = $701$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 464 | 0 | 0, $700 | 0, i64toi32_i32$2 | 0, $2729 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 496 | 0 | 0, $6 + 480 | 0 | 0, $6 + 464 | 0 | 0); i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; $717 = i64toi32_i32$2; $717$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 696 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 700 | 0) >> 2] | 0; $718$hi = i64toi32_i32$2; i64toi32_i32$2 = $717$hi; i64toi32_i32$2 = $718$hi; $2755 = i64toi32_i32$3; i64toi32_i32$2 = $717$hi; i64toi32_i32$3 = $718$hi; i64toi32_i32$3 = __wasm_i64_mul($717 | 0, i64toi32_i32$2 | 0, $2755 | 0, i64toi32_i32$3 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $719 = i64toi32_i32$3; $719$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 752 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 756 | 0) >> 2] | 0; $720$hi = i64toi32_i32$3; i64toi32_i32$3 = $719$hi; i64toi32_i32$3 = $720$hi; $2765 = i64toi32_i32$2; i64toi32_i32$3 = $719$hi; i64toi32_i32$2 = $720$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 448 | 0 | 0, $719 | 0, i64toi32_i32$3 | 0, $2765 | 0, i64toi32_i32$2 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 512 | 0 | 0, $6 + 496 | 0 | 0, $6 + 448 | 0 | 0); i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; $736 = i64toi32_i32$3; $736$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 720 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 724 | 0) >> 2] | 0; $737$hi = i64toi32_i32$3; i64toi32_i32$3 = $736$hi; i64toi32_i32$3 = $737$hi; $2791 = i64toi32_i32$2; i64toi32_i32$3 = $736$hi; i64toi32_i32$2 = $737$hi; i64toi32_i32$2 = __wasm_i64_mul($736 | 0, i64toi32_i32$3 | 0, $2791 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $738 = i64toi32_i32$2; $738$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 736 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 740 | 0) >> 2] | 0; $739$hi = i64toi32_i32$2; i64toi32_i32$2 = $738$hi; i64toi32_i32$2 = $739$hi; $2801 = i64toi32_i32$3; i64toi32_i32$2 = $738$hi; i64toi32_i32$3 = $739$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 432 | 0 | 0, $738 | 0, i64toi32_i32$2 | 0, $2801 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 528 | 0 | 0, $6 + 512 | 0 | 0, $6 + 432 | 0 | 0); i64toi32_i32$2 = HEAP32[($6 + 1128 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; btConvexHullInternal__Int128__operator__28long_20long_29_20const($6 + 416 | 0 | 0, $6 + 664 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 544 | 0 | 0, $6 + 528 | 0 | 0, $6 + 416 | 0 | 0); i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; $773 = i64toi32_i32$2; $773$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 720 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 724 | 0) >> 2] | 0; $774$hi = i64toi32_i32$2; i64toi32_i32$2 = $773$hi; i64toi32_i32$2 = $774$hi; $2858 = i64toi32_i32$3; i64toi32_i32$2 = $773$hi; i64toi32_i32$3 = $774$hi; i64toi32_i32$3 = __wasm_i64_mul($773 | 0, i64toi32_i32$2 | 0, $2858 | 0, i64toi32_i32$3 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $775 = i64toi32_i32$3; $775$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 728 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 732 | 0) >> 2] | 0; $776$hi = i64toi32_i32$3; i64toi32_i32$3 = $775$hi; i64toi32_i32$3 = $776$hi; $2868 = i64toi32_i32$2; i64toi32_i32$3 = $775$hi; i64toi32_i32$2 = $776$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 336 | 0 | 0, $775 | 0, i64toi32_i32$3 | 0, $2868 | 0, i64toi32_i32$2 | 0); i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; $783 = i64toi32_i32$3; $783$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 696 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 700 | 0) >> 2] | 0; $784$hi = i64toi32_i32$3; i64toi32_i32$3 = $783$hi; i64toi32_i32$3 = $784$hi; $2879 = i64toi32_i32$2; i64toi32_i32$3 = $783$hi; i64toi32_i32$2 = $784$hi; i64toi32_i32$2 = __wasm_i64_mul($783 | 0, i64toi32_i32$3 | 0, $2879 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $785 = i64toi32_i32$2; $785$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 744 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 748 | 0) >> 2] | 0; $786$hi = i64toi32_i32$2; i64toi32_i32$2 = $785$hi; i64toi32_i32$2 = $786$hi; $2889 = i64toi32_i32$3; i64toi32_i32$2 = $785$hi; i64toi32_i32$3 = $786$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 320 | 0 | 0, $785 | 0, i64toi32_i32$2 | 0, $2889 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 352 | 0 | 0, $6 + 336 | 0 | 0, $6 + 320 | 0 | 0); i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; $802 = i64toi32_i32$2; $802$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 696 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 700 | 0) >> 2] | 0; $803$hi = i64toi32_i32$2; i64toi32_i32$2 = $802$hi; i64toi32_i32$2 = $803$hi; $2915 = i64toi32_i32$3; i64toi32_i32$2 = $802$hi; i64toi32_i32$3 = $803$hi; i64toi32_i32$3 = __wasm_i64_mul($802 | 0, i64toi32_i32$2 | 0, $2915 | 0, i64toi32_i32$3 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $804 = i64toi32_i32$3; $804$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 752 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 756 | 0) >> 2] | 0; $805$hi = i64toi32_i32$3; i64toi32_i32$3 = $804$hi; i64toi32_i32$3 = $805$hi; $2925 = i64toi32_i32$2; i64toi32_i32$3 = $804$hi; i64toi32_i32$2 = $805$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 304 | 0 | 0, $804 | 0, i64toi32_i32$3 | 0, $2925 | 0, i64toi32_i32$2 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 368 | 0 | 0, $6 + 352 | 0 | 0, $6 + 304 | 0 | 0); i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; $821 = i64toi32_i32$3; $821$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 720 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 724 | 0) >> 2] | 0; $822$hi = i64toi32_i32$3; i64toi32_i32$3 = $821$hi; i64toi32_i32$3 = $822$hi; $2951 = i64toi32_i32$2; i64toi32_i32$3 = $821$hi; i64toi32_i32$2 = $822$hi; i64toi32_i32$2 = __wasm_i64_mul($821 | 0, i64toi32_i32$3 | 0, $2951 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $823 = i64toi32_i32$2; $823$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 736 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 740 | 0) >> 2] | 0; $824$hi = i64toi32_i32$2; i64toi32_i32$2 = $823$hi; i64toi32_i32$2 = $824$hi; $2961 = i64toi32_i32$3; i64toi32_i32$2 = $823$hi; i64toi32_i32$3 = $824$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 288 | 0 | 0, $823 | 0, i64toi32_i32$2 | 0, $2961 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 384 | 0 | 0, $6 + 368 | 0 | 0, $6 + 288 | 0 | 0); i64toi32_i32$2 = HEAP32[($6 + 1132 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; btConvexHullInternal__Int128__operator__28long_20long_29_20const($6 + 272 | 0 | 0, $6 + 664 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 400 | 0 | 0, $6 + 384 | 0 | 0, $6 + 272 | 0 | 0); i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; $858 = i64toi32_i32$2; $858$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 720 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 724 | 0) >> 2] | 0; $859$hi = i64toi32_i32$2; i64toi32_i32$2 = $858$hi; i64toi32_i32$2 = $859$hi; $3018 = i64toi32_i32$3; i64toi32_i32$2 = $858$hi; i64toi32_i32$3 = $859$hi; i64toi32_i32$3 = __wasm_i64_mul($858 | 0, i64toi32_i32$2 | 0, $3018 | 0, i64toi32_i32$3 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $860 = i64toi32_i32$3; $860$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 728 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 732 | 0) >> 2] | 0; $861$hi = i64toi32_i32$3; i64toi32_i32$3 = $860$hi; i64toi32_i32$3 = $861$hi; $3028 = i64toi32_i32$2; i64toi32_i32$3 = $860$hi; i64toi32_i32$2 = $861$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 192 | 0 | 0, $860 | 0, i64toi32_i32$3 | 0, $3028 | 0, i64toi32_i32$2 | 0); i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; $868 = i64toi32_i32$3; $868$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 696 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 700 | 0) >> 2] | 0; $869$hi = i64toi32_i32$3; i64toi32_i32$3 = $868$hi; i64toi32_i32$3 = $869$hi; $3039 = i64toi32_i32$2; i64toi32_i32$3 = $868$hi; i64toi32_i32$2 = $869$hi; i64toi32_i32$2 = __wasm_i64_mul($868 | 0, i64toi32_i32$3 | 0, $3039 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $870 = i64toi32_i32$2; $870$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 744 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 748 | 0) >> 2] | 0; $871$hi = i64toi32_i32$2; i64toi32_i32$2 = $870$hi; i64toi32_i32$2 = $871$hi; $3049 = i64toi32_i32$3; i64toi32_i32$2 = $870$hi; i64toi32_i32$3 = $871$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 176 | 0 | 0, $870 | 0, i64toi32_i32$2 | 0, $3049 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 208 | 0 | 0, $6 + 192 | 0 | 0, $6 + 176 | 0 | 0); i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; $887 = i64toi32_i32$2; $887$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 696 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 700 | 0) >> 2] | 0; $888$hi = i64toi32_i32$2; i64toi32_i32$2 = $887$hi; i64toi32_i32$2 = $888$hi; $3075 = i64toi32_i32$3; i64toi32_i32$2 = $887$hi; i64toi32_i32$3 = $888$hi; i64toi32_i32$3 = __wasm_i64_mul($887 | 0, i64toi32_i32$2 | 0, $3075 | 0, i64toi32_i32$3 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $889 = i64toi32_i32$3; $889$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 752 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 756 | 0) >> 2] | 0; $890$hi = i64toi32_i32$3; i64toi32_i32$3 = $889$hi; i64toi32_i32$3 = $890$hi; $3085 = i64toi32_i32$2; i64toi32_i32$3 = $889$hi; i64toi32_i32$2 = $890$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 160 | 0 | 0, $889 | 0, i64toi32_i32$3 | 0, $3085 | 0, i64toi32_i32$2 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 224 | 0 | 0, $6 + 208 | 0 | 0, $6 + 160 | 0 | 0); i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; $906 = i64toi32_i32$3; $906$hi = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 720 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 724 | 0) >> 2] | 0; $907$hi = i64toi32_i32$3; i64toi32_i32$3 = $906$hi; i64toi32_i32$3 = $907$hi; $3111 = i64toi32_i32$2; i64toi32_i32$3 = $906$hi; i64toi32_i32$2 = $907$hi; i64toi32_i32$2 = __wasm_i64_mul($906 | 0, i64toi32_i32$3 | 0, $3111 | 0, i64toi32_i32$2 | 0) | 0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $908 = i64toi32_i32$2; $908$hi = i64toi32_i32$3; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 736 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 740 | 0) >> 2] | 0; $909$hi = i64toi32_i32$2; i64toi32_i32$2 = $908$hi; i64toi32_i32$2 = $909$hi; $3121 = i64toi32_i32$3; i64toi32_i32$2 = $908$hi; i64toi32_i32$3 = $909$hi; btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 144 | 0 | 0, $908 | 0, i64toi32_i32$2 | 0, $3121 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 240 | 0 | 0, $6 + 224 | 0 | 0, $6 + 144 | 0 | 0); i64toi32_i32$2 = HEAP32[($6 + 1136 | 0) >> 2] | 0; i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; btConvexHullInternal__Int128__operator__28long_20long_29_20const($6 + 128 | 0 | 0, $6 + 664 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 256 | 0 | 0, $6 + 240 | 0 | 0, $6 + 128 | 0 | 0); $940 = 8; i64toi32_i32$1 = ($6 + 664 | 0) + $940 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3183 = i64toi32_i32$3; i64toi32_i32$3 = ($6 + 112 | 0) + $940 | 0; HEAP32[i64toi32_i32$3 >> 2] = $3183; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 664 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 668 | 0) >> 2] | 0; $3187 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[($6 + 112 | 0) >> 2] = $3187; HEAP32[($6 + 116 | 0) >> 2] = i64toi32_i32$3; $951 = 8; i64toi32_i32$1 = ($6 + 544 | 0) + $951 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3207 = i64toi32_i32$3; i64toi32_i32$3 = ($6 + 48 | 0) + $951 | 0; HEAP32[i64toi32_i32$3 >> 2] = $3207; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 544 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 548 | 0) >> 2] | 0; $3211 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[($6 + 48 | 0) >> 2] = $3211; HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$1 = ($6 + 400 | 0) + $951 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3227 = i64toi32_i32$3; i64toi32_i32$3 = ($6 + 32 | 0) + $951 | 0; HEAP32[i64toi32_i32$3 >> 2] = $3227; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 400 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 404 | 0) >> 2] | 0; $3231 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[($6 + 32 | 0) >> 2] = $3231; HEAP32[($6 + 36 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$1 = ($6 + 256 | 0) + $951 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3247 = i64toi32_i32$3; i64toi32_i32$3 = ($6 + 16 | 0) + $951 | 0; HEAP32[i64toi32_i32$3 >> 2] = $3247; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 256 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 260 | 0) >> 2] | 0; $3251 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[($6 + 16 | 0) >> 2] = $3251; HEAP32[($6 + 20 | 0) >> 2] = i64toi32_i32$3; i64toi32_i32$1 = ($6 + 112 | 0) + $951 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3264 = i64toi32_i32$3; i64toi32_i32$3 = $6 + $951 | 0; HEAP32[i64toi32_i32$3 >> 2] = $3264; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $6; i64toi32_i32$2 = HEAP32[($6 + 112 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($6 + 116 | 0) >> 2] | 0; $3268 = i64toi32_i32$2; i64toi32_i32$2 = $6; HEAP32[$6 >> 2] = $3268; HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$3; btConvexHullInternal__PointR128__PointR128_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_29($6 + 560 | 0 | 0, $6 + 48 | 0 | 0, $6 + 32 | 0 | 0, $6 + 16 | 0 | 0, $6 | 0) | 0; $992 = (HEAP32[($6 + 628 | 0) >> 2] | 0) + 24 | 0; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 560 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 564 | 0) >> 2] | 0; $3295 = i64toi32_i32$3; i64toi32_i32$3 = $992; HEAP32[i64toi32_i32$3 >> 2] = $3295; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; $994 = 56; i64toi32_i32$1 = ($6 + 560 | 0) + $994 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3308 = i64toi32_i32$2; i64toi32_i32$2 = $992 + $994 | 0; HEAP32[i64toi32_i32$2 >> 2] = $3308; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; $1000 = 48; i64toi32_i32$1 = ($6 + 560 | 0) + $1000 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3321 = i64toi32_i32$3; i64toi32_i32$3 = $992 + $1000 | 0; HEAP32[i64toi32_i32$3 >> 2] = $3321; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; $1006 = 40; i64toi32_i32$1 = ($6 + 560 | 0) + $1006 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3334 = i64toi32_i32$2; i64toi32_i32$2 = $992 + $1006 | 0; HEAP32[i64toi32_i32$2 >> 2] = $3334; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; $1012 = 32; i64toi32_i32$1 = ($6 + 560 | 0) + $1012 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3347 = i64toi32_i32$3; i64toi32_i32$3 = $992 + $1012 | 0; HEAP32[i64toi32_i32$3 >> 2] = $3347; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; $1018 = 24; i64toi32_i32$1 = ($6 + 560 | 0) + $1018 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3360 = i64toi32_i32$2; i64toi32_i32$2 = $992 + $1018 | 0; HEAP32[i64toi32_i32$2 >> 2] = $3360; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; $1024 = 16; i64toi32_i32$1 = ($6 + 560 | 0) + $1024 | 0; i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3373 = i64toi32_i32$3; i64toi32_i32$3 = $992 + $1024 | 0; HEAP32[i64toi32_i32$3 >> 2] = $3373; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; $1030 = 8; i64toi32_i32$1 = ($6 + 560 | 0) + $1030 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $3386 = i64toi32_i32$2; i64toi32_i32$2 = $992 + $1030 | 0; HEAP32[i64toi32_i32$2 >> 2] = $3386; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; $1039 = Math_fround(btConvexHullInternal__PointR128__xvalue_28_29_20const((HEAP32[($6 + 628 | 0) >> 2] | 0) + 24 | 0 | 0)); label$50 : { label$51 : { if (!(Math_fround(Math_abs($1039)) < Math_fround(2147483648.0))) { break label$51 } $1045 = ~~$1039; break label$50; } $1045 = -2147483648; } HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 88 | 0) >> 2] = $1045; $1052 = Math_fround(btConvexHullInternal__PointR128__yvalue_28_29_20const((HEAP32[($6 + 628 | 0) >> 2] | 0) + 24 | 0 | 0)); label$52 : { label$53 : { if (!(Math_fround(Math_abs($1052)) < Math_fround(2147483648.0))) { break label$53 } $1058 = ~~$1052; break label$52; } $1058 = -2147483648; } HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 92 | 0) >> 2] = $1058; $1065 = Math_fround(btConvexHullInternal__PointR128__zvalue_28_29_20const((HEAP32[($6 + 628 | 0) >> 2] | 0) + 24 | 0 | 0)); label$54 : { label$55 : { if (!(Math_fround(Math_abs($1065)) < Math_fround(2147483648.0))) { break label$55 } $1071 = ~~$1065; break label$54; } $1071 = -2147483648; } HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 96 | 0) >> 2] = $1071; HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 628 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 856 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 628 | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 812 | 0 | 0); HEAP32[($6 + 108 | 0) >> 2] = 0; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 108 | 0 | 0); } label$56 : { label$57 : { label$58 : { if (HEAP32[($6 + 1068 | 0) >> 2] | 0) { break label$58 } if (HEAP32[($6 + 868 | 0) >> 2] | 0) { break label$58 } if (!((HEAP32[((HEAP32[(HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$57 } } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($7 | 0, HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 920 | 0) >> 2] = wasm2js_i32$1; label$59 : { if (HEAP32[($6 + 868 | 0) >> 2] | 0) { break label$59 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 920 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); } label$60 : { label$61 : { if (!(HEAP32[($6 + 868 | 0) >> 2] | 0)) { break label$61 } if (!((HEAP32[($6 + 860 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$60 } } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 920 | 0) >> 2] | 0 | 0); } label$62 : { if (HEAP32[($6 + 1068 | 0) >> 2] | 0) { break label$62 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); break label$56; } HEAP32[($6 + 920 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; } label$63 : { if (!((HEAP32[($6 + 860 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$63 } label$64 : { label$65 : { if (!((HEAP32[($6 + 868 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$65 } btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 920 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 860 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); break label$64; } label$66 : { if (!((HEAP32[($6 + 920 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 860 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$66 } btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, (HEAP32[($6 + 860 | 0) >> 2] | 0) + 12 | 0 | 0); label$67 : { label$68 : while (1) { if (!((HEAP32[(HEAP32[($6 + 920 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 860 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$67 } HEAP32[($6 + 104 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6 + 920 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($7 | 0, HEAP32[(HEAP32[($6 + 920 | 0) >> 2] | 0) >> 2] | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 104 | 0 | 0); continue label$68; }; } HEAP32[($6 + 100 | 0) >> 2] = 0; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 100 | 0 | 0); } } } HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6 + 1236 | 0) >> 2] | 0; HEAP32[((HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; label$69 : { if ((HEAP32[($6 + 916 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$69 } HEAP32[($6 + 916 | 0) >> 2] = HEAP32[($6 + 920 | 0) >> 2] | 0; } continue label$32; } break label$32; }; label$70 : { label$71 : { if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$71 } HEAP32[((HEAP32[((HEAP32[($6 + 916 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($6 + 924 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 916 | 0) >> 2] | 0 | 0); btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 916 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); break label$70; } label$72 : { if (!((HEAP32[($6 + 916 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$72 } btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, (HEAP32[($6 + 920 | 0) >> 2] | 0) + 12 | 0 | 0); label$73 : { label$74 : while (1) { if (!((HEAP32[(HEAP32[($6 + 916 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$73 } HEAP32[($6 + 96 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6 + 916 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($7 | 0, HEAP32[(HEAP32[($6 + 916 | 0) >> 2] | 0) >> 2] | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 96 | 0 | 0); continue label$74; }; } HEAP32[($6 + 92 | 0) >> 2] = 0; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 92 | 0 | 0); } } label$75 : { if ((btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($3 | 0) | 0 | 0) > (0 | 0) & 1 | 0) { break label$75 } __assert_fail(86063 | 0, 72732 | 0, 2588 | 0, 82177 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $7, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($3 | 0, 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 88 | 0) >> 2] = 0; label$76 : { label$77 : while (1) { if (!((HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($3 | 0) | 0 | 0) & 1 | 0)) { break label$76 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; label$78 : { label$79 : while (1) { if (!((HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$78 } $1278 = HEAP32[($6 + 88 | 0) >> 2] | 0; HEAP32[($6 + 88 | 0) >> 2] = $1278 + 1 | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($3 | 0, $1278 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; HEAP8[($6 + 79 | 0) >> 0] = 0; label$80 : { label$81 : while (1) { $1284 = HEAP32[($6 + 88 | 0) >> 2] | 0; HEAP32[($6 + 88 | 0) >> 2] = $1284 + 1 | 0; $1288 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($3 | 0, $1284 | 0) | 0) >> 2] | 0; HEAP32[($6 + 72 | 0) >> 2] = $1288; if (!(($1288 | 0) != (0 | 0) & 1 | 0)) { break label$80 } btConvexHullInternal__Vertex__receiveNearbyFaces_28btConvexHullInternal__Vertex__29(HEAP32[($6 + 80 | 0) >> 2] | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0); label$82 : { label$83 : while (1) { if (!((HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$82 } label$84 : { if ((HEAPU8[($6 + 79 | 0) >> 0] | 0) & 1 | 0) { break label$84 } HEAP8[($6 + 79 | 0) >> 0] = 1; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 80 | 0 | 0); } btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, (HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0 | 0); btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($7 | 0, HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); continue label$83; }; } continue label$81; }; } label$85 : { if (!((HEAPU8[($6 + 79 | 0) >> 0] | 0) & 1 | 0)) { break label$85 } HEAP32[($6 + 68 | 0) >> 2] = 0; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 68 | 0 | 0); } continue label$79; }; } continue label$77; }; } HEAP32[($6 + 64 | 0) >> 2] = 0; btAlignedObjectArray_btConvexHullInternal__Vertex____resize_28int_2c_20btConvexHullInternal__Vertex__20const__29($3 | 0, 0 | 0, $6 + 64 | 0 | 0); $1332 = (HEAP32[($6 + 1236 | 0) >> 2] | 0) + 12 | 0; i64toi32_i32$1 = $6; i64toi32_i32$3 = HEAP32[($6 + 1128 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($6 + 1132 | 0) >> 2] | 0; $4019 = i64toi32_i32$3; i64toi32_i32$3 = $1332; HEAP32[i64toi32_i32$3 >> 2] = $4019; HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; $1334 = 8; i64toi32_i32$1 = ($6 + 1128 | 0) + $1334 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; $4032 = i64toi32_i32$2; i64toi32_i32$2 = $1332 + $1334 | 0; HEAP32[i64toi32_i32$2 >> 2] = $4032; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; } $1345 = (HEAPU8[($6 + 1247 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $6 + 1248 | 0; return $1345 | 0; } function btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullInternal__Face_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Face____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Vertex____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Vertex____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Face____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Face___PoolArray_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 60) | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Face___init_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $26 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[($3 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { label$4 : { if (!(((HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } $26 = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 60 | 0; break label$3; } $26 = 0; } HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] = $26; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 60 | 0; continue label$2; }; } return HEAP32[$4 >> 2] | 0 | 0; } function btConvexHullInternal__Face__Face_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; btConvexHullInternal__Point32__Point32_28_29($4 + 12 | 0 | 0) | 0; btConvexHullInternal__Point32__Point32_28_29($4 + 28 | 0 | 0) | 0; btConvexHullInternal__Point32__Point32_28_29($4 + 44 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullInternal__Face____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Face____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btConvexHullInternal__Face____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btConvexHullInternal__Face____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Face____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btConvexHullInternal__Face____copy_28int_2c_20int_2c_20btConvexHullInternal__Face___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Face____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Face____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__Point32__isZero_28_29($0) { $0 = $0 | 0; var $4 = 0, $7 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $7 = 0; label$1 : { if (HEAP32[$4 >> 2] | 0) { break label$1 } $7 = 0; if (HEAP32[($4 + 4 | 0) >> 2] | 0) { break label$1 } $7 = (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); } return $7 & 1 | 0 | 0; } function btConvexHullInternal__Face__getNormal_28_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($0 | 0, $5 + 28 | 0 | 0, $5 + 44 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0; $5 = __stack_pointer - 96 | 0; __stack_pointer = $5; HEAP32[($5 + 92 | 0) >> 2] = $1; HEAP32[($5 + 88 | 0) >> 2] = $2; $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 88 | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; btConvexHullInternal__Rational128__Rational128_28long_20long_29($0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; break label$1; } i64toi32_i32$2 = HEAP32[($5 + 88 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; btConvexHullInternal__Int128__operator__28long_20long_29_20const($5 + 40 | 0 | 0, $6 + 24 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); i64toi32_i32$2 = HEAP32[($5 + 88 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; btConvexHullInternal__Int128__operator__28long_20long_29_20const($5 + 24 | 0 | 0, ($6 + 24 | 0) + 16 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($5 + 56 | 0 | 0, $5 + 40 | 0 | 0, $5 + 24 | 0 | 0); i64toi32_i32$2 = HEAP32[($5 + 88 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; btConvexHullInternal__Int128__operator__28long_20long_29_20const($5 + 8 | 0 | 0, ($6 + 24 | 0) + 32 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($5 + 72 | 0 | 0, $5 + 56 | 0 | 0, $5 + 8 | 0 | 0); btConvexHullInternal__Rational128__Rational128_28btConvexHullInternal__Int128_20const__2c_20btConvexHullInternal__Int128_20const__29($0 | 0, $5 + 72 | 0 | 0, ($6 + 24 | 0) + 48 | 0 | 0) | 0; } __stack_pointer = $5 + 96 | 0; return; } function btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btConvexHullInternal__Int128__operator__28_29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($0 | 0, $6 | 0, $5 + 8 | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btConvexHullInternal__PointR128__PointR128_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $7 = 0, $10 = 0, $15 = 0, $17 = 0, $22 = 0, $24 = 0, $29 = 0, $31 = 0, $46 = 0, $56 = 0, $63 = 0, $73 = 0, $80 = 0, $90 = 0, $97 = 0, $107 = 0; $7 = __stack_pointer - 16 | 0; HEAP32[($7 + 12 | 0) >> 2] = $0; $8 = HEAP32[($7 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = $1; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $46 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $46; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $56 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $56; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $15 = $8 + 16 | 0; i64toi32_i32$2 = $2; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $63 = i64toi32_i32$0; i64toi32_i32$0 = $15; HEAP32[i64toi32_i32$0 >> 2] = $63; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $17 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $17 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $73 = i64toi32_i32$1; i64toi32_i32$1 = $15 + $17 | 0; HEAP32[i64toi32_i32$1 >> 2] = $73; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $22 = $8 + 32 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $80 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $80; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $90 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $90; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $29 = $8 + 48 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $97 = i64toi32_i32$0; i64toi32_i32$0 = $29; HEAP32[i64toi32_i32$0 >> 2] = $97; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $31 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $31 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $107 = i64toi32_i32$1; i64toi32_i32$1 = $29 + $31 | 0; HEAP32[i64toi32_i32$1 >> 2] = $107; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return $8 | 0; } function btConvexHullInternal__Vertex__receiveNearbyFaces_28btConvexHullInternal__Vertex__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; break label$1; } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; } label$3 : { if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } label$6 : { if ((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$6 } __assert_fail(82799 | 0, 72732 | 0, 498 | 0, 70267 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = $5; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; continue label$5; }; } HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____copy_28int_2c_20int_2c_20btConvexHullInternal__Vertex___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____deallocate_28_29($4 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Face____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Face____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Face____deallocate_28_29($4 | 0); btAlignedObjectArray_btConvexHullInternal__Face____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btConvexHullInternal__Rational128__Rational128_28long_20long_29($0, $1, $1$hi) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $4 = 0, $5 = 0, i64toi32_i32$3 = 0, $8$hi = 0, $9$hi = 0, $27$hi = 0, $28$hi = 0, $31 = 0, $32 = 0, $33 = 0, $21 = 0, $34 = 0, $35 = 0, $36 = 0, $35$hi = 0, $42 = 0, $54 = 0, $63 = 0, $65 = 0, $119 = 0, $132 = 0, $149$hi = 0, $150 = 0, $162 = 0, $175 = 0, $188 = 0, $201 = 0, $212 = 0, $222 = 0, $70 = 0; $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 72 | 0) >> 2] = $0; i64toi32_i32$0 = $1$hi; i64toi32_i32$1 = $4; HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $1; HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; $5 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = $5; btConvexHullInternal__Int128__Int128_28_29($5 | 0) | 0; btConvexHullInternal__Int128__Int128_28_29($5 + 16 | 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; $8$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $9$hi = i64toi32_i32$1; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $9$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$1 = $9$hi; i64toi32_i32$1 = $8$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $9$hi; i64toi32_i32$3 = 0; if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { $31 = 1 } else { if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { $32 = 0 } else { $32 = 1 } $33 = $32; } else { $33 = 0 } $31 = $33; } label$1 : { label$2 : { if (!($31 & 1 | 0)) { break label$2 } HEAP32[($5 + 32 | 0) >> 2] = 1; i64toi32_i32$3 = $4; i64toi32_i32$2 = HEAP32[($4 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 68 | 0) >> 2] | 0; btConvexHullInternal__Int128__Int128_28long_20long_29($4 + 48 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$3 = $4; i64toi32_i32$1 = HEAP32[($4 + 48 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($4 + 52 | 0) >> 2] | 0; $119 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[i64toi32_i32$1 >> 2] = $119; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; $21 = 8; i64toi32_i32$3 = ($4 + 48 | 0) + $21 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; $132 = i64toi32_i32$2; i64toi32_i32$2 = $5 + $21 | 0; HEAP32[i64toi32_i32$2 >> 2] = $132; HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; break label$1; } i64toi32_i32$3 = $4; i64toi32_i32$1 = HEAP32[($4 + 64 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($4 + 68 | 0) >> 2] | 0; $27$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $28$hi = i64toi32_i32$2; i64toi32_i32$2 = $27$hi; i64toi32_i32$2 = $28$hi; i64toi32_i32$2 = $27$hi; i64toi32_i32$2 = $28$hi; i64toi32_i32$2 = $27$hi; i64toi32_i32$3 = i64toi32_i32$1; i64toi32_i32$1 = $28$hi; i64toi32_i32$0 = 0; if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { $34 = 1 } else { if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { $35 = 0 } else { $35 = 1 } $36 = $35; } else { $36 = 0 } $34 = $36; } label$3 : { label$4 : { if (!($34 & 1 | 0)) { break label$4 } HEAP32[($5 + 32 | 0) >> 2] = -1; i64toi32_i32$0 = $4; i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; $35$hi = i64toi32_i32$2; i64toi32_i32$2 = 0; $149$hi = i64toi32_i32$2; i64toi32_i32$2 = $35$hi; $150 = i64toi32_i32$3; i64toi32_i32$2 = $149$hi; i64toi32_i32$0 = 0; i64toi32_i32$3 = $35$hi; i64toi32_i32$1 = $150; i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; btConvexHullInternal__Int128__Int128_28long_20long_29($4 + 32 | 0 | 0, i64toi32_i32$0 - i64toi32_i32$1 | 0 | 0, i64toi32_i32$5 | 0) | 0; i64toi32_i32$2 = $4; i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; $162 = i64toi32_i32$5; i64toi32_i32$5 = $5; HEAP32[i64toi32_i32$5 >> 2] = $162; HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; $42 = 8; i64toi32_i32$2 = (i64toi32_i32$2 + 32 | 0) + $42 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $175 = i64toi32_i32$0; i64toi32_i32$0 = $5 + $42 | 0; HEAP32[i64toi32_i32$0 >> 2] = $175; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; break label$3; } HEAP32[($5 + 32 | 0) >> 2] = 0; i64toi32_i32$5 = 0; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($4 + 16 | 0 | 0, 0 | 0, i64toi32_i32$5 | 0) | 0; i64toi32_i32$2 = $4; i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; $188 = i64toi32_i32$5; i64toi32_i32$5 = $5; HEAP32[i64toi32_i32$5 >> 2] = $188; HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; $54 = 8; i64toi32_i32$2 = (i64toi32_i32$2 + 16 | 0) + $54 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $201 = i64toi32_i32$0; i64toi32_i32$0 = $5 + $54 | 0; HEAP32[i64toi32_i32$0 >> 2] = $201; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; } } i64toi32_i32$5 = 0; btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($4 | 0, 1 | 0, i64toi32_i32$5 | 0) | 0; $63 = $5 + 16 | 0; i64toi32_i32$2 = $4; i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $212 = i64toi32_i32$5; i64toi32_i32$5 = $63; HEAP32[i64toi32_i32$5 >> 2] = $212; HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; $65 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $65 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $222 = i64toi32_i32$0; i64toi32_i32$0 = $63 + $65 | 0; HEAP32[i64toi32_i32$0 >> 2] = $222; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; HEAP8[($5 + 36 | 0) >> 0] = 1; $70 = HEAP32[($4 + 76 | 0) >> 2] | 0; __stack_pointer = $4 + 80 | 0; return $70 | 0; } function btConvexHullInternal__Rational128__Rational128_28btConvexHullInternal__Int128_20const__2c_20btConvexHullInternal__Int128_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, i64toi32_i32$2 = 0, $6 = 0, $20 = 0, $29 = 0, $46 = 0, $48 = 0, $60 = 0, $62 = 0, $117 = 0, $127 = 0, $139 = 0, $152 = 0, $179 = 0, $189 = 0, $211 = 0, $224 = 0, $69 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 56 | 0) >> 2] = $0; HEAP32[($5 + 52 | 0) >> 2] = $1; HEAP32[($5 + 48 | 0) >> 2] = $2; $6 = HEAP32[($5 + 56 | 0) >> 2] | 0; HEAP32[($5 + 60 | 0) >> 2] = $6; btConvexHullInternal__Int128__Int128_28_29($6 | 0) | 0; btConvexHullInternal__Int128__Int128_28_29($6 + 16 | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Int128__getSign_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } i64toi32_i32$2 = HEAP32[($5 + 52 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $117 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[i64toi32_i32$0 >> 2] = $117; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $20 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $20 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $127 = i64toi32_i32$1; i64toi32_i32$1 = $6 + $20 | 0; HEAP32[i64toi32_i32$1 >> 2] = $127; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$1; } btConvexHullInternal__Int128__operator__28_29_20const($5 + 32 | 0 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0); i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 36 | 0) >> 2] | 0; $139 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[i64toi32_i32$0 >> 2] = $139; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 8; i64toi32_i32$2 = ($5 + 32 | 0) + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $152 = i64toi32_i32$1; i64toi32_i32$1 = $6 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $152; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__Int128__getSign_28_29_20const(HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; label$3 : { label$4 : { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$4 } $46 = $6 + 16 | 0; i64toi32_i32$2 = HEAP32[($5 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $179 = i64toi32_i32$0; i64toi32_i32$0 = $46; HEAP32[i64toi32_i32$0 >> 2] = $179; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $48 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $48 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $189 = i64toi32_i32$1; i64toi32_i32$1 = $46 + $48 | 0; HEAP32[i64toi32_i32$1 >> 2] = $189; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$3; } HEAP32[($6 + 32 | 0) >> 2] = 0 - (HEAP32[($6 + 32 | 0) >> 2] | 0) | 0; btConvexHullInternal__Int128__operator__28_29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0); $60 = $6 + 16 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; $211 = i64toi32_i32$0; i64toi32_i32$0 = $60; HEAP32[i64toi32_i32$0 >> 2] = $211; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $62 = 8; i64toi32_i32$2 = ($5 + 8 | 0) + $62 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $224 = i64toi32_i32$1; i64toi32_i32$1 = $60 + $62 | 0; HEAP32[i64toi32_i32$1 >> 2] = $224; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP8[($6 + 36 | 0) >> 0] = 0; $69 = HEAP32[($5 + 60 | 0) >> 2] | 0; __stack_pointer = $5 + 64 | 0; return $69 | 0; } function btConvexHullComputer__compute_28void_20const__2c_20bool_2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); $6 = Math_fround($6); var $9 = 0, $11 = 0, i64toi32_i32$0 = 0, $50 = Math_fround(0), $187 = 0, $201 = 0, $222 = 0, $300 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $9 = __stack_pointer - 336 | 0; __stack_pointer = $9; HEAP32[($9 + 328 | 0) >> 2] = $0; HEAP32[($9 + 324 | 0) >> 2] = $1; HEAP8[($9 + 323 | 0) >> 0] = $2; HEAP32[($9 + 316 | 0) >> 2] = $3; HEAP32[($9 + 312 | 0) >> 2] = $4; HEAPF32[($9 + 308 | 0) >> 2] = $5; HEAPF32[($9 + 304 | 0) >> 2] = $6; $11 = HEAP32[($9 + 328 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($9 + 312 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { break label$2 } btAlignedObjectArray_btVector3___clear_28_29($11 | 0); btAlignedObjectArray_btConvexHullComputer__Edge___clear_28_29($11 + 20 | 0 | 0); btAlignedObjectArray_int___clear_28_29($11 + 40 | 0 | 0); HEAPF32[($9 + 332 | 0) >> 2] = Math_fround(0 | 0); break label$1; } btConvexHullInternal__btConvexHullInternal_28_29($9 + 176 | 0 | 0) | 0; btConvexHullInternal__compute_28void_20const__2c_20bool_2c_20int_2c_20int_29($9 + 176 | 0 | 0, HEAP32[($9 + 324 | 0) >> 2] | 0 | 0, (HEAPU8[($9 + 323 | 0) >> 0] | 0) & 1 | 0 | 0, HEAP32[($9 + 316 | 0) >> 2] | 0 | 0, HEAP32[($9 + 312 | 0) >> 2] | 0 | 0); HEAPF32[($9 + 172 | 0) >> 2] = Math_fround(0 | 0); label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($9 + 308 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } $50 = Math_fround(btConvexHullInternal__shrink_28float_2c_20float_29($9 + 176 | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 308 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 304 | 0) >> 2])))); HEAPF32[($9 + 172 | 0) >> 2] = $50; if (!($50 < Math_fround(0 | 0) & 1 | 0)) { break label$4 } btAlignedObjectArray_btVector3___clear_28_29($11 | 0); btAlignedObjectArray_btConvexHullComputer__Edge___clear_28_29($11 + 20 | 0 | 0); btAlignedObjectArray_int___clear_28_29($11 + 40 | 0 | 0); HEAPF32[($9 + 332 | 0) >> 2] = Math_fround(HEAPF32[($9 + 172 | 0) >> 2]); HEAP32[($9 + 168 | 0) >> 2] = 1; break label$3; } btVector3__btVector3_28_29($9 + 152 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($11 | 0, 0 | 0, $9 + 152 | 0 | 0); HEAP32[($9 + 144 | 0) >> 2] = 0; i64toi32_i32$0 = 0; HEAP32[($9 + 136 | 0) >> 2] = 0; HEAP32[($9 + 140 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btConvexHullComputer__Edge___resize_28int_2c_20btConvexHullComputer__Edge_20const__29($11 + 20 | 0 | 0, 0 | 0, $9 + 136 | 0 | 0); HEAP32[($9 + 132 | 0) >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($11 + 40 | 0 | 0, 0 | 0, $9 + 132 | 0 | 0); btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28_29($9 + 112 | 0 | 0) | 0; getVertexCopy_28btConvexHullInternal__Vertex__2c_20btAlignedObjectArray_btConvexHullInternal__Vertex____29(HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, $9 + 112 | 0 | 0) | 0; HEAP32[($9 + 108 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($9 + 108 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($9 + 112 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $9, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($9 + 112 | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; btConvexHullInternal__getCoordinates_28btConvexHullInternal__Vertex_20const__29($9 + 88 | 0 | 0, $9 + 176 | 0 | 0, HEAP32[($9 + 104 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($11 | 0, $9 + 88 | 0 | 0); HEAP32[($9 + 84 | 0) >> 2] = HEAP32[((HEAP32[($9 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$7 : { if (!((HEAP32[($9 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$7 } HEAP32[($9 + 80 | 0) >> 2] = -1; HEAP32[($9 + 76 | 0) >> 2] = -1; HEAP32[($9 + 72 | 0) >> 2] = HEAP32[($9 + 84 | 0) >> 2] | 0; label$8 : while (1) { label$9 : { if (!((HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$9 } (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($11 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; HEAP32[($9 + 64 | 0) >> 2] = 0; i64toi32_i32$0 = 0; HEAP32[($9 + 56 | 0) >> 2] = 0; HEAP32[($9 + 60 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btConvexHullComputer__Edge___push_back_28btConvexHullComputer__Edge_20const__29($11 + 20 | 0 | 0, $9 + 56 | 0 | 0); HEAP32[($9 + 48 | 0) >> 2] = 0; i64toi32_i32$0 = 0; HEAP32[($9 + 40 | 0) >> 2] = 0; HEAP32[($9 + 44 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btConvexHullComputer__Edge___push_back_28btConvexHullComputer__Edge_20const__29($11 + 20 | 0 | 0, $9 + 40 | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($11 + 20 | 0 | 0, HEAP32[($9 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($11 + 20 | 0 | 0, (HEAP32[($9 + 68 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($9 + 68 | 0) >> 2] | 0; HEAP32[((HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($9 + 68 | 0) >> 2] | 0) + 1 | 0; HEAP32[((HEAP32[($9 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; HEAP32[((HEAP32[($9 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = -1; $187 = getVertexCopy_28btConvexHullInternal__Vertex__2c_20btAlignedObjectArray_btConvexHullInternal__Vertex____29(HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $9 + 112 | 0 | 0) | 0; HEAP32[((HEAP32[($9 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $187; HEAP32[((HEAP32[($9 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($9 + 108 | 0) >> 2] | 0; } label$10 : { label$11 : { if (!((HEAP32[($9 + 76 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$11 } $201 = (HEAP32[($9 + 76 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($11 + 20 | 0 | 0, HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $201), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$10; } HEAP32[($9 + 80 | 0) >> 2] = HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; } HEAP32[($9 + 76 | 0) >> 2] = HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; HEAP32[($9 + 72 | 0) >> 2] = HEAP32[(HEAP32[($9 + 72 | 0) >> 2] | 0) >> 2] | 0; if ((HEAP32[($9 + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 84 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$8 } break label$8; }; $222 = (HEAP32[($9 + 76 | 0) >> 2] | 0) - (HEAP32[($9 + 80 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($11 + 20 | 0 | 0, HEAP32[($9 + 80 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $222), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } HEAP32[($9 + 108 | 0) >> 2] = (HEAP32[($9 + 108 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } HEAP32[($9 + 28 | 0) >> 2] = 0; label$12 : { label$13 : while (1) { if (!((HEAP32[($9 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($9 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$12 } (wasm2js_i32$0 = $9, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($9 + 112 | 0 | 0, HEAP32[($9 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; HEAP32[($9 + 20 | 0) >> 2] = HEAP32[((HEAP32[($9 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; label$14 : { if (!((HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$14 } HEAP32[($9 + 16 | 0) >> 2] = HEAP32[($9 + 20 | 0) >> 2] | 0; label$15 : while (1) { label$16 : { if (!((HEAP32[((HEAP32[($9 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$16 } btAlignedObjectArray_int___push_back_28int_20const__29($11 + 40 | 0 | 0, (HEAP32[($9 + 16 | 0) >> 2] | 0) + 20 | 0 | 0); HEAP32[($9 + 12 | 0) >> 2] = HEAP32[($9 + 16 | 0) >> 2] | 0; label$17 : while (1) { HEAP32[((HEAP32[($9 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; HEAP32[($9 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; if ((HEAP32[($9 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$17 } break label$17; }; } HEAP32[($9 + 16 | 0) >> 2] = HEAP32[(HEAP32[($9 + 16 | 0) >> 2] | 0) >> 2] | 0; if ((HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$15 } break label$15; }; } HEAP32[($9 + 28 | 0) >> 2] = (HEAP32[($9 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$13; }; } HEAPF32[($9 + 332 | 0) >> 2] = Math_fround(HEAPF32[($9 + 172 | 0) >> 2]); HEAP32[($9 + 168 | 0) >> 2] = 1; btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($9 + 112 | 0 | 0) | 0; } btConvexHullInternal___btConvexHullInternal_28_29($9 + 176 | 0 | 0) | 0; } $300 = Math_fround(HEAPF32[($9 + 332 | 0) >> 2]); __stack_pointer = $9 + 336 | 0; return Math_fround($300); } function btConvexHullInternal__btConvexHullInternal_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; btConvexHullInternal__Pool_btConvexHullInternal__Vertex___Pool_28_29($4 + 32 | 0 | 0) | 0; btConvexHullInternal__Pool_btConvexHullInternal__Edge___Pool_28_29($4 + 48 | 0 | 0) | 0; btConvexHullInternal__Pool_btConvexHullInternal__Face___Pool_28_29($4 + 64 | 0 | 0) | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28_29($4 + 80 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___resize_28int_2c_20btConvexHullComputer__Edge_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, $6 = 0, $47 = 0, $49 = 0, i64toi32_i32$1 = 0, $166 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btConvexHullComputer__Edge___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } $47 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[$47 >> 2] | 0; i64toi32_i32$1 = HEAP32[($47 + 4 | 0) >> 2] | 0; $166 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 12) | 0; HEAP32[i64toi32_i32$0 >> 2] = $166; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; HEAP32[(i64toi32_i32$0 + $49 | 0) >> 2] = HEAP32[($47 + $49 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function getVertexCopy_28btConvexHullInternal__Vertex__2c_20btAlignedObjectArray_btConvexHullInternal__Vertex____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $4 + 12 | 0 | 0); } $22 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $22 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___push_back_28btConvexHullComputer__Edge_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, i64toi32_i32$0 = 0, $21 = 0, $23 = 0, i64toi32_i32$1 = 0, $83 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btConvexHullComputer__Edge___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btConvexHullComputer__Edge___reserve_28int_29($5 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___allocSize_28int_29($5 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $21 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[$21 >> 2] | 0; i64toi32_i32$1 = HEAP32[($21 + 4 | 0) >> 2] | 0; $83 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 12) | 0; HEAP32[i64toi32_i32$0 >> 2] = $83; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $23 = 8; HEAP32[(i64toi32_i32$0 + $23 | 0) >> 2] = HEAP32[($21 + $23 | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal___btConvexHullInternal_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($4 + 80 | 0 | 0) | 0; btConvexHullInternal__Pool_btConvexHullInternal__Face____Pool_28_29($4 + 64 | 0 | 0) | 0; btConvexHullInternal__Pool_btConvexHullInternal__Edge____Pool_28_29($4 + 48 | 0 | 0) | 0; btConvexHullInternal__Pool_btConvexHullInternal__Vertex____Pool_28_29($4 + 32 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexHullInternal__Pool_btConvexHullInternal__Vertex___Pool_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = 256; return $4 | 0; } function btConvexHullInternal__Pool_btConvexHullInternal__Edge___Pool_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = 256; return $4 | 0; } function btConvexHullInternal__Pool_btConvexHullInternal__Face___Pool_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = 256; return $4 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btConvexHullComputer__Edge___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btConvexHullComputer__Edge___copy_28int_2c_20int_2c_20btConvexHullComputer__Edge__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btConvexHullComputer__Edge___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btConvexHullComputer__Edge___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btConvexHullComputer__Edge___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btConvexHullInternal__Pool_btConvexHullInternal__Face____Pool_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $17 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[($3 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; btConvexHullInternal__PoolArray_btConvexHullInternal__Face____PoolArray_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); continue label$2; }; } $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $17 | 0; } function btConvexHullInternal__Pool_btConvexHullInternal__Edge____Pool_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $17 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[($3 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; btConvexHullInternal__PoolArray_btConvexHullInternal__Edge____PoolArray_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); continue label$2; }; } $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $17 | 0; } function btConvexHullInternal__Pool_btConvexHullInternal__Vertex____Pool_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $17 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[($3 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; HEAP32[$4 >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex____PoolArray_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); continue label$2; }; } $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $17 | 0; } function btConvexHullInternal__Edge___Edge_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 16 | 0) >> 2] = 0; return $4 | 0; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Face____PoolArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedFreeInternal_28void__29(HEAP32[$4 >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Edge____PoolArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedFreeInternal_28void__29(HEAP32[$4 >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex____PoolArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedFreeInternal_28void__29(HEAP32[$4 >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___allocate_28int_2c_20btConvexHullInternal__Point32_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___copy_28int_2c_20int_2c_20btConvexHullInternal__Point32__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $20 = 0, $27 = 0, $7 = 0, $89 = 0, $99 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $20 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $89 = i64toi32_i32$0; i64toi32_i32$0 = $20; HEAP32[i64toi32_i32$0 >> 2] = $89; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $27 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $27 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $99 = i64toi32_i32$1; i64toi32_i32$1 = $20 + $27 | 0; HEAP32[i64toi32_i32$1 >> 2] = $99; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___allocate_28int_2c_20btConvexHullInternal__Point32_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___deallocate_28btConvexHullInternal__Point32__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function pointCmp__operator_28_29_28btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $16 = 0, $27 = 0, $38 = 0, $49 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $16 = 1; label$1 : { if ((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$1 } $27 = 0; label$2 : { if (!((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } $38 = 1; label$3 : { if ((HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { break label$3 } $49 = 0; label$4 : { if (!((HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } $49 = (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); } $38 = $49; } $27 = $38; } $16 = $27; } return $16 & 1 | 0 | 0; } function btAlignedObjectArray_btConvexHullInternal__Point32___swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $5 = 0, $6 = 0, $11 = 0, $12 = 0, $26 = 0, $28 = 0, $36 = 0, $38 = 0, $73 = 0, $77 = 0, $101 = 0, $111 = 0, $125 = 0, $135 = 0; $5 = __stack_pointer - 32 | 0; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; $11 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; $12 = 8; i64toi32_i32$2 = $11 + $12 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $73 = i64toi32_i32$0; i64toi32_i32$0 = $5 + $12 | 0; HEAP32[i64toi32_i32$0 >> 2] = $73; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $77 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[i64toi32_i32$1 >> 2] = $77; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $26 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $101 = i64toi32_i32$0; i64toi32_i32$0 = $26; HEAP32[i64toi32_i32$0 >> 2] = $101; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $28 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $111 = i64toi32_i32$1; i64toi32_i32$1 = $26 + $28 | 0; HEAP32[i64toi32_i32$1 >> 2] = $111; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $36 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $125 = i64toi32_i32$0; i64toi32_i32$0 = $36; HEAP32[i64toi32_i32$0 >> 2] = $125; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $38 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $38 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $135 = i64toi32_i32$1; i64toi32_i32$1 = $36 + $38 | 0; HEAP32[i64toi32_i32$1 >> 2] = $135; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___allocate_28int_2c_20btConvexHullInternal__Vertex__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btConvexHullInternal__Vertex____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btConvexHullInternal__Vertex____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___deallocate_28btConvexHullInternal__Vertex___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___allocate_28int_2c_20btConvexHullInternal__Vertex__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___deallocate_28btConvexHullInternal__Vertex___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btConvexHullInternal__PointR128__PointR128_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexHullInternal__Int128__Int128_28_29($4 | 0) | 0; btConvexHullInternal__Int128__Int128_28_29($4 + 16 | 0 | 0) | 0; btConvexHullInternal__Int128__Int128_28_29($4 + 32 | 0 | 0) | 0; btConvexHullInternal__Int128__Int128_28_29($4 + 48 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullInternal__Face____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btConvexHullInternal__Face____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___deallocate_28btConvexHullInternal__Face___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___deallocate_28btConvexHullInternal__Face___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btConvexHullInternal__Face____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___allocate_28int_2c_20btConvexHullInternal__Face__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btConvexHullInternal__Face____copy_28int_2c_20int_2c_20btConvexHullInternal__Face___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___allocate_28int_2c_20btConvexHullInternal__Face__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___allocate_28int_2c_20btConvexHullComputer__Edge_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___copy_28int_2c_20int_2c_20btConvexHullComputer__Edge__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, $25 = 0, $27 = 0, $7 = 0, i64toi32_i32$1 = 0, $89 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $25 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 12) | 0; i64toi32_i32$0 = HEAP32[$25 >> 2] | 0; i64toi32_i32$1 = HEAP32[($25 + 4 | 0) >> 2] | 0; $89 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 12) | 0; HEAP32[i64toi32_i32$0 >> 2] = $89; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $27 = 8; HEAP32[(i64toi32_i32$0 + $27 | 0) >> 2] = HEAP32[($25 + $27 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___allocate_28int_2c_20btConvexHullComputer__Edge_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 12) | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btConvexHullComputer_cpp() { __cxx_global_var_init_45(); return; } function __cxx_global_var_init_46() { btInfMaskConverter__btInfMaskConverter_28int_29(114172 | 0, 2139095040 | 0) | 0; return; } function btPolyhedralConvexShape__btPolyhedralConvexShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexInternalShape__btConvexInternalShape_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 99444 + 8 | 0; HEAP32[($4 + 60 | 0) >> 2] = 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btPolyhedralConvexShape___btPolyhedralConvexShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $15 = 0, $19 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 99444 + 8 | 0; label$1 : { if (!((HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $15 = HEAP32[($4 + 60 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$15 >> 2] | 0) >> 2] | 0 | 0]($15) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0); } btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; $19 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $19 | 0; } function btPolyhedralConvexShape___btPolyhedralConvexShape_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btPolyhedralConvexShape__initializePolyhedralFeatures_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $191 = 0, $13 = 0, $22 = 0, $84 = 0, $85 = 0, $98 = 0, $134 = Math_fround(0), $159 = Math_fround(0), $235 = 0, $237 = 0, $266 = 0, $269 = 0, $270 = 0, $272 = 0, $293 = 0, $294 = 0, $303 = 0, $304 = 0, $330 = 0, $338 = 0, $340 = 0, $378 = 0, $380 = 0, $717 = 0, $718 = 0, $1265 = 0, $1269 = 0, $94 = Math_fround(0), $169 = 0, $185 = 0, $212 = 0, $213 = 0, $230 = 0, $1554 = 0, $1564 = 0, $268 = 0, $1691 = 0, $1695 = 0, $1715 = 0, $1719 = 0, $1773 = 0, $1786 = 0, $1850 = 0, $1863 = 0, $397 = Math_fround(0), $409 = Math_fround(0), $421 = Math_fround(0), $427 = Math_fround(0), $478 = Math_fround(0), $2521 = 0, $2525 = 0, $797 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 848 | 0; __stack_pointer = $4; HEAP32[($4 + 844 | 0) >> 2] = $0; HEAP32[($4 + 840 | 0) >> 2] = $1; $5 = HEAP32[($4 + 844 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $13 = HEAP32[($5 + 60 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$13 >> 2] | 0) >> 2] | 0 | 0]($13) | 0; btAlignedFreeInternal_28void__29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(132 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 836 | 0) >> 2] = wasm2js_i32$1; $22 = btConvexPolyhedron__operator_20new_28unsigned_20long_2c_20void__29(132 | 0, HEAP32[($4 + 836 | 0) >> 2] | 0 | 0) | 0; btConvexPolyhedron__btConvexPolyhedron_28_29($22 | 0) | 0; HEAP32[($5 + 60 | 0) >> 2] = $22; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 816 | 0 | 0) | 0; HEAP32[($4 + 812 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($4 + 812 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($5) | 0 | 0) & 1 | 0)) { break label$2 } btVector3__btVector3_28_29($4 + 792 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___expand_28btVector3_20const__29($4 + 816 | 0 | 0, $4 + 792 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 808 | 0) >> 2] = wasm2js_i32$1; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 812 | 0) >> 2] | 0, HEAP32[($4 + 808 | 0) >> 2] | 0); HEAP32[($4 + 812 | 0) >> 2] = (HEAP32[($4 + 812 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } btConvexHullComputer__btConvexHullComputer_28_29($4 + 732 | 0 | 0) | 0; label$4 : { label$5 : { if (!(HEAP32[($4 + 840 | 0) >> 2] | 0)) { break label$5 } btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 712 | 0 | 0) | 0; btGeometryUtil__getPlaneEquationsFromVertices_28btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___29($4 + 816 | 0 | 0, $4 + 712 | 0 | 0); btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 692 | 0 | 0) | 0; HEAP32[($4 + 688 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($4 + 688 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($4 + 712 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$6 } $84 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 712 | 0 | 0, HEAP32[($4 + 688 | 0) >> 2] | 0 | 0) | 0; $85 = 8; i64toi32_i32$2 = $84 + $85 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1265 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 672 | 0) + $85 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1265; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $84; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1269 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 672 | 0) >> 2] = $1269; HEAP32[($4 + 676 | 0) >> 2] = i64toi32_i32$0; $94 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5)); $98 = btVector3__operator_20float__28_29($4 + 672 | 0 | 0) | 0; HEAPF32[($98 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($98 + 12 | 0) >> 2]) - $94); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($4 + 692 | 0 | 0, $4 + 672 | 0 | 0); HEAP32[($4 + 688 | 0) >> 2] = (HEAP32[($4 + 688 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 652 | 0 | 0) | 0; btGeometryUtil__getVerticesFromPlaneEquations_28btAlignedObjectArray_btVector3__20const__2c_20btAlignedObjectArray_btVector3___29($4 + 692 | 0 | 0, $4 + 652 | 0 | 0); $134 = Math_fround(0 | 0); Math_fround(btConvexHullComputer__compute_28float_20const__2c_20int_2c_20int_2c_20float_2c_20float_29($4 + 732 | 0 | 0, btVector3__getX_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 652 | 0 | 0, 0 | 0) | 0 | 0) | 0 | 0, 16 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($4 + 652 | 0 | 0) | 0 | 0, Math_fround($134), Math_fround($134))); btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 652 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 692 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 712 | 0 | 0) | 0; break label$4; } $159 = Math_fround(0 | 0); Math_fround(btConvexHullComputer__compute_28float_20const__2c_20int_2c_20int_2c_20float_2c_20float_29($4 + 732 | 0 | 0, btVector3__getX_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 816 | 0 | 0, 0 | 0) | 0 | 0) | 0 | 0, 16 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($4 + 816 | 0 | 0) | 0 | 0, Math_fround($159), Math_fround($159))); } btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 632 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(($4 + 732 | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_i32$1; $169 = HEAP32[($4 + 628 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 + 612 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($4 + 632 | 0 | 0, $169 | 0, $4 + 612 | 0 | 0); HEAP32[($4 + 608 | 0) >> 2] = $4 + 732 | 0; btAlignedObjectArray_btFace___btAlignedObjectArray_28_29($4 + 588 | 0 | 0) | 0; $185 = HEAP32[($4 + 628 | 0) >> 2] | 0; HEAP32[($4 + 584 | 0) >> 2] = 0; i64toi32_i32$0 = 0; $191 = 0; i64toi32_i32$1 = $4 + 576 | 0; HEAP32[i64toi32_i32$1 >> 2] = $191; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 568 | 0; HEAP32[i64toi32_i32$1 >> 2] = $191; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 560 | 0; HEAP32[i64toi32_i32$1 >> 2] = $191; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4; HEAP32[($4 + 552 | 0) >> 2] = $191; HEAP32[($4 + 556 | 0) >> 2] = i64toi32_i32$0; btFace__btFace_28_29($4 + 552 | 0 | 0) | 0; btAlignedObjectArray_btFace___resize_28int_2c_20btFace_20const__29($4 + 588 | 0 | 0, $185 | 0, $4 + 552 | 0 | 0); btFace___btFace_28_29($4 + 552 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($4 + 608 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 548 | 0) >> 2] = wasm2js_i32$1; $212 = (HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0; $213 = HEAP32[($4 + 548 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 + 532 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($212 | 0, $213 | 0, $4 + 532 | 0 | 0); HEAP32[($4 + 528 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($4 + 528 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 548 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } $230 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 608 | 0) >> 2] | 0 | 0, HEAP32[($4 + 528 | 0) >> 2] | 0 | 0) | 0; $235 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4 + 528 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $230; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1554 = i64toi32_i32$0; i64toi32_i32$0 = $235; HEAP32[i64toi32_i32$0 >> 2] = $1554; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $237 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $237 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1564 = i64toi32_i32$1; i64toi32_i32$1 = $235 + $237 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1564; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($4 + 528 | 0) >> 2] = (HEAP32[($4 + 528 | 0) >> 2] | 0) + 1 | 0; continue label$9; }; } HEAP32[($4 + 524 | 0) >> 2] = 0; label$10 : { label$11 : while (1) { if (!((HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 628 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29((HEAP32[($4 + 608 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 520 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29((HEAP32[($4 + 608 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 520 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 516 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 512 | 0) >> 2] = HEAP32[($4 + 516 | 0) >> 2] | 0; $266 = $4 + 464 | 0; $268 = $266 + 48 | 0; $269 = $266; label$12 : while (1) { $270 = $269; btVector3__btVector3_28_29($270 | 0) | 0; $272 = $270 + 16 | 0; $269 = $272; if (!(($272 | 0) == ($268 | 0) & 1 | 0)) { continue label$12 } break label$12; }; HEAP32[($4 + 460 | 0) >> 2] = 0; label$13 : while (1) { (wasm2js_i32$0 = $4, wasm2js_i32$1 = btConvexHullComputer__Edge__getSourceVertex_28_29_20const(HEAP32[($4 + 512 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 456 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___push_back_28int_20const__29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0, $4 + 456 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btConvexHullComputer__Edge__getTargetVertex_28_29_20const(HEAP32[($4 + 512 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 452 | 0) >> 2] = wasm2js_i32$1; $293 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 608 | 0) >> 2] | 0 | 0, HEAP32[($4 + 456 | 0) >> 2] | 0 | 0) | 0; $294 = 8; i64toi32_i32$2 = $293 + $294 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1691 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 432 | 0) + $294 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1691; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $293; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1695 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 432 | 0) >> 2] = $1695; HEAP32[($4 + 436 | 0) >> 2] = i64toi32_i32$0; $303 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 608 | 0) >> 2] | 0 | 0, HEAP32[($4 + 452 | 0) >> 2] | 0 | 0) | 0; $304 = 8; i64toi32_i32$2 = $303 + $304 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1715 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 416 | 0) + $304 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1715; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $303; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1719 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 416 | 0) >> 2] = $1719; HEAP32[($4 + 420 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 400 | 0 | 0, $4 + 416 | 0 | 0, $4 + 432 | 0 | 0); btVector3__normalize_28_29($4 + 400 | 0 | 0) | 0; label$14 : { if (!((HEAP32[($4 + 460 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { break label$14 } $330 = HEAP32[($4 + 460 | 0) >> 2] | 0; HEAP32[($4 + 460 | 0) >> 2] = $330 + 1 | 0; $338 = ($4 + 464 | 0) + ($330 << 4 | 0) | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 400 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 404 | 0) >> 2] | 0; $1773 = i64toi32_i32$0; i64toi32_i32$0 = $338; HEAP32[i64toi32_i32$0 >> 2] = $1773; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $340 = 8; i64toi32_i32$2 = ($4 + 400 | 0) + $340 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1786 = i64toi32_i32$1; i64toi32_i32$1 = $338 + $340 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1786; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btConvexHullComputer__Edge__getNextEdgeOfFace_28_29_20const(HEAP32[($4 + 512 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 512 | 0) >> 2] = wasm2js_i32$1; if ((HEAP32[($4 + 512 | 0) >> 2] | 0 | 0) != (HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$13 } break label$13; }; HEAPF32[($4 + 396 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); label$15 : { label$16 : { if (!((HEAP32[($4 + 460 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { break label$16 } btVector3__cross_28btVector3_20const__29_20const($4 + 380 | 0 | 0, $4 + 464 | 0 | 0, ($4 + 464 | 0) + 16 | 0 | 0); $378 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 380 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 384 | 0) >> 2] | 0; $1850 = i64toi32_i32$0; i64toi32_i32$0 = $378; HEAP32[i64toi32_i32$0 >> 2] = $1850; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $380 = 8; i64toi32_i32$2 = ($4 + 380 | 0) + $380 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1863 = i64toi32_i32$1; i64toi32_i32$1 = $378 + $380 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1863; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__normalize_28_29(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $397 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $397), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; $409 = Math_fround(HEAPF32[(btVector3__getY_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $409), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; $421 = Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $421), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; $427 = Math_fround(HEAPF32[($4 + 396 | 0) >> 2]); (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $427), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; break label$15; } __assert_fail(86177 | 0, 74379 | 0, 152 | 0, 69994 | 0); wasm2js_trap(); } HEAP32[($4 + 376 | 0) >> 2] = 0; label$17 : { label$18 : while (1) { if (!((HEAP32[($4 + 376 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { break label$17 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 376 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_f32$0; label$19 : { if (!(Math_fround(HEAPF32[($4 + 396 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 372 | 0) >> 2]) & 1 | 0)) { break label$19 } HEAPF32[($4 + 396 | 0) >> 2] = Math_fround(HEAPF32[($4 + 372 | 0) >> 2]); } HEAP32[($4 + 376 | 0) >> 2] = (HEAP32[($4 + 376 | 0) >> 2] | 0) + 1 | 0; continue label$18; }; } $478 = Math_fround(-Math_fround(HEAPF32[($4 + 396 | 0) >> 2])); (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $478), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; HEAP32[($4 + 524 | 0) >> 2] = (HEAP32[($4 + 524 | 0) >> 2] | 0) + 1 | 0; continue label$11; }; } HEAPF32[($4 + 368 | 0) >> 2] = Math_fround(.9990000128746033); btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 348 | 0 | 0) | 0; HEAP32[($4 + 344 | 0) >> 2] = 0; label$20 : { label$21 : while (1) { if (!((HEAP32[($4 + 344 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 588 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$20 } btAlignedObjectArray_int___push_back_28int_20const__29($4 + 348 | 0 | 0, $4 + 344 | 0 | 0); HEAP32[($4 + 344 | 0) >> 2] = (HEAP32[($4 + 344 | 0) >> 2] | 0) + 1 | 0; continue label$21; }; } label$22 : { label$23 : while (1) { if (!(btAlignedObjectArray_int___size_28_29_20const($4 + 348 | 0 | 0) | 0)) { break label$22 } btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 324 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 348 | 0 | 0, (btAlignedObjectArray_int___size_28_29_20const($4 + 348 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 320 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___push_back_28int_20const__29($4 + 324 | 0 | 0, $4 + 320 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 320 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 316 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___pop_back_28_29($4 + 348 | 0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 300 | 0 | 0, (HEAP32[($4 + 316 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($4 + 316 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($4 + 316 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btAlignedObjectArray_int___size_28_29_20const($4 + 348 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 296 | 0) >> 2] = wasm2js_i32$1; label$24 : { label$25 : while (1) { if (!((HEAP32[($4 + 296 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$24 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 348 | 0 | 0, HEAP32[($4 + 296 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 292 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 272 | 0 | 0, (HEAP32[($4 + 288 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($4 + 288 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($4 + 288 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; label$26 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 + 300 | 0 | 0, $4 + 272 | 0 | 0)) > Math_fround(HEAPF32[($4 + 368 | 0) >> 2]) & 1 | 0)) { break label$26 } btAlignedObjectArray_int___push_back_28int_20const__29($4 + 324 | 0 | 0, $4 + 292 | 0 | 0); btAlignedObjectArray_int___remove_28int_20const__29($4 + 348 | 0 | 0, $4 + 292 | 0 | 0); } HEAP32[($4 + 296 | 0) >> 2] = (HEAP32[($4 + 296 | 0) >> 2] | 0) + -1 | 0; continue label$25; }; } HEAP8[($4 + 271 | 0) >> 0] = 0; label$27 : { if (!((btAlignedObjectArray_int___size_28_29_20const($4 + 324 | 0 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { break label$27 } btAlignedObjectArray_GrahamVector3___btAlignedObjectArray_28_29($4 + 248 | 0 | 0) | 0; HEAPF32[($4 + 228 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 224 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 220 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 232 | 0 | 0, $4 + 228 | 0 | 0, $4 + 224 | 0 | 0, $4 + 220 | 0 | 0) | 0; HEAP32[($4 + 216 | 0) >> 2] = 0; label$28 : { label$29 : while (1) { if (!((HEAP32[($4 + 216 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($4 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$28 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 324 | 0 | 0, HEAP32[($4 + 216 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 212 | 0) >> 2] = wasm2js_i32$1; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 196 | 0 | 0, (HEAP32[($4 + 212 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($4 + 212 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($4 + 212 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($4 + 232 | 0 | 0, $4 + 196 | 0 | 0) | 0; HEAP32[($4 + 192 | 0) >> 2] = 0; label$30 : { label$31 : while (1) { if (!((HEAP32[($4 + 192 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const(HEAP32[($4 + 212 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$30 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(HEAP32[($4 + 212 | 0) >> 2] | 0 | 0, HEAP32[($4 + 192 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; $717 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4 + 188 | 0) >> 2] | 0 | 0) | 0; $718 = 8; i64toi32_i32$2 = $717 + $718 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2521 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 168 | 0) + $718 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2521; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $717; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2525 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 168 | 0) >> 2] = $2525; HEAP32[($4 + 172 | 0) >> 2] = i64toi32_i32$0; HEAP8[($4 + 167 | 0) >> 0] = 0; HEAP32[($4 + 160 | 0) >> 2] = 0; label$32 : { label$33 : while (1) { if (!((HEAP32[($4 + 160 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 + 248 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$32 } label$34 : { if (!((HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 160 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($4 + 188 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$34 } HEAP8[($4 + 167 | 0) >> 0] = 1; break label$32; } HEAP32[($4 + 160 | 0) >> 2] = (HEAP32[($4 + 160 | 0) >> 2] | 0) + 1 | 0; continue label$33; }; } label$35 : { if ((HEAPU8[($4 + 167 | 0) >> 0] | 0) & 1 | 0) { break label$35 } GrahamVector3__GrahamVector3_28btVector3_20const__2c_20int_29($4 + 136 | 0 | 0, $4 + 168 | 0 | 0, HEAP32[($4 + 188 | 0) >> 2] | 0 | 0) | 0; btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29($4 + 248 | 0 | 0, $4 + 136 | 0 | 0); } HEAP32[($4 + 192 | 0) >> 2] = (HEAP32[($4 + 192 | 0) >> 2] | 0) + 1 | 0; continue label$31; }; } HEAP32[($4 + 216 | 0) >> 2] = (HEAP32[($4 + 216 | 0) >> 2] | 0) + 1 | 0; continue label$29; }; } btFace__btFace_28_29($4 + 100 | 0 | 0) | 0; HEAP32[($4 + 96 | 0) >> 2] = 0; label$36 : { label$37 : while (1) { if (!((HEAP32[($4 + 96 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$36 } $797 = (btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 324 | 0 | 0, 0 | 0) | 0) >> 2] | 0 | 0) | 0) + 20 | 0; HEAPF32[((($4 + 100 | 0) + 20 | 0) + ((HEAP32[($4 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($797 + ((HEAP32[($4 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($4 + 96 | 0) >> 2] = (HEAP32[($4 + 96 | 0) >> 2] | 0) + 1 | 0; continue label$37; }; } btAlignedObjectArray_GrahamVector3___btAlignedObjectArray_28_29($4 + 76 | 0 | 0) | 0; btVector3__normalize_28_29($4 + 232 | 0 | 0) | 0; GrahamScanConvexHull2D_28btAlignedObjectArray_GrahamVector3___2c_20btAlignedObjectArray_GrahamVector3___2c_20btVector3_20const__29($4 + 248 | 0 | 0, $4 + 76 | 0 | 0, $4 + 232 | 0 | 0); HEAP32[($4 + 72 | 0) >> 2] = 0; label$38 : { label$39 : while (1) { if (!((HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 + 76 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$38 } btAlignedObjectArray_int___push_back_28int_20const__29($4 + 100 | 0 | 0, (btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 76 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0); HEAP32[($4 + 68 | 0) >> 2] = 0; label$40 : { label$41 : while (1) { if (!((HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 + 248 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$40 } label$42 : { if (!((HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 76 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$42 } (wasm2js_i32$0 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; break label$40; } HEAP32[($4 + 68 | 0) >> 2] = (HEAP32[($4 + 68 | 0) >> 2] | 0) + 1 | 0; continue label$41; }; } HEAP32[($4 + 72 | 0) >> 2] = (HEAP32[($4 + 72 | 0) >> 2] | 0) + 1 | 0; continue label$39; }; } HEAP8[($4 + 67 | 0) >> 0] = 0; HEAP32[($4 + 60 | 0) >> 2] = 0; label$43 : { label$44 : while (1) { if (!((HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 + 248 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$43 } label$45 : { label$46 : { if (!((HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { break label$46 } break label$45; } HEAP32[($4 + 56 | 0) >> 2] = 0; label$47 : { label$48 : while (1) { if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 588 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$47 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; HEAP8[($4 + 51 | 0) >> 0] = 0; HEAP32[($4 + 44 | 0) >> 2] = 0; label$49 : { label$50 : while (1) { if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($4 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$49 } label$51 : { if (!((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 324 | 0 | 0, HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$51 } HEAP8[($4 + 51 | 0) >> 0] = 1; break label$49; } HEAP32[($4 + 44 | 0) >> 2] = (HEAP32[($4 + 44 | 0) >> 2] | 0) + 1 | 0; continue label$50; }; } label$52 : { label$53 : { if (!((HEAPU8[($4 + 51 | 0) >> 0] | 0) & 1 | 0)) { break label$53 } break label$52; } HEAP32[($4 + 40 | 0) >> 2] = 0; label$54 : { label$55 : while (1) { if (!((HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const(HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$54 } label$56 : { if (!((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(HEAP32[($4 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$56 } HEAP8[($4 + 67 | 0) >> 0] = 1; break label$54; } HEAP32[($4 + 40 | 0) >> 2] = (HEAP32[($4 + 40 | 0) >> 2] | 0) + 1 | 0; continue label$55; }; } label$57 : { if (!((HEAPU8[($4 + 67 | 0) >> 0] | 0) & 1 | 0)) { break label$57 } break label$47; } } HEAP32[($4 + 56 | 0) >> 2] = (HEAP32[($4 + 56 | 0) >> 2] | 0) + 1 | 0; continue label$48; }; } label$58 : { if (!((HEAPU8[($4 + 67 | 0) >> 0] | 0) & 1 | 0)) { break label$58 } break label$43; } } HEAP32[($4 + 60 | 0) >> 2] = (HEAP32[($4 + 60 | 0) >> 2] | 0) + 1 | 0; continue label$44; }; } label$59 : { if ((HEAPU8[($4 + 67 | 0) >> 0] | 0) & 1 | 0) { break label$59 } HEAP8[($4 + 271 | 0) >> 0] = 1; btAlignedObjectArray_btFace___push_back_28btFace_20const__29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 24 | 0 | 0, $4 + 100 | 0 | 0); } btAlignedObjectArray_GrahamVector3____btAlignedObjectArray_28_29($4 + 76 | 0 | 0) | 0; btFace___btFace_28_29($4 + 100 | 0 | 0) | 0; btAlignedObjectArray_GrahamVector3____btAlignedObjectArray_28_29($4 + 248 | 0 | 0) | 0; } label$60 : { if ((HEAPU8[($4 + 271 | 0) >> 0] | 0) & 1 | 0) { break label$60 } HEAP32[($4 + 36 | 0) >> 2] = 0; label$61 : { label$62 : while (1) { if (!((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($4 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$61 } btFace__btFace_28btFace_20const__29($4 | 0, btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 324 | 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btAlignedObjectArray_btFace___push_back_28btFace_20const__29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 24 | 0 | 0, $4 | 0); btFace___btFace_28_29($4 | 0) | 0; HEAP32[($4 + 36 | 0) >> 2] = (HEAP32[($4 + 36 | 0) >> 2] | 0) + 1 | 0; continue label$62; }; } } btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 324 | 0 | 0) | 0; continue label$23; }; } btConvexPolyhedron__initialize_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 348 | 0 | 0) | 0; btAlignedObjectArray_btFace____btAlignedObjectArray_28_29($4 + 588 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 632 | 0 | 0) | 0; btConvexHullComputer___btConvexHullComputer_28_29($4 + 732 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 816 | 0 | 0) | 0; __stack_pointer = $4 + 848 | 0; return 1 & 1 | 0 | 0; } function btConvexPolyhedron__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btVector3___expand_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $25 = 0, $28 = 0, $100 = 0, $110 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btVector3___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btVector3___reserve_28int_29($5 | 0, btAlignedObjectArray_btVector3___allocSize_28int_29($5 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; $25 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $100 = i64toi32_i32$0; i64toi32_i32$0 = $25; HEAP32[i64toi32_i32$0 >> 2] = $100; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $28 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $110 = i64toi32_i32$1; i64toi32_i32$1 = $25 + $28 | 0; HEAP32[i64toi32_i32$1 >> 2] = $110; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $36 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $36 | 0; } function btConvexHullComputer__btConvexHullComputer_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 | 0) | 0; btAlignedObjectArray_btConvexHullComputer__Edge___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexHullComputer__compute_28float_20const__2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0, $18 = Math_fround(0); $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAPF32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; $18 = Math_fround(btConvexHullComputer__compute_28void_20const__2c_20bool_2c_20int_2c_20int_2c_20float_2c_20float_29(HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2])))); __stack_pointer = $8 + 32 | 0; return Math_fround($18); } function btAlignedObjectArray_btFace___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btFace_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btFace___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btFace__btFace_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btFace___resize_28int_2c_20btFace_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btFace___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } btFace___btFace_28_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 36) | 0 | 0) | 0; HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btFace___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btFace__btFace_28btFace_20const__29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 36) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btFace___btFace_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 12) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btConvexHullComputer__Edge__getSourceVertex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; return HEAP32[(($4 + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btFace___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 36) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btConvexHullComputer__Edge__getTargetVertex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btConvexHullComputer__Edge__getNextEdgeOfFace_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $9 = btConvexHullComputer__Edge__getNextEdgeOfVertex_28_29_20const($4 + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 12) | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function btAlignedObjectArray_int___pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_int___remove_28int_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___findLinearSearch_28int_20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_GrahamVector3___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_GrahamVector3_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_GrahamVector3___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_GrahamVector3___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 24) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function GrahamVector3__GrahamVector3_28btVector3_20const__2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9 = 0, $31 = 0, $41 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $31 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[$6 >> 2] = $31; HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$1; $9 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $9 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $41 = i64toi32_i32$1; i64toi32_i32$1 = $6 + $9 | 0; HEAP32[i64toi32_i32$1 >> 2] = $41; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; return $6 | 0; } function btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, $5 = 0, i64toi32_i32$2 = 0, $4 = 0, i64toi32_i32$1 = 0, $22 = 0, $23 = 0, $25 = 0, $29 = 0, $92 = 0, $102 = 0, $112 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_GrahamVector3___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_GrahamVector3___reserve_28int_29($5 | 0, btAlignedObjectArray_GrahamVector3___allocSize_28int_29($5 | 0, btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $22 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(24 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 24) | 0 | 0) | 0; $23 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $23; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $92 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $92; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 16; i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $102 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $102; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $29 = 8; i64toi32_i32$2 = $23 + $29 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $112 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $29 | 0; HEAP32[i64toi32_i32$0 >> 2] = $112; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function GrahamScanConvexHull2D_28btAlignedObjectArray_GrahamVector3___2c_20btAlignedObjectArray_GrahamVector3___2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $181 = 0, $131 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $5 = __stack_pointer - 176 | 0; __stack_pointer = $5; HEAP32[($5 + 172 | 0) >> 2] = $0; HEAP32[($5 + 168 | 0) >> 2] = $1; HEAP32[($5 + 164 | 0) >> 2] = $2; btVector3__btVector3_28_29($5 + 148 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 132 | 0 | 0) | 0; void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29(HEAP32[($5 + 164 | 0) >> 2] | 0 | 0, $5 + 148 | 0 | 0, $5 + 132 | 0 | 0); label$1 : { label$2 : { if (!((btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) <= (1 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 128 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 128 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$3 } btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0); HEAP32[($5 + 128 | 0) >> 2] = (HEAP32[($5 + 128 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } HEAP32[($5 + 124 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($5 + 124 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 124 | 0) >> 2] | 0 | 0) | 0 | 0, $5 + 148 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0, $5 + 148 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; label$7 : { if (!(Math_fround(HEAPF32[($5 + 120 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 116 | 0) >> 2]) & 1 | 0)) { break label$7 } btAlignedObjectArray_GrahamVector3___swap_28int_2c_20int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5 + 124 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 124 | 0) >> 2] = (HEAP32[($5 + 124 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } (wasm2js_i32$0 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1000000015047466219876688.0e6)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; HEAP32[($5 + 112 | 0) >> 2] = 1; label$8 : { label$9 : while (1) { if (!((HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$8 } operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 96 | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 132 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 148 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; label$10 : { label$11 : { if (!(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 92 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 88 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 88 | 0) >> 2]))) < Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$11 } (wasm2js_i32$0 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; break label$10; } $131 = Math_fround(btAtan2Fast_28float_2c_20float_29(Math_fround(Math_fround(HEAPF32[($5 + 92 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 88 | 0) >> 2])))); (wasm2js_i32$0 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $131), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; } HEAP32[($5 + 112 | 0) >> 2] = (HEAP32[($5 + 112 | 0) >> 2] | 0) + 1 | 0; continue label$9; }; } btAngleCompareFunc__btAngleCompareFunc_28btVector3_20const__29($5 + 72 | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0; void_20btAlignedObjectArray_GrahamVector3___quickSortInternal_btAngleCompareFunc__28btAngleCompareFunc_20const__2c_20int_2c_20int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, $5 + 72 | 0 | 0, 1 | 0, (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0); HEAP32[($5 + 68 | 0) >> 2] = 0; label$12 : { label$13 : while (1) { if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { break label$12 } btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 68 | 0) >> 2] | 0) + 1 | 0; continue label$13; }; } label$14 : while (1) { if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) != (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } HEAP8[($5 + 67 | 0) >> 0] = 0; label$15 : while (1) { $181 = 0; label$16 : { if ((HEAPU8[($5 + 67 | 0) >> 0] | 0) & 1 | 0) { break label$16 } $181 = (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) > (1 | 0); } label$17 : { if (!($181 & 1 | 0)) { break label$17 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 24 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 40 | 0 | 0, $5 + 24 | 0 | 0, $5 + 8 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 40 | 0 | 0, HEAP32[($5 + 164 | 0) >> 2] | 0 | 0)) > Math_fround(0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 67 | 0) >> 0] = wasm2js_i32$1; label$18 : { label$19 : { if ((HEAPU8[($5 + 67 | 0) >> 0] | 0) & 1 | 0) { break label$19 } btAlignedObjectArray_GrahamVector3___pop_back_28_29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0); break label$18; } btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); } continue label$15; } break label$15; }; label$20 : { if (!((btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$20 } btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); } HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 68 | 0) >> 2] | 0) + 1 | 0; continue label$14; }; } __stack_pointer = $5 + 176 | 0; return; } function btAlignedObjectArray_btFace___push_back_28btFace_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btFace___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btFace___reserve_28int_29($5 | 0, btAlignedObjectArray_btFace___allocSize_28int_29($5 | 0, btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } btFace__btFace_28btFace_20const__29((HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 36) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_GrahamVector3____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_GrahamVector3___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btFace__btFace_28btFace_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $13 = 0, $46 = 0, $56 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btAlignedObjectArray_int___btAlignedObjectArray_28btAlignedObjectArray_int__20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; $8 = $5 + 20 | 0; i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 20 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $46 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $46; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $56 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $56; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btAlignedObjectArray_btFace____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btFace___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConvexHullComputer___btConvexHullComputer_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; btAlignedObjectArray_btConvexHullComputer__Edge____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btConvexHullComputer__Edge___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_btFace_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btFace___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btFace___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btFace___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btFace___copy_28int_2c_20int_2c_20btFace__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btFace___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btFace___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btConvexHullComputer__Edge__getNextEdgeOfVertex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; return $4 + Math_imul(HEAP32[$4 >> 2] | 0, 12) | 0 | 0; } function btAlignedObjectArray_int___findLinearSearch_28int_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[$4 >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; break label$1; } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; continue label$2; }; } $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_int___removeAtIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_int___swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); btAlignedObjectArray_int___pop_back_28_29($5 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btAlignedAllocator_GrahamVector3_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_GrahamVector3___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_GrahamVector3___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_GrahamVector3___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_GrahamVector3___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_GrahamVector3___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_GrahamVector3___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_GrahamVector3___copy_28int_2c_20int_2c_20GrahamVector3__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_GrahamVector3___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_GrahamVector3___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_GrahamVector3___swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $6 = 0, $11 = 0, $34 = 0, $48 = 0, $12 = 0, $18 = 0, $29 = 0, $36 = 0, $40 = 0, $50 = 0, $56 = 0, $96 = 0, $109 = 0, $113 = 0, $137 = 0, $147 = 0, $157 = 0, $171 = 0, $184 = 0, $197 = 0; $5 = __stack_pointer - 48 | 0; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; $11 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 40 | 0) >> 2] | 0, 24) | 0; $12 = 16; i64toi32_i32$2 = $11 + $12 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 8 | 0) + $12 | 0; HEAP32[i64toi32_i32$0 >> 2] = $96; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $18 = 8; i64toi32_i32$2 = $11 + $18 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $109 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 8 | 0) + $18 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $113 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $113; HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; $29 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0, 24) | 0; $34 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0, 24) | 0; i64toi32_i32$2 = $29; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $137 = i64toi32_i32$1; i64toi32_i32$1 = $34; HEAP32[i64toi32_i32$1 >> 2] = $137; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $36 = 16; i64toi32_i32$2 = i64toi32_i32$2 + $36 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $147 = i64toi32_i32$0; i64toi32_i32$0 = $34 + $36 | 0; HEAP32[i64toi32_i32$0 >> 2] = $147; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $40 = 8; i64toi32_i32$2 = $29 + $40 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $157 = i64toi32_i32$1; i64toi32_i32$1 = $34 + $40 | 0; HEAP32[i64toi32_i32$1 >> 2] = $157; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $48 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 36 | 0) >> 2] | 0, 24) | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $171 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $171; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $50 = 16; i64toi32_i32$2 = (i64toi32_i32$2 + 8 | 0) + $50 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $184 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $50 | 0; HEAP32[i64toi32_i32$1 >> 2] = $184; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $56 = 8; i64toi32_i32$2 = ($5 + 8 | 0) + $56 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $197 = i64toi32_i32$0; i64toi32_i32$0 = $48 + $56 | 0; HEAP32[i64toi32_i32$0 >> 2] = $197; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; } function btAtan2Fast_28float_2c_20float_29($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $4 = 0, $51 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAPF32[($4 + 28 | 0) >> 2] = $0; HEAPF32[($4 + 24 | 0) >> 2] = $1; HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(.7853981852531433); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(Math_fround(3.0) * Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 28 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 12 | 0) >> 2])) / Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 12 | 0) >> 2]))); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 20 | 0) >> 2])) * Math_fround(HEAPF32[($4 + 4 | 0) >> 2])) + Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); break label$1; } HEAPF32[$4 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 12 | 0) >> 2])) / Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 24 | 0) >> 2]))); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 20 | 0) >> 2])) * Math_fround(HEAPF32[$4 >> 2])) + Math_fround(HEAPF32[($4 + 16 | 0) >> 2])); } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($4 + 28 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$4 } $51 = Math_fround(-Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); break label$3; } $51 = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); } __stack_pointer = $4 + 32 | 0; return Math_fround($51); } function btAngleCompareFunc__btAngleCompareFunc_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $8 = 0, $27 = 0, $37 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $27 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[i64toi32_i32$0 >> 2] = $27; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $8 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $37 = i64toi32_i32$1; i64toi32_i32$1 = $5 + $8 | 0; HEAP32[i64toi32_i32$1 >> 2] = $37; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return $5 | 0; } function void_20btAlignedObjectArray_GrahamVector3___quickSortInternal_btAngleCompareFunc__28btAngleCompareFunc_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $18 = 0, $19 = 0, $23 = 0, $148 = 0, $158 = 0, $162 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; $18 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(((HEAP32[($6 + 36 | 0) >> 2] | 0) + (HEAP32[($6 + 32 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0, 24) | 0; $19 = 16; i64toi32_i32$2 = $18 + $19 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $148 = i64toi32_i32$0; i64toi32_i32$0 = $6 + $19 | 0; HEAP32[i64toi32_i32$0 >> 2] = $148; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $23 = 8; i64toi32_i32$2 = $18 + $23 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $158 = i64toi32_i32$1; i64toi32_i32$1 = $6 + $23 | 0; HEAP32[i64toi32_i32$1 >> 2] = $158; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $18; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $162 = i64toi32_i32$0; i64toi32_i32$0 = $6; HEAP32[$6 >> 2] = $162; HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$1; label$1 : while (1) { label$2 : { label$3 : while (1) { if (!((btAngleCompareFunc__operator_28_29_28GrahamVector3_20const__2c_20GrahamVector3_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 28 | 0) >> 2] | 0, 24) | 0 | 0, $6 | 0) | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } label$4 : { label$5 : while (1) { if (!((btAngleCompareFunc__operator_28_29_28GrahamVector3_20const__2c_20GrahamVector3_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, $6 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 24 | 0) >> 2] | 0, 24) | 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; continue label$5; }; } label$6 : { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btAlignedObjectArray_GrahamVector3___swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; } if ((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$1 } break label$1; }; label$7 : { if (!((HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } void_20btAlignedObjectArray_GrahamVector3___quickSortInternal_btAngleCompareFunc__28btAngleCompareFunc_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); } label$8 : { if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } void_20btAlignedObjectArray_GrahamVector3___quickSortInternal_btAngleCompareFunc__28btAngleCompareFunc_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 48 | 0; return; } function btCross_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; btVector3__cross_28btVector3_20const__29_20const($0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btAlignedObjectArray_GrahamVector3___pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btFace___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btFace___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_GrahamVector3___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_GrahamVector3___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_GrahamVector3___deallocate_28_29($4 | 0); btAlignedObjectArray_GrahamVector3___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_int___btAlignedObjectArray_28btAlignedObjectArray_int__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btAlignedAllocator_int_2c_2016u___btAlignedAllocator_28_29($5 | 0) | 0; btAlignedObjectArray_int___init_28_29($5 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $8 = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 | 0, $8 | 0, $4 | 0); btAlignedObjectArray_int___copy_28int_2c_20int_2c_20int__29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btAlignedObjectArray_btFace___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btFace___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btFace___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btFace___deallocate_28_29($4 | 0); btAlignedObjectArray_btFace___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btConvexHullComputer__Edge____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullComputer__Edge___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6 = 0, $23 = 0, $24 = 0, $82 = 0, $85 = 0, $86 = 0, $88 = 0, $110 = 0, $159 = 0, $224 = 0, $228 = 0, $84 = 0, $485 = 0, $495 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $5 = __stack_pointer - 2160 | 0; __stack_pointer = $5; HEAP32[($5 + 2156 | 0) >> 2] = $1; HEAP32[($5 + 2152 | 0) >> 2] = $2; $6 = HEAP32[($5 + 2156 | 0) >> 2] | 0; HEAPF32[($5 + 2148 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 2144 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 2140 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 2148 | 0 | 0, $5 + 2144 | 0 | 0, $5 + 2140 | 0 | 0) | 0; HEAPF32[($5 + 2132 | 0) >> 2] = Math_fround(-999999984306749440.0); $23 = HEAP32[($5 + 2152 | 0) >> 2] | 0; $24 = 8; i64toi32_i32$2 = $23 + $24 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $224 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 2112 | 0) + $24 | 0; HEAP32[i64toi32_i32$0 >> 2] = $224; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $23; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $228 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 2112 | 0) >> 2] = $228; HEAP32[($5 + 2116 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 2112 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 2108 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 2108 | 0) >> 2]) < Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$2 } HEAPF32[($5 + 2104 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 2100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 2096 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 2112 | 0 | 0, $5 + 2104 | 0 | 0, $5 + 2100 | 0 | 0, $5 + 2096 | 0 | 0); break label$1; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 2108 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 2092 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1($5 + 2112 | 0 | 0, $5 + 2092 | 0 | 0) | 0; } btVector3__btVector3_28_29($5 + 2076 | 0 | 0) | 0; HEAP32[($5 + 2068 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 2068 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($6) | 0 | 0) & 1 | 0)) { break label$3 } $82 = $5 + 16 | 0; $84 = $82 + 2048 | 0; $85 = $82; label$5 : while (1) { $86 = $85; btVector3__btVector3_28_29($86 | 0) | 0; $88 = $86 + 16 | 0; $85 = $88; if (!(($88 | 0) == ($84 | 0) & 1 | 0)) { continue label$5 } break label$5; }; label$6 : { label$7 : { if (!(((FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($6) | 0) - (HEAP32[($5 + 2068 | 0) >> 2] | 0) | 0 | 0) < (128 | 0) & 1 | 0)) { break label$7 } $110 = (FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($6) | 0) - (HEAP32[($5 + 2068 | 0) >> 2] | 0) | 0; break label$6; } $110 = 128; } HEAP32[($5 + 12 | 0) >> 2] = $110; HEAP32[($5 + 2136 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($5 + 2136 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($6, HEAP32[($5 + 2136 | 0) >> 2] | 0, ($5 + 16 | 0) + ((HEAP32[($5 + 2136 | 0) >> 2] | 0) << 4 | 0) | 0); HEAP32[($5 + 2136 | 0) >> 2] = (HEAP32[($5 + 2136 | 0) >> 2] | 0) + 1 | 0; continue label$9; }; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btVector3__maxDot_28btVector3_20const__2c_20long_2c_20float__29_20const($5 + 2112 | 0 | 0, $5 + 16 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, $5 + 2072 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 2136 | 0) >> 2] = wasm2js_i32$1; label$10 : { if (!(Math_fround(HEAPF32[($5 + 2072 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 2132 | 0) >> 2]) & 1 | 0)) { break label$10 } HEAPF32[($5 + 2132 | 0) >> 2] = Math_fround(HEAPF32[($5 + 2072 | 0) >> 2]); i64toi32_i32$2 = ($5 + 16 | 0) + ((HEAP32[($5 + 2136 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $485 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $485; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $159 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $159 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $495 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $159 | 0; HEAP32[i64toi32_i32$1 >> 2] = $495; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($5 + 2068 | 0) >> 2] = (HEAP32[($5 + 2068 | 0) >> 2] | 0) + 128 | 0; continue label$4; }; } __stack_pointer = $5 + 2160 | 0; return; } function btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $54 = 0, $57 = 0, $58 = 0, $60 = 0, $82 = 0, $137 = 0, $139 = 0, $56 = 0, $442 = 0, $452 = 0, $143 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $6 = __stack_pointer - 2128 | 0; __stack_pointer = $6; HEAP32[($6 + 2124 | 0) >> 2] = $0; HEAP32[($6 + 2120 | 0) >> 2] = $1; HEAP32[($6 + 2116 | 0) >> 2] = $2; HEAP32[($6 + 2112 | 0) >> 2] = $3; $7 = HEAP32[($6 + 2124 | 0) >> 2] | 0; btVector3__btVector3_28_29($6 + 2092 | 0 | 0) | 0; HEAP32[($6 + 2108 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 2108 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 2112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = btVector3__operator_20float__28_29((HEAP32[($6 + 2116 | 0) >> 2] | 0) + ((HEAP32[($6 + 2108 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-999999984306749440.0)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; HEAP32[($6 + 2108 | 0) >> 2] = (HEAP32[($6 + 2108 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAP32[($6 + 2084 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($6 + 2084 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 2112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($6 + 2080 | 0) >> 2] = (HEAP32[($6 + 2120 | 0) >> 2] | 0) + ((HEAP32[($6 + 2084 | 0) >> 2] | 0) << 4 | 0) | 0; HEAP32[($6 + 2076 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($6 + 2076 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($7) | 0 | 0) & 1 | 0)) { break label$5 } $54 = $6 + 16 | 0; $56 = $54 + 2048 | 0; $57 = $54; label$7 : while (1) { $58 = $57; btVector3__btVector3_28_29($58 | 0) | 0; $60 = $58 + 16 | 0; $57 = $60; if (!(($60 | 0) == ($56 | 0) & 1 | 0)) { continue label$7 } break label$7; }; label$8 : { label$9 : { if (!(((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($7) | 0) - (HEAP32[($6 + 2076 | 0) >> 2] | 0) | 0 | 0) < (128 | 0) & 1 | 0)) { break label$9 } $82 = (FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($7) | 0) - (HEAP32[($6 + 2076 | 0) >> 2] | 0) | 0; break label$8; } $82 = 128; } HEAP32[($6 + 12 | 0) >> 2] = $82; HEAP32[($6 + 2108 | 0) >> 2] = 0; label$10 : { label$11 : while (1) { if (!((HEAP32[($6 + 2108 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 2108 | 0) >> 2] | 0, ($6 + 16 | 0) + ((HEAP32[($6 + 2108 | 0) >> 2] | 0) << 4 | 0) | 0); HEAP32[($6 + 2108 | 0) >> 2] = (HEAP32[($6 + 2108 | 0) >> 2] | 0) + 1 | 0; continue label$11; }; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btVector3__maxDot_28btVector3_20const__2c_20long_2c_20float__29_20const(HEAP32[($6 + 2080 | 0) >> 2] | 0 | 0, $6 + 16 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, $6 + 2088 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 2108 | 0) >> 2] = wasm2js_i32$1; label$12 : { if (!(Math_fround(HEAPF32[($6 + 2088 | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29((HEAP32[($6 + 2116 | 0) >> 2] | 0) + ((HEAP32[($6 + 2084 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + 12 | 0) >> 2]) & 1 | 0)) { break label$12 } $137 = (HEAP32[($6 + 2116 | 0) >> 2] | 0) + ((HEAP32[($6 + 2084 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = ($6 + 16 | 0) + ((HEAP32[($6 + 2108 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $442 = i64toi32_i32$0; i64toi32_i32$0 = $137; HEAP32[i64toi32_i32$0 >> 2] = $442; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $139 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $139 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $452 = i64toi32_i32$1; i64toi32_i32$1 = $137 + $139 | 0; HEAP32[i64toi32_i32$1 >> 2] = $452; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $143 = Math_fround(HEAPF32[($6 + 2088 | 0) >> 2]); (wasm2js_i32$0 = btVector3__operator_20float__28_29((HEAP32[($6 + 2116 | 0) >> 2] | 0) + ((HEAP32[($6 + 2084 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0, wasm2js_f32$0 = $143), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; } HEAP32[($6 + 2076 | 0) >> 2] = (HEAP32[($6 + 2076 | 0) >> 2] | 0) + 128 | 0; continue label$6; }; } HEAP32[($6 + 2084 | 0) >> 2] = (HEAP32[($6 + 2084 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } __stack_pointer = $6 + 2128 | 0; return; } function btPolyhedralConvexShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $121 = 0, $123 = 0, $385 = 0, $398 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 224 | 0; __stack_pointer = $5; HEAP32[($5 + 220 | 0) >> 2] = $0; HEAPF32[($5 + 216 | 0) >> 2] = $1; HEAP32[($5 + 212 | 0) >> 2] = $2; $6 = HEAP32[($5 + 220 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_f32$0; btTransform__btTransform_28_29($5 + 144 | 0 | 0) | 0; btTransform__setIdentity_28_29($5 + 144 | 0 | 0); btVector3__btVector3_28_29($5 + 128 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 112 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, $5 + 144 | 0, $5 + 128 | 0, $5 + 112 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 80 | 0 | 0, $5 + 112 | 0 | 0, $5 + 128 | 0 | 0); HEAPF32[($5 + 76 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($5 + 96 | 0 | 0, $5 + 80 | 0 | 0, $5 + 76 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 208 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 208 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 208 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 60 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 72 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 68 | 0) >> 2])); HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 64 | 0) >> 2])); HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 216 | 0) >> 2]) * Math_fround(.0833333283662796)); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 52 | 0) >> 2])); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 52 | 0) >> 2])); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 56 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; operator__28float_20const__2c_20btVector3_20const__29($5 + 32 | 0 | 0, $5 + 48 | 0 | 0, $5 + 16 | 0 | 0); $121 = HEAP32[($5 + 212 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 36 | 0) >> 2] | 0; $385 = i64toi32_i32$0; i64toi32_i32$0 = $121; HEAP32[i64toi32_i32$0 >> 2] = $385; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $123 = 8; i64toi32_i32$2 = ($5 + 32 | 0) + $123 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $398 = i64toi32_i32$1; i64toi32_i32$1 = $121 + $123 | 0; HEAP32[i64toi32_i32$1 >> 2] = $398; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 224 | 0; return; } function btPolyhedralConvexAabbCachingShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $120 = 0, $137 = 0, $154 = 0, $171 = 0, $188 = 0, $250 = Math_fround(0), $274 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 256 | 0; __stack_pointer = $3; HEAP32[($3 + 252 | 0) >> 2] = $0; $4 = HEAP32[($3 + 252 | 0) >> 2] | 0; HEAP8[($4 + 96 | 0) >> 0] = 1; label$1 : { if (!(((HEAPU8[(0 + 114272 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($3 + 248 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 244 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 240 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 | 0, $3 + 248 | 0 | 0, $3 + 244 | 0 | 0, $3 + 240 | 0 | 0) | 0; HEAPF32[($3 + 236 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 232 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 228 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 16 | 0 | 0, $3 + 236 | 0 | 0, $3 + 232 | 0 | 0, $3 + 228 | 0 | 0) | 0; HEAPF32[($3 + 224 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 220 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 216 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 32 | 0 | 0, $3 + 224 | 0 | 0, $3 + 220 | 0 | 0, $3 + 216 | 0 | 0) | 0; HEAPF32[($3 + 212 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($3 + 208 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 204 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 48 | 0 | 0, $3 + 212 | 0 | 0, $3 + 208 | 0 | 0, $3 + 204 | 0 | 0) | 0; HEAPF32[($3 + 200 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 196 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($3 + 192 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 64 | 0 | 0, $3 + 200 | 0 | 0, $3 + 196 | 0 | 0, $3 + 192 | 0 | 0) | 0; HEAPF32[($3 + 188 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 184 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 180 | 0) >> 2] = Math_fround(-1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 80 | 0 | 0, $3 + 188 | 0 | 0, $3 + 184 | 0 | 0, $3 + 180 | 0 | 0) | 0; HEAP8[(0 + 114272 | 0) >> 0] = 1; } $120 = $3 + 80 | 0; HEAPF32[($3 + 76 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 72 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 68 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($120 | 0, $3 + 76 | 0 | 0, $3 + 72 | 0 | 0, $3 + 68 | 0 | 0) | 0; $137 = $120 + 16 | 0; HEAPF32[($3 + 64 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($137 | 0, $3 + 64 | 0 | 0, $3 + 60 | 0 | 0, $3 + 56 | 0 | 0) | 0; $154 = $137 + 16 | 0; HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($154 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0, $3 + 44 | 0 | 0) | 0; $171 = $154 + 16 | 0; HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($171 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0) | 0; $188 = $171 + 16 | 0; HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($188 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0) | 0; HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($188 + 16 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 76 | 0) >> 2] | 0 | 0]($4, 114176, $3 + 80 | 0, 6); HEAP32[($3 + 4 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$2 } $250 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($3 + 80 | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($4 + 52 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $250), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $274 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($3 + 80 | 0) + (((HEAP32[($3 + 4 | 0) >> 2] | 0) + 3 | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($4 + 52 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 64 | 0 | 0) | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $274), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } __stack_pointer = $3 + 256 | 0; return; } function btPolyhedralConvexAabbCachingShape__btPolyhedralConvexAabbCachingShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; btPolyhedralConvexShape__btPolyhedralConvexShape_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 99576 + 8 | 0; HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0) | 0; HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(-1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 80 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0) | 0; HEAP8[($4 + 96 | 0) >> 0] = 0; __stack_pointer = $3 + 32 | 0; return $4 | 0; } function btPolyhedralConvexAabbCachingShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20float_29_20const($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7)))); __stack_pointer = $6 + 16 | 0; return; } function btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAngleCompareFunc__operator_28_29_28GrahamVector3_20const__2c_20GrahamVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $58 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 56 | 0) >> 2] = $0; HEAP32[($5 + 52 | 0) >> 2] = $1; HEAP32[($5 + 48 | 0) >> 2] = $2; $6 = HEAP32[($5 + 56 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2]) != Math_fround(HEAPF32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAP8[($5 + 63 | 0) >> 0] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2]) & 1 | 0; break label$1; } operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 28 | 0 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, $6 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 28 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0, $6 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($5 + 44 | 0) >> 2]) != Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAP8[($5 + 63 | 0) >> 0] = Math_fround(HEAPF32[($5 + 44 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) & 1 | 0; break label$1; } HEAP8[($5 + 63 | 0) >> 0] = (HEAP32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0; } $58 = (HEAPU8[($5 + 63 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 64 | 0; return $58 | 0; } function btAlignedObjectArray_btConvexHullComputer__Edge___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btConvexHullComputer__Edge___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btConvexHullComputer__Edge___deallocate_28_29($4 | 0); btAlignedObjectArray_btConvexHullComputer__Edge___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btConvexHullComputer__Edge___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btConvexHullComputer__Edge___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___deallocate_28btConvexHullComputer__Edge__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___deallocate_28btConvexHullComputer__Edge__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_GrahamVector3___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_GrahamVector3_2c_2016u___allocate_28int_2c_20GrahamVector3_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_GrahamVector3___copy_28int_2c_20int_2c_20GrahamVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $22 = 0, $27 = 0, $29 = 0, $33 = 0, $7 = 0, $101 = 0, $111 = 0, $121 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $22 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(24 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 24) | 0 | 0) | 0; $27 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 24) | 0; i64toi32_i32$2 = $27; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $101 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $101; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 16; i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $111 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $111; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $33 = 8; i64toi32_i32$2 = $27 + $33 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $121 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $33 | 0; HEAP32[i64toi32_i32$0 >> 2] = $121; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedObjectArray_GrahamVector3___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_GrahamVector3___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_GrahamVector3_2c_2016u___deallocate_28GrahamVector3__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_GrahamVector3_2c_2016u___allocate_28int_2c_20GrahamVector3_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 24) | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_GrahamVector3_2c_2016u___deallocate_28GrahamVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btFace___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btFace___btFace_28_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 36) | 0 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $5 + 16 | 0; return; } function btAlignedObjectArray_btFace___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btFace_2c_2016u___deallocate_28btFace__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btFace_2c_2016u___deallocate_28btFace__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btFace___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btFace_2c_2016u___allocate_28int_2c_20btFace_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btFace___copy_28int_2c_20int_2c_20btFace__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btFace__btFace_28btFace_20const__29((HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 36) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 36) | 0 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedAllocator_btFace_2c_2016u___allocate_28int_2c_20btFace_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 36) | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_int___swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; return; } function _GLOBAL__sub_I_btPolyhedralConvexShape_cpp() { __cxx_global_var_init_46(); return; } function __cxx_global_var_init_47() { btInfMaskConverter__btInfMaskConverter_28int_29(114276 | 0, 2139095040 | 0) | 0; return; } function btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_28btBvhTriangleMeshShape__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $11 = 0, $14 = 0, $50 = 0, $60 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btConcaveShape__btConcaveShape_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 99800 + 8 | 0; $11 = $6 + 24 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $50 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $50; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $14 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $60 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $14 | 0; HEAP32[i64toi32_i32$1 >> 2] = $60; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 40 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = 22; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btScaledBvhTriangleMeshShape___btScaledBvhTriangleMeshShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btScaledBvhTriangleMeshShape___btScaledBvhTriangleMeshShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[928 | 0]($4) | 0; btScaledBvhTriangleMeshShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btScaledBvhTriangleMeshShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btScaledBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $10 = 0, $15 = Math_fround(0), $52 = Math_fround(0), $85 = Math_fround(0), $118 = Math_fround(0), $155 = Math_fround(0), $188 = Math_fround(0), $221 = Math_fround(0), $242 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $0; HEAP32[($6 + 104 | 0) >> 2] = $1; HEAP32[($6 + 100 | 0) >> 2] = $2; HEAP32[($6 + 96 | 0) >> 2] = $3; $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; $10 = $7 + 24 | 0; btScaledTriangleCallback__btScaledTriangleCallback_28btTriangleCallback__2c_20btVector3_20const__29($6 + 72 | 0 | 0, HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, $10 | 0) | 0; $15 = Math_fround(1.0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround($15 / Math_fround(HEAPF32[(btVector3__getX_28_29_20const($10 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround($15 / Math_fround(HEAPF32[(btVector3__getY_28_29_20const($10 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround($15 / Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($10 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 56 | 0 | 0, $6 + 52 | 0 | 0, $6 + 48 | 0 | 0, $6 + 44 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 28 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 12 | 0 | 0) | 0; label$1 : { label$2 : { if (!(+Math_fround(HEAPF32[(btVector3__getX_28_29_20const($10 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { break label$2 } $52 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) >> 2])); break label$1; } $52 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 28 | 0 | 0) | 0, wasm2js_f32$0 = $52), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(+Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { break label$4 } $85 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 4 | 0) >> 2])); break label$3; } $85 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 4 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 28 | 0 | 0) | 0, wasm2js_f32$0 = $85), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(+Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { break label$6 } $118 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 8 | 0) >> 2])); break label$5; } $118 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 8 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 28 | 0 | 0) | 0, wasm2js_f32$0 = $118), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 28 | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$7 : { label$8 : { if (!(+Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { break label$8 } $155 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) >> 2])); break label$7; } $155 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 12 | 0 | 0) | 0, wasm2js_f32$0 = $155), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$9 : { label$10 : { if (!(+Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { break label$10 } $188 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 4 | 0) >> 2])); break label$9; } $188 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 4 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 12 | 0 | 0) | 0, wasm2js_f32$0 = $188), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$11 : { label$12 : { if (!(+Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { break label$12 } $221 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 8 | 0) >> 2])); break label$11; } $221 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 8 | 0) >> 2])); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 12 | 0 | 0) | 0, wasm2js_f32$0 = $221), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 12 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $242 = HEAP32[($7 + 40 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$242 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($242, $6 + 72 | 0, $6 + 28 | 0, $6 + 12 | 0); btScaledTriangleCallback___btScaledTriangleCallback_28_29($6 + 72 | 0 | 0) | 0; __stack_pointer = $6 + 112 | 0; return; } function btScaledTriangleCallback__btScaledTriangleCallback_28btTriangleCallback__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $12 = 0, $15 = 0, $53 = 0, $63 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btTriangleCallback__btTriangleCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 99920 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; $12 = $6 + 8 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $53 = i64toi32_i32$0; i64toi32_i32$0 = $12; HEAP32[i64toi32_i32$0 >> 2] = $53; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $63 = i64toi32_i32$1; i64toi32_i32$1 = $12 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $63; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btScaledTriangleCallback___btScaledTriangleCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btScaledBvhTriangleMeshShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $10 = 0, $26 = 0, $212 = 0, $9 = 0, $18 = 0, $48 = Math_fround(0), $73 = Math_fround(0), $98 = Math_fround(0), $123 = Math_fround(0), $148 = Math_fround(0), $173 = Math_fround(0), $203 = 0, $280 = 0, $282 = 0, $297 = 0, $299 = 0, $338 = 0, $342 = 0, $359 = 0, $363 = 0, $829 = 0, $842 = 0, $863 = 0, $876 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 288 | 0; __stack_pointer = $6; HEAP32[($6 + 284 | 0) >> 2] = $0; HEAP32[($6 + 280 | 0) >> 2] = $1; HEAP32[($6 + 276 | 0) >> 2] = $2; HEAP32[($6 + 272 | 0) >> 2] = $3; $7 = HEAP32[($6 + 284 | 0) >> 2] | 0; $9 = btTriangleMeshShape__getLocalAabbMin_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0; $10 = 8; i64toi32_i32$2 = $9 + $10 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $338 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 256 | 0) + $10 | 0; HEAP32[i64toi32_i32$0 >> 2] = $338; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $342 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 256 | 0) >> 2] = $342; HEAP32[($6 + 260 | 0) >> 2] = i64toi32_i32$0; $18 = btTriangleMeshShape__getLocalAabbMax_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0; i64toi32_i32$2 = $18 + $10 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $359 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 240 | 0) + $10 | 0; HEAP32[i64toi32_i32$0 >> 2] = $359; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $18; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $363 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 240 | 0) >> 2] = $363; HEAP32[($6 + 244 | 0) >> 2] = i64toi32_i32$0; $26 = $7 + 24 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 224 | 0 | 0, $6 + 256 | 0 | 0, $26 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 208 | 0 | 0, $6 + 240 | 0 | 0, $26 | 0); label$1 : { label$2 : { if (!(+Math_fround(HEAPF32[(btVector3__getX_28_29_20const($26 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { break label$2 } $48 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) >> 2]); break label$1; } $48 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) >> 2]); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 256 | 0 | 0) | 0, wasm2js_f32$0 = $48), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(+Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { break label$4 } $73 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 4 | 0) >> 2]); break label$3; } $73 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) + 4 | 0) >> 2]); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 256 | 0 | 0) | 0, wasm2js_f32$0 = $73), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(+Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { break label$6 } $98 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 8 | 0) >> 2]); break label$5; } $98 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) + 8 | 0) >> 2]); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 256 | 0 | 0) | 0, wasm2js_f32$0 = $98), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$7 : { label$8 : { if (!(+Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { break label$8 } $123 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) >> 2]); break label$7; } $123 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) >> 2]); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 240 | 0 | 0) | 0, wasm2js_f32$0 = $123), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$9 : { label$10 : { if (!(+Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { break label$10 } $148 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 4 | 0) >> 2]); break label$9; } $148 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) + 4 | 0) >> 2]); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 240 | 0 | 0) | 0, wasm2js_f32$0 = $148), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$11 : { label$12 : { if (!(+Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { break label$12 } $173 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 8 | 0) >> 2]); break label$11; } $173 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) + 8 | 0) >> 2]); } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 240 | 0 | 0) | 0, wasm2js_f32$0 = $173), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($6 + 188 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 172 | 0 | 0, $6 + 240 | 0 | 0, $6 + 256 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($6 + 192 | 0 | 0, $6 + 188 | 0 | 0, $6 + 172 | 0 | 0); $203 = HEAP32[($7 + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$203 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($203))), HEAPF32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_f32$0; $212 = $6 + 168 | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 152 | 0 | 0, $212 | 0, $212 | 0, $212 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($6 + 192 | 0 | 0, $6 + 152 | 0 | 0) | 0; HEAPF32[($6 + 132 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 116 | 0 | 0, $6 + 240 | 0 | 0, $6 + 256 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($6 + 136 | 0 | 0, $6 + 132 | 0 | 0, $6 + 116 | 0 | 0); btMatrix3x3__absolute_28_29_20const($6 + 68 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 52 | 0 | 0, HEAP32[($6 + 280 | 0) >> 2] | 0 | 0, $6 + 136 | 0 | 0); btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 36 | 0 | 0, $6 + 192 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 2 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 20 | 0 | 0, $6 + 52 | 0 | 0, $6 + 36 | 0 | 0); $280 = HEAP32[($6 + 276 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; $829 = i64toi32_i32$0; i64toi32_i32$0 = $280; HEAP32[i64toi32_i32$0 >> 2] = $829; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $282 = 8; i64toi32_i32$2 = ($6 + 20 | 0) + $282 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $842 = i64toi32_i32$1; i64toi32_i32$1 = $280 + $282 | 0; HEAP32[i64toi32_i32$1 >> 2] = $842; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 4 | 0 | 0, $6 + 52 | 0 | 0, $6 + 36 | 0 | 0); $297 = HEAP32[($6 + 272 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; $863 = i64toi32_i32$0; i64toi32_i32$0 = $297; HEAP32[i64toi32_i32$0 >> 2] = $863; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $299 = 8; i64toi32_i32$2 = ($6 + 4 | 0) + $299 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $876 = i64toi32_i32$1; i64toi32_i32$1 = $297 + $299 | 0; HEAP32[i64toi32_i32$1 >> 2] = $876; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 288 | 0; return; } function btTriangleMeshShape__getLocalAabbMin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0 | 0; } function btTriangleMeshShape__getLocalAabbMax_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 40 | 0 | 0; } function btScaledBvhTriangleMeshShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btScaledBvhTriangleMeshShape__getLocalScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0 | 0; } function btScaledBvhTriangleMeshShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btScaledBvhTriangleMeshShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 84381 | 0; } function btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 76 | 0; } function btScaledBvhTriangleMeshShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $8 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; $8 = HEAP32[($6 + 40 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, HEAP32[$5 >> 2] | 0, HEAP32[($5 + 4 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[$5 >> 2] | 0) + 4 | 0) >> 2] = 22; btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 24 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 60 | 0 | 0); __stack_pointer = $5 + 16 | 0; return 83525 | 0; } function btScaledTriangleCallback___btScaledTriangleCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btScaledTriangleCallback___btScaledTriangleCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btScaledTriangleCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $10 = 0, $13 = 0, $14 = 0, $16 = 0, $30 = 0, $32 = 0, $50 = 0, $52 = 0, $68 = 0, $70 = 0, $74 = 0, $12 = 0, $143 = 0, $156 = 0, $182 = 0, $195 = 0, $218 = 0, $228 = 0; $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $0; HEAP32[($6 + 104 | 0) >> 2] = $1; HEAP32[($6 + 100 | 0) >> 2] = $2; HEAP32[($6 + 96 | 0) >> 2] = $3; $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; $10 = $6 + 48 | 0; $12 = $10 + 48 | 0; $13 = $10; label$1 : while (1) { $14 = $13; btVector3__btVector3_28_29($14 | 0) | 0; $16 = $14 + 16 | 0; $13 = $16; if (!(($16 | 0) == ($12 | 0) & 1 | 0)) { continue label$1 } break label$1; }; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 32 | 0 | 0, HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, $7 + 8 | 0 | 0); $30 = $6 + 48 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; $143 = i64toi32_i32$0; i64toi32_i32$0 = $30; HEAP32[i64toi32_i32$0 >> 2] = $143; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $32 = 8; i64toi32_i32$2 = ($6 + 32 | 0) + $32 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $156 = i64toi32_i32$1; i64toi32_i32$1 = $30 + $32 | 0; HEAP32[i64toi32_i32$1 >> 2] = $156; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 16 | 0 | 0, (HEAP32[($6 + 104 | 0) >> 2] | 0) + 16 | 0 | 0, $7 + 8 | 0 | 0); $50 = ($6 + 48 | 0) + 16 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; $182 = i64toi32_i32$0; i64toi32_i32$0 = $50; HEAP32[i64toi32_i32$0 >> 2] = $182; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $52 = 8; i64toi32_i32$2 = ($6 + 16 | 0) + $52 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $195 = i64toi32_i32$1; i64toi32_i32$1 = $50 + $52 | 0; HEAP32[i64toi32_i32$1 >> 2] = $195; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 | 0, (HEAP32[($6 + 104 | 0) >> 2] | 0) + 32 | 0 | 0, $7 + 8 | 0 | 0); $68 = ($6 + 48 | 0) + 32 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; $218 = i64toi32_i32$0; i64toi32_i32$0 = $68; HEAP32[i64toi32_i32$0 >> 2] = $218; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $70 = 8; i64toi32_i32$2 = $6 + $70 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $228 = i64toi32_i32$1; i64toi32_i32$1 = $68 + $70 | 0; HEAP32[i64toi32_i32$1 >> 2] = $228; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $74 = HEAP32[($7 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$74 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($74, $6 + 48 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0, HEAP32[($6 + 96 | 0) >> 2] | 0); __stack_pointer = $6 + 112 | 0; return; } function _GLOBAL__sub_I_btScaledBvhTriangleMeshShape_cpp() { __cxx_global_var_init_47(); return; } function __cxx_global_var_init_48() { btInfMaskConverter__btInfMaskConverter_28int_29(114280 | 0, 2139095040 | 0) | 0; return; } function btSphereShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $19 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $19 = (HEAP32[($6 + 20 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[$6 >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($19 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0, $6 | 0); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btSphereShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $14 = 0, $20 = 0, $21 = 0, $101 = 0, $114 = 0, $129 = 0, $133 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 80 | 0; __stack_pointer = $5; HEAP32[($5 + 76 | 0) >> 2] = $1; HEAP32[($5 + 72 | 0) >> 2] = $2; $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; btVector3__btVector3_28_29($0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5 + 56 | 0, $6, HEAP32[($5 + 72 | 0) >> 2] | 0); i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 56 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 60 | 0) >> 2] | 0; $101 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $101; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $14 = 8; i64toi32_i32$2 = ($5 + 56 | 0) + $14 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $114 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $14 | 0; HEAP32[i64toi32_i32$1 >> 2] = $114; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $20 = HEAP32[($5 + 72 | 0) >> 2] | 0; $21 = 8; i64toi32_i32$2 = $20 + $21 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $129 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 40 | 0) + $21 | 0; HEAP32[i64toi32_i32$0 >> 2] = $129; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $20; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $133 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 40 | 0) >> 2] = $133; HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; label$1 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$1 } HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); } btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; __stack_pointer = $5 + 80 | 0; return; } function btSphereShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $38 = 0, $40 = 0, $51 = 0, $53 = 0, $146 = 0, $159 = 0, $175 = 0, $185 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAP32[($6 + 68 | 0) >> 2] = $2; HEAP32[($6 + 64 | 0) >> 2] = $3; $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btTransform__getOrigin_28_29_20const(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 16 | 0 | 0, HEAP32[($6 + 60 | 0) >> 2] | 0 | 0, $6 + 44 | 0 | 0); $38 = HEAP32[($6 + 68 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; $146 = i64toi32_i32$0; i64toi32_i32$0 = $38; HEAP32[i64toi32_i32$0 >> 2] = $146; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $40 = 8; i64toi32_i32$2 = ($6 + 16 | 0) + $40 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $159 = i64toi32_i32$1; i64toi32_i32$1 = $38 + $40 | 0; HEAP32[i64toi32_i32$1 >> 2] = $159; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 | 0, HEAP32[($6 + 60 | 0) >> 2] | 0 | 0, $6 + 44 | 0 | 0); $51 = HEAP32[($6 + 64 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; $175 = i64toi32_i32$0; i64toi32_i32$0 = $51; HEAP32[i64toi32_i32$0 >> 2] = $175; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $53 = 8; i64toi32_i32$2 = $6 + $53 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $185 = i64toi32_i32$1; i64toi32_i32$1 = $51 + $53 | 0; HEAP32[i64toi32_i32$1 >> 2] = $185; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 80 | 0; return; } function btSphereShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(Math_fround(.4000000059604645) * Math_fround(HEAPF32[($5 + 8 | 0) >> 2])) * Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))) * Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, $5 | 0, $5 | 0, $5 | 0); __stack_pointer = $5 + 16 | 0; return; } function btSphereShape___btSphereShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btSphereShape___btSphereShape_28_29($4 | 0) | 0; btSphereShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSphereShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSphereShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 84407 | 0; } function btSphereShape__getMargin_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0)); __stack_pointer = $3 + 16 | 0; return Math_fround($5); } function _GLOBAL__sub_I_btSphereShape_cpp() { __cxx_global_var_init_48(); return; } function __cxx_global_var_init_49() { btInfMaskConverter__btInfMaskConverter_28int_29(114284 | 0, 2139095040 | 0) | 0; return; } function btStaticPlaneShape__btStaticPlaneShape_28btVector3_20const__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAPF32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btConcaveShape__btConcaveShape_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 100108 + 8 | 0; btVector3__btVector3_28_29($6 + 24 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 40 | 0 | 0) | 0; btVector3__normalized_28_29_20const($6 + 56 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); HEAPF32[($6 + 72 | 0) >> 2] = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 76 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; HEAP32[($6 + 4 | 0) >> 2] = 28; __stack_pointer = $5 + 32 | 0; return $6 | 0; } function btStaticPlaneShape___btStaticPlaneShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btStaticPlaneShape___btStaticPlaneShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[951 | 0]($4) | 0; btStaticPlaneShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btStaticPlaneShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btStaticPlaneShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $20 = 0; $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 36 | 0) >> 2] | 0; HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(-999999984306749440.0); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); $20 = HEAP32[($6 + 32 | 0) >> 2] | 0; HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($20 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); __stack_pointer = $6 + 48 | 0; return; } function btStaticPlaneShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $89 = 0, $92 = 0, $93 = 0, $95 = 0, $139 = 0, $141 = 0, $187 = 0, $189 = 0, $235 = 0, $237 = 0, $243 = 0, $249 = 0, $288 = 0, $290 = 0, $336 = 0, $338 = 0, $380 = 0, $382 = 0, $388 = 0, $91 = 0, $653 = 0, $666 = 0, $737 = 0, $750 = 0, $821 = 0, $834 = 0, $917 = 0, $930 = 0, $1001 = 0, $1014 = 0, $1079 = 0, $1092 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 624 | 0; __stack_pointer = $6; HEAP32[($6 + 620 | 0) >> 2] = $0; HEAP32[($6 + 616 | 0) >> 2] = $1; HEAP32[($6 + 612 | 0) >> 2] = $2; HEAP32[($6 + 608 | 0) >> 2] = $3; $7 = HEAP32[($6 + 620 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 576 | 0 | 0, HEAP32[($6 + 608 | 0) >> 2] | 0 | 0, HEAP32[($6 + 612 | 0) >> 2] | 0 | 0); HEAPF32[($6 + 572 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($6 + 592 | 0 | 0, $6 + 576 | 0 | 0, $6 + 572 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($6 + 592 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 568 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 536 | 0 | 0, HEAP32[($6 + 608 | 0) >> 2] | 0 | 0, HEAP32[($6 + 612 | 0) >> 2] | 0 | 0); HEAPF32[($6 + 532 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($6 + 552 | 0 | 0, $6 + 536 | 0 | 0, $6 + 532 | 0 | 0); btVector3__btVector3_28_29($6 + 516 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 500 | 0 | 0) | 0; void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($7 + 56 | 0 | 0, $6 + 516 | 0 | 0, $6 + 500 | 0 | 0); btVector3__btVector3_28_29($6 + 484 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 468 | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 56 | 0 | 0, $6 + 552 | 0 | 0)) - Math_fround(HEAPF32[($7 + 72 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($6 + 436 | 0 | 0, $6 + 432 | 0 | 0, $7 + 56 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 452 | 0 | 0, $6 + 552 | 0 | 0, $6 + 436 | 0 | 0); $89 = $6 + 384 | 0; $91 = $89 + 48 | 0; $92 = $89; label$1 : while (1) { $93 = $92; btVector3__btVector3_28_29($93 | 0) | 0; $95 = $93 + 16 | 0; $92 = $95; if (!(($95 | 0) == ($91 | 0) & 1 | 0)) { continue label$1 } break label$1; }; operator__28btVector3_20const__2c_20float_20const__29($6 + 336 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 352 | 0 | 0, $6 + 452 | 0 | 0, $6 + 336 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 320 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 368 | 0 | 0, $6 + 352 | 0 | 0, $6 + 320 | 0 | 0); $139 = $6 + 384 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 368 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 372 | 0) >> 2] | 0; $653 = i64toi32_i32$0; i64toi32_i32$0 = $139; HEAP32[i64toi32_i32$0 >> 2] = $653; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $141 = 8; i64toi32_i32$2 = ($6 + 368 | 0) + $141 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $666 = i64toi32_i32$1; i64toi32_i32$1 = $139 + $141 | 0; HEAP32[i64toi32_i32$1 >> 2] = $666; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 288 | 0 | 0, $6 + 452 | 0 | 0, $6 + 272 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 256 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 304 | 0 | 0, $6 + 288 | 0 | 0, $6 + 256 | 0 | 0); $187 = ($6 + 384 | 0) + 16 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 304 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 308 | 0) >> 2] | 0; $737 = i64toi32_i32$0; i64toi32_i32$0 = $187; HEAP32[i64toi32_i32$0 >> 2] = $737; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $189 = 8; i64toi32_i32$2 = ($6 + 304 | 0) + $189 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $750 = i64toi32_i32$1; i64toi32_i32$1 = $187 + $189 | 0; HEAP32[i64toi32_i32$1 >> 2] = $750; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($6 + 208 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 224 | 0 | 0, $6 + 452 | 0 | 0, $6 + 208 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 192 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 240 | 0 | 0, $6 + 224 | 0 | 0, $6 + 192 | 0 | 0); $235 = ($6 + 384 | 0) + 32 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 240 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 244 | 0) >> 2] | 0; $821 = i64toi32_i32$0; i64toi32_i32$0 = $235; HEAP32[i64toi32_i32$0 >> 2] = $821; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $237 = 8; i64toi32_i32$2 = ($6 + 240 | 0) + $237 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $834 = i64toi32_i32$1; i64toi32_i32$1 = $235 + $237 | 0; HEAP32[i64toi32_i32$1 >> 2] = $834; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $243 = HEAP32[($6 + 616 | 0) >> 2] | 0; $249 = 0; FUNCTION_TABLE[HEAP32[((HEAP32[$243 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($243, $6 + 384 | 0, $249, $249); operator__28btVector3_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 160 | 0 | 0, $6 + 452 | 0 | 0, $6 + 144 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 128 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 176 | 0 | 0, $6 + 160 | 0 | 0, $6 + 128 | 0 | 0); $288 = $6 + 384 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 176 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 180 | 0) >> 2] | 0; $917 = i64toi32_i32$0; i64toi32_i32$0 = $288; HEAP32[i64toi32_i32$0 >> 2] = $917; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $290 = 8; i64toi32_i32$2 = ($6 + 176 | 0) + $290 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $930 = i64toi32_i32$1; i64toi32_i32$1 = $288 + $290 | 0; HEAP32[i64toi32_i32$1 >> 2] = $930; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($6 + 80 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 96 | 0 | 0, $6 + 452 | 0 | 0, $6 + 80 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 64 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 112 | 0 | 0, $6 + 96 | 0 | 0, $6 + 64 | 0 | 0); $336 = ($6 + 384 | 0) + 16 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 112 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 116 | 0) >> 2] | 0; $1001 = i64toi32_i32$0; i64toi32_i32$0 = $336; HEAP32[i64toi32_i32$0 >> 2] = $1001; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $338 = 8; i64toi32_i32$2 = ($6 + 112 | 0) + $338 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1014 = i64toi32_i32$1; i64toi32_i32$1 = $336 + $338 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1014; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($6 + 16 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 32 | 0 | 0, $6 + 452 | 0 | 0, $6 + 16 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 48 | 0 | 0, $6 + 32 | 0 | 0, $6 | 0); $380 = ($6 + 384 | 0) + 32 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 52 | 0) >> 2] | 0; $1079 = i64toi32_i32$0; i64toi32_i32$0 = $380; HEAP32[i64toi32_i32$0 >> 2] = $1079; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $382 = 8; i64toi32_i32$2 = ($6 + 48 | 0) + $382 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1092 = i64toi32_i32$1; i64toi32_i32$1 = $380 + $382 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1092; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $388 = HEAP32[($6 + 616 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$388 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($388, $6 + 384 | 0, 0, 1); __stack_pointer = $6 + 624 | 0; return; } function btStaticPlaneShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAPF32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 20 | 0) >> 2] | 0; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btStaticPlaneShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 76 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btStaticPlaneShape__getLocalScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 76 | 0 | 0; } function btStaticPlaneShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 84414 | 0; } function btStaticPlaneShape__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 52 | 0; } function btStaticPlaneShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 76 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 12 | 0 | 0); btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 56 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 28 | 0 | 0); HEAPF32[((HEAP32[$5 >> 2] | 0) + 44 | 0) >> 2] = Math_fround(HEAPF32[($6 + 72 | 0) >> 2]); HEAP8[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 49 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 50 | 0) >> 0] = 0; HEAP8[((HEAP32[$5 >> 2] | 0) + 51 | 0) >> 0] = 0; __stack_pointer = $5 + 16 | 0; return 83571 | 0; } function _GLOBAL__sub_I_btStaticPlaneShape_cpp() { __cxx_global_var_init_49(); return; } function __cxx_global_var_init_50() { btInfMaskConverter__btInfMaskConverter_28int_29(114288 | 0, 2139095040 | 0) | 0; return; } function btBU_Simplex1to4__btBU_Simplex1to4_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $10 = 0, $13 = 0, $14 = 0, $16 = 0, $12 = 0, $23 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; btPolyhedralConvexAabbCachingShape__btPolyhedralConvexAabbCachingShape_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 100220 + 8 | 0; HEAP32[($4 + 100 | 0) >> 2] = 0; $10 = $4 + 104 | 0; $12 = $10 + 64 | 0; $13 = $10; label$1 : while (1) { $14 = $13; btVector3__btVector3_28_29($14 | 0) | 0; $16 = $14 + 16 | 0; $13 = $16; if (!(($16 | 0) == ($12 | 0) & 1 | 0)) { continue label$1 } break label$1; }; HEAP32[($4 + 4 | 0) >> 2] = 2; $23 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $23 | 0; } function btBU_Simplex1to4__addVertex_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $9 = 0, $14 = 0, $16 = 0, $6 = 0, $54 = 0, $64 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; $9 = HEAP32[($5 + 100 | 0) >> 2] | 0; HEAP32[($5 + 100 | 0) >> 2] = $9 + 1 | 0; $14 = ($5 + 104 | 0) + ($9 << 4 | 0) | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $54 = i64toi32_i32$0; i64toi32_i32$0 = $14; HEAP32[i64toi32_i32$0 >> 2] = $54; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $64 = i64toi32_i32$1; i64toi32_i32$1 = $14 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $64; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btBU_Simplex1to4__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; btPolyhedralConvexAabbCachingShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); __stack_pointer = $6 + 16 | 0; return; } function btBU_Simplex1to4__getNumVertices_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; } function btBU_Simplex1to4__getNumEdges_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 8 | 0) >> 2] = $0; $5 = HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($5 | 0) { case 0: HEAP32[($3 + 12 | 0) >> 2] = 0; break label$1; case 1: HEAP32[($3 + 12 | 0) >> 2] = 0; break label$1; case 2: HEAP32[($3 + 12 | 0) >> 2] = 1; break label$1; case 3: HEAP32[($3 + 12 | 0) >> 2] = 3; break label$1; case 4: HEAP32[($3 + 12 | 0) >> 2] = 6; break label$1; default: break label$2; }; } HEAP32[($3 + 12 | 0) >> 2] = 0; } return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btBU_Simplex1to4__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $10 = 0, $14 = 0, $16 = 0, $24 = 0, $26 = 0, $30 = 0, $34 = 0, $36 = 0, $44 = 0, $46 = 0, $54 = 0, $56 = 0, $64 = 0, $66 = 0, $74 = 0, $76 = 0, $82 = 0, $84 = 0, $88 = 0, $92 = 0, $94 = 0, $102 = 0, $104 = 0, $112 = 0, $114 = 0, $122 = 0, $124 = 0, $132 = 0, $134 = 0, $140 = 0, $142 = 0, $148 = 0, $150 = 0, $158 = 0, $160 = 0, $168 = 0, $170 = 0, $178 = 0, $180 = 0, $188 = 0, $190 = 0, $198 = 0, $200 = 0, $235 = 0, $245 = 0, $257 = 0, $267 = 0, $282 = 0, $292 = 0, $304 = 0, $314 = 0, $326 = 0, $336 = 0, $348 = 0, $358 = 0, $370 = 0, $380 = 0, $389 = 0, $399 = 0, $414 = 0, $424 = 0, $436 = 0, $446 = 0, $458 = 0, $468 = 0, $480 = 0, $490 = 0, $502 = 0, $512 = 0, $521 = 0, $531 = 0, $540 = 0, $550 = 0, $562 = 0, $572 = 0, $584 = 0, $594 = 0, $606 = 0, $616 = 0, $628 = 0, $638 = 0, $650 = 0, $660 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; $10 = (HEAP32[($7 + 100 | 0) >> 2] | 0) + -2 | 0; label$1 : { label$2 : { switch ($10 | 0) { case 0: $14 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = $7 + 104 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $235 = i64toi32_i32$0; i64toi32_i32$0 = $14; HEAP32[i64toi32_i32$0 >> 2] = $235; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $245 = i64toi32_i32$1; i64toi32_i32$1 = $14 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $245; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $24 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $257 = i64toi32_i32$0; i64toi32_i32$0 = $24; HEAP32[i64toi32_i32$0 >> 2] = $257; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $267 = i64toi32_i32$1; i64toi32_i32$1 = $24 + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $267; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$1; case 1: $30 = HEAP32[($6 + 8 | 0) >> 2] | 0; label$5 : { label$6 : { switch ($30 | 0) { case 0: $34 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = $7 + 104 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $282 = i64toi32_i32$0; i64toi32_i32$0 = $34; HEAP32[i64toi32_i32$0 >> 2] = $282; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $36 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $36 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $292 = i64toi32_i32$1; i64toi32_i32$1 = $34 + $36 | 0; HEAP32[i64toi32_i32$1 >> 2] = $292; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $44 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $304 = i64toi32_i32$0; i64toi32_i32$0 = $44; HEAP32[i64toi32_i32$0 >> 2] = $304; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $46 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $46 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $314 = i64toi32_i32$1; i64toi32_i32$1 = $44 + $46 | 0; HEAP32[i64toi32_i32$1 >> 2] = $314; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$5; case 1: $54 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $326 = i64toi32_i32$0; i64toi32_i32$0 = $54; HEAP32[i64toi32_i32$0 >> 2] = $326; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $56 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $56 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $336 = i64toi32_i32$1; i64toi32_i32$1 = $54 + $56 | 0; HEAP32[i64toi32_i32$1 >> 2] = $336; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $64 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $348 = i64toi32_i32$0; i64toi32_i32$0 = $64; HEAP32[i64toi32_i32$0 >> 2] = $348; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $66 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $66 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $358 = i64toi32_i32$1; i64toi32_i32$1 = $64 + $66 | 0; HEAP32[i64toi32_i32$1 >> 2] = $358; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$5; case 2: break label$6; default: break label$5; }; } $74 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $370 = i64toi32_i32$0; i64toi32_i32$0 = $74; HEAP32[i64toi32_i32$0 >> 2] = $370; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $76 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $76 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $380 = i64toi32_i32$1; i64toi32_i32$1 = $74 + $76 | 0; HEAP32[i64toi32_i32$1 >> 2] = $380; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $82 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = $7 + 104 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $389 = i64toi32_i32$0; i64toi32_i32$0 = $82; HEAP32[i64toi32_i32$0 >> 2] = $389; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $84 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $84 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $399 = i64toi32_i32$1; i64toi32_i32$1 = $82 + $84 | 0; HEAP32[i64toi32_i32$1 >> 2] = $399; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } break label$1; case 2: break label$2; default: break label$1; }; } $88 = HEAP32[($6 + 8 | 0) >> 2] | 0; label$9 : { label$10 : { switch ($88 | 0) { case 0: $92 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = $7 + 104 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $414 = i64toi32_i32$0; i64toi32_i32$0 = $92; HEAP32[i64toi32_i32$0 >> 2] = $414; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $94 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $94 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $424 = i64toi32_i32$1; i64toi32_i32$1 = $92 + $94 | 0; HEAP32[i64toi32_i32$1 >> 2] = $424; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $102 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $436 = i64toi32_i32$0; i64toi32_i32$0 = $102; HEAP32[i64toi32_i32$0 >> 2] = $436; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $104 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $104 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $446 = i64toi32_i32$1; i64toi32_i32$1 = $102 + $104 | 0; HEAP32[i64toi32_i32$1 >> 2] = $446; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 1: $112 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $458 = i64toi32_i32$0; i64toi32_i32$0 = $112; HEAP32[i64toi32_i32$0 >> 2] = $458; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $114 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $114 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $468 = i64toi32_i32$1; i64toi32_i32$1 = $112 + $114 | 0; HEAP32[i64toi32_i32$1 >> 2] = $468; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $122 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $480 = i64toi32_i32$0; i64toi32_i32$0 = $122; HEAP32[i64toi32_i32$0 >> 2] = $480; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $124 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $124 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $490 = i64toi32_i32$1; i64toi32_i32$1 = $122 + $124 | 0; HEAP32[i64toi32_i32$1 >> 2] = $490; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 2: $132 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $502 = i64toi32_i32$0; i64toi32_i32$0 = $132; HEAP32[i64toi32_i32$0 >> 2] = $502; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $134 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $134 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $512 = i64toi32_i32$1; i64toi32_i32$1 = $132 + $134 | 0; HEAP32[i64toi32_i32$1 >> 2] = $512; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $140 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = $7 + 104 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $521 = i64toi32_i32$0; i64toi32_i32$0 = $140; HEAP32[i64toi32_i32$0 >> 2] = $521; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $142 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $142 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $531 = i64toi32_i32$1; i64toi32_i32$1 = $140 + $142 | 0; HEAP32[i64toi32_i32$1 >> 2] = $531; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 3: $148 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = $7 + 104 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $540 = i64toi32_i32$0; i64toi32_i32$0 = $148; HEAP32[i64toi32_i32$0 >> 2] = $540; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $150 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $150 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $550 = i64toi32_i32$1; i64toi32_i32$1 = $148 + $150 | 0; HEAP32[i64toi32_i32$1 >> 2] = $550; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $158 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 48 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $562 = i64toi32_i32$0; i64toi32_i32$0 = $158; HEAP32[i64toi32_i32$0 >> 2] = $562; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $160 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $160 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $572 = i64toi32_i32$1; i64toi32_i32$1 = $158 + $160 | 0; HEAP32[i64toi32_i32$1 >> 2] = $572; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 4: $168 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $584 = i64toi32_i32$0; i64toi32_i32$0 = $168; HEAP32[i64toi32_i32$0 >> 2] = $584; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $170 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $170 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $594 = i64toi32_i32$1; i64toi32_i32$1 = $168 + $170 | 0; HEAP32[i64toi32_i32$1 >> 2] = $594; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $178 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 48 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $606 = i64toi32_i32$0; i64toi32_i32$0 = $178; HEAP32[i64toi32_i32$0 >> 2] = $606; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $180 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $180 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $616 = i64toi32_i32$1; i64toi32_i32$1 = $178 + $180 | 0; HEAP32[i64toi32_i32$1 >> 2] = $616; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 5: break label$10; default: break label$9; }; } $188 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $628 = i64toi32_i32$0; i64toi32_i32$0 = $188; HEAP32[i64toi32_i32$0 >> 2] = $628; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $190 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $190 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $638 = i64toi32_i32$1; i64toi32_i32$1 = $188 + $190 | 0; HEAP32[i64toi32_i32$1 >> 2] = $638; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $198 = HEAP32[$6 >> 2] | 0; i64toi32_i32$2 = ($7 + 104 | 0) + 48 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $650 = i64toi32_i32$0; i64toi32_i32$0 = $198; HEAP32[i64toi32_i32$0 >> 2] = $650; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $200 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $200 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $660 = i64toi32_i32$1; i64toi32_i32$1 = $198 + $200 | 0; HEAP32[i64toi32_i32$1 >> 2] = $660; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } } return; } function btBU_Simplex1to4__getVertex_28int_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $47 = 0, $57 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $13 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = ((HEAP32[($5 + 12 | 0) >> 2] | 0) + 104 | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $47 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $47; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $57 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $57; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btBU_Simplex1to4__getNumPlanes_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 8 | 0) >> 2] = $0; $5 = HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($5 | 0) { case 0: HEAP32[($3 + 12 | 0) >> 2] = 0; break label$1; case 1: HEAP32[($3 + 12 | 0) >> 2] = 0; break label$1; case 2: HEAP32[($3 + 12 | 0) >> 2] = 0; break label$1; case 3: HEAP32[($3 + 12 | 0) >> 2] = 2; break label$1; case 4: HEAP32[($3 + 12 | 0) >> 2] = 4; break label$1; default: break label$2; }; } HEAP32[($3 + 12 | 0) >> 2] = 0; } return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btBU_Simplex1to4__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; return; } function btBU_Simplex1to4__getIndex_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return 0 | 0; } function btBU_Simplex1to4__isInside_28btVector3_20const__2c_20float_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; return 0 & 1 | 0 | 0; } function btBU_Simplex1to4___btBU_Simplex1to4_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBU_Simplex1to4___btBU_Simplex1to4_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBU_Simplex1to4___btBU_Simplex1to4_28_29($4 | 0) | 0; btBU_Simplex1to4__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBU_Simplex1to4__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBU_Simplex1to4__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 85350 | 0; } function _GLOBAL__sub_I_btTetrahedronShape_cpp() { __cxx_global_var_init_50(); return; } function __cxx_global_var_init_51() { btInfMaskConverter__btInfMaskConverter_28int_29(114292 | 0, 2139095040 | 0) | 0; return; } function btTriangleCallback___btTriangleCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btTriangleCallback___btTriangleCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btTriangleCallback_cpp() { __cxx_global_var_init_51(); return; } function __cxx_global_var_init_52() { btInfMaskConverter__btInfMaskConverter_28int_29(114296 | 0, 2139095040 | 0) | 0; return; } function btStridingMeshInterface___btStridingMeshInterface_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btStridingMeshInterface___btStridingMeshInterface_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btStridingMeshInterface__InternalProcessAllTriangles_28btInternalTriangleIndexCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $14 = 0, $17 = 0, $18 = 0, $20 = 0, $26 = 0, $27 = 0, $66 = 0, $70 = 0, $215 = 0, $375 = 0, $535 = 0, $566 = 0, $699 = 0, $841 = 0, $983 = 0, $16 = 0, $1097 = 0, $1101 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 384 | 0; __stack_pointer = $6; HEAP32[($6 + 380 | 0) >> 2] = $0; HEAP32[($6 + 376 | 0) >> 2] = $1; HEAP32[($6 + 372 | 0) >> 2] = $2; HEAP32[($6 + 368 | 0) >> 2] = $3; $7 = HEAP32[($6 + 380 | 0) >> 2] | 0; HEAP32[($6 + 364 | 0) >> 2] = 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($7) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; $14 = $6 + 272 | 0; $16 = $14 + 48 | 0; $17 = $14; label$1 : while (1) { $18 = $17; btVector3__btVector3_28_29($18 | 0) | 0; $20 = $18 + 16 | 0; $17 = $20; if (!(($20 | 0) == ($16 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $26 = btStridingMeshInterface__getScaling_28_29_20const($7 | 0) | 0; $27 = 8; i64toi32_i32$2 = $26 + $27 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1097 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 256 | 0) + $27 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1097; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $26; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1101 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 256 | 0) >> 2] = $1101; HEAP32[($6 + 260 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 360 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($6 + 360 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 356 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 352 | 0, $6 + 328 | 0, $6 + 340 | 0, $6 + 332 | 0, $6 + 348 | 0, $6 + 344 | 0, $6 + 324 | 0, $6 + 336 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0); HEAP32[($6 + 364 | 0) >> 2] = (HEAP32[($6 + 364 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 324 | 0) >> 2] | 0, 3) | 0; $66 = HEAP32[($6 + 340 | 0) >> 2] | 0; label$4 : { label$5 : { switch ($66 | 0) { case 0: $70 = (HEAP32[($6 + 336 | 0) >> 2] | 0) + -2 | 0; label$8 : { label$9 : { switch ($70 | 0) { case 0: HEAP32[($6 + 320 | 0) >> 2] = 0; label$13 : { label$14 : while (1) { if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$13 } HEAP32[($6 + 248 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[($6 + 248 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 244 | 0 | 0, $6 + 240 | 0 | 0, $6 + 236 | 0 | 0); HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 16 | 0 | 0, $6 + 232 | 0 | 0, $6 + 228 | 0 | 0, $6 + 224 | 0 | 0); HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 216 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 212 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 32 | 0 | 0, $6 + 220 | 0 | 0, $6 + 216 | 0 | 0, $6 + 212 | 0 | 0); $215 = HEAP32[($6 + 376 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$215 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($215, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; continue label$14; }; } break label$8; case 1: HEAP32[($6 + 320 | 0) >> 2] = 0; label$15 : { label$16 : while (1) { if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$15 } HEAP32[($6 + 208 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU16[(HEAP32[($6 + 208 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 204 | 0 | 0, $6 + 200 | 0 | 0, $6 + 196 | 0 | 0); HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU16[((HEAP32[($6 + 208 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 16 | 0 | 0, $6 + 192 | 0 | 0, $6 + 188 | 0 | 0, $6 + 184 | 0 | 0); HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU16[((HEAP32[($6 + 208 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 32 | 0 | 0, $6 + 180 | 0 | 0, $6 + 176 | 0 | 0, $6 + 172 | 0 | 0); $375 = HEAP32[($6 + 376 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$375 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($375, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; continue label$16; }; } break label$8; case 3: HEAP32[($6 + 320 | 0) >> 2] = 0; label$17 : { label$18 : while (1) { if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$17 } HEAP32[($6 + 168 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU8[(HEAP32[($6 + 168 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 164 | 0 | 0, $6 + 160 | 0 | 0, $6 + 156 | 0 | 0); HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU8[((HEAP32[($6 + 168 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 16 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0, $6 + 144 | 0 | 0); HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU8[((HEAP32[($6 + 168 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 32 | 0 | 0, $6 + 140 | 0 | 0, $6 + 136 | 0 | 0, $6 + 132 | 0 | 0); $535 = HEAP32[($6 + 376 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$535 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($535, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; continue label$18; }; } break label$8; default: break label$9; }; } label$19 : { if ((HEAP32[($6 + 336 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { break label$19 } if ((HEAP32[($6 + 336 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { break label$19 } __assert_fail(86334 | 0, 75524 | 0, 107 | 0, 70188 | 0); wasm2js_trap(); } } break label$4; case 1: $566 = (HEAP32[($6 + 336 | 0) >> 2] | 0) + -2 | 0; label$20 : { label$21 : { switch ($566 | 0) { case 0: HEAP32[($6 + 320 | 0) >> 2] = 0; label$25 : { label$26 : while (1) { if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$25 } HEAP32[($6 + 124 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[($6 + 124 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 120 | 0 | 0, $6 + 116 | 0 | 0, $6 + 112 | 0 | 0); HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 288 | 0 | 0, $6 + 108 | 0 | 0, $6 + 104 | 0 | 0, $6 + 100 | 0 | 0); HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, $6 + 96 | 0 | 0, $6 + 92 | 0 | 0, $6 + 88 | 0 | 0); $699 = HEAP32[($6 + 376 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$699 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($699, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; continue label$26; }; } break label$20; case 1: HEAP32[($6 + 320 | 0) >> 2] = 0; label$27 : { label$28 : while (1) { if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$27 } HEAP32[($6 + 84 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU16[(HEAP32[($6 + 84 | 0) >> 2] | 0) >> 1] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 80 | 0 | 0, $6 + 76 | 0 | 0, $6 + 72 | 0 | 0); HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU16[((HEAP32[($6 + 84 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 288 | 0 | 0, $6 + 68 | 0 | 0, $6 + 64 | 0 | 0, $6 + 60 | 0 | 0); HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU16[((HEAP32[($6 + 84 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, $6 + 56 | 0 | 0, $6 + 52 | 0 | 0, $6 + 48 | 0 | 0); $841 = HEAP32[($6 + 376 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$841 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($841, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; continue label$28; }; } break label$20; case 3: HEAP32[($6 + 320 | 0) >> 2] = 0; label$29 : { label$30 : while (1) { if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$29 } HEAP32[($6 + 44 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU8[(HEAP32[($6 + 44 | 0) >> 2] | 0) >> 0] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0); HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU8[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 288 | 0 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU8[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); $983 = HEAP32[($6 + 376 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$983 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($983, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; continue label$30; }; } break label$20; default: break label$21; }; } label$31 : { if ((HEAP32[($6 + 336 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { break label$31 } if ((HEAP32[($6 + 336 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { break label$31 } __assert_fail(86334 | 0, 75524 | 0, 164 | 0, 70188 | 0); wasm2js_trap(); } } break label$4; default: break label$5; }; } label$32 : { if (!(HEAP32[($6 + 340 | 0) >> 2] | 0)) { break label$32 } if ((HEAP32[($6 + 340 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { break label$32 } __assert_fail(86480 | 0, 75524 | 0, 169 | 0, 70188 | 0); wasm2js_trap(); } } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 360 | 0) >> 2] | 0); HEAP32[($6 + 360 | 0) >> 2] = (HEAP32[($6 + 360 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } __stack_pointer = $6 + 384 | 0; return; } function btStridingMeshInterface__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $66 = 0, $16 = 0, $25 = 0, $74 = 0, $80 = 0, $88 = 0, $141 = 0, $150 = 0, $158 = 0, $213 = 0, $222 = 0, $230 = 0, $279 = 0, $291 = 0, $294 = 0, $302 = 0, $345 = 0, $354 = 0, $362 = 0, $405 = 0, $434 = 0, $10 = 0, $29 = 0, $92 = 0, $162 = 0, $234 = 0, $306 = 0, $366 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 144 | 0; __stack_pointer = $5; HEAP32[($5 + 140 | 0) >> 2] = $0; HEAP32[($5 + 136 | 0) >> 2] = $1; HEAP32[($5 + 132 | 0) >> 2] = $2; $6 = HEAP32[($5 + 140 | 0) >> 2] | 0; HEAP32[($5 + 128 | 0) >> 2] = HEAP32[($5 + 136 | 0) >> 2] | 0; $10 = FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($6) | 0; HEAP32[((HEAP32[($5 + 128 | 0) >> 2] | 0) + 20 | 0) >> 2] = $10; HEAP32[(HEAP32[($5 + 128 | 0) >> 2] | 0) >> 2] = 0; label$1 : { if (!(HEAP32[((HEAP32[($5 + 128 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { break label$1 } $16 = HEAP32[($5 + 132 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, 32, HEAP32[((HEAP32[($5 + 128 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 120 | 0) >> 2] = HEAP32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $25 = HEAP32[($5 + 132 | 0) >> 2] | 0; $29 = FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($25, HEAP32[($5 + 120 | 0) >> 2] | 0) | 0; HEAP32[(HEAP32[($5 + 128 | 0) >> 2] | 0) >> 2] = $29; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($6) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 116 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, $5 + 108 | 0, $5 + 84 | 0, $5 + 96 | 0, $5 + 88 | 0, $5 + 104 | 0, $5 + 100 | 0, $5 + 80 | 0, $5 + 92 | 0, HEAP32[($5 + 116 | 0) >> 2] | 0); HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5 + 80 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5 + 84 | 0) >> 2] | 0; $66 = 0; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] = $66; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] = $66; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] = $66; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 16 | 0) >> 2] = $66; HEAP32[(HEAP32[($5 + 120 | 0) >> 2] | 0) >> 2] = $66; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] = $66; $74 = (HEAP32[($5 + 92 | 0) >> 2] | 0) + -2 | 0; label$4 : { label$5 : { switch ($74 | 0) { case 0: HEAP32[($5 + 72 | 0) >> 2] = Math_imul(HEAP32[($5 + 80 | 0) >> 2] | 0, 3); label$9 : { if (!(HEAP32[($5 + 72 | 0) >> 2] | 0)) { break label$9 } $80 = HEAP32[($5 + 132 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$80 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($80, 4, HEAP32[($5 + 72 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 64 | 0) >> 2] = HEAP32[((HEAP32[($5 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $88 = HEAP32[($5 + 132 | 0) >> 2] | 0; $92 = FUNCTION_TABLE[HEAP32[((HEAP32[$88 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($88, HEAP32[($5 + 64 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] = $92; HEAP32[($5 + 76 | 0) >> 2] = 0; label$10 : { label$11 : while (1) { if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } HEAP32[($5 + 60 | 0) >> 2] = (HEAP32[($5 + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + (Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, 3) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 60 | 0) >> 2] | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; continue label$11; }; } $141 = HEAP32[($5 + 132 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$141 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($141, HEAP32[($5 + 68 | 0) >> 2] | 0, 83095, 1497453121, HEAP32[((HEAP32[($5 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); } break label$4; case 1: label$12 : { if (!(HEAP32[($5 + 80 | 0) >> 2] | 0)) { break label$12 } $150 = HEAP32[($5 + 132 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$150 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($150, 8, HEAP32[($5 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $158 = HEAP32[($5 + 132 | 0) >> 2] | 0; $162 = FUNCTION_TABLE[HEAP32[((HEAP32[$158 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($158, HEAP32[($5 + 52 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] = $162; HEAP32[($5 + 76 | 0) >> 2] = 0; label$13 : { label$14 : while (1) { if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$13 } HEAP32[($5 + 48 | 0) >> 2] = (HEAP32[($5 + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; HEAP16[((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) >> 1] = HEAPU16[(HEAP32[($5 + 48 | 0) >> 2] | 0) >> 1] | 0; HEAP16[(((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; HEAP16[(((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 1] = HEAPU16[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0; HEAP8[(((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) + 6 | 0) >> 0] = 0; HEAP8[(((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) + 7 | 0) >> 0] = 0; HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; continue label$14; }; } $213 = HEAP32[($5 + 132 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$213 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($213, HEAP32[($5 + 56 | 0) >> 2] | 0, 83160, 1497453121, HEAP32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); } break label$4; case 3: label$15 : { if (!(HEAP32[($5 + 80 | 0) >> 2] | 0)) { break label$15 } $222 = HEAP32[($5 + 132 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$222 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($222, 4, HEAP32[($5 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $230 = HEAP32[($5 + 132 | 0) >> 2] | 0; $234 = FUNCTION_TABLE[HEAP32[((HEAP32[$230 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($230, HEAP32[($5 + 40 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 16 | 0) >> 2] = $234; HEAP32[($5 + 76 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$16 } HEAP32[($5 + 36 | 0) >> 2] = (HEAP32[($5 + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; HEAP8[((HEAP32[($5 + 40 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) >> 0] = HEAPU8[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 0] | 0; HEAP8[(((HEAP32[($5 + 40 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) + 1 | 0) >> 0] = HEAPU8[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; HEAP8[(((HEAP32[($5 + 40 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) + 2 | 0) >> 0] = HEAPU8[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; HEAP8[(((HEAP32[($5 + 40 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) + 3 | 0) >> 0] = 0; HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } $279 = HEAP32[($5 + 132 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$279 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($279, HEAP32[($5 + 44 | 0) >> 2] | 0, 83187, 1497453121, HEAP32[((HEAP32[($5 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); } break label$4; default: break label$5; }; } __assert_fail(86177 | 0, 75524 | 0, 326 | 0, 80835 | 0); wasm2js_trap(); } $291 = HEAP32[($5 + 96 | 0) >> 2] | 0; label$18 : { label$19 : { switch ($291 | 0) { case 0: label$22 : { if (!(HEAP32[($5 + 84 | 0) >> 2] | 0)) { break label$22 } $294 = HEAP32[($5 + 132 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$294 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($294, 16, HEAP32[($5 + 84 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $302 = HEAP32[($5 + 132 | 0) >> 2] | 0; $306 = FUNCTION_TABLE[HEAP32[((HEAP32[$302 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($302, HEAP32[($5 + 24 | 0) >> 2] | 0) | 0; HEAP32[(HEAP32[($5 + 120 | 0) >> 2] | 0) >> 2] = $306; HEAP32[($5 + 20 | 0) >> 2] = 0; label$23 : { label$24 : while (1) { if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$23 } HEAP32[($5 + 32 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($5 + 32 | 0) >> 2] | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2]); HEAP32[($5 + 20 | 0) >> 2] = (HEAP32[($5 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$24; }; } $345 = HEAP32[($5 + 132 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$345 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($345, HEAP32[($5 + 28 | 0) >> 2] | 0, 83394, 1497453121, HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); } break label$18; case 1: label$25 : { if (!(HEAP32[($5 + 84 | 0) >> 2] | 0)) { break label$25 } $354 = HEAP32[($5 + 132 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$354 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($354, 32, HEAP32[($5 + 84 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $362 = HEAP32[($5 + 132 | 0) >> 2] | 0; $366 = FUNCTION_TABLE[HEAP32[((HEAP32[$362 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($362, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] = $366; HEAP32[($5 + 8 | 0) >> 2] = 0; label$26 : { label$27 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$26 } HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; HEAPF64[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0) | 0) >> 3] = +HEAPF64[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 3]; HEAPF64[(((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0) | 0) + 8 | 0) >> 3] = +HEAPF64[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 8 | 0) >> 3]; HEAPF64[(((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0) | 0) + 16 | 0) >> 3] = +HEAPF64[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 16 | 0) >> 3]; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$27; }; } $405 = HEAP32[($5 + 132 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$405 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($405, HEAP32[($5 + 16 | 0) >> 2] | 0, 83633, 1497453121, HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); } break label$18; default: break label$19; }; } label$28 : { if (!(HEAP32[($5 + 96 | 0) >> 2] | 0)) { break label$28 } if ((HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { break label$28 } __assert_fail(86480 | 0, 75524 | 0, 374 | 0, 80835 | 0); wasm2js_trap(); } } FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($6, HEAP32[($5 + 116 | 0) >> 2] | 0); HEAP32[($5 + 116 | 0) >> 2] = (HEAP32[($5 + 116 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 120 | 0) >> 2] = (HEAP32[($5 + 120 | 0) >> 2] | 0) + 32 | 0; continue label$3; }; } $434 = HEAP32[($5 + 132 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$434 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($434, HEAP32[($5 + 124 | 0) >> 2] | 0, 83110, 1497453121, HEAP32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); } HEAP32[((HEAP32[($5 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 4 | 0 | 0, (HEAP32[($5 + 128 | 0) >> 2] | 0) + 4 | 0 | 0); __stack_pointer = $5 + 144 | 0; return 83699 | 0; } function btStridingMeshInterface__hasPremadeAabb_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 & 1 | 0 | 0; } function btStridingMeshInterface__setPremadeAabb_28btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btStridingMeshInterface__getPremadeAabb_28btVector3__2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function _GLOBAL__sub_I_btStridingMeshInterface_cpp() { __cxx_global_var_init_52(); return; } function __cxx_global_var_init_53() { btInfMaskConverter__btInfMaskConverter_28int_29(114300 | 0, 2139095040 | 0) | 0; return; } function btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 100608 + 8 | 0; btAlignedObjectArray_btIndexedMesh____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; btStridingMeshInterface___btStridingMeshInterface_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btIndexedMesh____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btIndexedMesh___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btIndexedMesh___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btIndexedMesh___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btIndexedMesh___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btIndexedMesh___deallocate_28_29($4 | 0); btAlignedObjectArray_btIndexedMesh___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[985 | 0]($4) | 0; btTriangleIndexVertexArray__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleIndexVertexArray__getLockedVertexIndexBase_28unsigned_20char___2c_20int__2c_20PHY_ScalarType__2c_20int__2c_20unsigned_20char___2c_20int__2c_20int__2c_20PHY_ScalarType__2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $12 = __stack_pointer - 48 | 0; __stack_pointer = $12; HEAP32[($12 + 44 | 0) >> 2] = $0; HEAP32[($12 + 40 | 0) >> 2] = $1; HEAP32[($12 + 36 | 0) >> 2] = $2; HEAP32[($12 + 32 | 0) >> 2] = $3; HEAP32[($12 + 28 | 0) >> 2] = $4; HEAP32[($12 + 24 | 0) >> 2] = $5; HEAP32[($12 + 20 | 0) >> 2] = $6; HEAP32[($12 + 16 | 0) >> 2] = $7; HEAP32[($12 + 12 | 0) >> 2] = $8; HEAP32[($12 + 8 | 0) >> 2] = $9; $13 = HEAP32[($12 + 44 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($12 + 8 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($13) | 0 | 0) & 1 | 0) { break label$1 } __assert_fail(87090 | 0, 71325 | 0, 41 | 0, 81493 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($13 + 20 | 0 | 0, HEAP32[($12 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[(HEAP32[($12 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($12 + 4 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; __stack_pointer = $12 + 48 | 0; return; } function btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_28unsigned_20char_20const___2c_20int__2c_20PHY_ScalarType__2c_20int__2c_20unsigned_20char_20const___2c_20int__2c_20int__2c_20PHY_ScalarType__2c_20int_29_20const($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $12 = __stack_pointer - 48 | 0; __stack_pointer = $12; HEAP32[($12 + 44 | 0) >> 2] = $0; HEAP32[($12 + 40 | 0) >> 2] = $1; HEAP32[($12 + 36 | 0) >> 2] = $2; HEAP32[($12 + 32 | 0) >> 2] = $3; HEAP32[($12 + 28 | 0) >> 2] = $4; HEAP32[($12 + 24 | 0) >> 2] = $5; HEAP32[($12 + 20 | 0) >> 2] = $6; HEAP32[($12 + 16 | 0) >> 2] = $7; HEAP32[($12 + 12 | 0) >> 2] = $8; HEAP32[($12 + 8 | 0) >> 2] = $9; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29_20const((HEAP32[($12 + 44 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($12 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[(HEAP32[($12 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($12 + 4 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; HEAP32[(HEAP32[($12 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; __stack_pointer = $12 + 48 | 0; return; } function btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 5 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btTriangleIndexVertexArray__hasPremadeAabb_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0; } function btTriangleIndexVertexArray__setPremadeAabb_28btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $9 = 0, $11 = 0, $17 = 0, $19 = 0, $44 = 0, $54 = 0, $63 = 0, $73 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; $9 = $6 + 52 | 0; i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $44 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[i64toi32_i32$0 >> 2] = $44; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $11 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $11 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $54 = i64toi32_i32$1; i64toi32_i32$1 = $9 + $11 | 0; HEAP32[i64toi32_i32$1 >> 2] = $54; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $17 = $6 + 68 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $63 = i64toi32_i32$0; i64toi32_i32$0 = $17; HEAP32[i64toi32_i32$0 >> 2] = $63; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $73 = i64toi32_i32$1; i64toi32_i32$1 = $17 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $73; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 48 | 0) >> 2] = 1; return; } function btTriangleIndexVertexArray__getPremadeAabb_28btVector3__2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $9 = 0, $11 = 0, $17 = 0, $19 = 0, $43 = 0, $53 = 0, $62 = 0, $72 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; $9 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $6 + 52 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $43 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[i64toi32_i32$0 >> 2] = $43; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $11 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $11 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $53 = i64toi32_i32$1; i64toi32_i32$1 = $9 + $11 | 0; HEAP32[i64toi32_i32$1 >> 2] = $53; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $17 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = $6 + 68 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $62 = i64toi32_i32$0; i64toi32_i32$0 = $17; HEAP32[i64toi32_i32$0 >> 2] = $62; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $72 = i64toi32_i32$1; i64toi32_i32$1 = $17 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $72; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btTriangleIndexVertexArray__preallocateVertices_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btTriangleIndexVertexArray__preallocateIndices_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function _GLOBAL__sub_I_btTriangleIndexVertexArray_cpp() { __cxx_global_var_init_53(); return; } function __cxx_global_var_init_54() { btInfMaskConverter__btInfMaskConverter_28int_29(114304 | 0, 2139095040 | 0) | 0; return; } function btTriangleMesh__btTriangleMesh_28bool_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $8 = 0, $5 = 0, $50 = 0, $74 = 0, $99 = 0, $118 = 0, $133 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 40 | 0) >> 2] = $0; HEAP8[($5 + 39 | 0) >> 0] = $1; HEAP8[($5 + 38 | 0) >> 0] = $2; $8 = HEAP32[($5 + 40 | 0) >> 2] | 0; HEAP32[($5 + 44 | 0) >> 2] = $8; btTriangleIndexVertexArray__btTriangleIndexVertexArray_28_29($8 | 0) | 0; HEAP32[$8 >> 2] = 100720 + 8 | 0; btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($8 + 84 | 0 | 0) | 0; btAlignedObjectArray_float___btAlignedObjectArray_28_29($8 + 104 | 0 | 0) | 0; btAlignedObjectArray_unsigned_20int___btAlignedObjectArray_28_29($8 + 124 | 0 | 0) | 0; btAlignedObjectArray_unsigned_20short___btAlignedObjectArray_28_29($8 + 144 | 0 | 0) | 0; HEAP8[($8 + 164 | 0) >> 0] = (HEAPU8[($5 + 39 | 0) >> 0] | 0) & 1 | 0; HEAP8[($8 + 165 | 0) >> 0] = (HEAPU8[($5 + 38 | 0) >> 0] | 0) & 1 | 0; HEAPF32[($8 + 168 | 0) >> 2] = Math_fround(0 | 0); btIndexedMesh__btIndexedMesh_28_29($5 + 4 | 0 | 0) | 0; HEAP32[($5 + 4 | 0) >> 2] = 0; HEAP32[($5 + 16 | 0) >> 2] = 0; HEAP32[($5 + 28 | 0) >> 2] = 2; HEAP32[($5 + 8 | 0) >> 2] = 0; HEAP32[($5 + 12 | 0) >> 2] = 12; HEAP32[($5 + 20 | 0) >> 2] = 0; HEAP32[($5 + 24 | 0) >> 2] = 16; btAlignedObjectArray_btIndexedMesh___push_back_28btIndexedMesh_20const__29($8 + 20 | 0 | 0, $5 + 4 | 0 | 0); label$1 : { label$2 : { if (!((HEAPU8[($8 + 164 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } $50 = (btAlignedObjectArray_unsigned_20int___size_28_29_20const($8 + 124 | 0 | 0) | 0 | 0) / (3 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $50), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 2), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 12), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; break label$1; } $74 = (btAlignedObjectArray_unsigned_20short___size_28_29_20const($8 + 144 | 0 | 0) | 0 | 0) / (3 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $74), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 3), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 6), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; } label$3 : { label$4 : { if (!((HEAPU8[($8 + 165 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } $99 = btAlignedObjectArray_btVector3___size_28_29_20const($8 + 84 | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $99), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 16), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; break label$3; } $118 = (btAlignedObjectArray_float___size_28_29_20const($8 + 104 | 0 | 0) | 0 | 0) / (3 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $118), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 12), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; } $133 = HEAP32[($5 + 44 | 0) >> 2] | 0; __stack_pointer = $5 + 48 | 0; return $133 | 0; } function btTriangleIndexVertexArray__btTriangleIndexVertexArray_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btStridingMeshInterface__btStridingMeshInterface_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 100608 + 8 | 0; btAlignedObjectArray_btIndexedMesh___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; HEAP32[($4 + 48 | 0) >> 2] = 0; btVector3__btVector3_28_29($4 + 52 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 68 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_unsigned_20int___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_unsigned_20int_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_unsigned_20int___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_unsigned_20short___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_unsigned_20short_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_unsigned_20short___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btIndexedMesh__btIndexedMesh_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($4 + 24 | 0) >> 2] = 2; HEAP32[($4 + 28 | 0) >> 2] = 0; return $4 | 0; } function btAlignedObjectArray_btIndexedMesh___push_back_28btIndexedMesh_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $4 = 0, $22 = 0, $23 = 0, $25 = 0, $29 = 0, $33 = 0, $96 = 0, $106 = 0, $116 = 0, $126 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btIndexedMesh___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btIndexedMesh___reserve_28int_29($5 | 0, btAlignedObjectArray_btIndexedMesh___allocSize_28int_29($5 | 0, btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } $22 = btIndexedMesh__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; $23 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $23; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $96; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 24; i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $106 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $106; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $29 = 16; i64toi32_i32$2 = $23 + $29 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $116 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $29 | 0; HEAP32[i64toi32_i32$0 >> 2] = $116; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $33 = 8; i64toi32_i32$2 = $23 + $33 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $126 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $33 | 0; HEAP32[i64toi32_i32$1 >> 2] = $126; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_unsigned_20int___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 5 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_unsigned_20short___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btStridingMeshInterface__btStridingMeshInterface_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 100504 + 8 | 0; HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(1.0); HEAPF32[$3 >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 4 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btIndexedMesh___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btIndexedMesh_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btIndexedMesh___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_unsigned_20int_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_unsigned_20int___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_unsigned_20short_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_unsigned_20short___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_btIndexedMesh___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btIndexedMesh___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btIndexedMesh___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btIndexedMesh___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btIndexedMesh___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btIndexedMesh___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btIndexedMesh___copy_28int_2c_20int_2c_20btIndexedMesh__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btIndexedMesh___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btIndexedMesh___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btIndexedMesh__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btTriangleMesh__addIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $18 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 164 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; btAlignedObjectArray_unsigned_20int___push_back_28unsigned_20int_20const__29($5 + 124 | 0 | 0, $4 + 4 | 0 | 0); $18 = btAlignedObjectArray_unsigned_20int___operator_5b_5d_28int_29($5 + 124 | 0 | 0, 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($5 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $18), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP16[($4 + 2 | 0) >> 1] = HEAP32[($4 + 8 | 0) >> 2] | 0; btAlignedObjectArray_unsigned_20short___push_back_28unsigned_20short_20const__29($5 + 144 | 0 | 0, $4 + 2 | 0 | 0); $32 = btAlignedObjectArray_unsigned_20short___operator_5b_5d_28int_29($5 + 144 | 0 | 0, 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($5 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $32), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_unsigned_20int___push_back_28unsigned_20int_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_unsigned_20int___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_unsigned_20int___reserve_28int_29($5 | 0, btAlignedObjectArray_unsigned_20int___allocSize_28int_29($5 | 0, btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_unsigned_20int___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_unsigned_20short___push_back_28unsigned_20short_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_unsigned_20short___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_unsigned_20short___reserve_28int_29($5 | 0, btAlignedObjectArray_unsigned_20short___allocSize_28int_29($5 | 0, btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP16[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_unsigned_20short___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_unsigned_20int___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_unsigned_20int___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_unsigned_20int___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_unsigned_20int___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_unsigned_20int___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_unsigned_20int___copy_28int_2c_20int_2c_20unsigned_20int__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_unsigned_20int___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_unsigned_20int___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_unsigned_20short___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_unsigned_20short___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_unsigned_20short___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_unsigned_20short___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_unsigned_20short___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_unsigned_20short___copy_28int_2c_20int_2c_20unsigned_20short__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_unsigned_20short___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_unsigned_20short___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btTriangleMesh__findOrAddVertex_28btVector3_20const__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $47 = 0, $135 = 0, $57 = 0, $142 = 0, $154 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 80 | 0; __stack_pointer = $5; HEAP32[($5 + 72 | 0) >> 2] = $0; HEAP32[($5 + 68 | 0) >> 2] = $1; HEAP8[($5 + 67 | 0) >> 0] = $2; $7 = HEAP32[($5 + 72 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($7 + 165 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } label$3 : { if (!((HEAPU8[($5 + 67 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 60 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($7 + 84 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$4 } operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 44 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($7 + 84 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0); label$6 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 44 | 0 | 0)) <= Math_fround(HEAPF32[($7 + 168 | 0) >> 2]) & 1 | 0)) { break label$6 } HEAP32[($5 + 76 | 0) >> 2] = HEAP32[($5 + 60 | 0) >> 2] | 0; break label$1; } HEAP32[($5 + 60 | 0) >> 2] = (HEAP32[($5 + 60 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } } $47 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0; HEAP32[($47 + 12 | 0) >> 2] = (HEAP32[($47 + 12 | 0) >> 2] | 0) + 1 | 0; btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 84 | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0); $57 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($7 + 84 | 0 | 0, 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $57), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btAlignedObjectArray_btVector3___size_28_29_20const($7 + 84 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; break label$1; } label$7 : { if (!((HEAPU8[($5 + 67 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } HEAP32[($5 + 40 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_float___size_28_29_20const($7 + 104 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$8 } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 24 | 0 | 0, btAlignedObjectArray_float___operator_5b_5d_28int_29($7 + 104 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_float___operator_5b_5d_28int_29($7 + 104 | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0, btAlignedObjectArray_float___operator_5b_5d_28int_29($7 + 104 | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, $5 + 24 | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0); label$10 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 8 | 0 | 0)) <= Math_fround(HEAPF32[($7 + 168 | 0) >> 2]) & 1 | 0)) { break label$10 } HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) / (3 | 0) | 0; break label$1; } HEAP32[($5 + 40 | 0) >> 2] = (HEAP32[($5 + 40 | 0) >> 2] | 0) + 3 | 0; continue label$9; }; } } btAlignedObjectArray_float___push_back_28float_20const__29($7 + 104 | 0 | 0, btVector3__getX_28_29_20const(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); btAlignedObjectArray_float___push_back_28float_20const__29($7 + 104 | 0 | 0, btVector3__getY_28_29_20const(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); btAlignedObjectArray_float___push_back_28float_20const__29($7 + 104 | 0 | 0, btVector3__getZ_28_29_20const(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); $135 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0; HEAP32[($135 + 12 | 0) >> 2] = (HEAP32[($135 + 12 | 0) >> 2] | 0) + 1 | 0; $142 = btAlignedObjectArray_float___operator_5b_5d_28int_29($7 + 104 | 0 | 0, 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $142), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = ((btAlignedObjectArray_float___size_28_29_20const($7 + 104 | 0 | 0) | 0 | 0) / (3 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; } $154 = HEAP32[($5 + 76 | 0) >> 2] | 0; __stack_pointer = $5 + 80 | 0; return $154 | 0; } function btAlignedObjectArray_float___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btTriangleMesh__addTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0, $13 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; $9 = HEAP32[($7 + 28 | 0) >> 2] | 0; $13 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($9 + 20 | 0 | 0, 0 | 0) | 0; HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + 1 | 0; btTriangleMesh__addIndex_28int_29($9 | 0, btTriangleMesh__findOrAddVertex_28btVector3_20const__2c_20bool_29($9 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0) | 0 | 0); btTriangleMesh__addIndex_28int_29($9 | 0, btTriangleMesh__findOrAddVertex_28btVector3_20const__2c_20bool_29($9 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0) | 0 | 0); btTriangleMesh__addIndex_28int_29($9 | 0, btTriangleMesh__findOrAddVertex_28btVector3_20const__2c_20bool_29($9 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0) | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function btTriangleMesh__preallocateVertices_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 165 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedObjectArray_btVector3___reserve_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); break label$1; } btAlignedObjectArray_float___reserve_28int_29($5 + 104 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btTriangleMesh__preallocateIndices_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 164 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedObjectArray_unsigned_20int___reserve_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); break label$1; } btAlignedObjectArray_unsigned_20short___reserve_28int_29($5 + 144 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_unsigned_20int___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_unsigned_20int_2c_2016u___allocate_28int_2c_20unsigned_20int_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_unsigned_20int___copy_28int_2c_20int_2c_20unsigned_20int__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_unsigned_20int___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_unsigned_20int___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_unsigned_20int_2c_2016u___deallocate_28unsigned_20int__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_unsigned_20short___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_unsigned_20short_2c_2016u___allocate_28int_2c_20unsigned_20short_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_unsigned_20short___copy_28int_2c_20int_2c_20unsigned_20short__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP16[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_unsigned_20short___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_unsigned_20short___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_unsigned_20short_2c_2016u___deallocate_28unsigned_20short__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btTriangleMesh___btTriangleMesh_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 100720 + 8 | 0; btAlignedObjectArray_unsigned_20short____btAlignedObjectArray_28_29($4 + 144 | 0 | 0) | 0; btAlignedObjectArray_unsigned_20int____btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; btAlignedObjectArray_float____btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_unsigned_20short____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_unsigned_20short___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_unsigned_20int____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_unsigned_20int___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTriangleMesh___btTriangleMesh_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleMesh___btTriangleMesh_28_29($4 | 0) | 0; btTriangleIndexVertexArray__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleIndexVertexArray__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleIndexVertexArray__unLockVertexBase_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btTriangleIndexVertexArray__unLockReadOnlyVertexBase_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btTriangleIndexVertexArray__getNumSubParts_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btIndexedMesh___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btStridingMeshInterface__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 28 | 0; } function btAlignedAllocator_btIndexedMesh_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btIndexedMesh___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedObjectArray_unsigned_20short___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_unsigned_20short___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_unsigned_20short___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_unsigned_20short___deallocate_28_29($4 | 0); btAlignedObjectArray_unsigned_20short___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_unsigned_20int___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_unsigned_20int___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_unsigned_20int___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_unsigned_20int___deallocate_28_29($4 | 0); btAlignedObjectArray_unsigned_20int___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_unsigned_20short_2c_2016u___deallocate_28unsigned_20short__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedAllocator_unsigned_20int_2c_2016u___deallocate_28unsigned_20int__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btIndexedMesh___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btIndexedMesh_2c_2016u___allocate_28int_2c_20btIndexedMesh_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btIndexedMesh___copy_28int_2c_20int_2c_20btIndexedMesh__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0, $27 = 0, $29 = 0, $33 = 0, $37 = 0, $7 = 0, $105 = 0, $115 = 0, $125 = 0, $135 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $22 = btIndexedMesh__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; $27 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 5 | 0) | 0; i64toi32_i32$2 = $27; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $105 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $105; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $29 = 24; i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $115 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $29 | 0; HEAP32[i64toi32_i32$1 >> 2] = $115; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $33 = 16; i64toi32_i32$2 = $27 + $33 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $125 = i64toi32_i32$0; i64toi32_i32$0 = $22 + $33 | 0; HEAP32[i64toi32_i32$0 >> 2] = $125; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $37 = 8; i64toi32_i32$2 = $27 + $37 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $135 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $37 | 0; HEAP32[i64toi32_i32$1 >> 2] = $135; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedObjectArray_btIndexedMesh___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btIndexedMesh___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btIndexedMesh_2c_2016u___deallocate_28btIndexedMesh__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btIndexedMesh_2c_2016u___allocate_28int_2c_20btIndexedMesh_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btIndexedMesh_2c_2016u___deallocate_28btIndexedMesh__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedAllocator_unsigned_20int_2c_2016u___allocate_28int_2c_20unsigned_20int_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_unsigned_20short_2c_2016u___allocate_28int_2c_20unsigned_20short_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 1 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btTriangleMesh_cpp() { __cxx_global_var_init_54(); return; } function __cxx_global_var_init_55() { btInfMaskConverter__btInfMaskConverter_28int_29(114308 | 0, 2139095040 | 0) | 0; return; } function btTriangleMeshShape__btTriangleMeshShape_28btStridingMeshInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = 0, $21 = 0, $28 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = $5; btConcaveShape__btConcaveShape_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 100820 + 8 | 0; btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 40 | 0 | 0) | 0; HEAP32[($5 + 56 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = 21; $15 = HEAP32[($4 + 4 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($15) | 0) & 1 | 0)) { break label$2 } $21 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($21, $5 + 24 | 0, $5 + 40 | 0); break label$1; } btTriangleMeshShape__recalcLocalAabb_28_29($5 | 0); } $28 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $28 | 0; } function btTriangleMeshShape__recalcLocalAabb_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $83 = 0, $58 = Math_fround(0), $286 = 0, $290 = 0, $102 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 80 | 0; __stack_pointer = $3; HEAP32[($3 + 76 | 0) >> 2] = $0; $4 = HEAP32[($3 + 76 | 0) >> 2] | 0; HEAP32[($3 + 72 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 72 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 56 | 0 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0, $3 + 44 | 0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 56 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($3 + 24 | 0, $4, $3 + 56 | 0); $58 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 24 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 40 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $58), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 56 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($3 + 8 | 0, $4, $3 + 56 | 0); $83 = 8; i64toi32_i32$2 = ($3 + 8 | 0) + $83 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $286 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 24 | 0) + $83 | 0; HEAP32[i64toi32_i32$0 >> 2] = $286; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; $290 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 24 | 0) >> 2] = $290; HEAP32[($3 + 28 | 0) >> 2] = i64toi32_i32$0; $102 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 24 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 24 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $102), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($3 + 72 | 0) >> 2] = (HEAP32[($3 + 72 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 80 | 0; return; } function btTriangleMeshShape___btTriangleMeshShape_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTriangleMeshShape___btTriangleMeshShape_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[1001 | 0]($4) | 0; btTriangleMeshShape__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleMeshShape__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleMeshShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $111 = 0, $113 = 0, $128 = 0, $130 = 0, $349 = 0, $362 = 0, $383 = 0, $396 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 240 | 0; __stack_pointer = $6; HEAP32[($6 + 236 | 0) >> 2] = $0; HEAP32[($6 + 232 | 0) >> 2] = $1; HEAP32[($6 + 228 | 0) >> 2] = $2; HEAP32[($6 + 224 | 0) >> 2] = $3; $7 = HEAP32[($6 + 236 | 0) >> 2] | 0; HEAPF32[($6 + 204 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 188 | 0 | 0, $7 + 40 | 0 | 0, $7 + 24 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($6 + 208 | 0 | 0, $6 + 204 | 0 | 0, $6 + 188 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 172 | 0 | 0, $6 + 168 | 0 | 0, $6 + 164 | 0 | 0, $6 + 160 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($6 + 208 | 0 | 0, $6 + 172 | 0 | 0) | 0; HEAPF32[($6 + 140 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 124 | 0 | 0, $7 + 40 | 0 | 0, $7 + 24 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($6 + 144 | 0 | 0, $6 + 140 | 0 | 0, $6 + 124 | 0 | 0); btMatrix3x3__absolute_28_29_20const($6 + 76 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 232 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 60 | 0 | 0, HEAP32[($6 + 232 | 0) >> 2] | 0 | 0, $6 + 144 | 0 | 0); btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 44 | 0 | 0, $6 + 208 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 76 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 76 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 76 | 0 | 0, 2 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 28 | 0 | 0, $6 + 60 | 0 | 0, $6 + 44 | 0 | 0); $111 = HEAP32[($6 + 228 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 32 | 0) >> 2] | 0; $349 = i64toi32_i32$0; i64toi32_i32$0 = $111; HEAP32[i64toi32_i32$0 >> 2] = $349; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $113 = 8; i64toi32_i32$2 = ($6 + 28 | 0) + $113 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $362 = i64toi32_i32$1; i64toi32_i32$1 = $111 + $113 | 0; HEAP32[i64toi32_i32$1 >> 2] = $362; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 12 | 0 | 0, $6 + 60 | 0 | 0, $6 + 44 | 0 | 0); $128 = HEAP32[($6 + 224 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 16 | 0) >> 2] | 0; $383 = i64toi32_i32$0; i64toi32_i32$0 = $128; HEAP32[i64toi32_i32$0 >> 2] = $383; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $130 = 8; i64toi32_i32$2 = ($6 + 12 | 0) + $130 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $396 = i64toi32_i32$1; i64toi32_i32$1 = $128 + $130 | 0; HEAP32[i64toi32_i32$1 >> 2] = $396; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 240 | 0; return; } function btTriangleMeshShape__setLocalScaling_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btStridingMeshInterface__setScaling_28btVector3_20const__29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btTriangleMeshShape__recalcLocalAabb_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btTriangleMeshShape__getLocalScaling_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $6 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $6 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $6 | 0; } function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $14 = 0, $7 = 0; $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; HEAP32[($6 + 60 | 0) >> 2] = $0; HEAP32[($6 + 56 | 0) >> 2] = $1; HEAP32[($6 + 52 | 0) >> 2] = $2; HEAP32[($6 + 48 | 0) >> 2] = $3; $7 = HEAP32[($6 + 60 | 0) >> 2] | 0; btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback__FilteredCallback_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 8 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) | 0; $14 = HEAP32[($7 + 56 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($14, $6 + 8 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 48 | 0) >> 2] | 0); btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29($6 + 8 | 0 | 0) | 0; __stack_pointer = $6 + 64 | 0; return; } function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback__FilteredCallback_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $64 = 0, $74 = 0, $83 = 0, $93 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 100940 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; $13 = $7 + 8 | 0; i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $64 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[i64toi32_i32$0 >> 2] = $64; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $74 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $74; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $21 = $7 + 24 | 0; i64toi32_i32$2 = HEAP32[$6 >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $83 = i64toi32_i32$0; i64toi32_i32$0 = $21; HEAP32[i64toi32_i32$0 >> 2] = $83; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $93 = i64toi32_i32$1; i64toi32_i32$1 = $21 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $93; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTriangleMeshShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; __assert_fail(86177 | 0, 74770 | 0, 184 | 0, 83783 | 0); wasm2js_trap(); } function btTriangleMeshShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $59 = 0, $179 = 0, $192 = 0; $5 = __stack_pointer - 240 | 0; __stack_pointer = $5; HEAP32[($5 + 236 | 0) >> 2] = $1; HEAP32[($5 + 232 | 0) >> 2] = $2; $6 = HEAP32[($5 + 236 | 0) >> 2] | 0; btVector3__btVector3_28_29($0 | 0) | 0; btTransform__btTransform_28_29($5 + 168 | 0 | 0) | 0; btTransform__setIdentity_28_29($5 + 168 | 0 | 0); SupportVertexCallback__SupportVertexCallback_28btVector3_20const__2c_20btTransform_20const__29($5 + 64 | 0 | 0, HEAP32[($5 + 232 | 0) >> 2] | 0 | 0, $5 + 168 | 0 | 0) | 0; HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 48 | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0) | 0; operator__28btVector3_20const__29($5 + 20 | 0 | 0, $5 + 48 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6, $5 + 64 | 0, $5 + 20 | 0, $5 + 48 | 0); SupportVertexCallback__GetSupportVertexLocal_28_29($5 + 4 | 0 | 0, $5 + 64 | 0 | 0); i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; $179 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $179; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $59 = 8; i64toi32_i32$2 = ($5 + 4 | 0) + $59 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $192 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $59 | 0; HEAP32[i64toi32_i32$1 >> 2] = $192; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; SupportVertexCallback___SupportVertexCallback_28_29($5 + 64 | 0 | 0) | 0; __stack_pointer = $5 + 240 | 0; return; } function SupportVertexCallback__SupportVertexCallback_28btVector3_20const__2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $41 = 0, $43 = 0, $138 = 0, $151 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; btTriangleCallback__btTriangleCallback_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 101076 + 8 | 0; HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 4 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($6 + 20 | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 84 | 0) >> 2] = Math_fround(-999999984306749440.0); btVector3__btVector3_28_29($6 + 88 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, btTransform__getBasis_28_29($6 + 20 | 0 | 0) | 0 | 0); $41 = $6 + 88 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; $138 = i64toi32_i32$0; i64toi32_i32$0 = $41; HEAP32[i64toi32_i32$0 >> 2] = $138; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $43 = 8; i64toi32_i32$2 = ($5 + 8 | 0) + $43 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $151 = i64toi32_i32$1; i64toi32_i32$1 = $41 + $43 | 0; HEAP32[i64toi32_i32$1 >> 2] = $151; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 48 | 0; return $6 | 0; } function SupportVertexCallback__GetSupportVertexLocal_28_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $9 = 0, $27 = 0, $37 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $1; i64toi32_i32$2 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $27 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $27; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $9 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $9 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $37 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $9 | 0; HEAP32[i64toi32_i32$1 >> 2] = $37; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function SupportVertexCallback___SupportVertexCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTriangleMeshShape__getName_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 84390 | 0; } function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $16 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { if (!((TestTriangleAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, $7 + 8 | 0 | 0, $7 + 24 | 0 | 0) | 0) & 1 | 0)) { break label$1 } $16 = HEAP32[($7 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($16, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); } __stack_pointer = $6 + 16 | 0; return; } function SupportVertexCallback___SupportVertexCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; SupportVertexCallback___SupportVertexCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function SupportVertexCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $36 = 0, $38 = 0, $126 = 0, $136 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 88 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) > Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($7 + 84 | 0) >> 2] = Math_fround(HEAPF32[($6 + 8 | 0) >> 2]); $36 = $7 + 4 | 0; i64toi32_i32$2 = (HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $126 = i64toi32_i32$0; i64toi32_i32$0 = $36; HEAP32[i64toi32_i32$0 >> 2] = $126; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $38 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $38 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $136 = i64toi32_i32$1; i64toi32_i32$1 = $36 + $38 | 0; HEAP32[i64toi32_i32$1 >> 2] = $136; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function _GLOBAL__sub_I_btTriangleMeshShape_cpp() { __cxx_global_var_init_55(); return; } function __cxx_global_var_init_56() { btInfMaskConverter__btInfMaskConverter_28int_29(114312 | 0, 2139095040 | 0) | 0; return; } function btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; btConvexCast__btConvexCast_28_29($8 | 0) | 0; HEAP32[$8 >> 2] = 101132 + 8 | 0; HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; HEAP32[($8 + 8 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; HEAP32[($8 + 12 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($8 + 16 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; HEAP32[($8 + 20 | 0) >> 2] = 0; __stack_pointer = $7 + 32 | 0; return $8 | 0; } function btConvexCast__btConvexCast_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 101256 + 8 | 0; return $4 | 0; } function btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btStaticPlaneShape_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btConvexCast__btConvexCast_28_29($6 | 0) | 0; HEAP32[$6 >> 2] = 101132 + 8 | 0; HEAP32[($6 + 4 | 0) >> 2] = 0; HEAP32[($6 + 8 | 0) >> 2] = 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($6 + 16 | 0) >> 2] = 0; HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function btContinuousConvexCollision__computeClosestPoints_28btTransform_20const__2c_20btTransform_20const__2c_20btPointCollector__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $22 = 0, $26 = 0, $116 = 0, $185 = 0, $16 = 0, $17 = 0, $19 = 0, $21 = 0, $25 = Math_fround(0), $120 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 832 | 0; __stack_pointer = $6; HEAP32[($6 + 828 | 0) >> 2] = $0; HEAP32[($6 + 824 | 0) >> 2] = $1; HEAP32[($6 + 820 | 0) >> 2] = $2; HEAP32[($6 + 816 | 0) >> 2] = $3; $7 = HEAP32[($6 + 828 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } btVoronoiSimplexSolver__reset_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0); $16 = HEAP32[($7 + 12 | 0) >> 2] | 0; $17 = HEAP32[($7 + 16 | 0) >> 2] | 0; $19 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; $21 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0; $22 = HEAP32[($7 + 12 | 0) >> 2] | 0; $25 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$22 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($22)); $26 = HEAP32[($7 + 16 | 0) >> 2] | 0; btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20int_2c_20int_2c_20float_2c_20float_2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($6 + 736 | 0 | 0, $16 | 0, $17 | 0, $19 | 0, $21 | 0, Math_fround($25), Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($26))), HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0; btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($6 + 604 | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($6 + 604 | 0 | 0, HEAP32[($6 + 824 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29(($6 + 604 | 0) + 64 | 0 | 0, HEAP32[($6 + 820 | 0) >> 2] | 0 | 0) | 0; btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($6 + 736 | 0 | 0, $6 + 604 | 0 | 0, HEAP32[($6 + 816 | 0) >> 2] | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); btGjkPairDetector___btGjkPairDetector_28_29($6 + 736 | 0 | 0) | 0; break label$1; } HEAP32[($6 + 600 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; HEAP32[($6 + 596 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($6 + 596 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btStaticPlaneShape__getPlaneConstant_28_29_20const(HEAP32[($6 + 596 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 588 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28btTransform_20const__29($6 + 524 | 0 | 0, HEAP32[($6 + 824 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28_29($6 + 460 | 0 | 0) | 0; btTransform__inverse_28_29_20const($6 + 332 | 0 | 0, HEAP32[($6 + 820 | 0) >> 2] | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($6 + 396 | 0 | 0, $6 + 332 | 0 | 0, $6 + 524 | 0 | 0); btTransform__operator__28btTransform_20const__29($6 + 460 | 0 | 0, $6 + 396 | 0 | 0) | 0; btTransform__btTransform_28_29($6 + 268 | 0 | 0) | 0; btTransform__inverse_28_29_20const($6 + 140 | 0 | 0, $6 + 524 | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($6 + 204 | 0 | 0, $6 + 140 | 0 | 0, HEAP32[($6 + 820 | 0) >> 2] | 0 | 0); btTransform__operator__28btTransform_20const__29($6 + 268 | 0 | 0, $6 + 204 | 0 | 0) | 0; $116 = HEAP32[($6 + 600 | 0) >> 2] | 0; $120 = btTransform__getBasis_28_29($6 + 268 | 0 | 0) | 0; operator__28btVector3_20const__29($6 + 92 | 0 | 0, HEAP32[($6 + 592 | 0) >> 2] | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($6 + 108 | 0 | 0, $120 | 0, $6 + 92 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$116 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6 + 124 | 0, $116, $6 + 108 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 76 | 0 | 0, $6 + 460 | 0 | 0, $6 + 124 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 592 | 0) >> 2] | 0 | 0, $6 + 76 | 0 | 0)) - Math_fround(HEAPF32[(HEAP32[($6 + 588 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; operator__28float_20const__2c_20btVector3_20const__29($6 + 40 | 0 | 0, $6 + 72 | 0 | 0, HEAP32[($6 + 592 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 56 | 0 | 0, $6 + 76 | 0 | 0, $6 + 40 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 24 | 0 | 0, HEAP32[($6 + 820 | 0) >> 2] | 0 | 0, $6 + 56 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($6 + 8 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 820 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 592 | 0) >> 2] | 0 | 0); $185 = HEAP32[($6 + 816 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$185 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($185, $6 + 8 | 0, $6 + 24 | 0, Math_fround(HEAPF32[($6 + 72 | 0) >> 2])); } __stack_pointer = $6 + 832 | 0; return; } function btContinuousConvexCollision__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $40 = 0, $51 = 0, $55 = Math_fround(0), $168 = 0, $169 = 0, $187 = 0, $188 = 0, $227 = 0, $364 = 0, $392 = 0, $419 = 0, $420 = 0, $431 = 0, $432 = 0, $439 = 0, $458 = 0, $475 = 0, $477 = 0, $485 = 0, $487 = 0, $847 = 0, $851 = 0, $889 = 0, $893 = 0, $368 = 0, $1348 = 0, $1352 = 0, $1372 = 0, $1376 = 0, $1460 = 0, $1473 = 0, $1482 = 0, $1495 = 0, $506 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 656 | 0; __stack_pointer = $8; HEAP32[($8 + 648 | 0) >> 2] = $0; HEAP32[($8 + 644 | 0) >> 2] = $1; HEAP32[($8 + 640 | 0) >> 2] = $2; HEAP32[($8 + 636 | 0) >> 2] = $3; HEAP32[($8 + 632 | 0) >> 2] = $4; HEAP32[($8 + 628 | 0) >> 2] = $5; $9 = HEAP32[($8 + 648 | 0) >> 2] | 0; btVector3__btVector3_28_29($8 + 612 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 596 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 580 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 564 | 0 | 0) | 0; btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 644 | 0) >> 2] | 0 | 0, HEAP32[($8 + 640 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0)), $8 + 612 | 0 | 0, $8 + 596 | 0 | 0); btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 636 | 0) >> 2] | 0 | 0, HEAP32[($8 + 632 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0)), $8 + 580 | 0 | 0, $8 + 564 | 0 | 0); $40 = HEAP32[($9 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$40 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($40))), HEAPF32[(wasm2js_i32$0 + 560 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!((HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $51 = HEAP32[($9 + 16 | 0) >> 2] | 0; $55 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$51 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($51)); break label$1; } $55 = Math_fround(0 | 0); } HEAPF32[($8 + 556 | 0) >> 2] = $55; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__length_28_29_20const($8 + 596 | 0 | 0)) * Math_fround(HEAPF32[($8 + 560 | 0) >> 2])) + Math_fround(Math_fround(btVector3__length_28_29_20const($8 + 564 | 0 | 0)) * Math_fround(HEAPF32[($8 + 556 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 536 | 0 | 0, $8 + 580 | 0 | 0, $8 + 612 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 516 | 0 | 0, $8 + 580 | 0 | 0, $8 + 612 | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($8 + 516 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(Math_fround(Math_fround(HEAPF32[($8 + 532 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 552 | 0) >> 2])) == Math_fround(0 | 0) & 1 | 0)) { break label$4 } HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; break label$3; } HEAPF32[($8 + 512 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 492 | 0) >> 2] = Math_fround(1.0); HEAPF32[($8 + 488 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 484 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 496 | 0 | 0, $8 + 492 | 0 | 0, $8 + 488 | 0 | 0, $8 + 484 | 0 | 0) | 0; HEAP32[($8 + 480 | 0) >> 2] = 64; btVector3__btVector3_28_29($8 + 464 | 0 | 0) | 0; HEAPF32[($8 + 460 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 456 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 452 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 464 | 0 | 0, $8 + 460 | 0 | 0, $8 + 456 | 0 | 0, $8 + 452 | 0 | 0); HEAP8[($8 + 451 | 0) >> 0] = 0; btVector3__btVector3_28_29($8 + 432 | 0 | 0) | 0; HEAPF32[($8 + 428 | 0) >> 2] = Math_fround(HEAPF32[($8 + 512 | 0) >> 2]); HEAP32[($8 + 424 | 0) >> 2] = 0; HEAPF32[($8 + 420 | 0) >> 2] = Math_fround(1.0000000474974513e-03); btPointCollector__btPointCollector_28_29($8 + 376 | 0 | 0) | 0; btContinuousConvexCollision__computeClosestPoints_28btTransform_20const__2c_20btTransform_20const__2c_20btPointCollector__29($9 | 0, HEAP32[($8 + 644 | 0) >> 2] | 0 | 0, HEAP32[($8 + 636 | 0) >> 2] | 0 | 0, $8 + 376 | 0 | 0); HEAP8[($8 + 451 | 0) >> 0] = (HEAPU8[($8 + 416 | 0) >> 0] | 0) & 1 | 0; $168 = ($8 + 376 | 0) + 20 | 0; $169 = 8; i64toi32_i32$2 = $168 + $169 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $847 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 432 | 0) + $169 | 0; HEAP32[i64toi32_i32$0 >> 2] = $847; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $168; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $851 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 432 | 0) >> 2] = $851; HEAP32[($8 + 436 | 0) >> 2] = i64toi32_i32$0; label$5 : { label$6 : { if (!((HEAPU8[($8 + 451 | 0) >> 0] | 0) & 1 | 0)) { break label$6 } HEAPF32[($8 + 372 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 412 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 172 | 0) >> 2])); $187 = ($8 + 376 | 0) + 4 | 0; $188 = 8; i64toi32_i32$2 = $187 + $188 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $889 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 464 | 0) + $188 | 0; HEAP32[i64toi32_i32$0 >> 2] = $889; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $187; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $893 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 464 | 0) >> 2] = $893; HEAP32[($8 + 468 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 536 | 0 | 0, $8 + 464 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; label$7 : { if (!(Math_fround(Math_fround(HEAPF32[($8 + 368 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 552 | 0) >> 2])) <= Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$7 } HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; break label$5; } label$8 : { label$9 : while (1) { if (!(Math_fround(HEAPF32[($8 + 372 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 420 | 0) >> 2]) & 1 | 0)) { break label$8 } label$10 : { if (!((HEAP32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$10 } $227 = HEAP32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0; HEAPF32[($8 + 344 | 0) >> 2] = Math_fround(1.0); HEAPF32[($8 + 340 | 0) >> 2] = Math_fround(1.0); HEAPF32[($8 + 336 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 348 | 0 | 0, $8 + 344 | 0 | 0, $8 + 340 | 0 | 0, $8 + 336 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$227 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($227, $8 + 432 | 0, Math_fround(.20000000298023224), $8 + 348 | 0); } HEAPF32[($8 + 332 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 536 | 0 | 0, $8 + 464 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; label$11 : { if (!(Math_fround(Math_fround(HEAPF32[($8 + 368 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 552 | 0) >> 2])) <= Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$11 } HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; break label$5; } HEAPF32[($8 + 332 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 372 | 0) >> 2]) / Math_fround(Math_fround(HEAPF32[($8 + 368 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 552 | 0) >> 2]))); HEAPF32[($8 + 512 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 512 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 332 | 0) >> 2])); label$12 : { if (!(Math_fround(HEAPF32[($8 + 512 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { break label$12 } HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; break label$5; } label$13 : { if (!(Math_fround(HEAPF32[($8 + 512 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$13 } HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; break label$5; } label$14 : { if (!(Math_fround(HEAPF32[($8 + 512 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 428 | 0) >> 2]) & 1 | 0)) { break label$14 } HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; break label$5; } HEAPF32[($8 + 428 | 0) >> 2] = Math_fround(HEAPF32[($8 + 512 | 0) >> 2]); btTransform__btTransform_28_29($8 + 268 | 0 | 0) | 0; btTransform__btTransform_28_29($8 + 204 | 0 | 0) | 0; btTransform__btTransform_28_29($8 + 140 | 0 | 0) | 0; btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29(HEAP32[($8 + 644 | 0) >> 2] | 0 | 0, $8 + 612 | 0 | 0, $8 + 596 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 512 | 0) >> 2])), $8 + 268 | 0 | 0); btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29(HEAP32[($8 + 636 | 0) >> 2] | 0 | 0, $8 + 580 | 0 | 0, $8 + 564 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 512 | 0) >> 2])), $8 + 204 | 0 | 0); btTransform__inverseTimes_28btTransform_20const__29_20const($8 + 76 | 0 | 0, $8 + 204 | 0 | 0, $8 + 268 | 0 | 0); btTransform__operator__28btTransform_20const__29($8 + 140 | 0 | 0, $8 + 76 | 0 | 0) | 0; label$15 : { if (!((HEAP32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$15 } $364 = HEAP32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0; $368 = btTransform__getOrigin_28_29($8 + 268 | 0 | 0) | 0; HEAPF32[($8 + 56 | 0) >> 2] = Math_fround(1.0); HEAPF32[($8 + 52 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 48 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 60 | 0 | 0, $8 + 56 | 0 | 0, $8 + 52 | 0 | 0, $8 + 48 | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$364 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($364, $368, Math_fround(.20000000298023224), $8 + 60 | 0); } $392 = HEAP32[($8 + 628 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$392 >> 2] | 0) >> 2] | 0 | 0]($392, Math_fround(HEAPF32[($8 + 512 | 0) >> 2])); btPointCollector__btPointCollector_28_29($8 + 4 | 0 | 0) | 0; btContinuousConvexCollision__computeClosestPoints_28btTransform_20const__2c_20btTransform_20const__2c_20btPointCollector__29($9 | 0, $8 + 268 | 0 | 0, $8 + 204 | 0 | 0, $8 + 4 | 0 | 0); label$16 : { label$17 : { label$18 : { if (!((HEAPU8[($8 + 44 | 0) >> 0] | 0) & 1 | 0)) { break label$18 } HEAPF32[($8 + 372 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 40 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 172 | 0) >> 2])); $419 = ($8 + 4 | 0) + 20 | 0; $420 = 8; i64toi32_i32$2 = $419 + $420 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1348 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 432 | 0) + $420 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1348; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $419; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1352 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 432 | 0) >> 2] = $1352; HEAP32[($8 + 436 | 0) >> 2] = i64toi32_i32$0; $431 = ($8 + 4 | 0) + 4 | 0; $432 = 8; i64toi32_i32$2 = $431 + $432 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1372 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 464 | 0) + $432 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1372; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $431; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1376 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 464 | 0) >> 2] = $1376; HEAP32[($8 + 468 | 0) >> 2] = i64toi32_i32$0; break label$17; } $439 = HEAP32[($8 + 628 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$439 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($439, -1, HEAP32[($8 + 424 | 0) >> 2] | 0); HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; break label$16; } HEAP32[($8 + 424 | 0) >> 2] = (HEAP32[($8 + 424 | 0) >> 2] | 0) + 1 | 0; label$19 : { if (!((HEAP32[($8 + 424 | 0) >> 2] | 0 | 0) > (HEAP32[($8 + 480 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$19 } $458 = HEAP32[($8 + 628 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$458 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($458, -2, HEAP32[($8 + 424 | 0) >> 2] | 0); HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; break label$16; } HEAP32[($8 + 364 | 0) >> 2] = 0; } btPointCollector___btPointCollector_28_29($8 + 4 | 0 | 0) | 0; if (HEAP32[($8 + 364 | 0) >> 2] | 0) { break label$5 } continue label$9; }; } HEAPF32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 164 | 0) >> 2] = Math_fround(HEAPF32[($8 + 512 | 0) >> 2]); $475 = (HEAP32[($8 + 628 | 0) >> 2] | 0) + 132 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 464 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 468 | 0) >> 2] | 0; $1460 = i64toi32_i32$0; i64toi32_i32$0 = $475; HEAP32[i64toi32_i32$0 >> 2] = $1460; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $477 = 8; i64toi32_i32$2 = ($8 + 464 | 0) + $477 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1473 = i64toi32_i32$1; i64toi32_i32$1 = $475 + $477 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1473; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $485 = (HEAP32[($8 + 628 | 0) >> 2] | 0) + 148 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 432 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 436 | 0) >> 2] | 0; $1482 = i64toi32_i32$0; i64toi32_i32$0 = $485; HEAP32[i64toi32_i32$0 >> 2] = $1482; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $487 = 8; i64toi32_i32$2 = ($8 + 432 | 0) + $487 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1495 = i64toi32_i32$1; i64toi32_i32$1 = $485 + $487 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1495; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP8[($8 + 655 | 0) >> 0] = 1 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; break label$5; } HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 364 | 0) >> 2] = 1; } btPointCollector___btPointCollector_28_29($8 + 376 | 0 | 0) | 0; } $506 = (HEAPU8[($8 + 655 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $8 + 656 | 0; return $506 | 0; } function btPointCollector__btPointCollector_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result__Result_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 101196 + 8 | 0; btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 20 | 0 | 0) | 0; HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); HEAP8[($4 + 40 | 0) >> 0] = 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = $4 | 0; var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $79 = 0, $103 = 0, $8 = 0, $10 = 0, $56 = 0, $349 = 0, $353 = 0, $88 = 0, $401 = 0, $405 = 0, $115 = 0, $119 = 0, $123 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 176 | 0; __stack_pointer = $7; HEAP32[($7 + 172 | 0) >> 2] = $0; HEAP32[($7 + 168 | 0) >> 2] = $1; HEAP32[($7 + 164 | 0) >> 2] = $2; HEAPF32[($7 + 160 | 0) >> 2] = $3; HEAP32[($7 + 156 | 0) >> 2] = $4; $8 = HEAP32[($7 + 156 | 0) >> 2] | 0; $10 = btTransform__getOrigin_28_29_20const(HEAP32[($7 + 172 | 0) >> 2] | 0 | 0) | 0; operator__28btVector3_20const__2c_20float_20const__29($7 + 124 | 0 | 0, HEAP32[($7 + 168 | 0) >> 2] | 0 | 0, $7 + 160 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 140 | 0 | 0, $10 | 0, $7 + 124 | 0 | 0); btTransform__setOrigin_28btVector3_20const__29($8 | 0, $7 + 140 | 0 | 0); btVector3__btVector3_28_29($7 + 104 | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(0 | 0); label$1 : { if (!(Math_fround(HEAPF32[($7 + 100 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 100 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; } label$2 : { if (!(Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2])) > Math_fround(.7853981852531433) & 1 | 0)) { break label$2 } HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(.7853981852531433) / Math_fround(HEAPF32[($7 + 160 | 0) >> 2])); } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) < Math_fround(1.0000000474974513e-03) & 1 | 0)) { break label$4 } $56 = HEAP32[($7 + 164 | 0) >> 2] | 0; HEAPF32[($7 + 76 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 160 | 0) >> 2]) * Math_fround(.5)) + Math_fround(-Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 160 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2])) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2])) * Math_fround(.02083333395421505)) * Math_fround(HEAPF32[($7 + 96 | 0) >> 2])) * Math_fround(HEAPF32[($7 + 96 | 0) >> 2])))); operator__28btVector3_20const__2c_20float_20const__29($7 + 80 | 0 | 0, $56 | 0, $7 + 76 | 0 | 0); $79 = 8; i64toi32_i32$2 = ($7 + 80 | 0) + $79 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $349 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 104 | 0) + $79 | 0; HEAP32[i64toi32_i32$0 >> 2] = $349; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 80 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 84 | 0) >> 2] | 0; $353 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 104 | 0) >> 2] = $353; HEAP32[($7 + 108 | 0) >> 2] = i64toi32_i32$0; break label$3; } $88 = HEAP32[($7 + 164 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(.5) * Math_fround(HEAPF32[($7 + 96 | 0) >> 2])) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2]))))) / Math_fround(HEAPF32[($7 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($7 + 60 | 0 | 0, $88 | 0, $7 + 56 | 0 | 0); $103 = 8; i64toi32_i32$2 = ($7 + 60 | 0) + $103 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $401 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 104 | 0) + $103 | 0; HEAP32[i64toi32_i32$0 >> 2] = $401; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 60 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 64 | 0) >> 2] | 0; $405 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 104 | 0) >> 2] = $405; HEAP32[($7 + 108 | 0) >> 2] = i64toi32_i32$0; } $115 = btVector3__x_28_29_20const($7 + 104 | 0 | 0) | 0; $119 = btVector3__y_28_29_20const($7 + 104 | 0 | 0) | 0; $123 = btVector3__z_28_29_20const($7 + 104 | 0 | 0) | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2])) * Math_fround(.5)))))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($7 + 40 | 0 | 0, $115 | 0, $119 | 0, $123 | 0, $7 + 36 | 0 | 0) | 0; btTransform__getRotation_28_29_20const($7 + 20 | 0 | 0, HEAP32[($7 + 172 | 0) >> 2] | 0 | 0); operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 4 | 0 | 0, $7 + 40 | 0 | 0, $7 + 20 | 0 | 0); btQuaternion__safeNormalize_28_29($7 + 4 | 0 | 0) | 0; label$5 : { label$6 : { if (!(Math_fround(btQuaternion__length2_28_29_20const($7 + 4 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$6 } btTransform__setRotation_28btQuaternion_20const__29(HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0); break label$5; } btTransform__setBasis_28btMatrix3x3_20const__29(HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($7 + 172 | 0) >> 2] | 0 | 0) | 0 | 0); } __stack_pointer = $7 + 176 | 0; return; } function btPointCollector___btPointCollector_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btQuaternion__safeNormalize_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btQuaternion__length2_28_29_20const($4 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$1 : { if (!(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$1 } btQuaternion__normalize_28_29($4 | 0) | 0; } __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btContinuousConvexCollision___btContinuousConvexCollision_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btContinuousConvexCollision___btContinuousConvexCollision_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btPointCollector___btPointCollector_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btPointCollector___btPointCollector_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btPointCollector__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btPointCollector__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btPointCollector__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $16 = 0, $18 = 0, $24 = 0, $26 = 0, $67 = 0, $77 = 0, $86 = 0, $96 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { if (!(Math_fround(HEAPF32[$6 >> 2]) < Math_fround(HEAPF32[($7 + 36 | 0) >> 2]) & 1 | 0)) { break label$1 } HEAP8[($7 + 40 | 0) >> 0] = 1; $16 = $7 + 4 | 0; i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $67 = i64toi32_i32$0; i64toi32_i32$0 = $16; HEAP32[i64toi32_i32$0 >> 2] = $67; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $18 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $18 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $77 = i64toi32_i32$1; i64toi32_i32$1 = $16 + $18 | 0; HEAP32[i64toi32_i32$1 >> 2] = $77; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $24 = $7 + 20 | 0; i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$0; i64toi32_i32$0 = $24; HEAP32[i64toi32_i32$0 >> 2] = $86; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $96 = i64toi32_i32$1; i64toi32_i32$1 = $24 + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $96; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($7 + 36 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); } return; } function _GLOBAL__sub_I_btContinuousConvexCollision_cpp() { __cxx_global_var_init_56(); return; } function __cxx_global_var_init_57() { btInfMaskConverter__btInfMaskConverter_28int_29(114316 | 0, 2139095040 | 0) | 0; return; } function btConvexCast___btConvexCast_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btConvexCast___btConvexCast_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btConvexCast_cpp() { __cxx_global_var_init_57(); return; } function __cxx_global_var_init_58() { btInfMaskConverter__btInfMaskConverter_28int_29(114320 | 0, 2139095040 | 0) | 0; return; } function btGjkConvexCast__btGjkConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btConvexCast__btConvexCast_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 101300 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[$6 >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btGjkConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $24 = 0, $40 = 0, $155 = 0, $156 = 0, $171 = 0, $172 = 0, $242 = 0, $294 = 0, $295 = 0, $304 = 0, $306 = 0, $319 = 0, $321 = 0, $333 = 0, $334 = 0, $345 = 0, $346 = 0, $379 = 0, $381 = 0, $389 = 0, $391 = 0, $480 = 0, $484 = 0, $515 = 0, $519 = 0, $732 = 0, $736 = 0, $767 = 0, $771 = 0, $1024 = 0, $1028 = 0, $1037 = 0, $1050 = 0, $1066 = 0, $1076 = 0, $1103 = 0, $1107 = 0, $1127 = 0, $1131 = 0, $1189 = 0, $1202 = 0, $1211 = 0, $1224 = 0, $413 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 544 | 0; __stack_pointer = $8; HEAP32[($8 + 536 | 0) >> 2] = $0; HEAP32[($8 + 532 | 0) >> 2] = $1; HEAP32[($8 + 528 | 0) >> 2] = $2; HEAP32[($8 + 524 | 0) >> 2] = $3; HEAP32[($8 + 520 | 0) >> 2] = $4; HEAP32[($8 + 516 | 0) >> 2] = $5; $9 = HEAP32[($8 + 536 | 0) >> 2] | 0; btVoronoiSimplexSolver__reset_28_29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0); btVector3__btVector3_28_29($8 + 496 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 480 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 464 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 528 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 532 | 0) >> 2] | 0 | 0) | 0 | 0); $24 = 8; i64toi32_i32$2 = ($8 + 464 | 0) + $24 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $480 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 496 | 0) + $24 | 0; HEAP32[i64toi32_i32$0 >> 2] = $480; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 464 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 468 | 0) >> 2] | 0; $484 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 496 | 0) >> 2] = $484; HEAP32[($8 + 500 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 448 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 520 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 524 | 0) >> 2] | 0 | 0) | 0 | 0); $40 = 8; i64toi32_i32$2 = ($8 + 448 | 0) + $40 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $515 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 480 | 0) + $40 | 0; HEAP32[i64toi32_i32$0 >> 2] = $515; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 448 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 452 | 0) >> 2] | 0; $519 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 480 | 0) >> 2] = $519; HEAP32[($8 + 484 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 444 | 0) >> 2] = Math_fround(1.0000000474974513e-03); HEAPF32[($8 + 440 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 420 | 0) >> 2] = Math_fround(1.0); HEAPF32[($8 + 416 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 412 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 424 | 0 | 0, $8 + 420 | 0 | 0, $8 + 416 | 0 | 0, $8 + 412 | 0 | 0) | 0; HEAP32[($8 + 408 | 0) >> 2] = 32; btVector3__btVector3_28_29($8 + 392 | 0 | 0) | 0; HEAPF32[($8 + 388 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 384 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 380 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 392 | 0 | 0, $8 + 388 | 0 | 0, $8 + 384 | 0 | 0, $8 + 380 | 0 | 0); HEAP8[($8 + 379 | 0) >> 0] = 0; btVector3__btVector3_28_29($8 + 360 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 344 | 0 | 0, $8 + 496 | 0 | 0, $8 + 480 | 0 | 0); HEAPF32[($8 + 340 | 0) >> 2] = Math_fround(HEAPF32[($8 + 440 | 0) >> 2]); HEAP32[($8 + 336 | 0) >> 2] = 0; btTransform__btTransform_28_29($8 + 272 | 0 | 0) | 0; btTransform__setIdentity_28_29($8 + 272 | 0 | 0); btPointCollector__btPointCollector_28_29($8 + 228 | 0 | 0) | 0; btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($8 + 148 | 0 | 0, HEAP32[($9 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9 + 12 | 0) >> 2] | 0 | 0, HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($8 + 16 | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($8 + 16 | 0 | 0, HEAP32[($8 + 532 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29(($8 + 16 | 0) + 64 | 0 | 0, HEAP32[($8 + 524 | 0) >> 2] | 0 | 0) | 0; btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($8 + 148 | 0 | 0, $8 + 16 | 0 | 0, $8 + 228 | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); HEAP8[($8 + 379 | 0) >> 0] = (HEAPU8[($8 + 268 | 0) >> 0] | 0) & 1 | 0; $155 = ($8 + 228 | 0) + 20 | 0; $156 = 8; i64toi32_i32$2 = $155 + $156 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $732 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 360 | 0) + $156 | 0; HEAP32[i64toi32_i32$0 >> 2] = $732; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $155; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $736 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 360 | 0) >> 2] = $736; HEAP32[($8 + 364 | 0) >> 2] = i64toi32_i32$0; label$1 : { label$2 : { if (!((HEAPU8[($8 + 379 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[($8 + 264 | 0) >> 2]); $171 = ($8 + 228 | 0) + 4 | 0; $172 = 8; i64toi32_i32$2 = $171 + $172 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $767 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 392 | 0) + $172 | 0; HEAP32[i64toi32_i32$0 >> 2] = $767; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $171; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $771 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 392 | 0) >> 2] = $771; HEAP32[($8 + 396 | 0) >> 2] = i64toi32_i32$0; label$3 : { label$4 : while (1) { if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 444 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAP32[($8 + 336 | 0) >> 2] = (HEAP32[($8 + 336 | 0) >> 2] | 0) + 1 | 0; label$5 : { if (!((HEAP32[($8 + 336 | 0) >> 2] | 0 | 0) > (HEAP32[($8 + 408 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; break label$1; } HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 344 | 0 | 0, $8 + 392 | 0 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) / Math_fround(HEAPF32[$8 >> 2])); HEAPF32[($8 + 440 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 4 | 0) >> 2])); label$6 : { if (!(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { break label$6 } HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; break label$1; } label$7 : { if (!(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$7 } HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; break label$1; } label$8 : { if (!(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 340 | 0) >> 2]) & 1 | 0)) { break label$8 } HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; break label$1; } HEAPF32[($8 + 340 | 0) >> 2] = Math_fround(HEAPF32[($8 + 440 | 0) >> 2]); $242 = HEAP32[($8 + 516 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$242 >> 2] | 0) >> 2] | 0 | 0]($242, Math_fround(HEAPF32[($8 + 440 | 0) >> 2])); btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29(btTransform__getOrigin_28_29($8 + 16 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 532 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 528 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]))); btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29(btTransform__getOrigin_28_29(($8 + 16 | 0) + 64 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 524 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 520 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]))); btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($8 + 148 | 0 | 0, $8 + 16 | 0 | 0, $8 + 228 | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); label$9 : { label$10 : { if (!((HEAPU8[($8 + 268 | 0) >> 0] | 0) & 1 | 0)) { break label$10 } label$11 : { if (!(Math_fround(HEAPF32[($8 + 264 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$11 } HEAPF32[((HEAP32[($8 + 516 | 0) >> 2] | 0) + 164 | 0) >> 2] = Math_fround(HEAPF32[($8 + 340 | 0) >> 2]); $294 = ($8 + 228 | 0) + 4 | 0; $295 = 8; i64toi32_i32$2 = $294 + $295 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1024 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 392 | 0) + $295 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1024; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $294; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1028 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 392 | 0) >> 2] = $1028; HEAP32[($8 + 396 | 0) >> 2] = i64toi32_i32$0; $304 = (HEAP32[($8 + 516 | 0) >> 2] | 0) + 132 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 392 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 396 | 0) >> 2] | 0; $1037 = i64toi32_i32$0; i64toi32_i32$0 = $304; HEAP32[i64toi32_i32$0 >> 2] = $1037; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $306 = 8; i64toi32_i32$2 = ($8 + 392 | 0) + $306 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1050 = i64toi32_i32$1; i64toi32_i32$1 = $304 + $306 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1050; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $319 = (HEAP32[($8 + 516 | 0) >> 2] | 0) + 148 | 0; i64toi32_i32$2 = ($8 + 228 | 0) + 20 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1066 = i64toi32_i32$0; i64toi32_i32$0 = $319; HEAP32[i64toi32_i32$0 >> 2] = $1066; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $321 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $321 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1076 = i64toi32_i32$1; i64toi32_i32$1 = $319 + $321 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1076; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP8[($8 + 543 | 0) >> 0] = 1 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; break label$1; } $333 = ($8 + 228 | 0) + 20 | 0; $334 = 8; i64toi32_i32$2 = $333 + $334 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1103 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 360 | 0) + $334 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1103; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $333; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1107 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 360 | 0) >> 2] = $1107; HEAP32[($8 + 364 | 0) >> 2] = i64toi32_i32$0; $345 = ($8 + 228 | 0) + 4 | 0; $346 = 8; i64toi32_i32$2 = $345 + $346 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1127 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 392 | 0) + $346 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1127; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $345; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1131 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 392 | 0) >> 2] = $1131; HEAP32[($8 + 396 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[($8 + 264 | 0) >> 2]); break label$9; } HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; break label$1; } continue label$4; }; } label$12 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 392 | 0 | 0, $8 + 344 | 0 | 0)) >= Math_fround(-Math_fround(HEAPF32[((HEAP32[($8 + 516 | 0) >> 2] | 0) + 172 | 0) >> 2])) & 1 | 0)) { break label$12 } HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; break label$1; } HEAPF32[((HEAP32[($8 + 516 | 0) >> 2] | 0) + 164 | 0) >> 2] = Math_fround(HEAPF32[($8 + 440 | 0) >> 2]); $379 = (HEAP32[($8 + 516 | 0) >> 2] | 0) + 132 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 392 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 396 | 0) >> 2] | 0; $1189 = i64toi32_i32$0; i64toi32_i32$0 = $379; HEAP32[i64toi32_i32$0 >> 2] = $1189; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $381 = 8; i64toi32_i32$2 = ($8 + 392 | 0) + $381 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1202 = i64toi32_i32$1; i64toi32_i32$1 = $379 + $381 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1202; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $389 = (HEAP32[($8 + 516 | 0) >> 2] | 0) + 148 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 360 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 364 | 0) >> 2] | 0; $1211 = i64toi32_i32$0; i64toi32_i32$0 = $389; HEAP32[i64toi32_i32$0 >> 2] = $1211; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $391 = 8; i64toi32_i32$2 = ($8 + 360 | 0) + $391 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1224 = i64toi32_i32$1; i64toi32_i32$1 = $389 + $391 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1224; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP8[($8 + 543 | 0) >> 0] = 1 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; break label$1; } HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; HEAP32[($8 + 8 | 0) >> 2] = 1; } btGjkPairDetector___btGjkPairDetector_28_29($8 + 148 | 0 | 0) | 0; btPointCollector___btPointCollector_28_29($8 + 228 | 0 | 0) | 0; $413 = (HEAPU8[($8 + 543 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $8 + 544 | 0; return $413 | 0; } function btGjkConvexCast___btGjkConvexCast_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btGjkConvexCast___btGjkConvexCast_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_btGjkConvexCast_cpp() { __cxx_global_var_init_58(); return; } function __cxx_global_var_init_59() { btInfMaskConverter__btInfMaskConverter_28int_29(114324 | 0, 2139095040 | 0) | 0; return; } function btGjkEpaSolver2__Distance_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btGjkEpaSolver2__sResults__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $162 = 0, $164 = 0, $181 = 0, $183 = 0, $200 = 0, $202 = 0, $221 = Math_fround(0), $561 = 0, $574 = 0, $599 = 0, $612 = 0, $636 = 0, $649 = 0, $211 = Math_fround(0), $247 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $8 = __stack_pointer - 736 | 0; __stack_pointer = $8; HEAP32[($8 + 728 | 0) >> 2] = $0; HEAP32[($8 + 724 | 0) >> 2] = $1; HEAP32[($8 + 720 | 0) >> 2] = $2; HEAP32[($8 + 716 | 0) >> 2] = $3; HEAP32[($8 + 712 | 0) >> 2] = $4; HEAP32[($8 + 708 | 0) >> 2] = $5; gjkepa2_impl__MinkowskiDiff__MinkowskiDiff_28_29($8 + 580 | 0 | 0) | 0; gjkepa2_impl__Initialize_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btGjkEpaSolver2__sResults__2c_20gjkepa2_impl__MinkowskiDiff__2c_20bool_29(HEAP32[($8 + 728 | 0) >> 2] | 0 | 0, HEAP32[($8 + 724 | 0) >> 2] | 0 | 0, HEAP32[($8 + 720 | 0) >> 2] | 0 | 0, HEAP32[($8 + 716 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, $8 + 580 | 0 | 0, 0 & 1 | 0 | 0); gjkepa2_impl__GJK__GJK_28_29($8 + 200 | 0 | 0) | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = gjkepa2_impl__GJK__Evaluate_28gjkepa2_impl__MinkowskiDiff_20const__2c_20btVector3_20const__29($8 + 200 | 0 | 0, $8 + 580 | 0 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (HEAP32[($8 + 196 | 0) >> 2] | 0) { break label$2 } HEAPF32[($8 + 176 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 172 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 168 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 180 | 0 | 0, $8 + 176 | 0 | 0, $8 + 172 | 0 | 0, $8 + 168 | 0 | 0) | 0; HEAPF32[($8 + 148 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 144 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 140 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 152 | 0 | 0, $8 + 148 | 0 | 0, $8 + 144 | 0 | 0, $8 + 140 | 0 | 0) | 0; HEAP32[($8 + 136 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($8 + 136 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8 + 572 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { break label$3 } HEAPF32[($8 + 132 | 0) >> 2] = Math_fround(HEAPF32[(((HEAP32[($8 + 572 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($8 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__2c_20unsigned_20int_29_20const($8 + 100 | 0 | 0, $8 + 580 | 0 | 0, HEAP32[((HEAP32[($8 + 572 | 0) >> 2] | 0) + ((HEAP32[($8 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 116 | 0 | 0, $8 + 100 | 0 | 0, $8 + 132 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($8 + 180 | 0 | 0, $8 + 116 | 0 | 0) | 0; operator__28btVector3_20const__29($8 + 52 | 0 | 0, HEAP32[((HEAP32[($8 + 572 | 0) >> 2] | 0) + ((HEAP32[($8 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__2c_20unsigned_20int_29_20const($8 + 68 | 0 | 0, $8 + 580 | 0 | 0, $8 + 52 | 0 | 0, 1 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 84 | 0 | 0, $8 + 68 | 0 | 0, $8 + 132 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($8 + 152 | 0 | 0, $8 + 84 | 0 | 0) | 0; HEAP32[($8 + 136 | 0) >> 2] = (HEAP32[($8 + 136 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } btTransform__operator__28btVector3_20const__29_20const($8 + 36 | 0 | 0, HEAP32[($8 + 724 | 0) >> 2] | 0 | 0, $8 + 180 | 0 | 0); $162 = (HEAP32[($8 + 708 | 0) >> 2] | 0) + 4 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 36 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 40 | 0) >> 2] | 0; $561 = i64toi32_i32$0; i64toi32_i32$0 = $162; HEAP32[i64toi32_i32$0 >> 2] = $561; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $164 = 8; i64toi32_i32$2 = ($8 + 36 | 0) + $164 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $574 = i64toi32_i32$1; i64toi32_i32$1 = $162 + $164 | 0; HEAP32[i64toi32_i32$1 >> 2] = $574; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btTransform__operator__28btVector3_20const__29_20const($8 + 20 | 0 | 0, HEAP32[($8 + 724 | 0) >> 2] | 0 | 0, $8 + 152 | 0 | 0); $181 = ((HEAP32[($8 + 708 | 0) >> 2] | 0) + 4 | 0) + 16 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 24 | 0) >> 2] | 0; $599 = i64toi32_i32$0; i64toi32_i32$0 = $181; HEAP32[i64toi32_i32$0 >> 2] = $599; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $183 = 8; i64toi32_i32$2 = ($8 + 20 | 0) + $183 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $612 = i64toi32_i32$1; i64toi32_i32$1 = $181 + $183 | 0; HEAP32[i64toi32_i32$1 >> 2] = $612; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 4 | 0 | 0, $8 + 180 | 0 | 0, $8 + 152 | 0 | 0); $200 = (HEAP32[($8 + 708 | 0) >> 2] | 0) + 36 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 8 | 0) >> 2] | 0; $636 = i64toi32_i32$0; i64toi32_i32$0 = $200; HEAP32[i64toi32_i32$0 >> 2] = $636; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $202 = 8; i64toi32_i32$2 = ($8 + 4 | 0) + $202 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $649 = i64toi32_i32$1; i64toi32_i32$1 = $200 + $202 | 0; HEAP32[i64toi32_i32$1 >> 2] = $649; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $211 = Math_fround(btVector3__length_28_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 36 | 0 | 0)); HEAPF32[((HEAP32[($8 + 708 | 0) >> 2] | 0) + 52 | 0) >> 2] = $211; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[((HEAP32[($8 + 708 | 0) >> 2] | 0) + 52 | 0) >> 2]) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$6 } $221 = Math_fround(HEAPF32[((HEAP32[($8 + 708 | 0) >> 2] | 0) + 52 | 0) >> 2]); break label$5; } $221 = Math_fround(1.0); } HEAPF32[$8 >> 2] = $221; btVector3__operator___28float_20const__29((HEAP32[($8 + 708 | 0) >> 2] | 0) + 36 | 0 | 0, $8 | 0) | 0; HEAP8[($8 + 735 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP32[(HEAP32[($8 + 708 | 0) >> 2] | 0) >> 2] = (HEAP32[($8 + 196 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 1 : 2; HEAP8[($8 + 735 | 0) >> 0] = 0 & 1 | 0; } $247 = (HEAPU8[($8 + 735 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $8 + 736 | 0; return $247 | 0; } function gjkepa2_impl__MinkowskiDiff__MinkowskiDiff_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btMatrix3x3__btMatrix3x3_28_29($4 + 8 | 0 | 0) | 0; btTransform__btTransform_28_29($4 + 56 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function gjkepa2_impl__Initialize_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btGjkEpaSolver2__sResults__2c_20gjkepa2_impl__MinkowskiDiff__2c_20bool_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $33 = 0, $35 = 0, $43 = 0, $45 = 0, $149 = 0, $162 = 0, $171 = 0, $181 = 0; $9 = __stack_pointer - 176 | 0; __stack_pointer = $9; HEAP32[($9 + 172 | 0) >> 2] = $0; HEAP32[($9 + 168 | 0) >> 2] = $1; HEAP32[($9 + 164 | 0) >> 2] = $2; HEAP32[($9 + 160 | 0) >> 2] = $3; HEAP32[($9 + 156 | 0) >> 2] = $4; HEAP32[($9 + 152 | 0) >> 2] = $5; HEAP8[($9 + 151 | 0) >> 0] = $6; HEAPF32[($9 + 128 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($9 + 124 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($9 + 120 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 132 | 0 | 0, $9 + 128 | 0 | 0, $9 + 124 | 0 | 0, $9 + 120 | 0 | 0) | 0; $33 = ((HEAP32[($9 + 156 | 0) >> 2] | 0) + 4 | 0) + 16 | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 132 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 136 | 0) >> 2] | 0; $149 = i64toi32_i32$0; i64toi32_i32$0 = $33; HEAP32[i64toi32_i32$0 >> 2] = $149; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $35 = 8; i64toi32_i32$2 = ($9 + 132 | 0) + $35 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $162 = i64toi32_i32$1; i64toi32_i32$1 = $33 + $35 | 0; HEAP32[i64toi32_i32$1 >> 2] = $162; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $43 = (HEAP32[($9 + 156 | 0) >> 2] | 0) + 4 | 0; i64toi32_i32$2 = $33; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $171 = i64toi32_i32$0; i64toi32_i32$0 = $43; HEAP32[i64toi32_i32$0 >> 2] = $171; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $45 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $45 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $181 = i64toi32_i32$1; i64toi32_i32$1 = $43 + $45 | 0; HEAP32[i64toi32_i32$1 >> 2] = $181; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[(HEAP32[($9 + 156 | 0) >> 2] | 0) >> 2] = 0; HEAP32[(HEAP32[($9 + 152 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 172 | 0) >> 2] | 0; HEAP32[((HEAP32[($9 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9 + 164 | 0) >> 2] | 0; btMatrix3x3__transposeTimes_28btMatrix3x3_20const__29_20const($9 + 72 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($9 + 160 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($9 + 168 | 0) >> 2] | 0 | 0) | 0 | 0); btMatrix3x3__operator__28btMatrix3x3_20const__29((HEAP32[($9 + 152 | 0) >> 2] | 0) + 8 | 0 | 0, $9 + 72 | 0 | 0) | 0; btTransform__inverseTimes_28btTransform_20const__29_20const($9 + 8 | 0 | 0, HEAP32[($9 + 168 | 0) >> 2] | 0 | 0, HEAP32[($9 + 160 | 0) >> 2] | 0 | 0); btTransform__operator__28btTransform_20const__29((HEAP32[($9 + 152 | 0) >> 2] | 0) + 56 | 0 | 0, $9 + 8 | 0 | 0) | 0; gjkepa2_impl__MinkowskiDiff__EnableMargin_28bool_29(HEAP32[($9 + 152 | 0) >> 2] | 0 | 0, (HEAPU8[($9 + 151 | 0) >> 0] | 0) & 1 | 0 | 0); __stack_pointer = $9 + 176 | 0; return; } function gjkepa2_impl__GJK__GJK_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $8 = 0, $11 = 0, $12 = 0, $14 = 0, $10 = 0, $20 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; gjkepa2_impl__MinkowskiDiff__MinkowskiDiff_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 128 | 0 | 0) | 0; $8 = $4 + 220 | 0; $10 = $8 + 128 | 0; $11 = $8; label$1 : while (1) { $12 = $11; gjkepa2_impl__GJK__sSV__sSV_28_29($12 | 0) | 0; $14 = $12 + 32 | 0; $11 = $14; if (!(($14 | 0) == ($10 | 0) & 1 | 0)) { continue label$1 } break label$1; }; gjkepa2_impl__GJK__Initialize_28_29($4 | 0); $20 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $20 | 0; } function gjkepa2_impl__GJK__Evaluate_28gjkepa2_impl__MinkowskiDiff_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $110 = 0, $120 = 0, $130 = 0, $14 = 0, $17 = 0, $18 = 0, $20 = 0, $50 = 0, $52 = 0, $97 = 0, $99 = 0, $112 = 0, $122 = 0, $132 = 0, $138 = 0, $140 = 0, $234 = 0, $240 = 0, $242 = 0, $282 = 0, $368 = 0, $370 = 0, $415 = 0, $416 = 0, $453 = 0, $478 = 0, $486 = 0, $496 = 0, $16 = 0, $610 = 0, $620 = 0, $60 = 0, $703 = 0, $713 = 0, $731 = 0, $741 = 0, $752 = 0, $762 = 0, $773 = 0, $783 = 0, $791 = 0, $801 = 0, $168 = 0, $229 = 0, $999 = 0, $1009 = 0, $1257 = 0, $1270 = 0, $411 = Math_fround(0), $414 = 0, $450 = 0, $503 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 288 | 0; __stack_pointer = $5; HEAP32[($5 + 284 | 0) >> 2] = $0; HEAP32[($5 + 280 | 0) >> 2] = $1; HEAP32[($5 + 276 | 0) >> 2] = $2; $6 = HEAP32[($5 + 284 | 0) >> 2] | 0; HEAP32[($5 + 272 | 0) >> 2] = 0; HEAPF32[($5 + 268 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 264 | 0) >> 2] = Math_fround(0 | 0); $14 = $5 + 192 | 0; $16 = $14 + 64 | 0; $17 = $14; label$1 : while (1) { $18 = $17; btVector3__btVector3_28_29($18 | 0) | 0; $20 = $18 + 16 | 0; $17 = $20; if (!(($20 | 0) == ($16 | 0) & 1 | 0)) { continue label$1 } break label$1; }; HEAP32[($5 + 188 | 0) >> 2] = 0; HEAP32[($6 + 348 | 0) >> 2] = $6 + 220 | 0; HEAP32[($6 + 352 | 0) >> 2] = ($6 + 220 | 0) + 32 | 0; HEAP32[($6 + 356 | 0) >> 2] = ($6 + 220 | 0) + 64 | 0; HEAP32[($6 + 360 | 0) >> 2] = ($6 + 220 | 0) + 96 | 0; HEAP32[($6 + 364 | 0) >> 2] = 4; HEAP32[($6 + 368 | 0) >> 2] = 0; HEAP32[($6 + 376 | 0) >> 2] = 0; gjkepa2_impl__MinkowskiDiff__operator__28gjkepa2_impl__MinkowskiDiff_20const__29($6 | 0, HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 144 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($6 + 180 | 0) >> 2] = 0; $50 = $6 + 128 | 0; i64toi32_i32$2 = HEAP32[($5 + 276 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $610 = i64toi32_i32$0; i64toi32_i32$0 = $50; HEAP32[i64toi32_i32$0 >> 2] = $610; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $52 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $52 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $620 = i64toi32_i32$1; i64toi32_i32$1 = $50 + $52 | 0; HEAP32[i64toi32_i32$1 >> 2] = $620; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 128 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_f32$0; $60 = $6 + 148 | 0; label$2 : { label$3 : { if (!(Math_fround(HEAPF32[($5 + 184 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$3 } operator__28btVector3_20const__29($5 + 168 | 0 | 0, $6 + 128 | 0 | 0); break label$2; } HEAPF32[($5 + 164 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 160 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 156 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 168 | 0 | 0, $5 + 164 | 0 | 0, $5 + 160 | 0 | 0, $5 + 156 | 0 | 0) | 0; } gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($6 | 0, $60 | 0, $5 + 168 | 0 | 0); HEAPF32[($6 + 164 | 0) >> 2] = Math_fround(1.0); $97 = $6 + 128 | 0; i64toi32_i32$2 = (HEAP32[($6 + 148 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $703 = i64toi32_i32$0; i64toi32_i32$0 = $97; HEAP32[i64toi32_i32$0 >> 2] = $703; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $99 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $99 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $713 = i64toi32_i32$1; i64toi32_i32$1 = $97 + $99 | 0; HEAP32[i64toi32_i32$1 >> 2] = $713; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($5 + 268 | 0) >> 2] = Math_fround(HEAPF32[($5 + 184 | 0) >> 2]); $110 = ($5 + 192 | 0) + 48 | 0; i64toi32_i32$2 = $6 + 128 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $731 = i64toi32_i32$0; i64toi32_i32$0 = $110; HEAP32[i64toi32_i32$0 >> 2] = $731; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $112 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $112 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $741 = i64toi32_i32$1; i64toi32_i32$1 = $110 + $112 | 0; HEAP32[i64toi32_i32$1 >> 2] = $741; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $120 = ($5 + 192 | 0) + 32 | 0; i64toi32_i32$2 = $110; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $752 = i64toi32_i32$0; i64toi32_i32$0 = $120; HEAP32[i64toi32_i32$0 >> 2] = $752; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $122 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $122 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $762 = i64toi32_i32$1; i64toi32_i32$1 = $120 + $122 | 0; HEAP32[i64toi32_i32$1 >> 2] = $762; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $130 = ($5 + 192 | 0) + 16 | 0; i64toi32_i32$2 = $120; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $773 = i64toi32_i32$0; i64toi32_i32$0 = $130; HEAP32[i64toi32_i32$0 >> 2] = $773; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $132 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $132 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $783 = i64toi32_i32$1; i64toi32_i32$1 = $130 + $132 | 0; HEAP32[i64toi32_i32$1 >> 2] = $783; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $138 = $5 + 192 | 0; i64toi32_i32$2 = $130; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $791 = i64toi32_i32$0; i64toi32_i32$0 = $138; HEAP32[i64toi32_i32$0 >> 2] = $791; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $140 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $140 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $801 = i64toi32_i32$1; i64toi32_i32$1 = $138 + $140 | 0; HEAP32[i64toi32_i32$1 >> 2] = $801; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$4 : { label$5 : while (1) { HEAP32[($5 + 152 | 0) >> 2] = 1 - (HEAP32[($6 + 368 | 0) >> 2] | 0) | 0; HEAP32[($5 + 148 | 0) >> 2] = ($6 + 148 | 0) + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0; HEAP32[($5 + 144 | 0) >> 2] = ($6 + 148 | 0) + Math_imul(HEAP32[($5 + 152 | 0) >> 2] | 0, 36) | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($6 + 128 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; label$6 : { if (!(Math_fround(HEAPF32[($5 + 140 | 0) >> 2]) < Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$6 } HEAP32[($6 + 376 | 0) >> 2] = 1; break label$4; } $168 = HEAP32[($5 + 148 | 0) >> 2] | 0; operator__28btVector3_20const__29($5 + 124 | 0 | 0, $6 + 128 | 0 | 0); gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($6 | 0, $168 | 0, $5 + 124 | 0 | 0); HEAP32[($5 + 120 | 0) >> 2] = (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0; HEAP8[($5 + 119 | 0) >> 0] = 0; HEAP32[($5 + 112 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($5 + 112 | 0) >> 2] | 0) >>> 0 < 4 >>> 0 & 1 | 0)) { break label$7 } operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 96 | 0 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0 | 0, ($5 + 192 | 0) + ((HEAP32[($5 + 112 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); label$9 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 96 | 0 | 0)) < Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$9 } HEAP8[($5 + 119 | 0) >> 0] = 1; break label$7; } HEAP32[($5 + 112 | 0) >> 2] = (HEAP32[($5 + 112 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } label$10 : { if (!((HEAPU8[($5 + 119 | 0) >> 0] | 0) & 1 | 0)) { break label$10 } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($6 | 0, ($6 + 148 | 0) + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0 | 0); break label$4; } $229 = HEAP32[($5 + 120 | 0) >> 2] | 0; $234 = ((HEAP32[($5 + 188 | 0) >> 2] | 0) + 1 | 0) & 3 | 0; HEAP32[($5 + 188 | 0) >> 2] = $234; $240 = ($5 + 192 | 0) + ($234 << 4 | 0) | 0; i64toi32_i32$2 = $229; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $999 = i64toi32_i32$0; i64toi32_i32$0 = $240; HEAP32[i64toi32_i32$0 >> 2] = $999; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $242 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $242 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1009 = i64toi32_i32$1; i64toi32_i32$1 = $240 + $242 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1009; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($6 + 128 | 0 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0 | 0)) / Math_fround(HEAPF32[($5 + 140 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29($5 + 92 | 0 | 0, $5 + 264 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_f32$0; label$11 : { if (!(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 140 | 0) >> 2]) * Math_fround(-9.999999747378752e-05)) + Math_fround(Math_fround(HEAPF32[($5 + 140 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 264 | 0) >> 2]))) <= Math_fround(0 | 0) & 1 | 0)) { break label$11 } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($6 | 0, ($6 + 148 | 0) + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0 | 0); break label$4; } HEAP32[($5 + 60 | 0) >> 2] = 0; $282 = (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + -2 | 0; label$12 : { label$13 : { switch ($282 | 0) { case 0: (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29((HEAP32[(HEAP32[($5 + 148 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 64 | 0 | 0, $5 + 60 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; break label$12; case 1: (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29((HEAP32[(HEAP32[($5 + 148 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 64 | 0 | 0, $5 + 60 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; break label$12; case 2: break label$13; default: break label$12; }; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29((HEAP32[(HEAP32[($5 + 148 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 64 | 0 | 0, $5 + 60 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; } label$16 : { label$17 : { if (!(Math_fround(HEAPF32[($5 + 268 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$17 } HEAP32[((HEAP32[($5 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; $368 = $6 + 128 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 44 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; $1257 = i64toi32_i32$0; i64toi32_i32$0 = $368; HEAP32[i64toi32_i32$0 >> 2] = $1257; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $370 = 8; i64toi32_i32$2 = ($5 + 44 | 0) + $370 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1270 = i64toi32_i32$1; i64toi32_i32$1 = $368 + $370 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1270; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($6 + 368 | 0) >> 2] = HEAP32[($5 + 152 | 0) >> 2] | 0; HEAP32[($5 + 28 | 0) >> 2] = 0; HEAP32[($5 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; label$18 : { label$19 : while (1) { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { break label$18 } label$20 : { label$21 : { if (!((HEAP32[($5 + 60 | 0) >> 2] | 0) & (1 << (HEAP32[($5 + 28 | 0) >> 2] | 0) | 0) | 0)) { break label$21 } HEAP32[((HEAP32[($5 + 144 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; $411 = Math_fround(HEAPF32[(($5 + 64 | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); $414 = (HEAP32[($5 + 144 | 0) >> 2] | 0) + 16 | 0; $415 = HEAP32[($5 + 144 | 0) >> 2] | 0; $416 = HEAP32[($415 + 32 | 0) >> 2] | 0; HEAP32[($415 + 32 | 0) >> 2] = $416 + 1 | 0; HEAPF32[($414 + ($416 << 2 | 0) | 0) >> 2] = $411; operator__28btVector3_20const__2c_20float_20const__29($5 + 8 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0 | 0, ($5 + 64 | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); btVector3__operator___28btVector3_20const__29_1($6 + 128 | 0 | 0, $5 + 8 | 0 | 0) | 0; break label$20; } $450 = HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; $453 = HEAP32[($6 + 364 | 0) >> 2] | 0; HEAP32[($6 + 364 | 0) >> 2] = $453 + 1 | 0; HEAP32[(($6 + 348 | 0) + ($453 << 2 | 0) | 0) >> 2] = $450; } HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$19; }; } label$22 : { if (!((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) == (15 | 0) & 1 | 0)) { break label$22 } HEAP32[($6 + 376 | 0) >> 2] = 1; } break label$16; } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($6 | 0, ($6 + 148 | 0) + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0 | 0); break label$4; } $478 = (HEAP32[($5 + 272 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 272 | 0) >> 2] = $478; label$23 : { label$24 : { if (!($478 >>> 0 < 128 >>> 0 & 1 | 0)) { break label$24 } $486 = HEAP32[($6 + 376 | 0) >> 2] | 0; break label$23; } $486 = 2; } HEAP32[($6 + 376 | 0) >> 2] = $486; if (!(HEAP32[($6 + 376 | 0) >> 2] | 0)) { continue label$5 } break label$5; }; } HEAP32[($6 + 372 | 0) >> 2] = ($6 + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0) + 148 | 0; $496 = HEAP32[($6 + 376 | 0) >> 2] | 0; label$25 : { label$26 : { switch ($496 | 0) { case 0: (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($6 + 128 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; break label$25; case 1: HEAPF32[($6 + 144 | 0) >> 2] = Math_fround(0 | 0); break label$25; default: break label$26; }; } } $503 = HEAP32[($6 + 376 | 0) >> 2] | 0; __stack_pointer = $5 + 288 | 0; return $503 | 0; } function gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__2c_20unsigned_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $1; HEAP32[($6 + 8 | 0) >> 2] = $2; HEAP32[($6 + 4 | 0) >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($6 + 4 | 0) >> 2] | 0)) { break label$2 } gjkepa2_impl__MinkowskiDiff__Support1_28btVector3_20const__29_20const($0 | 0, $7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); break label$1; } gjkepa2_impl__MinkowskiDiff__Support0_28btVector3_20const__29_20const($0 | 0, $7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 16 | 0; return; } function gjkepa2_impl__MinkowskiDiff__EnableMargin_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; $6 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 120 | 0) >> 2] = 1025; HEAP32[($6 + 124 | 0) >> 2] = 0; break label$1; } HEAP32[($6 + 120 | 0) >> 2] = 1026; HEAP32[($6 + 124 | 0) >> 2] = 0; } return; } function gjkepa2_impl__GJK__sSV__sSV_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function gjkepa2_impl__GJK__Initialize_28_29($0) { $0 = $0 | 0; var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $22 = 0, $24 = 0, $82 = 0, $95 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[$3 >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0) | 0; $22 = $4 + 128 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 16 | 0) >> 2] | 0; $82 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $82; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = ($3 + 12 | 0) + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $95 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $95; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($4 + 364 | 0) >> 2] = 0; HEAP32[($4 + 376 | 0) >> 2] = 2; HEAP32[($4 + 368 | 0) >> 2] = 0; HEAPF32[($4 + 144 | 0) >> 2] = Math_fround(0 | 0); __stack_pointer = $3 + 32 | 0; return; } function gjkepa2_impl__MinkowskiDiff__operator__28gjkepa2_impl__MinkowskiDiff_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, $8 = 0, $12 = 0, $16 = 0, $17 = 0, i64toi32_i32$1 = 0, $20 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[i64toi32_i32$2 >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = i64toi32_i32$1; $8 = 8; btMatrix3x3__operator__28btMatrix3x3_20const__29($5 + $8 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + $8 | 0 | 0) | 0; $12 = 56; btTransform__operator__28btTransform_20const__29($5 + $12 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + $12 | 0 | 0) | 0; $16 = HEAP32[($4 + 8 | 0) >> 2] | 0; $17 = 124; $20 = HEAP32[($16 + 120 | 0) >> 2] | 0; HEAP32[($5 + $17 | 0) >> 2] = HEAP32[($16 + $17 | 0) >> 2] | 0; HEAP32[($5 + 120 | 0) >> 2] = $20; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $21 = 0, $34 = 0, $35 = 0, $32 = 0, $33 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAPF32[(((HEAP32[($5 + 8 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); $21 = (HEAP32[($6 + 364 | 0) >> 2] | 0) + -1 | 0; HEAP32[($6 + 364 | 0) >> 2] = $21; HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(($6 + 348 | 0) + ($21 << 2 | 0) | 0) >> 2] | 0; $32 = HEAP32[($5 + 4 | 0) >> 2] | 0; $33 = HEAP32[($5 + 8 | 0) >> 2] | 0; $34 = HEAP32[($5 + 8 | 0) >> 2] | 0; $35 = HEAP32[($34 + 32 | 0) >> 2] | 0; HEAP32[($34 + 32 | 0) >> 2] = $35 + 1 | 0; gjkepa2_impl__GJK__getsupport_28btVector3_20const__2c_20gjkepa2_impl__GJK__sSV__29_20const($6 | 0, $32 | 0, HEAP32[($33 + ($35 << 2 | 0) | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $7 = 0, $10 = 0, $17 = 0, $6 = 0, $14 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; $7 = HEAP32[($4 + 8 | 0) >> 2] | 0; $10 = (HEAP32[($7 + 32 | 0) >> 2] | 0) + -1 | 0; HEAP32[($7 + 32 | 0) >> 2] = $10; $14 = HEAP32[($6 + ($10 << 2 | 0) | 0) >> 2] | 0; $17 = HEAP32[($5 + 364 | 0) >> 2] | 0; HEAP32[($5 + 364 | 0) >> 2] = $17 + 1 | 0; HEAP32[(($5 + 348 | 0) + ($17 << 2 | 0) | 0) >> 2] = $14; return; } function gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $36 = Math_fround(0), $69 = Math_fround(0), $76 = 0, $97 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 72 | 0) >> 2] = $0; HEAP32[($6 + 68 | 0) >> 2] = $1; HEAP32[($6 + 64 | 0) >> 2] = $2; HEAP32[($6 + 60 | 0) >> 2] = $3; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 44 | 0 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 44 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($6 + 40 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$2 } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($6 + 40 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } $36 = Math_fround(Math_fround(-Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, $6 + 44 | 0 | 0))) / Math_fround(HEAPF32[($6 + 40 | 0) >> 2])); break label$3; } $36 = Math_fround(0 | 0); } HEAPF32[($6 + 36 | 0) >> 2] = $36; label$5 : { if (!(Math_fround(HEAPF32[($6 + 36 | 0) >> 2]) >= Math_fround(1.0) & 1 | 0)) { break label$5 } HEAPF32[(HEAP32[($6 + 64 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($6 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(1.0); HEAP32[(HEAP32[($6 + 60 | 0) >> 2] | 0) >> 2] = 2; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($6 + 68 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; break label$1; } label$6 : { if (!(Math_fround(HEAPF32[($6 + 36 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$6 } HEAPF32[(HEAP32[($6 + 64 | 0) >> 2] | 0) >> 2] = Math_fround(1.0); HEAPF32[((HEAP32[($6 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(0 | 0); HEAP32[(HEAP32[($6 + 60 | 0) >> 2] | 0) >> 2] = 1; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; break label$1; } $69 = Math_fround(HEAPF32[($6 + 36 | 0) >> 2]); HEAPF32[((HEAP32[($6 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = $69; HEAPF32[(HEAP32[($6 + 64 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(1.0) - $69); HEAP32[(HEAP32[($6 + 60 | 0) >> 2] | 0) >> 2] = 3; $76 = HEAP32[($6 + 72 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($6 + 4 | 0 | 0, $6 + 44 | 0 | 0, $6 + 36 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 20 | 0 | 0, $76 | 0, $6 + 4 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 20 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; break label$1; } HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(-1.0); } $97 = Math_fround(HEAPF32[($6 + 76 | 0) >> 2]); __stack_pointer = $6 + 80 | 0; return Math_fround($97); } function gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $13 = 0, $17 = 0, $133 = 0, $142 = 0, i64toi32_i32$0 = 0, $63 = 0, $135 = 0, $226 = Math_fround(0), $251 = Math_fround(0), $265 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 256 | 0; __stack_pointer = $7; HEAP32[($7 + 248 | 0) >> 2] = $0; HEAP32[($7 + 244 | 0) >> 2] = $1; HEAP32[($7 + 240 | 0) >> 2] = $2; HEAP32[($7 + 236 | 0) >> 2] = $3; HEAP32[($7 + 232 | 0) >> 2] = $4; HEAP32[($7 + 220 | 0) >> 2] = HEAP32[($7 + 248 | 0) >> 2] | 0; HEAP32[($7 + 224 | 0) >> 2] = HEAP32[($7 + 244 | 0) >> 2] | 0; HEAP32[($7 + 228 | 0) >> 2] = HEAP32[($7 + 240 | 0) >> 2] | 0; $13 = $7 + 160 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($13 | 0, HEAP32[($7 + 248 | 0) >> 2] | 0 | 0, HEAP32[($7 + 244 | 0) >> 2] | 0 | 0); $17 = $13 + 16 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($17 | 0, HEAP32[($7 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7 + 240 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($17 + 16 | 0 | 0, HEAP32[($7 + 240 | 0) >> 2] | 0 | 0, HEAP32[($7 + 248 | 0) >> 2] | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 144 | 0 | 0, $7 + 160 | 0 | 0, ($7 + 160 | 0) + 16 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 144 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($7 + 140 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAPF32[($7 + 136 | 0) >> 2] = Math_fround(-1.0); i64toi32_i32$0 = 0; HEAP32[($7 + 128 | 0) >> 2] = 0; HEAP32[($7 + 132 | 0) >> 2] = i64toi32_i32$0; HEAP32[($7 + 124 | 0) >> 2] = 0; HEAP32[($7 + 120 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($7 + 120 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { break label$3 } $63 = HEAP32[(($7 + 220 | 0) + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 104 | 0 | 0, ($7 + 160 | 0) + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $7 + 144 | 0 | 0); label$5 : { if (!(Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($63 | 0, $7 + 104 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0)) { break label$5 } HEAP32[($7 + 100 | 0) >> 2] = HEAP32[(101352 + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29(HEAP32[(($7 + 220 | 0) + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($7 + 220 | 0) + ((HEAP32[($7 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $7 + 128 | 0 | 0, $7 + 124 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; label$6 : { label$7 : { if (Math_fround(HEAPF32[($7 + 136 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0) { break label$7 } if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 136 | 0) >> 2]) & 1 | 0)) { break label$6 } } HEAPF32[($7 + 136 | 0) >> 2] = Math_fround(HEAPF32[($7 + 96 | 0) >> 2]); label$8 : { label$9 : { if (!((HEAP32[($7 + 124 | 0) >> 2] | 0) & 1 | 0)) { break label$9 } $133 = 1 << (HEAP32[($7 + 120 | 0) >> 2] | 0) | 0; break label$8; } $133 = 0; } $135 = $133; label$10 : { label$11 : { if (!((HEAP32[($7 + 124 | 0) >> 2] | 0) & 2 | 0)) { break label$11 } $142 = 1 << (HEAP32[($7 + 100 | 0) >> 2] | 0) | 0; break label$10; } $142 = 0; } HEAP32[(HEAP32[($7 + 232 | 0) >> 2] | 0) >> 2] = $135 + $142 | 0; HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($7 + 128 | 0) >> 2]); HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + ((HEAP32[($7 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($7 + 132 | 0) >> 2]); HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + ((HEAP32[(101352 + ((HEAP32[($7 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); } } HEAP32[($7 + 120 | 0) >> 2] = (HEAP32[($7 + 120 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } label$12 : { if (!(Math_fround(HEAPF32[($7 + 136 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$12 } (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($7 + 248 | 0) >> 2] | 0 | 0, $7 + 144 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 140 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($7 + 68 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 92 | 0) >> 2]) / Math_fround(HEAPF32[($7 + 140 | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($7 + 72 | 0 | 0, $7 + 144 | 0 | 0, $7 + 68 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 72 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_f32$0; HEAP32[(HEAP32[($7 + 232 | 0) >> 2] | 0) >> 2] = 7; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 36 | 0 | 0, HEAP32[($7 + 244 | 0) >> 2] | 0 | 0, $7 + 72 | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 52 | 0 | 0, ($7 + 160 | 0) + 16 | 0 | 0, $7 + 36 | 0 | 0); $226 = Math_fround(btVector3__length_28_29_20const($7 + 52 | 0 | 0)); HEAPF32[(HEAP32[($7 + 236 | 0) >> 2] | 0) >> 2] = Math_fround($226 / Math_fround(HEAPF32[($7 + 88 | 0) >> 2])); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 4 | 0 | 0, HEAP32[($7 + 240 | 0) >> 2] | 0 | 0, $7 + 72 | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 20 | 0 | 0, ($7 + 160 | 0) + 32 | 0 | 0, $7 + 4 | 0 | 0); $251 = Math_fround(btVector3__length_28_29_20const($7 + 20 | 0 | 0)); HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround($251 / Math_fround(HEAPF32[($7 + 88 | 0) >> 2])); HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(HEAPF32[(HEAP32[($7 + 236 | 0) >> 2] | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + 4 | 0) >> 2]))); } HEAPF32[($7 + 252 | 0) >> 2] = Math_fround(HEAPF32[($7 + 136 | 0) >> 2]); break label$1; } HEAPF32[($7 + 252 | 0) >> 2] = Math_fround(-1.0); } $265 = Math_fround(HEAPF32[($7 + 252 | 0) >> 2]); __stack_pointer = $7 + 256 | 0; return Math_fround($265); } function gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $15 = 0, $19 = 0, $173 = 0, $182 = 0, $40 = Math_fround(0), $41 = 0, i64toi32_i32$0 = 0, $101 = Math_fround(0), $102 = 0, $175 = 0, $236 = Math_fround(0), $243 = Math_fround(0), $250 = Math_fround(0), $267 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $8 = __stack_pointer - 208 | 0; __stack_pointer = $8; HEAP32[($8 + 200 | 0) >> 2] = $0; HEAP32[($8 + 196 | 0) >> 2] = $1; HEAP32[($8 + 192 | 0) >> 2] = $2; HEAP32[($8 + 188 | 0) >> 2] = $3; HEAP32[($8 + 184 | 0) >> 2] = $4; HEAP32[($8 + 180 | 0) >> 2] = $5; HEAP32[($8 + 160 | 0) >> 2] = HEAP32[($8 + 200 | 0) >> 2] | 0; HEAP32[($8 + 164 | 0) >> 2] = HEAP32[($8 + 196 | 0) >> 2] | 0; HEAP32[($8 + 168 | 0) >> 2] = HEAP32[($8 + 192 | 0) >> 2] | 0; HEAP32[($8 + 172 | 0) >> 2] = HEAP32[($8 + 188 | 0) >> 2] | 0; $15 = $8 + 112 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($15 | 0, HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0); $19 = $15 + 16 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($19 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($19 + 16 | 0 | 0, HEAP32[($8 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($8 + 112 | 0 | 0, ($8 + 112 | 0) + 16 | 0 | 0, ($8 + 112 | 0) + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; $40 = Math_fround(HEAPF32[($8 + 108 | 0) >> 2]); $41 = HEAP32[($8 + 200 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 72 | 0 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8 + 192 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 56 | 0 | 0, HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($8 + 88 | 0 | 0, $8 + 72 | 0 | 0, $8 + 56 | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_i32$1 = Math_fround($40 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($41 | 0, $8 + 88 | 0 | 0))) <= Math_fround(0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 107 | 0) >> 0] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAPU8[($8 + 107 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 108 | 0) >> 2])))) > Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAPF32[($8 + 52 | 0) >> 2] = Math_fround(-1.0); HEAP32[($8 + 48 | 0) >> 2] = 0; i64toi32_i32$0 = 0; HEAP32[($8 + 40 | 0) >> 2] = 0; HEAP32[($8 + 44 | 0) >> 2] = i64toi32_i32$0; HEAP32[($8 + 36 | 0) >> 2] = 0; HEAP32[($8 + 32 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($8 + 32 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { break label$3 } HEAP32[($8 + 28 | 0) >> 2] = HEAP32[(101364 + ((HEAP32[($8 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; $101 = Math_fround(HEAPF32[($8 + 108 | 0) >> 2]); $102 = HEAP32[($8 + 188 | 0) >> 2] | 0; btCross_28btVector3_20const__2c_20btVector3_20const__29($8 + 8 | 0 | 0, ($8 + 112 | 0) + ((HEAP32[($8 + 32 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, ($8 + 112 | 0) + ((HEAP32[($8 + 28 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround($101 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($102 | 0, $8 + 8 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; label$5 : { if (!(Math_fround(HEAPF32[($8 + 24 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29(HEAP32[(($8 + 160 | 0) + ((HEAP32[($8 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($8 + 160 | 0) + ((HEAP32[($8 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0, $8 + 40 | 0 | 0, $8 + 36 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$6 : { label$7 : { if (Math_fround(HEAPF32[($8 + 52 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0) { break label$7 } if (!(Math_fround(HEAPF32[($8 + 4 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 52 | 0) >> 2]) & 1 | 0)) { break label$6 } } HEAPF32[($8 + 52 | 0) >> 2] = Math_fround(HEAPF32[($8 + 4 | 0) >> 2]); label$8 : { label$9 : { if (!((HEAP32[($8 + 36 | 0) >> 2] | 0) & 1 | 0)) { break label$9 } $173 = 1 << (HEAP32[($8 + 32 | 0) >> 2] | 0) | 0; break label$8; } $173 = 0; } $175 = $173; label$10 : { label$11 : { if (!((HEAP32[($8 + 36 | 0) >> 2] | 0) & 2 | 0)) { break label$11 } $182 = 1 << (HEAP32[($8 + 28 | 0) >> 2] | 0) | 0; break label$10; } $182 = 0; } HEAP32[(HEAP32[($8 + 180 | 0) >> 2] | 0) >> 2] = ($175 + $182 | 0) + ((HEAP32[($8 + 36 | 0) >> 2] | 0) & 4 | 0 ? 8 : 0) | 0; HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + ((HEAP32[($8 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 40 | 0) >> 2]); HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + ((HEAP32[($8 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 44 | 0) >> 2]); HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + ((HEAP32[(101364 + ((HEAP32[($8 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[($8 + 48 | 0) >> 2]); } } HEAP32[($8 + 32 | 0) >> 2] = (HEAP32[($8 + 32 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } label$12 : { if (!(Math_fround(HEAPF32[($8 + 52 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$12 } HEAPF32[($8 + 52 | 0) >> 2] = Math_fround(0 | 0); HEAP32[(HEAP32[($8 + 180 | 0) >> 2] | 0) >> 2] = 15; $236 = Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0)); HEAPF32[(HEAP32[($8 + 184 | 0) >> 2] | 0) >> 2] = Math_fround($236 / Math_fround(HEAPF32[($8 + 108 | 0) >> 2])); $243 = Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0)); HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround($243 / Math_fround(HEAPF32[($8 + 108 | 0) >> 2])); $250 = Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0)); HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround($250 / Math_fround(HEAPF32[($8 + 108 | 0) >> 2])); HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 12 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 184 | 0) >> 2] | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2]))); } HEAPF32[($8 + 204 | 0) >> 2] = Math_fround(HEAPF32[($8 + 52 | 0) >> 2]); break label$1; } HEAPF32[($8 + 204 | 0) >> 2] = Math_fround(-1.0); } $267 = Math_fround(HEAPF32[($8 + 204 | 0) >> 2]); __stack_pointer = $8 + 208 | 0; return Math_fround($267); } function gjkepa2_impl__MinkowskiDiff__Support1_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $12 = 0, $13 = 0, $16 = 0, $22 = 0, $8 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $1; HEAP32[($5 + 40 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; $8 = $6 + 56 | 0; $12 = HEAP32[($6 + 124 | 0) >> 2] | 0; $13 = HEAP32[($6 + 120 | 0) >> 2] | 0; $16 = (HEAP32[($6 + 4 | 0) >> 2] | 0) + ($12 >> 1 | 0) | 0; label$1 : { label$2 : { if (!($12 & 1 | 0)) { break label$2 } $22 = HEAP32[((HEAP32[$16 >> 2] | 0) + $13 | 0) >> 2] | 0; break label$1; } $22 = $13; } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, $6 + 8 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); FUNCTION_TABLE[$22 | 0]($5 + 24 | 0, $16, $5 + 8 | 0); btTransform__operator__28btVector3_20const__29_20const($0 | 0, $8 | 0, $5 + 24 | 0 | 0); __stack_pointer = $5 + 48 | 0; return; } function gjkepa2_impl__MinkowskiDiff__Support0_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $10 = 0, $11 = 0, $14 = 0, $20 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; $10 = HEAP32[($6 + 124 | 0) >> 2] | 0; $11 = HEAP32[($6 + 120 | 0) >> 2] | 0; $14 = (HEAP32[$6 >> 2] | 0) + ($10 >> 1 | 0) | 0; label$1 : { label$2 : { if (!($10 & 1 | 0)) { break label$2 } $20 = HEAP32[((HEAP32[$14 >> 2] | 0) + $11 | 0) >> 2] | 0; break label$1; } $20 = $11; } FUNCTION_TABLE[$20 | 0]($0, $14, HEAP32[($5 + 8 | 0) >> 2] | 0); __stack_pointer = $5 + 16 | 0; return; } function btGjkEpaSolver2__Penetration_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btGjkEpaSolver2__sResults__2c_20bool_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $37 = 0, $142 = 0, $144 = 0, $183 = 0, $185 = 0, $201 = 0, $203 = 0, $509 = 0, $522 = 0, $150 = 0, $583 = 0, $596 = 0, $618 = 0, $631 = 0, $224 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $9 = __stack_pointer - 19248 | 0; __stack_pointer = $9; HEAP32[($9 + 19240 | 0) >> 2] = $0; HEAP32[($9 + 19236 | 0) >> 2] = $1; HEAP32[($9 + 19232 | 0) >> 2] = $2; HEAP32[($9 + 19228 | 0) >> 2] = $3; HEAP32[($9 + 19224 | 0) >> 2] = $4; HEAP32[($9 + 19220 | 0) >> 2] = $5; $10 = 1; HEAP8[($9 + 19219 | 0) >> 0] = $6 & $10 | 0; gjkepa2_impl__MinkowskiDiff__MinkowskiDiff_28_29($9 + 19088 | 0 | 0) | 0; gjkepa2_impl__Initialize_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btGjkEpaSolver2__sResults__2c_20gjkepa2_impl__MinkowskiDiff__2c_20bool_29(HEAP32[($9 + 19240 | 0) >> 2] | 0 | 0, HEAP32[($9 + 19236 | 0) >> 2] | 0 | 0, HEAP32[($9 + 19232 | 0) >> 2] | 0 | 0, HEAP32[($9 + 19228 | 0) >> 2] | 0 | 0, HEAP32[($9 + 19220 | 0) >> 2] | 0 | 0, $9 + 19088 | 0 | 0, (HEAPU8[($9 + 19219 | 0) >> 0] | 0) & $10 | 0 | 0); gjkepa2_impl__GJK__GJK_28_29($9 + 18708 | 0 | 0) | 0; operator__28btVector3_20const__29($9 + 18688 | 0 | 0, HEAP32[($9 + 19224 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_i32$1 = gjkepa2_impl__GJK__Evaluate_28gjkepa2_impl__MinkowskiDiff_20const__2c_20btVector3_20const__29($9 + 18708 | 0 | 0, $9 + 19088 | 0 | 0, $9 + 18688 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 18704 | 0) >> 2] = wasm2js_i32$1; $37 = (HEAP32[($9 + 18704 | 0) >> 2] | 0) + -1 | 0; label$1 : { label$2 : { label$3 : { switch ($37 | 0) { case 0: gjkepa2_impl__EPA__EPA_28_29($9 + 176 | 0 | 0) | 0; operator__28btVector3_20const__29($9 + 156 | 0 | 0, HEAP32[($9 + 19224 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_i32$1 = gjkepa2_impl__EPA__Evaluate_28gjkepa2_impl__GJK__2c_20btVector3_20const__29($9 + 176 | 0 | 0, $9 + 18708 | 0 | 0, $9 + 156 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; label$6 : { if (!((HEAP32[($9 + 172 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { break label$6 } HEAPF32[($9 + 136 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($9 + 132 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($9 + 128 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 140 | 0 | 0, $9 + 136 | 0 | 0, $9 + 132 | 0 | 0, $9 + 128 | 0 | 0) | 0; HEAP32[($9 + 124 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($9 + 124 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9 + 212 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { break label$7 } gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__2c_20unsigned_20int_29_20const($9 + 92 | 0 | 0, $9 + 19088 | 0 | 0, HEAP32[((($9 + 176 | 0) + 4 | 0) + ((HEAP32[($9 + 124 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($9 + 108 | 0 | 0, $9 + 92 | 0 | 0, ((($9 + 176 | 0) + 4 | 0) + 16 | 0) + ((HEAP32[($9 + 124 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); btVector3__operator___28btVector3_20const__29_1($9 + 140 | 0 | 0, $9 + 108 | 0 | 0) | 0; HEAP32[($9 + 124 | 0) >> 2] = (HEAP32[($9 + 124 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } HEAP32[(HEAP32[($9 + 19220 | 0) >> 2] | 0) >> 2] = 1; btTransform__operator__28btVector3_20const__29_20const($9 + 76 | 0 | 0, HEAP32[($9 + 19236 | 0) >> 2] | 0 | 0, $9 + 140 | 0 | 0); $142 = (HEAP32[($9 + 19220 | 0) >> 2] | 0) + 4 | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 76 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 80 | 0) >> 2] | 0; $509 = i64toi32_i32$0; i64toi32_i32$0 = $142; HEAP32[i64toi32_i32$0 >> 2] = $509; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $144 = 8; i64toi32_i32$2 = ($9 + 76 | 0) + $144 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $522 = i64toi32_i32$1; i64toi32_i32$1 = $142 + $144 | 0; HEAP32[i64toi32_i32$1 >> 2] = $522; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $150 = HEAP32[($9 + 19236 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($9 + 28 | 0 | 0, ($9 + 176 | 0) + 40 | 0 | 0, ($9 + 176 | 0) + 56 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 44 | 0 | 0, $9 + 140 | 0 | 0, $9 + 28 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($9 + 60 | 0 | 0, $150 | 0, $9 + 44 | 0 | 0); $183 = ((HEAP32[($9 + 19220 | 0) >> 2] | 0) + 4 | 0) + 16 | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 60 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 64 | 0) >> 2] | 0; $583 = i64toi32_i32$0; i64toi32_i32$0 = $183; HEAP32[i64toi32_i32$0 >> 2] = $583; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $185 = 8; i64toi32_i32$2 = ($9 + 60 | 0) + $185 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $596 = i64toi32_i32$1; i64toi32_i32$1 = $183 + $185 | 0; HEAP32[i64toi32_i32$1 >> 2] = $596; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__29($9 + 12 | 0 | 0, ($9 + 176 | 0) + 40 | 0 | 0); $201 = (HEAP32[($9 + 19220 | 0) >> 2] | 0) + 36 | 0; i64toi32_i32$2 = $9; i64toi32_i32$0 = HEAP32[($9 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($9 + 16 | 0) >> 2] | 0; $618 = i64toi32_i32$0; i64toi32_i32$0 = $201; HEAP32[i64toi32_i32$0 >> 2] = $618; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $203 = 8; i64toi32_i32$2 = ($9 + 12 | 0) + $203 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $631 = i64toi32_i32$1; i64toi32_i32$1 = $201 + $203 | 0; HEAP32[i64toi32_i32$1 >> 2] = $631; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[((HEAP32[($9 + 19220 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($9 + 232 | 0) >> 2])); HEAP8[($9 + 19247 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP32[(HEAP32[($9 + 19220 | 0) >> 2] | 0) >> 2] = 3; break label$2; case 1: HEAP32[(HEAP32[($9 + 19220 | 0) >> 2] | 0) >> 2] = 2; break label$2; default: break label$3; }; } } HEAP8[($9 + 19247 | 0) >> 0] = 0 & 1 | 0; } $224 = (HEAPU8[($9 + 19247 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $9 + 19248 | 0; return $224 | 0; } function gjkepa2_impl__EPA__EPA_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $8 = 0, $11 = 0, $12 = 0, $14 = 0, $21 = 0, $24 = 0, $25 = 0, $27 = 0, $10 = 0, $23 = 0, $37 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; btVector3__btVector3_28_29($4 + 40 | 0 | 0) | 0; $8 = $4 + 60 | 0; $10 = $8 + 4096 | 0; $11 = $8; label$1 : while (1) { $12 = $11; gjkepa2_impl__GJK__sSV__sSV_28_29($12 | 0) | 0; $14 = $12 + 32 | 0; $11 = $14; if (!(($14 | 0) == ($10 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $21 = $4 + 4156 | 0; $23 = $21 + 14336 | 0; $24 = $21; label$2 : while (1) { $25 = $24; gjkepa2_impl__EPA__sFace__sFace_28_29($25 | 0) | 0; $27 = $25 + 56 | 0; $24 = $27; if (!(($27 | 0) == ($23 | 0) & 1 | 0)) { continue label$2 } break label$2; }; gjkepa2_impl__EPA__sList__sList_28_29($4 + 18496 | 0 | 0) | 0; gjkepa2_impl__EPA__sList__sList_28_29($4 + 18504 | 0 | 0) | 0; gjkepa2_impl__EPA__Initialize_28_29($4 | 0); $37 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $37 | 0; } function gjkepa2_impl__EPA__Evaluate_28gjkepa2_impl__GJK__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $145 = 0, $327 = 0, $146 = 0, $152 = 0, $158 = 0, $164 = 0, $170 = 0, $176 = 0, $187 = 0, $228 = 0, $237 = 0, $264 = 0, $328 = 0, $334 = 0, $340 = 0, $346 = 0, $352 = 0, $358 = 0, $386 = 0, $388 = 0, $511 = 0, $513 = 0, $537 = 0, $539 = 0, $563 = 0, $565 = 0, $892 = 0, $905 = 0, $918 = 0, $931 = 0, $944 = 0, $957 = 0, $961 = 0, $292 = 0, $1271 = 0, $1284 = 0, $1297 = 0, $1310 = 0, $1323 = 0, $1336 = 0, $1340 = 0, $1382 = 0, $1392 = 0, $1637 = 0, $1650 = 0, $1690 = 0, $1703 = 0, $1741 = 0, $1754 = 0, $578 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 432 | 0; __stack_pointer = $5; HEAP32[($5 + 424 | 0) >> 2] = $0; HEAP32[($5 + 420 | 0) >> 2] = $1; HEAP32[($5 + 416 | 0) >> 2] = $2; $6 = HEAP32[($5 + 424 | 0) >> 2] | 0; HEAP32[($5 + 412 | 0) >> 2] = HEAP32[((HEAP32[($5 + 420 | 0) >> 2] | 0) + 372 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 > 1 >>> 0 & 1 | 0)) { break label$2 } if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29(HEAP32[($5 + 420 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } label$3 : { label$4 : while (1) { if (!((HEAP32[($6 + 18496 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 408 | 0) >> 2] = HEAP32[($6 + 18496 | 0) >> 2] | 0; gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($6 + 18496 | 0 | 0, HEAP32[($5 + 408 | 0) >> 2] | 0 | 0); gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($6 + 18504 | 0 | 0, HEAP32[($5 + 408 | 0) >> 2] | 0 | 0); continue label$4; }; } HEAP32[$6 >> 2] = 0; HEAP32[($6 + 18492 | 0) >> 2] = 0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 392 | 0 | 0, (HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 376 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 360 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); label$5 : { if (!(Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 + 392 | 0 | 0, $5 + 376 | 0 | 0, $5 + 360 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { break label$5 } void_20btSwap_gjkepa2_impl__GJK__sSV___28gjkepa2_impl__GJK__sSV___2c_20gjkepa2_impl__GJK__sSV___29(HEAP32[($5 + 412 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0 | 0); void_20btSwap_float__28float__2c_20float__29((HEAP32[($5 + 412 | 0) >> 2] | 0) + 16 | 0 | 0, ((HEAP32[($5 + 412 | 0) >> 2] | 0) + 16 | 0) + 4 | 0 | 0); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($6 | 0, HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 336 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($6 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($6 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($6 | 0, HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; label$6 : { if (!((HEAP32[($6 + 18500 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__findbest_28_29($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; $145 = HEAP32[($5 + 332 | 0) >> 2] | 0; $146 = 48; i64toi32_i32$2 = $145 + $146 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $892 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 272 | 0) + $146 | 0; HEAP32[i64toi32_i32$0 >> 2] = $892; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $152 = 40; i64toi32_i32$2 = $145 + $152 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $905 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 272 | 0) + $152 | 0; HEAP32[i64toi32_i32$1 >> 2] = $905; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $158 = 32; i64toi32_i32$2 = $145 + $158 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $918 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 272 | 0) + $158 | 0; HEAP32[i64toi32_i32$0 >> 2] = $918; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $164 = 24; i64toi32_i32$2 = $145 + $164 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $931 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 272 | 0) + $164 | 0; HEAP32[i64toi32_i32$1 >> 2] = $931; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $170 = 16; i64toi32_i32$2 = $145 + $170 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $944 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 272 | 0) + $170 | 0; HEAP32[i64toi32_i32$0 >> 2] = $944; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $176 = 8; i64toi32_i32$2 = $145 + $176 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $957 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 272 | 0) + $176 | 0; HEAP32[i64toi32_i32$1 >> 2] = $957; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $145; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $961 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[($5 + 272 | 0) >> 2] = $961; HEAP32[($5 + 276 | 0) >> 2] = i64toi32_i32$1; HEAP32[($5 + 268 | 0) >> 2] = 0; HEAP32[($5 + 264 | 0) >> 2] = 0; $187 = 0; gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 336 | 0) >> 2] | 0 | 0, $187 | 0, HEAP32[($5 + 340 | 0) >> 2] | 0 | 0, $187 | 0); gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 336 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5 + 344 | 0) >> 2] | 0 | 0, 0 | 0); gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 336 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5 + 348 | 0) >> 2] | 0 | 0, 0 | 0); gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 340 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5 + 348 | 0) >> 2] | 0 | 0, 2 | 0); gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 340 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5 + 344 | 0) >> 2] | 0 | 0, 1 | 0); gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 344 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5 + 348 | 0) >> 2] | 0 | 0, 1 | 0); HEAP32[$6 >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($5 + 264 | 0) >> 2] | 0) >>> 0 < 255 >>> 0 & 1 | 0)) { break label$7 } label$9 : { label$10 : { if (!((HEAP32[($6 + 18492 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { break label$10 } gjkepa2_impl__EPA__sHorizon__sHorizon_28_29($5 + 252 | 0 | 0) | 0; $228 = HEAP32[($6 + 18492 | 0) >> 2] | 0; HEAP32[($6 + 18492 | 0) >> 2] = $228 + 1 | 0; HEAP32[($5 + 248 | 0) >> 2] = ($6 + 60 | 0) + ($228 << 5 | 0) | 0; HEAP8[($5 + 247 | 0) >> 0] = 1; $237 = (HEAP32[($5 + 268 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 268 | 0) >> 2] = $237; HEAP8[((HEAP32[($5 + 332 | 0) >> 2] | 0) + 55 | 0) >> 0] = $237; gjkepa2_impl__GJK__getsupport_28btVector3_20const__2c_20gjkepa2_impl__GJK__sSV__29_20const(HEAP32[($5 + 420 | 0) >> 2] | 0 | 0, HEAP32[($5 + 332 | 0) >> 2] | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($5 + 332 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 248 | 0) >> 2] | 0) + 16 | 0 | 0)) - Math_fround(HEAPF32[((HEAP32[($5 + 332 | 0) >> 2] | 0) + 16 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; label$11 : { label$12 : { if (!(Math_fround(HEAPF32[($5 + 240 | 0) >> 2]) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$12 } HEAP32[($5 + 236 | 0) >> 2] = 0; label$13 : while (1) { $264 = 0; label$14 : { if (!((HEAP32[($5 + 236 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { break label$14 } $264 = HEAPU8[($5 + 247 | 0) >> 0] | 0; } label$15 : { if (!($264 & 1 | 0)) { break label$15 } $292 = (gjkepa2_impl__EPA__expand_28unsigned_20int_2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sHorizon__29($6 | 0, HEAP32[($5 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5 + 332 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($5 + 236 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAPU8[(((HEAP32[($5 + 332 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[($5 + 236 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0, $5 + 252 | 0 | 0) | 0) & 1 | 0; HEAP8[($5 + 247 | 0) >> 0] = (((HEAPU8[($5 + 247 | 0) >> 0] | 0) & 1 | 0) & $292 | 0 | 0) != (0 | 0) & 1 | 0; HEAP32[($5 + 236 | 0) >> 2] = (HEAP32[($5 + 236 | 0) >> 2] | 0) + 1 | 0; continue label$13; } break label$13; }; label$16 : { label$17 : { if (!((HEAPU8[($5 + 247 | 0) >> 0] | 0) & 1 | 0)) { break label$17 } if (!((HEAP32[($5 + 260 | 0) >> 2] | 0) >>> 0 >= 3 >>> 0 & 1 | 0)) { break label$17 } gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, 2 | 0); gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($6 + 18496 | 0 | 0, HEAP32[($5 + 332 | 0) >> 2] | 0 | 0); gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($6 + 18504 | 0 | 0, HEAP32[($5 + 332 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__findbest_28_29($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; $327 = HEAP32[($5 + 332 | 0) >> 2] | 0; $328 = 48; i64toi32_i32$2 = $327 + $328 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1271 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 272 | 0) + $328 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1271; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $334 = 40; i64toi32_i32$2 = $327 + $334 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1284 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 272 | 0) + $334 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1284; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $340 = 32; i64toi32_i32$2 = $327 + $340 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1297 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 272 | 0) + $340 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1297; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $346 = 24; i64toi32_i32$2 = $327 + $346 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1310 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 272 | 0) + $346 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1310; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $352 = 16; i64toi32_i32$2 = $327 + $352 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1323 = i64toi32_i32$1; i64toi32_i32$1 = ($5 + 272 | 0) + $352 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1323; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $358 = 8; i64toi32_i32$2 = $327 + $358 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1336 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 272 | 0) + $358 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1336; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $327; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1340 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 272 | 0) >> 2] = $1340; HEAP32[($5 + 276 | 0) >> 2] = i64toi32_i32$0; break label$16; } HEAP32[$6 >> 2] = 4; break label$7; } break label$11; } HEAP32[$6 >> 2] = 7; break label$7; } break label$9; } HEAP32[$6 >> 2] = 6; break label$7; } HEAP32[($5 + 264 | 0) >> 2] = (HEAP32[($5 + 264 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } operator__28btVector3_20const__2c_20float_20const__29($5 + 220 | 0 | 0, $5 + 272 | 0 | 0, ($5 + 272 | 0) + 16 | 0 | 0); $386 = $6 + 40 | 0; i64toi32_i32$2 = $5 + 272 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1382 = i64toi32_i32$0; i64toi32_i32$0 = $386; HEAP32[i64toi32_i32$0 >> 2] = $1382; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $388 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $388 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1392 = i64toi32_i32$1; i64toi32_i32$1 = $386 + $388 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1392; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(HEAPF32[($5 + 288 | 0) >> 2]); HEAP32[($6 + 36 | 0) >> 2] = 3; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 292 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 296 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($5 + 300 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 188 | 0 | 0, (HEAP32[($5 + 296 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 172 | 0 | 0, (HEAP32[($5 + 300 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 204 | 0 | 0, $5 + 188 | 0 | 0, $5 + 172 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 204 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 140 | 0 | 0, (HEAP32[($5 + 300 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 124 | 0 | 0, (HEAP32[($5 + 292 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 156 | 0 | 0, $5 + 140 | 0 | 0, $5 + 124 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 156 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 92 | 0 | 0, (HEAP32[($5 + 292 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 76 | 0 | 0, (HEAP32[($5 + 296 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 108 | 0 | 0, $5 + 92 | 0 | 0, $5 + 76 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 108 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2]) + Math_fround(HEAPF32[($6 + 24 | 0) >> 2])) + Math_fround(HEAPF32[($6 + 28 | 0) >> 2])); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 28 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); HEAP32[($5 + 428 | 0) >> 2] = HEAP32[$6 >> 2] | 0; break label$1; } } HEAP32[$6 >> 2] = 8; operator__28btVector3_20const__29($5 + 56 | 0 | 0, HEAP32[($5 + 416 | 0) >> 2] | 0 | 0); $511 = $6 + 40 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 56 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 60 | 0) >> 2] | 0; $1637 = i64toi32_i32$0; i64toi32_i32$0 = $511; HEAP32[i64toi32_i32$0 >> 2] = $1637; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $513 = 8; i64toi32_i32$2 = ($5 + 56 | 0) + $513 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1650 = i64toi32_i32$1; i64toi32_i32$1 = $511 + $513 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1650; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($6 + 40 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; label$18 : { label$19 : { if (!(Math_fround(HEAPF32[($5 + 52 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$19 } operator__28btVector3_20const__2c_20float_20const__29_1($5 + 36 | 0 | 0, $6 + 40 | 0 | 0, $5 + 52 | 0 | 0); $537 = $6 + 40 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 36 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 40 | 0) >> 2] | 0; $1690 = i64toi32_i32$0; i64toi32_i32$0 = $537; HEAP32[i64toi32_i32$0 >> 2] = $1690; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $539 = 8; i64toi32_i32$2 = ($5 + 36 | 0) + $539 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1703 = i64toi32_i32$1; i64toi32_i32$1 = $537 + $539 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1703; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$18; } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(1.0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; $563 = $6 + 40 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 24 | 0) >> 2] | 0; $1741 = i64toi32_i32$0; i64toi32_i32$0 = $563; HEAP32[i64toi32_i32$0 >> 2] = $1741; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $565 = 8; i64toi32_i32$2 = ($5 + 20 | 0) + $565 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1754 = i64toi32_i32$1; i64toi32_i32$1 = $563 + $565 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1754; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($6 + 36 | 0) >> 2] = 1; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0; HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(1.0); HEAP32[($5 + 428 | 0) >> 2] = HEAP32[$6 >> 2] | 0; } $578 = HEAP32[($5 + 428 | 0) >> 2] | 0; __stack_pointer = $5 + 432 | 0; return $578 | 0; } function gjkepa2_impl__EPA__sFace__sFace_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function gjkepa2_impl__EPA__sList__sList_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; return $4 | 0; } function gjkepa2_impl__EPA__Initialize_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $25 = 0, $27 = 0, $111 = 0, $124 = 0; $3 = __stack_pointer - 48 | 0; __stack_pointer = $3; HEAP32[($3 + 44 | 0) >> 2] = $0; $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 9; HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 28 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0) | 0; $25 = $4 + 40 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 32 | 0) >> 2] | 0; $111 = i64toi32_i32$0; i64toi32_i32$0 = $25; HEAP32[i64toi32_i32$0 >> 2] = $111; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $27 = 8; i64toi32_i32$2 = ($3 + 28 | 0) + $27 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $124 = i64toi32_i32$1; i64toi32_i32$1 = $25 + $27 | 0; HEAP32[i64toi32_i32$1 >> 2] = $124; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($4 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($4 + 18492 | 0) >> 2] = 0; HEAP32[($3 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 12 | 0) >> 2] | 0) >>> 0 < 256 >>> 0 & 1 | 0)) { break label$1 } gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($4 + 18504 | 0 | 0, ($4 + 4156 | 0) + Math_imul((256 - (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) - 1 | 0, 56) | 0 | 0); HEAP32[($3 + 12 | 0) >> 2] = (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 48 | 0; return; } function gjkepa2_impl__GJK__EncloseOrigin_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $8 = 0, $56 = 0, $151 = 0, $222 = 0, $296 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 256 | 0; __stack_pointer = $3; HEAP32[($3 + 248 | 0) >> 2] = $0; $4 = HEAP32[($3 + 248 | 0) >> 2] | 0; $8 = (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + -1 | 0; label$1 : { label$2 : { label$3 : { switch ($8 | 0) { case 0: HEAP32[($3 + 244 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($3 + 244 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { break label$7 } HEAPF32[($3 + 224 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 220 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 216 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 228 | 0 | 0, $3 + 224 | 0 | 0, $3 + 220 | 0 | 0, $3 + 216 | 0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 228 | 0 | 0) | 0) + ((HEAP32[($3 + 244 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0, $3 + 228 | 0 | 0); label$9 : { if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { break label$9 } HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; break label$1; } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); $56 = HEAP32[($4 + 372 | 0) >> 2] | 0; operator__28btVector3_20const__29($3 + 200 | 0 | 0, $3 + 228 | 0 | 0); gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, $56 | 0, $3 + 200 | 0 | 0); label$10 : { if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { break label$10 } HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; break label$1; } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); HEAP32[($3 + 244 | 0) >> 2] = (HEAP32[($3 + 244 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } break label$2; case 1: operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 184 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[(HEAP32[($4 + 372 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0); HEAP32[($3 + 180 | 0) >> 2] = 0; label$11 : { label$12 : while (1) { if (!((HEAP32[($3 + 180 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { break label$11 } HEAPF32[($3 + 160 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 156 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 152 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 164 | 0 | 0, $3 + 160 | 0 | 0, $3 + 156 | 0 | 0, $3 + 152 | 0 | 0) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 164 | 0 | 0) | 0) + ((HEAP32[($3 + 180 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btCross_28btVector3_20const__2c_20btVector3_20const__29($3 + 136 | 0 | 0, $3 + 184 | 0 | 0, $3 + 164 | 0 | 0); label$13 : { if (!(Math_fround(btVector3__length2_28_29_20const($3 + 136 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0)) { break label$13 } gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0, $3 + 136 | 0 | 0); label$14 : { if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { break label$14 } HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; break label$1; } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); $151 = HEAP32[($4 + 372 | 0) >> 2] | 0; operator__28btVector3_20const__29($3 + 120 | 0 | 0, $3 + 136 | 0 | 0); gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, $151 | 0, $3 + 120 | 0 | 0); label$15 : { if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { break label$15 } HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; break label$1; } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); } HEAP32[($3 + 180 | 0) >> 2] = (HEAP32[($3 + 180 | 0) >> 2] | 0) + 1 | 0; continue label$12; }; } break label$2; case 2: operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 88 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[(HEAP32[($4 + 372 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 72 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[(HEAP32[($4 + 372 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($3 + 104 | 0 | 0, $3 + 88 | 0 | 0, $3 + 72 | 0 | 0); label$16 : { if (!(Math_fround(btVector3__length2_28_29_20const($3 + 104 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0)) { break label$16 } gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0, $3 + 104 | 0 | 0); label$17 : { if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { break label$17 } HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; break label$1; } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); $222 = HEAP32[($4 + 372 | 0) >> 2] | 0; operator__28btVector3_20const__29($3 + 56 | 0 | 0, $3 + 104 | 0 | 0); gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, $222 | 0, $3 + 56 | 0 | 0); label$18 : { if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { break label$18 } HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; break label$1; } gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); } break label$2; case 3: break label$3; default: break label$2; }; } operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 40 | 0 | 0, (HEAP32[(HEAP32[($4 + 372 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 24 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 8 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); label$19 : { if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($3 + 40 | 0 | 0, $3 + 24 | 0 | 0, $3 + 8 | 0 | 0))))) > Math_fround(0 | 0) & 1 | 0)) { break label$19 } HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; break label$1; } } HEAP8[($3 + 255 | 0) >> 0] = 0 & 1 | 0; } $296 = (HEAPU8[($3 + 255 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $3 + 256 | 0; return $296 | 0; } function gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $40 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; } label$2 : { if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; } label$3 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; } $40 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($40 + 4 | 0) >> 2] = (HEAP32[($40 + 4 | 0) >> 2] | 0) + -1 | 0; return; } function gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $23 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; label$1 : { if (!((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; $23 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($23 + 4 | 0) >> 2] = (HEAP32[($23 + 4 | 0) >> 2] | 0) + 1 | 0; return; } function gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $28 = Math_fround(0), $41 = Math_fround(0), $54 = Math_fround(0), $66 = Math_fround(0), $79 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $28 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2]))); $41 = Math_fround(Math_fround(Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $28); $54 = Math_fround(Math_fround(Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $41); $66 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $54); $79 = Math_fround(Math_fround(Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $66); __stack_pointer = $5 + 16 | 0; return Math_fround($79); } function void_20btSwap_gjkepa2_impl__GJK__sSV___28gjkepa2_impl__GJK__sSV___2c_20gjkepa2_impl__GJK__sSV___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; return; } function gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $59 = 0, $61 = 0, $273 = 0, $286 = 0, $108 = Math_fround(0), $146 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 96 | 0; __stack_pointer = $7; HEAP32[($7 + 88 | 0) >> 2] = $0; HEAP32[($7 + 84 | 0) >> 2] = $1; HEAP32[($7 + 80 | 0) >> 2] = $2; HEAP32[($7 + 76 | 0) >> 2] = $3; HEAP8[($7 + 75 | 0) >> 0] = $4; $9 = HEAP32[($7 + 88 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($9 + 18504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } HEAP32[($7 + 68 | 0) >> 2] = HEAP32[($9 + 18504 | 0) >> 2] | 0; gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18504 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0); gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18496 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0); HEAP8[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 55 | 0) >> 0] = 0; HEAP32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7 + 84 | 0) >> 2] | 0; HEAP32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7 + 80 | 0) >> 2] | 0; HEAP32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($7 + 76 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 36 | 0 | 0, (HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7 + 84 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 20 | 0 | 0, (HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7 + 84 | 0) >> 2] | 0) + 16 | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 52 | 0 | 0, $7 + 36 | 0 | 0, $7 + 20 | 0 | 0); $59 = HEAP32[($7 + 68 | 0) >> 2] | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 52 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 56 | 0) >> 2] | 0; $273 = i64toi32_i32$0; i64toi32_i32$0 = $59; HEAP32[i64toi32_i32$0 >> 2] = $273; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $61 = 8; i64toi32_i32$2 = ($7 + 52 | 0) + $61 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $286 = i64toi32_i32$1; i64toi32_i32$1 = $59 + $61 | 0; HEAP32[i64toi32_i32$1 >> 2] = $286; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const(HEAP32[($7 + 68 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; HEAP8[($7 + 15 | 0) >> 0] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]) > Math_fround(9.999999747378752e-05) & 1 | 0; label$3 : { label$4 : { if (!((HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } label$5 : { if ((gjkepa2_impl__EPA__getedgedist_28gjkepa2_impl__EPA__sFace__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20float__29($9 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0) { break label$5 } if ((gjkepa2_impl__EPA__getedgedist_28gjkepa2_impl__EPA__sFace__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20float__29($9 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0) { break label$5 } if ((gjkepa2_impl__EPA__getedgedist_28gjkepa2_impl__EPA__sFace__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20float__29($9 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0) { break label$5 } $108 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 84 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0)); HEAPF32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] = Math_fround($108 / Math_fround(HEAPF32[($7 + 16 | 0) >> 2])); } btVector3__operator___28float_20const__29(HEAP32[($7 + 68 | 0) >> 2] | 0 | 0, $7 + 16 | 0 | 0) | 0; label$6 : { label$7 : { if ((HEAPU8[($7 + 75 | 0) >> 0] | 0) & 1 | 0) { break label$7 } if (!(Math_fround(HEAPF32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2]) >= Math_fround(-9.999999747378752e-06) & 1 | 0)) { break label$6 } } HEAP32[($7 + 92 | 0) >> 2] = HEAP32[($7 + 68 | 0) >> 2] | 0; break label$1; } HEAP32[$9 >> 2] = 3; break label$3; } HEAP32[$9 >> 2] = 2; } gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18496 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0); gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18504 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0); HEAP32[($7 + 92 | 0) >> 2] = 0; break label$1; } HEAP32[$9 >> 2] = (HEAP32[($9 + 18504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 6 : 5; HEAP32[($7 + 92 | 0) >> 2] = 0; } $146 = HEAP32[($7 + 92 | 0) >> 2] | 0; __stack_pointer = $7 + 96 | 0; return $146 | 0; } function gjkepa2_impl__EPA__findbest_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 32 | 0; HEAP32[($3 + 28 | 0) >> 2] = $0; HEAP32[($3 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3 + 28 | 0) >> 2] | 0) + 18496 | 0) >> 2] | 0; HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($3 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2])); HEAP32[($3 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($3 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2])); label$3 : { if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) < Math_fround(HEAPF32[($3 + 20 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAP32[($3 + 24 | 0) >> 2] = HEAP32[($3 + 16 | 0) >> 2] | 0; HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(HEAPF32[($3 + 12 | 0) >> 2]); } HEAP32[($3 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; continue label$2; }; } return HEAP32[($3 + 24 | 0) >> 2] | 0 | 0; } function gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; HEAP8[(((HEAP32[($6 + 12 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[($6 + 8 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[$6 >> 2] | 0; HEAP32[(((HEAP32[($6 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP8[(((HEAP32[($6 + 4 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[$6 >> 2] | 0) | 0) >> 0] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[(((HEAP32[($6 + 4 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6 + 12 | 0) >> 2] | 0; return; } function gjkepa2_impl__EPA__sHorizon__sHorizon_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return $4 | 0; } function gjkepa2_impl__GJK__getsupport_28btVector3_20const__2c_20gjkepa2_impl__GJK__sSV__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $16 = 0, $18 = 0, $28 = 0, $30 = 0, $6 = 0, $7 = 0, $73 = 0, $86 = 0, $101 = 0, $111 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; $7 = HEAP32[($5 + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29_1($5 + 20 | 0 | 0, $7 | 0, $5 + 16 | 0 | 0); $16 = HEAP32[($5 + 36 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 24 | 0) >> 2] | 0; $73 = i64toi32_i32$0; i64toi32_i32$0 = $16; HEAP32[i64toi32_i32$0 >> 2] = $73; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $18 = 8; i64toi32_i32$2 = ($5 + 20 | 0) + $18 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$1; i64toi32_i32$1 = $16 + $18 | 0; HEAP32[i64toi32_i32$1 >> 2] = $86; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__29_20const($5 | 0, $6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0); $28 = (HEAP32[($5 + 36 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[$5 >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; $101 = i64toi32_i32$0; i64toi32_i32$0 = $28; HEAP32[i64toi32_i32$0 >> 2] = $101; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $30 = 8; i64toi32_i32$2 = $5 + $30 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $111 = i64toi32_i32$1; i64toi32_i32$1 = $28 + $30 | 0; HEAP32[i64toi32_i32$1 >> 2] = $111; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 48 | 0; return; } function gjkepa2_impl__EPA__expand_28unsigned_20int_2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sHorizon__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $87 = 0, $160 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $8 = __stack_pointer - 48 | 0; __stack_pointer = $8; HEAP32[($8 + 40 | 0) >> 2] = $0; HEAP32[($8 + 36 | 0) >> 2] = $1; HEAP32[($8 + 32 | 0) >> 2] = $2; HEAP32[($8 + 28 | 0) >> 2] = $3; HEAP32[($8 + 24 | 0) >> 2] = $4; HEAP32[($8 + 20 | 0) >> 2] = $5; $9 = HEAP32[($8 + 40 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(((HEAPU8[((HEAP32[($8 + 28 | 0) >> 2] | 0) + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (HEAP32[($8 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($8 + 16 | 0) >> 2] = HEAP32[(101376 + ((HEAP32[($8 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; label$3 : { label$4 : { if (!(Math_fround(Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 16 | 0 | 0)) - Math_fround(HEAPF32[((HEAP32[($8 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2])) < Math_fround(-9.999999747378752e-06) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $8, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($9 | 0, HEAP32[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($8 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($8 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$5 : { if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0); label$6 : { label$7 : { if (!((HEAP32[(HEAP32[($8 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$7 } gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[(HEAP32[($8 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, 2 | 0); break label$6; } HEAP32[((HEAP32[($8 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8 + 12 | 0) >> 2] | 0; } HEAP32[(HEAP32[($8 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($8 + 12 | 0) >> 2] | 0; $87 = HEAP32[($8 + 20 | 0) >> 2] | 0; HEAP32[($87 + 8 | 0) >> 2] = (HEAP32[($87 + 8 | 0) >> 2] | 0) + 1 | 0; HEAP8[($8 + 47 | 0) >> 0] = 1 & 1 | 0; break label$1; } break label$3; } HEAP32[($8 + 8 | 0) >> 2] = HEAP32[(101388 + ((HEAP32[($8 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP8[((HEAP32[($8 + 28 | 0) >> 2] | 0) + 55 | 0) >> 0] = HEAP32[($8 + 36 | 0) >> 2] | 0; label$8 : { if (!((gjkepa2_impl__EPA__expand_28unsigned_20int_2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sHorizon__29($9 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($8 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAPU8[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[($8 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } if (!((gjkepa2_impl__EPA__expand_28unsigned_20int_2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sHorizon__29($9 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($8 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAPU8[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[($8 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18496 | 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0); gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18504 | 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0); HEAP8[($8 + 47 | 0) >> 0] = 1 & 1 | 0; break label$1; } } } HEAP8[($8 + 47 | 0) >> 0] = 0 & 1 | 0; } $160 = (HEAPU8[($8 + 47 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $8 + 48 | 0; return $160 | 0; } function btTransform__btTransform_28btQuaternion_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $9 = 0, $12 = 0, $44 = 0, $54 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; $9 = $6 + 48 | 0; i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $44 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[i64toi32_i32$0 >> 2] = $44; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $12 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $54 = i64toi32_i32$1; i64toi32_i32$1 = $9 + $12 | 0; HEAP32[i64toi32_i32$1 >> 2] = $54; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 16 | 0; return $6 | 0; } function gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $1; HEAP32[($5 + 56 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; gjkepa2_impl__MinkowskiDiff__Support0_28btVector3_20const__29_20const($5 + 40 | 0 | 0, $6 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); gjkepa2_impl__MinkowskiDiff__Support1_28btVector3_20const__29_20const($5 + 24 | 0 | 0, $6 | 0, $5 + 8 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 40 | 0 | 0, $5 + 24 | 0 | 0); __stack_pointer = $5 + 64 | 0; return; } function gjkepa2_impl__EPA__getedgedist_28gjkepa2_impl__EPA__sFace__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20float__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $64 = Math_fround(0), $75 = Math_fround(0), $110 = Math_fround(0), $120 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 96 | 0; __stack_pointer = $7; HEAP32[($7 + 88 | 0) >> 2] = $0; HEAP32[($7 + 84 | 0) >> 2] = $1; HEAP32[($7 + 80 | 0) >> 2] = $2; HEAP32[($7 + 76 | 0) >> 2] = $3; HEAP32[($7 + 72 | 0) >> 2] = $4; operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 56 | 0 | 0, (HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 40 | 0 | 0, $7 + 56 | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0, $7 + 40 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($7 + 36 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 56 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0, $7 + 56 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0, $7 + 56 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($7 + 28 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } $64 = Math_fround(btVector3__length_28_29_20const((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0)); HEAPF32[(HEAP32[($7 + 72 | 0) >> 2] | 0) >> 2] = $64; break label$3; } label$5 : { label$6 : { if (!(Math_fround(HEAPF32[($7 + 24 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$6 } $75 = Math_fround(btVector3__length_28_29_20const((HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0)); HEAPF32[(HEAP32[($7 + 72 | 0) >> 2] | 0) >> 2] = $75; break label$5; } (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(Math_fround(btVector3__length2_28_29_20const((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0)) * Math_fround(btVector3__length2_28_29_20const((HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0))) + Math_fround(-Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))) / Math_fround(HEAPF32[($7 + 32 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); $110 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29($7 + 16 | 0 | 0, $7 + 12 | 0 | 0) | 0) >> 2])))); HEAPF32[(HEAP32[($7 + 72 | 0) >> 2] | 0) >> 2] = $110; } } HEAP8[($7 + 95 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($7 + 95 | 0) >> 0] = 0 & 1 | 0; } $120 = (HEAPU8[($7 + 95 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $7 + 96 | 0; return $120 | 0; } function _GLOBAL__sub_I_btGjkEpa2_cpp() { __cxx_global_var_init_59(); return; } function __cxx_global_var_init_60() { btInfMaskConverter__btInfMaskConverter_28int_29(114328 | 0, 2139095040 | 0) | 0; return; } function btGjkEpaPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $44 = 0, $46 = 0, $57 = 0, $59 = 0, $68 = 0, $70 = 0, $95 = 0, $97 = 0, $108 = 0, $110 = 0, $119 = 0, $121 = 0, $226 = 0, $236 = 0, $252 = 0, $262 = 0, $275 = 0, $285 = 0, $331 = 0, $341 = 0, $357 = 0, $367 = 0, $380 = 0, $390 = 0, $133 = 0; $12 = __stack_pointer - 128 | 0; __stack_pointer = $12; HEAP32[($12 + 120 | 0) >> 2] = $0; HEAP32[($12 + 116 | 0) >> 2] = $1; HEAP32[($12 + 112 | 0) >> 2] = $2; HEAP32[($12 + 108 | 0) >> 2] = $3; HEAP32[($12 + 104 | 0) >> 2] = $4; HEAP32[($12 + 100 | 0) >> 2] = $5; HEAP32[($12 + 96 | 0) >> 2] = $6; HEAP32[($12 + 92 | 0) >> 2] = $7; HEAP32[($12 + 88 | 0) >> 2] = $8; HEAP32[($12 + 84 | 0) >> 2] = $9; operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 68 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($12 + 104 | 0) >> 2] | 0 | 0) | 0 | 0); btGjkEpaSolver2__sResults__sResults_28_29($12 + 12 | 0 | 0) | 0; label$1 : { label$2 : { if (!((btGjkEpaSolver2__Penetration_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btGjkEpaSolver2__sResults__2c_20bool_29(HEAP32[($12 + 112 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, $12 + 68 | 0 | 0, $12 + 12 | 0 | 0, 1 & 1 | 0 | 0) | 0) & 1 | 0)) { break label$2 } $44 = HEAP32[($12 + 92 | 0) >> 2] | 0; i64toi32_i32$2 = ($12 + 12 | 0) + 4 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $226 = i64toi32_i32$0; i64toi32_i32$0 = $44; HEAP32[i64toi32_i32$0 >> 2] = $226; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $46 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $46 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $236 = i64toi32_i32$1; i64toi32_i32$1 = $44 + $46 | 0; HEAP32[i64toi32_i32$1 >> 2] = $236; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $57 = HEAP32[($12 + 88 | 0) >> 2] | 0; i64toi32_i32$2 = (($12 + 12 | 0) + 4 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $252 = i64toi32_i32$0; i64toi32_i32$0 = $57; HEAP32[i64toi32_i32$0 >> 2] = $252; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $59 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $59 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $262 = i64toi32_i32$1; i64toi32_i32$1 = $57 + $59 | 0; HEAP32[i64toi32_i32$1 >> 2] = $262; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $68 = HEAP32[($12 + 96 | 0) >> 2] | 0; i64toi32_i32$2 = ($12 + 12 | 0) + 36 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $275 = i64toi32_i32$0; i64toi32_i32$0 = $68; HEAP32[i64toi32_i32$0 >> 2] = $275; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $70 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $70 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $285 = i64toi32_i32$1; i64toi32_i32$1 = $68 + $70 | 0; HEAP32[i64toi32_i32$1 >> 2] = $285; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP8[($12 + 127 | 0) >> 0] = 1 & 1 | 0; break label$1; } label$3 : { if (!((btGjkEpaSolver2__Distance_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btGjkEpaSolver2__sResults__29(HEAP32[($12 + 112 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, $12 + 68 | 0 | 0, $12 + 12 | 0 | 0) | 0) & 1 | 0)) { break label$3 } $95 = HEAP32[($12 + 92 | 0) >> 2] | 0; i64toi32_i32$2 = ($12 + 12 | 0) + 4 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $331 = i64toi32_i32$0; i64toi32_i32$0 = $95; HEAP32[i64toi32_i32$0 >> 2] = $331; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $97 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $97 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $341 = i64toi32_i32$1; i64toi32_i32$1 = $95 + $97 | 0; HEAP32[i64toi32_i32$1 >> 2] = $341; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $108 = HEAP32[($12 + 88 | 0) >> 2] | 0; i64toi32_i32$2 = (($12 + 12 | 0) + 4 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $357 = i64toi32_i32$0; i64toi32_i32$0 = $108; HEAP32[i64toi32_i32$0 >> 2] = $357; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $110 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $110 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $367 = i64toi32_i32$1; i64toi32_i32$1 = $108 + $110 | 0; HEAP32[i64toi32_i32$1 >> 2] = $367; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $119 = HEAP32[($12 + 96 | 0) >> 2] | 0; i64toi32_i32$2 = ($12 + 12 | 0) + 36 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $380 = i64toi32_i32$0; i64toi32_i32$0 = $119; HEAP32[i64toi32_i32$0 >> 2] = $380; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $121 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $121 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $390 = i64toi32_i32$1; i64toi32_i32$1 = $119 + $121 | 0; HEAP32[i64toi32_i32$1 >> 2] = $390; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP8[($12 + 127 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP8[($12 + 127 | 0) >> 0] = 0 & 1 | 0; } $133 = (HEAPU8[($12 + 127 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $12 + 128 | 0; return $133 | 0; } function btGjkEpaSolver2__sResults__sResults_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $6 = 0, $9 = 0, $10 = 0, $12 = 0, $8 = 0, $20 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; $6 = $4 + 4 | 0; $8 = $6 + 32 | 0; $9 = $6; label$1 : while (1) { $10 = $9; btVector3__btVector3_28_29($10 | 0) | 0; $12 = $10 + 16 | 0; $9 = $12; if (!(($12 | 0) == ($8 | 0) & 1 | 0)) { continue label$1 } break label$1; }; btVector3__btVector3_28_29($4 + 36 | 0 | 0) | 0; $20 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $20 | 0; } function btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_btGjkEpaPenetrationDepthSolver_cpp() { __cxx_global_var_init_60(); return; } function __cxx_global_var_init_61() { btInfMaskConverter__btInfMaskConverter_28int_29(114332 | 0, 2139095040 | 0) | 0; return; } function btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $34 = 0, $38 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($8 | 0) | 0; HEAP32[$8 >> 2] = 101468 + 8 | 0; HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); HEAPF32[$7 >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 4 | 0 | 0, $7 + 8 | 0 | 0, $7 + 4 | 0 | 0, $7 | 0) | 0; HEAP32[($8 + 20 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; HEAP32[($8 + 24 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; HEAP32[($8 + 28 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($8 + 32 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; $34 = HEAP32[($7 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$34 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($34))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; $38 = HEAP32[($7 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$38 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($38))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; HEAP8[($8 + 52 | 0) >> 0] = 0; HEAP32[($8 + 60 | 0) >> 2] = -1; HEAP32[($8 + 72 | 0) >> 2] = 1; HEAP32[($8 + 76 | 0) >> 2] = 1; __stack_pointer = $7 + 32 | 0; return $8 | 0; } function btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20int_2c_20int_2c_20float_2c_20float_2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); $6 = Math_fround($6); $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, $12 = 0; $11 = __stack_pointer - 48 | 0; __stack_pointer = $11; HEAP32[($11 + 44 | 0) >> 2] = $0; HEAP32[($11 + 40 | 0) >> 2] = $1; HEAP32[($11 + 36 | 0) >> 2] = $2; HEAP32[($11 + 32 | 0) >> 2] = $3; HEAP32[($11 + 28 | 0) >> 2] = $4; HEAPF32[($11 + 24 | 0) >> 2] = $5; HEAPF32[($11 + 20 | 0) >> 2] = $6; HEAP32[($11 + 16 | 0) >> 2] = $7; HEAP32[($11 + 12 | 0) >> 2] = $8; $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($12 | 0) | 0; HEAP32[$12 >> 2] = 101468 + 8 | 0; HEAPF32[($11 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 4 | 0) >> 2] = Math_fround(1.0); HEAPF32[$11 >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($12 + 4 | 0 | 0, $11 + 8 | 0 | 0, $11 + 4 | 0 | 0, $11 | 0) | 0; HEAP32[($12 + 20 | 0) >> 2] = HEAP32[($11 + 12 | 0) >> 2] | 0; HEAP32[($12 + 24 | 0) >> 2] = HEAP32[($11 + 16 | 0) >> 2] | 0; HEAP32[($12 + 28 | 0) >> 2] = HEAP32[($11 + 40 | 0) >> 2] | 0; HEAP32[($12 + 32 | 0) >> 2] = HEAP32[($11 + 36 | 0) >> 2] | 0; HEAP32[($12 + 36 | 0) >> 2] = HEAP32[($11 + 32 | 0) >> 2] | 0; HEAP32[($12 + 40 | 0) >> 2] = HEAP32[($11 + 28 | 0) >> 2] | 0; HEAPF32[($12 + 44 | 0) >> 2] = Math_fround(HEAPF32[($11 + 24 | 0) >> 2]); HEAPF32[($12 + 48 | 0) >> 2] = Math_fround(HEAPF32[($11 + 20 | 0) >> 2]); HEAP8[($12 + 52 | 0) >> 0] = 0; HEAP32[($12 + 60 | 0) >> 2] = -1; HEAP32[($12 + 72 | 0) >> 2] = 1; HEAP32[($12 + 76 | 0) >> 2] = 1; __stack_pointer = $11 + 48 | 0; return $12 | 0; } function btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP8[($7 + 15 | 0) >> 0] = $4; btGjkPairDetector__getClosestPointsNonVirtual_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__29(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0); __stack_pointer = $7 + 32 | 0; return; } function btGjkPairDetector__getClosestPointsNonVirtual_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, $7 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $481 = 0, $345 = 0, $86 = 0, $298 = 0, $300 = 0, $325 = 0, $327 = 0, $333 = 0, $393 = 0, $394 = 0, $530 = 0, $576 = 0, $577 = 0, $624 = 0, $633 = 0, $642 = 0, $686 = 0, $695 = 0, $733 = 0, $734 = 0, $765 = 0, $767 = 0, $941 = 0, $1541 = 0, $1554 = 0, $1601 = 0, $1614 = 0, $348 = 0.0, $351 = 0.0, $354 = 0.0, $356 = 0.0, $358 = 0, $1759 = 0, $1763 = 0, $2123 = 0, $2127 = 0, $2227 = 0, $2231 = 0, $2247 = 0, $2251 = 0, $2267 = 0, $2271 = 0, $2359 = 0, $2363 = 0, $2379 = 0, $2383 = 0, $2449 = 0, $2453 = 0, $2509 = 0, $2522 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $6 = __stack_pointer - 1008 | 0; __stack_pointer = $6; HEAP32[($6 + 1004 | 0) >> 2] = $0; HEAP32[($6 + 1e3 | 0) >> 2] = $1; HEAP32[($6 + 996 | 0) >> 2] = $2; HEAP32[($6 + 992 | 0) >> 2] = $3; $7 = HEAP32[($6 + 1004 | 0) >> 2] | 0; HEAPF32[($7 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 988 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 964 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 960 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 956 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 968 | 0 | 0, $6 + 964 | 0 | 0, $6 + 960 | 0 | 0, $6 + 956 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 936 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 920 | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($6 + 856 | 0 | 0, HEAP32[($6 + 1e3 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($6 + 792 | 0 | 0, (HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 64 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 760 | 0 | 0, btTransform__getOrigin_28_29($6 + 856 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($6 + 792 | 0 | 0) | 0 | 0); HEAPF32[($6 + 756 | 0) >> 2] = Math_fround(.5); operator__28btVector3_20const__2c_20float_20const__29($6 + 776 | 0 | 0, $6 + 760 | 0 | 0, $6 + 756 | 0 | 0); btVector3__operator___28btVector3_20const__29(btTransform__getOrigin_28_29($6 + 856 | 0 | 0) | 0 | 0, $6 + 776 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29(btTransform__getOrigin_28_29($6 + 792 | 0 | 0) | 0 | 0, $6 + 776 | 0 | 0) | 0; $86 = 0; label$1 : { if (!((btCollisionShape__isConvex2d_28_29_20const(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$1 } $86 = btCollisionShape__isConvex2d_28_29_20const(HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) | 0; } HEAP8[($6 + 755 | 0) >> 0] = $86 & 1 | 0; HEAPF32[($6 + 748 | 0) >> 2] = Math_fround(HEAPF32[($7 + 44 | 0) >> 2]); HEAPF32[($6 + 744 | 0) >> 2] = Math_fround(HEAPF32[($7 + 48 | 0) >> 2]); HEAP32[(0 + 114340 | 0) >> 2] = (HEAP32[(0 + 114340 | 0) >> 2] | 0) + 1 | 0; label$2 : { if (!((HEAPU8[($7 + 52 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAPF32[($6 + 748 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 744 | 0) >> 2] = Math_fround(0 | 0); } HEAP32[($7 + 64 | 0) >> 2] = 0; HEAP32[($6 + 740 | 0) >> 2] = 1e3; HEAPF32[($6 + 736 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 732 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 728 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 4 | 0 | 0, $6 + 736 | 0 | 0, $6 + 732 | 0 | 0, $6 + 728 | 0 | 0); HEAP8[($6 + 727 | 0) >> 0] = 0; HEAP8[($6 + 726 | 0) >> 0] = 0; HEAP8[($6 + 725 | 0) >> 0] = 1; HEAP32[($7 + 68 | 0) >> 2] = 0; HEAP32[($7 + 60 | 0) >> 2] = -1; HEAPF32[($6 + 720 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($6 + 716 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 712 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 748 | 0) >> 2]) + Math_fround(HEAPF32[($6 + 744 | 0) >> 2])); btVoronoiSimplexSolver__reset_28_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0); label$3 : while (1) { operator__28btVector3_20const__29($6 + 680 | 0 | 0, $7 + 4 | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 696 | 0 | 0, $6 + 680 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 1e3 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 664 | 0 | 0, $7 + 4 | 0 | 0, btTransform__getBasis_28_29_20const((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 64 | 0 | 0) | 0 | 0); btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 648 | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, $6 + 696 | 0 | 0); btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 632 | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, $6 + 664 | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 616 | 0 | 0, $6 + 856 | 0 | 0, $6 + 648 | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 600 | 0 | 0, $6 + 792 | 0 | 0, $6 + 632 | 0 | 0); label$4 : { if (!((HEAPU8[($6 + 755 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 616 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 600 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 584 | 0 | 0, $6 + 616 | 0 | 0, $6 + 600 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 4 | 0 | 0, $6 + 584 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 716 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[($6 + 716 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$6 } if (!(Math_fround(Math_fround(HEAPF32[($6 + 716 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 716 | 0) >> 2])) > Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 128 | 0) >> 2])) & 1 | 0)) { break label$6 } HEAP32[($7 + 68 | 0) >> 2] = 10; HEAP8[($6 + 726 | 0) >> 0] = 1; break label$5; } label$7 : { if (!((btVoronoiSimplexSolver__inSimplex_28btVector3_20const__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, $6 + 584 | 0 | 0) | 0) & 1 | 0)) { break label$7 } HEAP32[($7 + 68 | 0) >> 2] = 1; HEAP8[($6 + 726 | 0) >> 0] = 1; break label$5; } HEAPF32[($6 + 580 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 716 | 0) >> 2])); HEAPF32[($6 + 576 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2]) * Math_fround(9.999999974752427e-07)); label$8 : { if (!(Math_fround(HEAPF32[($6 + 580 | 0) >> 2]) <= Math_fround(HEAPF32[($6 + 576 | 0) >> 2]) & 1 | 0)) { break label$8 } label$9 : { label$10 : { if (!(Math_fround(HEAPF32[($6 + 580 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$10 } HEAP32[($7 + 68 | 0) >> 2] = 2; break label$9; } HEAP32[($7 + 68 | 0) >> 2] = 11; } HEAP8[($6 + 726 | 0) >> 0] = 1; break label$5; } btVoronoiSimplexSolver__addVertex_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, $6 + 584 | 0 | 0, $6 + 616 | 0 | 0, $6 + 600 | 0 | 0); btVector3__btVector3_28_29($6 + 560 | 0 | 0) | 0; label$11 : { if ((btVoronoiSimplexSolver__closest_28btVector3__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, $6 + 560 | 0 | 0) | 0) & 1 | 0) { break label$11 } HEAP32[($7 + 68 | 0) >> 2] = 3; HEAP8[($6 + 726 | 0) >> 0] = 1; break label$5; } label$12 : { if (!(Math_fround(btVector3__length2_28_29_20const($6 + 560 | 0 | 0)) < Math_fround(9.999999974752427e-07) & 1 | 0)) { break label$12 } $298 = $7 + 4 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 560 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 564 | 0) >> 2] | 0; $1541 = i64toi32_i32$0; i64toi32_i32$0 = $298; HEAP32[i64toi32_i32$0 >> 2] = $1541; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $300 = 8; i64toi32_i32$2 = ($6 + 560 | 0) + $300 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1554 = i64toi32_i32$1; i64toi32_i32$1 = $298 + $300 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1554; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($7 + 68 | 0) >> 2] = 6; HEAP8[($6 + 726 | 0) >> 0] = 1; break label$5; } HEAPF32[($6 + 556 | 0) >> 2] = Math_fround(HEAPF32[($6 + 720 | 0) >> 2]); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 560 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 720 | 0) >> 2] = wasm2js_f32$0; label$13 : { if (!(Math_fround(Math_fround(HEAPF32[($6 + 556 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 720 | 0) >> 2])) <= Math_fround(Math_fround(1.1920928955078125e-07) * Math_fround(HEAPF32[($6 + 556 | 0) >> 2])) & 1 | 0)) { break label$13 } HEAP8[($6 + 726 | 0) >> 0] = 1; HEAP32[($7 + 68 | 0) >> 2] = 12; break label$5; } $325 = $7 + 4 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 560 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 564 | 0) >> 2] | 0; $1601 = i64toi32_i32$0; i64toi32_i32$0 = $325; HEAP32[i64toi32_i32$0 >> 2] = $1601; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $327 = 8; i64toi32_i32$2 = ($6 + 560 | 0) + $327 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1614 = i64toi32_i32$1; i64toi32_i32$1 = $325 + $327 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1614; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $333 = HEAP32[($7 + 64 | 0) >> 2] | 0; HEAP32[($7 + 64 | 0) >> 2] = $333 + 1 | 0; label$14 : { if (!(($333 | 0) > (HEAP32[($6 + 740 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } HEAP32[$6 >> 2] = HEAP32[($7 + 64 | 0) >> 2] | 0; printf(88468 | 0, $6 | 0) | 0; $345 = $7 + 4 | 0; $348 = +Math_fround(HEAPF32[(btVector3__getX_28_29_20const($345 | 0) | 0) >> 2]); $351 = +Math_fround(HEAPF32[(btVector3__getY_28_29_20const($345 | 0) | 0) >> 2]); $354 = +Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($345 | 0) | 0) >> 2]); $356 = +Math_fround(HEAPF32[($6 + 720 | 0) >> 2]); $358 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $6 + 52 | 0, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($6 + 48 | 0) >> 2] = $358; HEAPF64[($6 + 40 | 0) >> 3] = $356; HEAPF64[($6 + 32 | 0) >> 3] = $354; HEAPF64[($6 + 24 | 0) >> 3] = $351; HEAPF64[($6 + 16 | 0) >> 3] = $348; printf(88397 | 0, $6 + 16 | 0 | 0) | 0; break label$5; } (wasm2js_i32$0 = $6, wasm2js_i32$1 = ((btVoronoiSimplexSolver__fullSimplex_28_29_20const(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 555 | 0) >> 0] = wasm2js_i32$1; label$15 : { if ((HEAPU8[($6 + 555 | 0) >> 0] | 0) & 1 | 0) { break label$15 } HEAP32[($7 + 68 | 0) >> 2] = 13; break label$5; } continue label$3; } break label$3; }; label$16 : { if (!((HEAPU8[($6 + 726 | 0) >> 0] | 0) & 1 | 0)) { break label$16 } btVoronoiSimplexSolver__compute_points_28btVector3__2c_20btVector3__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, $6 + 936 | 0 | 0, $6 + 920 | 0 | 0); $393 = $7 + 4 | 0; $394 = 8; i64toi32_i32$2 = $393 + $394 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1759 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 968 | 0) + $394 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1759; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $393; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1763 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 968 | 0) >> 2] = $1763; HEAP32[($6 + 972 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 548 | 0) >> 2] = wasm2js_f32$0; label$17 : { if (!(Math_fround(HEAPF32[($6 + 548 | 0) >> 2]) < Math_fround(9.999999974752427e-07) & 1 | 0)) { break label$17 } HEAP32[($7 + 68 | 0) >> 2] = 5; } label$18 : { label$19 : { if (!(Math_fround(HEAPF32[($6 + 548 | 0) >> 2]) > Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$19 } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 548 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 544 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1($6 + 968 | 0 | 0, $6 + 544 | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 540 | 0) >> 2] = wasm2js_f32$0; label$20 : { if (Math_fround(HEAPF32[($6 + 540 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0) { break label$20 } __assert_fail(86625 | 0, 72330 | 0, 295 | 0, 77310 | 0); wasm2js_trap(); } HEAPF32[($6 + 520 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 748 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 540 | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($6 + 524 | 0 | 0, $7 + 4 | 0 | 0, $6 + 520 | 0 | 0); btVector3__operator___28btVector3_20const__29($6 + 936 | 0 | 0, $6 + 524 | 0 | 0) | 0; HEAPF32[($6 + 500 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 744 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 540 | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($6 + 504 | 0 | 0, $7 + 4 | 0 | 0, $6 + 500 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($6 + 920 | 0 | 0, $6 + 504 | 0 | 0) | 0; HEAPF32[($6 + 988 | 0) >> 2] = Math_fround(Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($6 + 544 | 0) >> 2])) - Math_fround(HEAPF32[($6 + 712 | 0) >> 2])); HEAP8[($6 + 727 | 0) >> 0] = 1; HEAP32[($7 + 60 | 0) >> 2] = 1; break label$18; } HEAP32[($7 + 60 | 0) >> 2] = 2; } } $481 = 0; label$21 : { if (!(HEAP32[($7 + 72 | 0) >> 2] | 0)) { break label$21 } $481 = 0; if (!((HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$21 } $481 = 0; if (!(HEAP32[($7 + 68 | 0) >> 2] | 0)) { break label$21 } $481 = Math_fround(Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) + Math_fround(HEAPF32[($6 + 712 | 0) >> 2])) < Math_fround(HEAPF32[(0 + 112836 | 0) >> 2]); } HEAP8[($6 + 499 | 0) >> 0] = $481 & 1 | 0; label$22 : { if (!((HEAPU8[($6 + 725 | 0) >> 0] | 0) & 1 | 0)) { break label$22 } label$23 : { if (!((HEAPU8[($6 + 727 | 0) >> 0] | 0) & 1 | 0)) { break label$23 } if (!((HEAPU8[($6 + 499 | 0) >> 0] | 0) & 1 | 0)) { break label$22 } } label$24 : { if (!((HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$24 } btVector3__btVector3_28_29($6 + 480 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 464 | 0 | 0) | 0; HEAP32[(0 + 114336 | 0) >> 2] = (HEAP32[(0 + 114336 | 0) >> 2] | 0) + 1 | 0; btVector3__setZero_28_29($7 + 4 | 0 | 0); $530 = HEAP32[($7 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[$530 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($530, HEAP32[($7 + 24 | 0) >> 2] | 0, HEAP32[($7 + 28 | 0) >> 2] | 0, HEAP32[($7 + 32 | 0) >> 2] | 0, $6 + 856 | 0, $6 + 792 | 0, $7 + 4 | 0, $6 + 480 | 0, $6 + 464 | 0, HEAP32[($6 + 992 | 0) >> 2] | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 463 | 0) >> 0] = wasm2js_i32$1; label$25 : { label$26 : { if (!((HEAPU8[($6 + 463 | 0) >> 0] | 0) & 1 | 0)) { break label$26 } operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 440 | 0 | 0, $6 + 464 | 0 | 0, $6 + 480 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 440 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 436 | 0) >> 2] = wasm2js_f32$0; label$27 : { if (!(Math_fround(HEAPF32[($6 + 436 | 0) >> 2]) <= Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$27 } $576 = $7 + 4 | 0; $577 = 8; i64toi32_i32$2 = $576 + $577 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2123 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 440 | 0) + $577 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2123; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $576; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2127 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 440 | 0) >> 2] = $2127; HEAP32[($6 + 444 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 436 | 0) >> 2] = wasm2js_f32$0; } label$28 : { label$29 : { if (!(Math_fround(HEAPF32[($6 + 436 | 0) >> 2]) > Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$29 } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 436 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29($6 + 440 | 0 | 0, $6 + 432 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 412 | 0 | 0, $6 + 480 | 0 | 0, $6 + 464 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(-Math_fround(btVector3__length_28_29_20const($6 + 412 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_f32$0; HEAP32[($7 + 60 | 0) >> 2] = 3; label$30 : { label$31 : { label$32 : { if (!((HEAPU8[($6 + 727 | 0) >> 0] | 0) & 1 | 0)) { break label$32 } if (!(Math_fround(HEAPF32[($6 + 428 | 0) >> 2]) < Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) & 1 | 0)) { break label$31 } } HEAPF32[($6 + 988 | 0) >> 2] = Math_fround(HEAPF32[($6 + 428 | 0) >> 2]); $624 = 8; i64toi32_i32$2 = ($6 + 480 | 0) + $624 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2227 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 936 | 0) + $624 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2227; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 480 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 484 | 0) >> 2] | 0; $2231 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 936 | 0) >> 2] = $2231; HEAP32[($6 + 940 | 0) >> 2] = i64toi32_i32$0; $633 = 8; i64toi32_i32$2 = ($6 + 464 | 0) + $633 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2247 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 920 | 0) + $633 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2247; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 464 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 468 | 0) >> 2] | 0; $2251 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 920 | 0) >> 2] = $2251; HEAP32[($6 + 924 | 0) >> 2] = i64toi32_i32$0; $642 = 8; i64toi32_i32$2 = ($6 + 440 | 0) + $642 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2267 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 968 | 0) + $642 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2267; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 440 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 444 | 0) >> 2] | 0; $2271 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 968 | 0) >> 2] = $2271; HEAP32[($6 + 972 | 0) >> 2] = i64toi32_i32$0; HEAP8[($6 + 727 | 0) >> 0] = 1; break label$30; } HEAP32[($7 + 60 | 0) >> 2] = 8; } break label$28; } HEAP32[($7 + 60 | 0) >> 2] = 9; } break label$25; } label$33 : { if (!(Math_fround(btVector3__length2_28_29_20const($7 + 4 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0)) { break label$33 } operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 392 | 0 | 0, $6 + 480 | 0 | 0, $6 + 464 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__length_28_29_20const($6 + 392 | 0 | 0)) - Math_fround(HEAPF32[($6 + 712 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 408 | 0) >> 2] = wasm2js_f32$0; label$34 : { label$35 : { label$36 : { if (!((HEAPU8[($6 + 727 | 0) >> 0] | 0) & 1 | 0)) { break label$36 } if (!(Math_fround(HEAPF32[($6 + 408 | 0) >> 2]) < Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) & 1 | 0)) { break label$35 } } HEAPF32[($6 + 988 | 0) >> 2] = Math_fround(HEAPF32[($6 + 408 | 0) >> 2]); $686 = 8; i64toi32_i32$2 = ($6 + 480 | 0) + $686 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2359 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 936 | 0) + $686 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2359; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 480 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 484 | 0) >> 2] | 0; $2363 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 936 | 0) >> 2] = $2363; HEAP32[($6 + 940 | 0) >> 2] = i64toi32_i32$0; $695 = 8; i64toi32_i32$2 = ($6 + 464 | 0) + $695 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2379 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 920 | 0) + $695 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2379; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 464 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 468 | 0) >> 2] | 0; $2383 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 920 | 0) >> 2] = $2383; HEAP32[($6 + 924 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($6 + 376 | 0 | 0, $7 + 4 | 0 | 0, $6 + 748 | 0 | 0); btVector3__operator___28btVector3_20const__29($6 + 936 | 0 | 0, $6 + 376 | 0 | 0) | 0; operator__28btVector3_20const__2c_20float_20const__29($6 + 360 | 0 | 0, $7 + 4 | 0 | 0, $6 + 744 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($6 + 920 | 0 | 0, $6 + 360 | 0 | 0) | 0; $733 = $7 + 4 | 0; $734 = 8; i64toi32_i32$2 = $733 + $734 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2449 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 968 | 0) + $734 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2449; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $733; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2453 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 968 | 0) >> 2] = $2453; HEAP32[($6 + 972 | 0) >> 2] = i64toi32_i32$0; btVector3__normalize_28_29($6 + 968 | 0 | 0) | 0; HEAP8[($6 + 727 | 0) >> 0] = 1; HEAP32[($7 + 60 | 0) >> 2] = 6; break label$34; } HEAP32[($7 + 60 | 0) >> 2] = 5; } } } } } label$37 : { if (!((HEAPU8[($6 + 727 | 0) >> 0] | 0) & 1 | 0)) { break label$37 } label$38 : { if (Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0) { break label$38 } if (!(Math_fround(Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 988 | 0) >> 2])) < Math_fround(HEAPF32[((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 128 | 0) >> 2]) & 1 | 0)) { break label$37 } } $765 = $7 + 4 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 968 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 972 | 0) >> 2] | 0; $2509 = i64toi32_i32$0; i64toi32_i32$0 = $765; HEAP32[i64toi32_i32$0 >> 2] = $2509; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $767 = 8; i64toi32_i32$2 = ($6 + 968 | 0) + $767 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2522 = i64toi32_i32$1; i64toi32_i32$1 = $765 + $767 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2522; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($7 + 56 | 0) >> 2] = Math_fround(HEAPF32[($6 + 988 | 0) >> 2]); HEAPF32[($6 + 356 | 0) >> 2] = Math_fround(0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 340 | 0 | 0, $6 + 968 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 1e3 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__29($6 + 308 | 0 | 0, $6 + 968 | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 324 | 0 | 0, $6 + 308 | 0 | 0, btTransform__getBasis_28_29_20const((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 64 | 0 | 0) | 0 | 0); btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 292 | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, $6 + 340 | 0 | 0); btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 276 | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, $6 + 324 | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 260 | 0 | 0, $6 + 856 | 0 | 0, $6 + 292 | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 244 | 0 | 0, $6 + 792 | 0 | 0, $6 + 276 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 228 | 0 | 0, $6 + 260 | 0 | 0, $6 + 244 | 0 | 0); operator__28btVector3_20const__29($6 + 212 | 0 | 0, $6 + 968 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 212 | 0 | 0, $6 + 228 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($6 + 208 | 0) >> 2] = Math_fround(0 | 0); operator__28btVector3_20const__29($6 + 176 | 0 | 0, $6 + 968 | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 192 | 0 | 0, $6 + 176 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 1e3 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 160 | 0 | 0, $6 + 968 | 0 | 0, btTransform__getBasis_28_29_20const((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 64 | 0 | 0) | 0 | 0); btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 144 | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, $6 + 192 | 0 | 0); btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 128 | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, $6 + 160 | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 112 | 0 | 0, $6 + 856 | 0 | 0, $6 + 144 | 0 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 96 | 0 | 0, $6 + 792 | 0 | 0, $6 + 128 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, $6 + 112 | 0 | 0, $6 + 96 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 968 | 0 | 0, $6 + 80 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_f32$0; label$39 : { if (!(Math_fround(HEAPF32[($6 + 356 | 0) >> 2]) > Math_fround(HEAPF32[($6 + 208 | 0) >> 2]) & 1 | 0)) { break label$39 } HEAP32[($7 + 60 | 0) >> 2] = 10; HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(-1.0); btVector3__operator___28float_20const__29_1($6 + 968 | 0 | 0, $6 + 76 | 0 | 0) | 0; } $941 = HEAP32[($6 + 996 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 60 | 0 | 0, $6 + 920 | 0 | 0, $6 + 776 | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$941 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($941, $6 + 968 | 0, $6 + 60 | 0, Math_fround(HEAPF32[($6 + 988 | 0) >> 2])); } __stack_pointer = $6 + 1008 | 0; return; } function btCollisionShape__isConvex2d_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $8 = (btBroadphaseProxy__isConvex2d_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btVoronoiSimplexSolver__fullSimplex_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0 | 0; } function btBroadphaseProxy__isConvex2d_28int_29($0) { $0 = $0 | 0; var $3 = 0, $12 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $12 = 1; label$1 : { if ((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) == (17 | 0) & 1 | 0) { break label$1 } $12 = (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) == (18 | 0); } return $12 & 1 | 0 | 0; } function btGjkPairDetector___btGjkPairDetector_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btGjkPairDetector___btGjkPairDetector_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_btGjkPairDetector_cpp() { __cxx_global_var_init_61(); return; } function __cxx_global_var_init_62() { btInfMaskConverter__btInfMaskConverter_28int_29(114344 | 0, 2139095040 | 0) | 0; return; } function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $18 = 0, $72 = 0, $75 = 0, $76 = 0, $78 = 0, $86 = 0, $89 = 0, $90 = 0, $92 = 0, $100 = 0, $103 = 0, $104 = 0, $106 = 0, $114 = 0, $117 = 0, $118 = 0, $120 = 0, $139 = 0, $140 = 0, $167 = 0, $169 = 0, $189 = 0, $191 = 0, $200 = 0, $216 = 0, $231 = 0, $244 = 0, $246 = 0, $272 = 0, $274 = 0, $294 = 0, $296 = 0, $308 = 0, $324 = 0, $339 = 0, $352 = 0, $354 = 0, $380 = 0, $382 = 0, $402 = 0, $404 = 0, $416 = 0, $426 = 0, $448 = 0, $449 = 0, $479 = 0, $480 = 0, $493 = 0, $494 = 0, $507 = 0, $508 = 0, $521 = 0, $522 = 0, $536 = 0, $552 = 0, $585 = 0, $607 = 0, $616 = 0, $625 = 0, $802 = 0, $804 = 0, $815 = 0, $817 = 0, $821 = 0, $823 = 0, $74 = 0, $88 = 0, $102 = 0, $116 = 0, $1117 = 0, $1121 = 0, $1162 = 0, $1175 = 0, $1206 = 0, $1219 = 0, $1310 = 0, $1314 = 0, $1327 = 0, $1340 = 0, $1381 = 0, $1394 = 0, $1425 = 0, $1438 = 0, $1536 = 0, $1540 = 0, $1553 = 0, $1566 = 0, $1607 = 0, $1620 = 0, $1651 = 0, $1664 = 0, $1758 = 0, $1762 = 0, $1819 = 0, $1823 = 0, $1848 = 0, $1852 = 0, $1877 = 0, $1881 = 0, $1906 = 0, $1910 = 0, $1939 = 0, $1943 = 0, $1972 = 0, $1976 = 0, $2034 = 0, $2038 = 0, $2083 = 0, $2087 = 0, $2103 = 0, $2107 = 0, $2123 = 0, $2127 = 0, $687 = Math_fround(0), $2456 = 0, $2469 = 0, $2482 = 0, $2492 = 0, $2498 = 0, $2511 = 0, $840 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $12 = __stack_pointer - 4992 | 0; __stack_pointer = $12; HEAP32[($12 + 4984 | 0) >> 2] = $0; HEAP32[($12 + 4980 | 0) >> 2] = $1; HEAP32[($12 + 4976 | 0) >> 2] = $2; HEAP32[($12 + 4972 | 0) >> 2] = $3; HEAP32[($12 + 4968 | 0) >> 2] = $4; HEAP32[($12 + 4964 | 0) >> 2] = $5; HEAP32[($12 + 4960 | 0) >> 2] = $6; HEAP32[($12 + 4956 | 0) >> 2] = $7; HEAP32[($12 + 4952 | 0) >> 2] = $8; HEAP32[($12 + 4948 | 0) >> 2] = $9; $18 = 0; label$1 : { if (!((btCollisionShape__isConvex2d_28_29_20const(HEAP32[($12 + 4976 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$1 } $18 = btCollisionShape__isConvex2d_28_29_20const(HEAP32[($12 + 4972 | 0) >> 2] | 0 | 0) | 0; } HEAP8[($12 + 4947 | 0) >> 0] = $18 & 1 | 0; HEAPF32[($12 + 4940 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($12 + 4916 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($12 + 4912 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($12 + 4908 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($12 + 4920 | 0 | 0, $12 + 4916 | 0 | 0, $12 + 4912 | 0 | 0, $12 + 4908 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4888 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4872 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4856 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4840 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4824 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4808 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4792 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4776 | 0 | 0) | 0; btVector3__btVector3_28_29($12 + 4760 | 0 | 0) | 0; $72 = $12 + 3760 | 0; $74 = $72 + 992 | 0; $75 = $72; label$2 : while (1) { $76 = $75; btVector3__btVector3_28_29($76 | 0) | 0; $78 = $76 + 16 | 0; $75 = $78; if (!(($78 | 0) == ($74 | 0) & 1 | 0)) { continue label$2 } break label$2; }; $86 = $12 + 2768 | 0; $88 = $86 + 992 | 0; $89 = $86; label$3 : while (1) { $90 = $89; btVector3__btVector3_28_29($90 | 0) | 0; $92 = $90 + 16 | 0; $89 = $92; if (!(($92 | 0) == ($88 | 0) & 1 | 0)) { continue label$3 } break label$3; }; $100 = $12 + 1776 | 0; $102 = $100 + 992 | 0; $103 = $100; label$4 : while (1) { $104 = $103; btVector3__btVector3_28_29($104 | 0) | 0; $106 = $104 + 16 | 0; $103 = $106; if (!(($106 | 0) == ($102 | 0) & 1 | 0)) { continue label$4 } break label$4; }; $114 = $12 + 784 | 0; $116 = $114 + 992 | 0; $117 = $114; label$5 : while (1) { $118 = $117; btVector3__btVector3_28_29($118 | 0) | 0; $120 = $118 + 16 | 0; $117 = $120; if (!(($120 | 0) == ($116 | 0) & 1 | 0)) { continue label$5 } break label$5; }; HEAP32[($12 + 776 | 0) >> 2] = 42; HEAP32[($12 + 780 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($12 + 780 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 776 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } $139 = (btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; $140 = 8; i64toi32_i32$2 = $139 + $140 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1117 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 760 | 0) + $140 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1117; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $139; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1121 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 760 | 0) >> 2] = $1121; HEAP32[($12 + 764 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__29($12 + 728 | 0 | 0, $12 + 760 | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 744 | 0 | 0, $12 + 728 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0); $167 = ($12 + 1776 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 744 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 748 | 0) >> 2] | 0; $1162 = i64toi32_i32$0; i64toi32_i32$0 = $167; HEAP32[i64toi32_i32$0 >> 2] = $1162; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $169 = 8; i64toi32_i32$2 = ($12 + 744 | 0) + $169 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1175 = i64toi32_i32$1; i64toi32_i32$1 = $167 + $169 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1175; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 712 | 0 | 0, $12 + 760 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0 | 0); $189 = ($12 + 784 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 712 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 716 | 0) >> 2] | 0; $1206 = i64toi32_i32$0; i64toi32_i32$0 = $189; HEAP32[i64toi32_i32$0 >> 2] = $1206; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $191 = 8; i64toi32_i32$2 = ($12 + 712 | 0) + $191 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1219 = i64toi32_i32$1; i64toi32_i32$1 = $189 + $191 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1219; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($12 + 780 | 0) >> 2] = (HEAP32[($12 + 780 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } $200 = HEAP32[($12 + 4976 | 0) >> 2] | 0; (wasm2js_i32$0 = $12, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$200 >> 2] | 0) + 84 | 0) >> 2] | 0 | 0]($200) | 0), HEAP32[(wasm2js_i32$0 + 708 | 0) >> 2] = wasm2js_i32$1; label$8 : { if (!(HEAP32[($12 + 708 | 0) >> 2] | 0)) { break label$8 } HEAP32[($12 + 704 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($12 + 704 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 708 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } btVector3__btVector3_28_29($12 + 688 | 0 | 0) | 0; $216 = HEAP32[($12 + 4976 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$216 >> 2] | 0) + 88 | 0) >> 2] | 0 | 0]($216, HEAP32[($12 + 704 | 0) >> 2] | 0, $12 + 688 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 672 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0, $12 + 688 | 0 | 0); $231 = 8; i64toi32_i32$2 = ($12 + 672 | 0) + $231 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1310 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 688 | 0) + $231 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1310; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[($12 + 672 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($12 + 676 | 0) >> 2] | 0; $1314 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 688 | 0) >> 2] = $1314; HEAP32[($12 + 692 | 0) >> 2] = i64toi32_i32$0; $244 = (btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 688 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 692 | 0) >> 2] | 0; $1327 = i64toi32_i32$0; i64toi32_i32$0 = $244; HEAP32[i64toi32_i32$0 >> 2] = $1327; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $246 = 8; i64toi32_i32$2 = ($12 + 688 | 0) + $246 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1340 = i64toi32_i32$1; i64toi32_i32$1 = $244 + $246 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1340; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__29($12 + 640 | 0 | 0, $12 + 688 | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 656 | 0 | 0, $12 + 640 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0); $272 = ($12 + 1776 | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 656 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 660 | 0) >> 2] | 0; $1381 = i64toi32_i32$0; i64toi32_i32$0 = $272; HEAP32[i64toi32_i32$0 >> 2] = $1381; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $274 = 8; i64toi32_i32$2 = ($12 + 656 | 0) + $274 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1394 = i64toi32_i32$1; i64toi32_i32$1 = $272 + $274 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1394; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 624 | 0 | 0, $12 + 688 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0 | 0); $294 = ($12 + 784 | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 624 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 628 | 0) >> 2] | 0; $1425 = i64toi32_i32$0; i64toi32_i32$0 = $294; HEAP32[i64toi32_i32$0 >> 2] = $1425; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $296 = 8; i64toi32_i32$2 = ($12 + 624 | 0) + $296 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1438 = i64toi32_i32$1; i64toi32_i32$1 = $294 + $296 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1438; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($12 + 776 | 0) >> 2] = (HEAP32[($12 + 776 | 0) >> 2] | 0) + 1 | 0; HEAP32[($12 + 704 | 0) >> 2] = (HEAP32[($12 + 704 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } } $308 = HEAP32[($12 + 4972 | 0) >> 2] | 0; (wasm2js_i32$0 = $12, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$308 >> 2] | 0) + 84 | 0) >> 2] | 0 | 0]($308) | 0), HEAP32[(wasm2js_i32$0 + 620 | 0) >> 2] = wasm2js_i32$1; label$11 : { if (!(HEAP32[($12 + 620 | 0) >> 2] | 0)) { break label$11 } HEAP32[($12 + 616 | 0) >> 2] = 0; label$12 : { label$13 : while (1) { if (!((HEAP32[($12 + 616 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 620 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$12 } btVector3__btVector3_28_29($12 + 600 | 0 | 0) | 0; $324 = HEAP32[($12 + 4972 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$324 >> 2] | 0) + 88 | 0) >> 2] | 0 | 0]($324, HEAP32[($12 + 616 | 0) >> 2] | 0, $12 + 600 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 584 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0 | 0, $12 + 600 | 0 | 0); $339 = 8; i64toi32_i32$2 = ($12 + 584 | 0) + $339 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1536 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 600 | 0) + $339 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1536; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[($12 + 584 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($12 + 588 | 0) >> 2] | 0; $1540 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 600 | 0) >> 2] = $1540; HEAP32[($12 + 604 | 0) >> 2] = i64toi32_i32$0; $352 = (btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 600 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 604 | 0) >> 2] | 0; $1553 = i64toi32_i32$0; i64toi32_i32$0 = $352; HEAP32[i64toi32_i32$0 >> 2] = $1553; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $354 = 8; i64toi32_i32$2 = ($12 + 600 | 0) + $354 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1566 = i64toi32_i32$1; i64toi32_i32$1 = $352 + $354 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1566; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__29($12 + 552 | 0 | 0, $12 + 600 | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 568 | 0 | 0, $12 + 552 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0); $380 = ($12 + 1776 | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 568 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 572 | 0) >> 2] | 0; $1607 = i64toi32_i32$0; i64toi32_i32$0 = $380; HEAP32[i64toi32_i32$0 >> 2] = $1607; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $382 = 8; i64toi32_i32$2 = ($12 + 568 | 0) + $382 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1620 = i64toi32_i32$1; i64toi32_i32$1 = $380 + $382 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1620; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 536 | 0 | 0, $12 + 600 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0 | 0); $402 = ($12 + 784 | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 536 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 540 | 0) >> 2] | 0; $1651 = i64toi32_i32$0; i64toi32_i32$0 = $402; HEAP32[i64toi32_i32$0 >> 2] = $1651; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $404 = 8; i64toi32_i32$2 = ($12 + 536 | 0) + $404 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1664 = i64toi32_i32$1; i64toi32_i32$1 = $402 + $404 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1664; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($12 + 776 | 0) >> 2] = (HEAP32[($12 + 776 | 0) >> 2] | 0) + 1 | 0; HEAP32[($12 + 616 | 0) >> 2] = (HEAP32[($12 + 616 | 0) >> 2] | 0) + 1 | 0; continue label$13; }; } } $416 = HEAP32[($12 + 4976 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$416 >> 2] | 0) + 76 | 0) >> 2] | 0 | 0]($416, $12 + 1776 | 0, $12 + 3760 | 0, HEAP32[($12 + 776 | 0) >> 2] | 0); $426 = HEAP32[($12 + 4972 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$426 >> 2] | 0) + 76 | 0) >> 2] | 0 | 0]($426, $12 + 784 | 0, $12 + 2768 | 0, HEAP32[($12 + 776 | 0) >> 2] | 0); HEAP32[($12 + 780 | 0) >> 2] = 0; label$14 : { label$15 : while (1) { if (!((HEAP32[($12 + 780 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 776 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } $448 = (btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; $449 = 8; i64toi32_i32$2 = $448 + $449 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1758 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 520 | 0) + $449 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1758; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $448; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1762 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 520 | 0) >> 2] = $1762; HEAP32[($12 + 524 | 0) >> 2] = i64toi32_i32$0; label$16 : { if (!((HEAPU8[($12 + 4947 | 0) >> 0] | 0) & 1 | 0)) { break label$16 } (wasm2js_i32$0 = btVector3__operator_20float__28_29($12 + 520 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } label$17 : { if (!(+Math_fround(btVector3__length2_28_29_20const($12 + 520 | 0 | 0)) > .01 & 1 | 0)) { break label$17 } $479 = ($12 + 1776 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; $480 = 8; i64toi32_i32$2 = $479 + $480 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1819 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4856 | 0) + $480 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1819; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $479; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1823 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4856 | 0) >> 2] = $1823; HEAP32[($12 + 4860 | 0) >> 2] = i64toi32_i32$0; $493 = ($12 + 784 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; $494 = 8; i64toi32_i32$2 = $493 + $494 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1848 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4840 | 0) + $494 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1848; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $493; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1852 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4840 | 0) >> 2] = $1852; HEAP32[($12 + 4844 | 0) >> 2] = i64toi32_i32$0; $507 = ($12 + 3760 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; $508 = 8; i64toi32_i32$2 = $507 + $508 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1877 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4824 | 0) + $508 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1877; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $507; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1881 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4824 | 0) >> 2] = $1881; HEAP32[($12 + 4828 | 0) >> 2] = i64toi32_i32$0; $521 = ($12 + 2768 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; $522 = 8; i64toi32_i32$2 = $521 + $522 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1906 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4808 | 0) + $522 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1906; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $521; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1910 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4808 | 0) >> 2] = $1910; HEAP32[($12 + 4812 | 0) >> 2] = i64toi32_i32$0; btTransform__operator_28_29_28btVector3_20const__29_20const($12 + 504 | 0 | 0, HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0, $12 + 4824 | 0 | 0); $536 = 8; i64toi32_i32$2 = ($12 + 504 | 0) + $536 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1939 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4792 | 0) + $536 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1939; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[($12 + 504 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($12 + 508 | 0) >> 2] | 0; $1943 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4792 | 0) >> 2] = $1943; HEAP32[($12 + 4796 | 0) >> 2] = i64toi32_i32$0; btTransform__operator_28_29_28btVector3_20const__29_20const($12 + 488 | 0 | 0, HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0, $12 + 4808 | 0 | 0); $552 = 8; i64toi32_i32$2 = ($12 + 488 | 0) + $552 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1972 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4776 | 0) + $552 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1972; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[($12 + 488 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($12 + 492 | 0) >> 2] | 0; $1976 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4776 | 0) >> 2] = $1976; HEAP32[($12 + 4780 | 0) >> 2] = i64toi32_i32$0; label$18 : { if (!((HEAPU8[($12 + 4947 | 0) >> 0] | 0) & 1 | 0)) { break label$18 } (wasm2js_i32$0 = btVector3__operator_20float__28_29($12 + 4792 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29($12 + 4776 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; } operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 472 | 0 | 0, $12 + 4776 | 0 | 0, $12 + 4792 | 0 | 0); $585 = 8; i64toi32_i32$2 = ($12 + 472 | 0) + $585 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2034 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4760 | 0) + $585 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2034; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[($12 + 472 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($12 + 476 | 0) >> 2] | 0; $2038 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4760 | 0) >> 2] = $2038; HEAP32[($12 + 4764 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($12 + 520 | 0 | 0, $12 + 4760 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_f32$0; label$19 : { if (!(Math_fround(HEAPF32[($12 + 468 | 0) >> 2]) < Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]) & 1 | 0)) { break label$19 } HEAPF32[($12 + 4940 | 0) >> 2] = Math_fround(HEAPF32[($12 + 468 | 0) >> 2]); $607 = 8; i64toi32_i32$2 = ($12 + 520 | 0) + $607 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2083 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4920 | 0) + $607 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2083; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[($12 + 520 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($12 + 524 | 0) >> 2] | 0; $2087 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4920 | 0) >> 2] = $2087; HEAP32[($12 + 4924 | 0) >> 2] = i64toi32_i32$0; $616 = 8; i64toi32_i32$2 = ($12 + 4792 | 0) + $616 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2103 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4888 | 0) + $616 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2103; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[($12 + 4792 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($12 + 4796 | 0) >> 2] | 0; $2107 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4888 | 0) >> 2] = $2107; HEAP32[($12 + 4892 | 0) >> 2] = i64toi32_i32$0; $625 = 8; i64toi32_i32$2 = ($12 + 4776 | 0) + $625 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2123 = i64toi32_i32$0; i64toi32_i32$0 = ($12 + 4872 | 0) + $625 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2123; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $12; i64toi32_i32$1 = HEAP32[($12 + 4776 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($12 + 4780 | 0) >> 2] | 0; $2127 = i64toi32_i32$1; i64toi32_i32$1 = $12; HEAP32[($12 + 4872 | 0) >> 2] = $2127; HEAP32[($12 + 4876 | 0) >> 2] = i64toi32_i32$0; } } HEAP32[($12 + 780 | 0) >> 2] = (HEAP32[($12 + 780 | 0) >> 2] | 0) + 1 | 0; continue label$15; }; } (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const(HEAP32[($12 + 4976 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 448 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($12 + 452 | 0 | 0, $12 + 4920 | 0 | 0, $12 + 448 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($12 + 4888 | 0 | 0, $12 + 452 | 0 | 0) | 0; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const(HEAP32[($12 + 4972 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($12 + 432 | 0 | 0, $12 + 4920 | 0 | 0, $12 + 428 | 0 | 0); btVector3__operator___28btVector3_20const__29($12 + 4872 | 0 | 0, $12 + 432 | 0 | 0) | 0; label$20 : { label$21 : { if (!(Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$21 } HEAP8[($12 + 4991 | 0) >> 0] = 0 & 1 | 0; break label$20; } HEAPF32[($12 + 424 | 0) >> 2] = Math_fround(.5); $687 = Math_fround(Math_fround(HEAPF32[($12 + 424 | 0) >> 2]) + Math_fround(Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const(HEAP32[($12 + 4976 | 0) >> 2] | 0 | 0)) + Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const(HEAP32[($12 + 4972 | 0) >> 2] | 0 | 0)))); HEAPF32[($12 + 4940 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]) + $687); btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($12 + 344 | 0 | 0, HEAP32[($12 + 4976 | 0) >> 2] | 0 | 0, HEAP32[($12 + 4972 | 0) >> 2] | 0 | 0, HEAP32[($12 + 4980 | 0) >> 2] | 0 | 0, 0 | 0) | 0; HEAPF32[($12 + 340 | 0) >> 2] = Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]); operator__28btVector3_20const__2c_20float_20const__29($12 + 324 | 0 | 0, $12 + 4920 | 0 | 0, $12 + 340 | 0 | 0); btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($12 + 192 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($12 + 176 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0, $12 + 324 | 0 | 0); btTransform__btTransform_28btTransform_20const__29($12 + 112 | 0 | 0, HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0; btTransform__setOrigin_28btVector3_20const__29($12 + 112 | 0 | 0, $12 + 176 | 0 | 0); btTransform__operator__28btTransform_20const__29($12 + 192 | 0 | 0, $12 + 112 | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29(($12 + 192 | 0) + 64 | 0 | 0, HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($12 + 320 | 0) >> 2] = Math_fround(999999984306749440.0); btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__btIntermediateResult_28_29($12 + 68 | 0 | 0) | 0; operator__28btVector3_20const__29($12 + 52 | 0 | 0, $12 + 4920 | 0 | 0); btGjkPairDetector__setCachedSeperatingAxis_28btVector3_20const__29($12 + 344 | 0 | 0, $12 + 52 | 0 | 0); btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($12 + 344 | 0 | 0, $12 + 192 | 0 | 0, $12 + 68 | 0 | 0, HEAP32[($12 + 4948 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); HEAPF32[($12 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]) - Math_fround(HEAPF32[($12 + 104 | 0) >> 2])); HEAPF32[($12 + 44 | 0) >> 2] = Math_fround(1.0); btVector3__operator___28float_20const__29_1($12 + 4920 | 0 | 0, $12 + 44 | 0 | 0) | 0; label$22 : { if (!((HEAPU8[($12 + 108 | 0) >> 0] | 0) & 1 | 0)) { break label$22 } operator__28btVector3_20const__2c_20float_20const__29($12 + 12 | 0 | 0, $12 + 4920 | 0 | 0, $12 + 48 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 28 | 0 | 0, ($12 + 68 | 0) + 20 | 0 | 0, $12 + 12 | 0 | 0); $802 = HEAP32[($12 + 4956 | 0) >> 2] | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 32 | 0) >> 2] | 0; $2456 = i64toi32_i32$0; i64toi32_i32$0 = $802; HEAP32[i64toi32_i32$0 >> 2] = $2456; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $804 = 8; i64toi32_i32$2 = ($12 + 28 | 0) + $804 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2469 = i64toi32_i32$1; i64toi32_i32$1 = $802 + $804 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2469; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $815 = HEAP32[($12 + 4952 | 0) >> 2] | 0; i64toi32_i32$2 = ($12 + 68 | 0) + 20 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2482 = i64toi32_i32$0; i64toi32_i32$0 = $815; HEAP32[i64toi32_i32$0 >> 2] = $2482; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $817 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $817 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2492 = i64toi32_i32$1; i64toi32_i32$1 = $815 + $817 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2492; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $821 = HEAP32[($12 + 4960 | 0) >> 2] | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 4920 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 4924 | 0) >> 2] | 0; $2498 = i64toi32_i32$0; i64toi32_i32$0 = $821; HEAP32[i64toi32_i32$0 >> 2] = $2498; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $823 = 8; i64toi32_i32$2 = ($12 + 4920 | 0) + $823 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2511 = i64toi32_i32$1; i64toi32_i32$1 = $821 + $823 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2511; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP8[($12 + 4991 | 0) >> 0] = (HEAPU8[($12 + 108 | 0) >> 0] | 0) & 1 | 0; btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29($12 + 68 | 0 | 0) | 0; btGjkPairDetector___btGjkPairDetector_28_29($12 + 344 | 0 | 0) | 0; } $840 = (HEAPU8[($12 + 4991 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $12 + 4992 | 0; return $840 | 0; } function btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() { var $2 = 0, $655 = 0, $656 = 0, $658 = 0; $2 = __stack_pointer - 512 | 0; __stack_pointer = $2; label$1 : { if (!(((HEAPU8[(0 + 115344 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($2 + 508 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 504 | 0) >> 2] = Math_fround(-0.0); HEAPF32[($2 + 500 | 0) >> 2] = Math_fround(-1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 | 0, $2 + 508 | 0 | 0, $2 + 504 | 0 | 0, $2 + 500 | 0 | 0) | 0; HEAPF32[($2 + 496 | 0) >> 2] = Math_fround(.7236080169677734); HEAPF32[($2 + 492 | 0) >> 2] = Math_fround(-.5257250070571899); HEAPF32[($2 + 488 | 0) >> 2] = Math_fround(-.44721901416778564); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 16 | 0 | 0, $2 + 496 | 0 | 0, $2 + 492 | 0 | 0, $2 + 488 | 0 | 0) | 0; HEAPF32[($2 + 484 | 0) >> 2] = Math_fround(-.2763879895210266); HEAPF32[($2 + 480 | 0) >> 2] = Math_fround(-.8506489992141724); HEAPF32[($2 + 476 | 0) >> 2] = Math_fround(-.44721901416778564); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 32 | 0 | 0, $2 + 484 | 0 | 0, $2 + 480 | 0 | 0, $2 + 476 | 0 | 0) | 0; HEAPF32[($2 + 472 | 0) >> 2] = Math_fround(-.8944259881973267); HEAPF32[($2 + 468 | 0) >> 2] = Math_fround(-0.0); HEAPF32[($2 + 464 | 0) >> 2] = Math_fround(-.4472160041332245); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 48 | 0 | 0, $2 + 472 | 0 | 0, $2 + 468 | 0 | 0, $2 + 464 | 0 | 0) | 0; HEAPF32[($2 + 460 | 0) >> 2] = Math_fround(-.2763879895210266); HEAPF32[($2 + 456 | 0) >> 2] = Math_fround(.8506489992141724); HEAPF32[($2 + 452 | 0) >> 2] = Math_fround(-.44721999764442444); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 64 | 0 | 0, $2 + 460 | 0 | 0, $2 + 456 | 0 | 0, $2 + 452 | 0 | 0) | 0; HEAPF32[($2 + 448 | 0) >> 2] = Math_fround(.7236080169677734); HEAPF32[($2 + 444 | 0) >> 2] = Math_fround(.5257250070571899); HEAPF32[($2 + 440 | 0) >> 2] = Math_fround(-.44721901416778564); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 80 | 0 | 0, $2 + 448 | 0 | 0, $2 + 444 | 0 | 0, $2 + 440 | 0 | 0) | 0; HEAPF32[($2 + 436 | 0) >> 2] = Math_fround(.2763879895210266); HEAPF32[($2 + 432 | 0) >> 2] = Math_fround(-.8506489992141724); HEAPF32[($2 + 428 | 0) >> 2] = Math_fround(.44721999764442444); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 96 | 0 | 0, $2 + 436 | 0 | 0, $2 + 432 | 0 | 0, $2 + 428 | 0 | 0) | 0; HEAPF32[($2 + 424 | 0) >> 2] = Math_fround(-.7236080169677734); HEAPF32[($2 + 420 | 0) >> 2] = Math_fround(-.5257250070571899); HEAPF32[($2 + 416 | 0) >> 2] = Math_fround(.44721901416778564); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 112 | 0 | 0, $2 + 424 | 0 | 0, $2 + 420 | 0 | 0, $2 + 416 | 0 | 0) | 0; HEAPF32[($2 + 412 | 0) >> 2] = Math_fround(-.7236080169677734); HEAPF32[($2 + 408 | 0) >> 2] = Math_fround(.5257250070571899); HEAPF32[($2 + 404 | 0) >> 2] = Math_fround(.44721901416778564); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 128 | 0 | 0, $2 + 412 | 0 | 0, $2 + 408 | 0 | 0, $2 + 404 | 0 | 0) | 0; HEAPF32[($2 + 400 | 0) >> 2] = Math_fround(.2763879895210266); HEAPF32[($2 + 396 | 0) >> 2] = Math_fround(.8506489992141724); HEAPF32[($2 + 392 | 0) >> 2] = Math_fround(.44721901416778564); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 144 | 0 | 0, $2 + 400 | 0 | 0, $2 + 396 | 0 | 0, $2 + 392 | 0 | 0) | 0; HEAPF32[($2 + 388 | 0) >> 2] = Math_fround(.8944259881973267); HEAPF32[($2 + 384 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 380 | 0) >> 2] = Math_fround(.4472160041332245); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 160 | 0 | 0, $2 + 388 | 0 | 0, $2 + 384 | 0 | 0, $2 + 380 | 0 | 0) | 0; HEAPF32[($2 + 376 | 0) >> 2] = Math_fround(-0.0); HEAPF32[($2 + 372 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 368 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 176 | 0 | 0, $2 + 376 | 0 | 0, $2 + 372 | 0 | 0, $2 + 368 | 0 | 0) | 0; HEAPF32[($2 + 364 | 0) >> 2] = Math_fround(.4253230094909668); HEAPF32[($2 + 360 | 0) >> 2] = Math_fround(-.3090110123157501); HEAPF32[($2 + 356 | 0) >> 2] = Math_fround(-.8506540060043335); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 192 | 0 | 0, $2 + 364 | 0 | 0, $2 + 360 | 0 | 0, $2 + 356 | 0 | 0) | 0; HEAPF32[($2 + 352 | 0) >> 2] = Math_fround(-.16245600581169128); HEAPF32[($2 + 348 | 0) >> 2] = Math_fround(-.49999499320983887); HEAPF32[($2 + 344 | 0) >> 2] = Math_fround(-.8506540060043335); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 208 | 0 | 0, $2 + 352 | 0 | 0, $2 + 348 | 0 | 0, $2 + 344 | 0 | 0) | 0; HEAPF32[($2 + 340 | 0) >> 2] = Math_fround(.2628690004348755); HEAPF32[($2 + 336 | 0) >> 2] = Math_fround(-.8090119957923889); HEAPF32[($2 + 332 | 0) >> 2] = Math_fround(-.525738000869751); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 224 | 0 | 0, $2 + 340 | 0 | 0, $2 + 336 | 0 | 0, $2 + 332 | 0 | 0) | 0; HEAPF32[($2 + 328 | 0) >> 2] = Math_fround(.4253230094909668); HEAPF32[($2 + 324 | 0) >> 2] = Math_fround(.3090110123157501); HEAPF32[($2 + 320 | 0) >> 2] = Math_fround(-.8506540060043335); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 240 | 0 | 0, $2 + 328 | 0 | 0, $2 + 324 | 0 | 0, $2 + 320 | 0 | 0) | 0; HEAPF32[($2 + 316 | 0) >> 2] = Math_fround(.8506479859352112); HEAPF32[($2 + 312 | 0) >> 2] = Math_fround(-0.0); HEAPF32[($2 + 308 | 0) >> 2] = Math_fround(-.5257359743118286); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 256 | 0 | 0, $2 + 316 | 0 | 0, $2 + 312 | 0 | 0, $2 + 308 | 0 | 0) | 0; HEAPF32[($2 + 304 | 0) >> 2] = Math_fround(-.5257300138473511); HEAPF32[($2 + 300 | 0) >> 2] = Math_fround(-0.0); HEAPF32[($2 + 296 | 0) >> 2] = Math_fround(-.8506519794464111); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 272 | 0 | 0, $2 + 304 | 0 | 0, $2 + 300 | 0 | 0, $2 + 296 | 0 | 0) | 0; HEAPF32[($2 + 292 | 0) >> 2] = Math_fround(-.6881899833679199); HEAPF32[($2 + 288 | 0) >> 2] = Math_fround(-.49999698996543884); HEAPF32[($2 + 284 | 0) >> 2] = Math_fround(-.5257359743118286); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 288 | 0 | 0, $2 + 292 | 0 | 0, $2 + 288 | 0 | 0, $2 + 284 | 0 | 0) | 0; HEAPF32[($2 + 280 | 0) >> 2] = Math_fround(-.16245600581169128); HEAPF32[($2 + 276 | 0) >> 2] = Math_fround(.49999499320983887); HEAPF32[($2 + 272 | 0) >> 2] = Math_fround(-.8506540060043335); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 304 | 0 | 0, $2 + 280 | 0 | 0, $2 + 276 | 0 | 0, $2 + 272 | 0 | 0) | 0; HEAPF32[($2 + 268 | 0) >> 2] = Math_fround(-.6881899833679199); HEAPF32[($2 + 264 | 0) >> 2] = Math_fround(.49999698996543884); HEAPF32[($2 + 260 | 0) >> 2] = Math_fround(-.5257359743118286); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 320 | 0 | 0, $2 + 268 | 0 | 0, $2 + 264 | 0 | 0, $2 + 260 | 0 | 0) | 0; HEAPF32[($2 + 256 | 0) >> 2] = Math_fround(.2628690004348755); HEAPF32[($2 + 252 | 0) >> 2] = Math_fround(.8090119957923889); HEAPF32[($2 + 248 | 0) >> 2] = Math_fround(-.525738000869751); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 336 | 0 | 0, $2 + 256 | 0 | 0, $2 + 252 | 0 | 0, $2 + 248 | 0 | 0) | 0; HEAPF32[($2 + 244 | 0) >> 2] = Math_fround(.9510579705238342); HEAPF32[($2 + 240 | 0) >> 2] = Math_fround(.3090130090713501); HEAPF32[($2 + 236 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 352 | 0 | 0, $2 + 244 | 0 | 0, $2 + 240 | 0 | 0, $2 + 236 | 0 | 0) | 0; HEAPF32[($2 + 232 | 0) >> 2] = Math_fround(.9510579705238342); HEAPF32[($2 + 228 | 0) >> 2] = Math_fround(-.3090130090713501); HEAPF32[($2 + 224 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 368 | 0 | 0, $2 + 232 | 0 | 0, $2 + 228 | 0 | 0, $2 + 224 | 0 | 0) | 0; HEAPF32[($2 + 220 | 0) >> 2] = Math_fround(.5877860188484192); HEAPF32[($2 + 216 | 0) >> 2] = Math_fround(-.80901700258255); HEAPF32[($2 + 212 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 384 | 0 | 0, $2 + 220 | 0 | 0, $2 + 216 | 0 | 0, $2 + 212 | 0 | 0) | 0; HEAPF32[($2 + 208 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 204 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($2 + 200 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 400 | 0 | 0, $2 + 208 | 0 | 0, $2 + 204 | 0 | 0, $2 + 200 | 0 | 0) | 0; HEAPF32[($2 + 196 | 0) >> 2] = Math_fround(-.5877860188484192); HEAPF32[($2 + 192 | 0) >> 2] = Math_fround(-.80901700258255); HEAPF32[($2 + 188 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 416 | 0 | 0, $2 + 196 | 0 | 0, $2 + 192 | 0 | 0, $2 + 188 | 0 | 0) | 0; HEAPF32[($2 + 184 | 0) >> 2] = Math_fround(-.9510579705238342); HEAPF32[($2 + 180 | 0) >> 2] = Math_fround(-.3090130090713501); HEAPF32[($2 + 176 | 0) >> 2] = Math_fround(-0.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 432 | 0 | 0, $2 + 184 | 0 | 0, $2 + 180 | 0 | 0, $2 + 176 | 0 | 0) | 0; HEAPF32[($2 + 172 | 0) >> 2] = Math_fround(-.9510579705238342); HEAPF32[($2 + 168 | 0) >> 2] = Math_fround(.3090130090713501); HEAPF32[($2 + 164 | 0) >> 2] = Math_fround(-0.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 448 | 0 | 0, $2 + 172 | 0 | 0, $2 + 168 | 0 | 0, $2 + 164 | 0 | 0) | 0; HEAPF32[($2 + 160 | 0) >> 2] = Math_fround(-.5877860188484192); HEAPF32[($2 + 156 | 0) >> 2] = Math_fround(.80901700258255); HEAPF32[($2 + 152 | 0) >> 2] = Math_fround(-0.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 464 | 0 | 0, $2 + 160 | 0 | 0, $2 + 156 | 0 | 0, $2 + 152 | 0 | 0) | 0; HEAPF32[($2 + 148 | 0) >> 2] = Math_fround(-0.0); HEAPF32[($2 + 144 | 0) >> 2] = Math_fround(1.0); HEAPF32[($2 + 140 | 0) >> 2] = Math_fround(-0.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 480 | 0 | 0, $2 + 148 | 0 | 0, $2 + 144 | 0 | 0, $2 + 140 | 0 | 0) | 0; HEAPF32[($2 + 136 | 0) >> 2] = Math_fround(.5877860188484192); HEAPF32[($2 + 132 | 0) >> 2] = Math_fround(.80901700258255); HEAPF32[($2 + 128 | 0) >> 2] = Math_fround(-0.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 496 | 0 | 0, $2 + 136 | 0 | 0, $2 + 132 | 0 | 0, $2 + 128 | 0 | 0) | 0; HEAPF32[($2 + 124 | 0) >> 2] = Math_fround(.6881899833679199); HEAPF32[($2 + 120 | 0) >> 2] = Math_fround(-.49999698996543884); HEAPF32[($2 + 116 | 0) >> 2] = Math_fround(.5257359743118286); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 512 | 0 | 0, $2 + 124 | 0 | 0, $2 + 120 | 0 | 0, $2 + 116 | 0 | 0) | 0; HEAPF32[($2 + 112 | 0) >> 2] = Math_fround(-.2628690004348755); HEAPF32[($2 + 108 | 0) >> 2] = Math_fround(-.8090119957923889); HEAPF32[($2 + 104 | 0) >> 2] = Math_fround(.525738000869751); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 528 | 0 | 0, $2 + 112 | 0 | 0, $2 + 108 | 0 | 0, $2 + 104 | 0 | 0) | 0; HEAPF32[($2 + 100 | 0) >> 2] = Math_fround(-.8506479859352112); HEAPF32[($2 + 96 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 92 | 0) >> 2] = Math_fround(.5257359743118286); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 544 | 0 | 0, $2 + 100 | 0 | 0, $2 + 96 | 0 | 0, $2 + 92 | 0 | 0) | 0; HEAPF32[($2 + 88 | 0) >> 2] = Math_fround(-.2628690004348755); HEAPF32[($2 + 84 | 0) >> 2] = Math_fround(.8090119957923889); HEAPF32[($2 + 80 | 0) >> 2] = Math_fround(.525738000869751); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 560 | 0 | 0, $2 + 88 | 0 | 0, $2 + 84 | 0 | 0, $2 + 80 | 0 | 0) | 0; HEAPF32[($2 + 76 | 0) >> 2] = Math_fround(.6881899833679199); HEAPF32[($2 + 72 | 0) >> 2] = Math_fround(.49999698996543884); HEAPF32[($2 + 68 | 0) >> 2] = Math_fround(.5257359743118286); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 576 | 0 | 0, $2 + 76 | 0 | 0, $2 + 72 | 0 | 0, $2 + 68 | 0 | 0) | 0; HEAPF32[($2 + 64 | 0) >> 2] = Math_fround(.5257300138473511); HEAPF32[($2 + 60 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 56 | 0) >> 2] = Math_fround(.8506519794464111); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 592 | 0 | 0, $2 + 64 | 0 | 0, $2 + 60 | 0 | 0, $2 + 56 | 0 | 0) | 0; HEAPF32[($2 + 52 | 0) >> 2] = Math_fround(.16245600581169128); HEAPF32[($2 + 48 | 0) >> 2] = Math_fround(-.49999499320983887); HEAPF32[($2 + 44 | 0) >> 2] = Math_fround(.8506540060043335); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 608 | 0 | 0, $2 + 52 | 0 | 0, $2 + 48 | 0 | 0, $2 + 44 | 0 | 0) | 0; HEAPF32[($2 + 40 | 0) >> 2] = Math_fround(-.4253230094909668); HEAPF32[($2 + 36 | 0) >> 2] = Math_fround(-.3090110123157501); HEAPF32[($2 + 32 | 0) >> 2] = Math_fround(.8506540060043335); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 624 | 0 | 0, $2 + 40 | 0 | 0, $2 + 36 | 0 | 0, $2 + 32 | 0 | 0) | 0; HEAPF32[($2 + 28 | 0) >> 2] = Math_fround(-.4253230094909668); HEAPF32[($2 + 24 | 0) >> 2] = Math_fround(.3090110123157501); HEAPF32[($2 + 20 | 0) >> 2] = Math_fround(.8506540060043335); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 640 | 0 | 0, $2 + 28 | 0 | 0, $2 + 24 | 0 | 0, $2 + 20 | 0 | 0) | 0; HEAPF32[($2 + 16 | 0) >> 2] = Math_fround(.16245600581169128); HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(.49999499320983887); HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(.8506540060043335); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 656 | 0 | 0, $2 + 16 | 0 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0) | 0; $655 = 114352 + 672 | 0; label$2 : while (1) { $656 = $655; btVector3__btVector3_28_29($656 | 0) | 0; $658 = $656 + 16 | 0; $655 = $658; if (!(($658 | 0) == (114352 + 992 | 0 | 0) & 1 | 0)) { continue label$2 } break label$2; }; HEAP8[(0 + 115344 | 0) >> 0] = 1; } __stack_pointer = $2 + 512 | 0; return 114352 | 0; } function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__btIntermediateResult_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result__Result_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 101588 + 8 | 0; btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 20 | 0 | 0) | 0; HEAP8[($4 + 40 | 0) >> 0] = 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btGjkPairDetector__setCachedSeperatingAxis_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $10 = 0, $12 = 0, $18 = 0, $20 = 0, $48 = 0, $58 = 0, $67 = 0, $77 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; $10 = $7 + 4 | 0; i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $48 = i64toi32_i32$0; i64toi32_i32$0 = $10; HEAP32[i64toi32_i32$0 >> 2] = $48; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $12 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $58 = i64toi32_i32$1; i64toi32_i32$1 = $10 + $12 | 0; HEAP32[i64toi32_i32$1 >> 2] = $58; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $18 = $7 + 20 | 0; i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $67 = i64toi32_i32$0; i64toi32_i32$0 = $18; HEAP32[i64toi32_i32$0 >> 2] = $67; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $20 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $20 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $77 = i64toi32_i32$1; i64toi32_i32$1 = $18 + $20 | 0; HEAP32[i64toi32_i32$1 >> 2] = $77; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($7 + 36 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); HEAP8[($7 + 40 | 0) >> 0] = 1; return; } function _GLOBAL__sub_I_btMinkowskiPenetrationDepthSolver_cpp() { __cxx_global_var_init_62(); return; } function __cxx_global_var_init_63() { btInfMaskConverter__btInfMaskConverter_28int_29(115348 | 0, 2139095040 | 0) | 0; return; } function btPersistentManifold__btPersistentManifold_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $7 = 0, $10 = 0, $11 = 0, $13 = 0, $9 = 0, $23 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; btTypedObject__btTypedObject_28int_29($4 | 0, 1025 | 0) | 0; $7 = $4 + 4 | 0; $9 = $7 + 832 | 0; $10 = $7; label$1 : while (1) { $11 = $10; btManifoldPoint__btManifoldPoint_28_29($11 | 0) | 0; $13 = $11 + 208 | 0; $10 = $13; if (!(($13 | 0) == ($9 | 0) & 1 | 0)) { continue label$1 } break label$1; }; HEAP32[($4 + 836 | 0) >> 2] = 0; HEAP32[($4 + 840 | 0) >> 2] = 0; HEAP32[($4 + 844 | 0) >> 2] = 0; HEAP32[($4 + 864 | 0) >> 2] = 0; $23 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $23 | 0; } function btPersistentManifold__clearUserCache_28btManifoldPoint__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[(0 + 115352 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } FUNCTION_TABLE[HEAP32[(0 + 115352 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] = 0; } } __stack_pointer = $4 + 16 | 0; return; } function btPersistentManifold__sortCachedPoints_28btManifoldPoint_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $286 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $4 = __stack_pointer - 256 | 0; __stack_pointer = $4; HEAP32[($4 + 252 | 0) >> 2] = $0; HEAP32[($4 + 248 | 0) >> 2] = $1; $5 = HEAP32[($4 + 252 | 0) >> 2] | 0; HEAP32[($4 + 244 | 0) >> 2] = -1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; HEAP32[($4 + 236 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 236 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!(Math_fround(btManifoldPoint__getDistance_28_29_20const(($5 + 4 | 0) + Math_imul(HEAP32[($4 + 236 | 0) >> 2] | 0, 208) | 0 | 0)) < Math_fround(HEAPF32[($4 + 240 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAP32[($4 + 244 | 0) >> 2] = HEAP32[($4 + 236 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btManifoldPoint__getDistance_28_29_20const(($5 + 4 | 0) + Math_imul(HEAP32[($4 + 236 | 0) >> 2] | 0, 208) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; } HEAP32[($4 + 236 | 0) >> 2] = (HEAP32[($4 + 236 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAPF32[($4 + 232 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 228 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 224 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 220 | 0) >> 2] = Math_fround(0 | 0); label$4 : { label$5 : { if (!((HEAPU8[(0 + 112844 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } label$6 : { if (!(HEAP32[($4 + 244 | 0) >> 2] | 0)) { break label$6 } operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 204 | 0 | 0, HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 188 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($4 + 172 | 0 | 0, $4 + 204 | 0 | 0, $4 + 188 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 172 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; } label$7 : { if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { break label$7 } operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 156 | 0 | 0, HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 140 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($4 + 124 | 0 | 0, $4 + 156 | 0 | 0, $4 + 140 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 124 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; } label$8 : { if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { break label$8 } operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 108 | 0 | 0, HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 92 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($4 + 76 | 0 | 0, $4 + 108 | 0 | 0, $4 + 92 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 76 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_f32$0; } label$9 : { if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { break label$9 } operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 60 | 0 | 0, HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 44 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($4 + 28 | 0 | 0, $4 + 60 | 0 | 0, $4 + 44 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 28 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; } break label$4; } label$10 : { if (!(HEAP32[($4 + 244 | 0) >> 2] | 0)) { break label$10 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; } label$11 : { if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { break label$11 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; } label$12 : { if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { break label$12 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_f32$0; } label$13 : { if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { break label$13 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; } } btVector4__btVector4_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($4 + 12 | 0 | 0, $4 + 232 | 0 | 0, $4 + 228 | 0 | 0, $4 + 224 | 0 | 0, $4 + 220 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btVector4__closestAxis4_28_29_20const($4 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $286 = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 256 | 0; return $286 | 0; } function calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $12 = 0, $13 = 0, $15 = 0, $23 = 0, $26 = 0, $27 = 0, $29 = 0, $42 = 0, $44 = 0, $59 = 0, $61 = 0, $76 = 0, $78 = 0, $91 = 0, $93 = 0, $108 = 0, $110 = 0, $125 = 0, $127 = 0, $11 = 0, $25 = 0, $275 = 0, $288 = 0, $310 = 0, $323 = 0, $345 = 0, $358 = 0, $377 = 0, $390 = 0, $412 = 0, $425 = 0, $447 = 0, $460 = 0, $182 = 0, $191 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 272 | 0; __stack_pointer = $6; HEAP32[($6 + 268 | 0) >> 2] = $0; HEAP32[($6 + 264 | 0) >> 2] = $1; HEAP32[($6 + 260 | 0) >> 2] = $2; HEAP32[($6 + 256 | 0) >> 2] = $3; $9 = $6 + 208 | 0; $11 = $9 + 48 | 0; $12 = $9; label$1 : while (1) { $13 = $12; btVector3__btVector3_28_29($13 | 0) | 0; $15 = $13 + 16 | 0; $12 = $15; if (!(($15 | 0) == ($11 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $23 = $6 + 160 | 0; $25 = $23 + 48 | 0; $26 = $23; label$2 : while (1) { $27 = $26; btVector3__btVector3_28_29($27 | 0) | 0; $29 = $27 + 16 | 0; $26 = $29; if (!(($29 | 0) == ($25 | 0) & 1 | 0)) { continue label$2 } break label$2; }; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 144 | 0 | 0, HEAP32[($6 + 268 | 0) >> 2] | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0); $42 = $6 + 208 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 144 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 148 | 0) >> 2] | 0; $275 = i64toi32_i32$0; i64toi32_i32$0 = $42; HEAP32[i64toi32_i32$0 >> 2] = $275; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $44 = 8; i64toi32_i32$2 = ($6 + 144 | 0) + $44 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $288 = i64toi32_i32$1; i64toi32_i32$1 = $42 + $44 | 0; HEAP32[i64toi32_i32$1 >> 2] = $288; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 128 | 0 | 0, HEAP32[($6 + 268 | 0) >> 2] | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0); $59 = ($6 + 208 | 0) + 16 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 128 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 132 | 0) >> 2] | 0; $310 = i64toi32_i32$0; i64toi32_i32$0 = $59; HEAP32[i64toi32_i32$0 >> 2] = $310; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $61 = 8; i64toi32_i32$2 = ($6 + 128 | 0) + $61 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $323 = i64toi32_i32$1; i64toi32_i32$1 = $59 + $61 | 0; HEAP32[i64toi32_i32$1 >> 2] = $323; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 112 | 0 | 0, HEAP32[($6 + 268 | 0) >> 2] | 0 | 0, HEAP32[($6 + 256 | 0) >> 2] | 0 | 0); $76 = ($6 + 208 | 0) + 32 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 112 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 116 | 0) >> 2] | 0; $345 = i64toi32_i32$0; i64toi32_i32$0 = $76; HEAP32[i64toi32_i32$0 >> 2] = $345; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $78 = 8; i64toi32_i32$2 = ($6 + 112 | 0) + $78 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $358 = i64toi32_i32$1; i64toi32_i32$1 = $76 + $78 | 0; HEAP32[i64toi32_i32$1 >> 2] = $358; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 96 | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0, HEAP32[($6 + 256 | 0) >> 2] | 0 | 0); $91 = $6 + 160 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 96 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 100 | 0) >> 2] | 0; $377 = i64toi32_i32$0; i64toi32_i32$0 = $91; HEAP32[i64toi32_i32$0 >> 2] = $377; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $93 = 8; i64toi32_i32$2 = ($6 + 96 | 0) + $93 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $390 = i64toi32_i32$1; i64toi32_i32$1 = $91 + $93 | 0; HEAP32[i64toi32_i32$1 >> 2] = $390; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, HEAP32[($6 + 256 | 0) >> 2] | 0 | 0); $108 = ($6 + 160 | 0) + 16 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 80 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 84 | 0) >> 2] | 0; $412 = i64toi32_i32$0; i64toi32_i32$0 = $108; HEAP32[i64toi32_i32$0 >> 2] = $412; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $110 = 8; i64toi32_i32$2 = ($6 + 80 | 0) + $110 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $425 = i64toi32_i32$1; i64toi32_i32$1 = $108 + $110 | 0; HEAP32[i64toi32_i32$1 >> 2] = $425; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 64 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0); $125 = ($6 + 160 | 0) + 32 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; $447 = i64toi32_i32$0; i64toi32_i32$0 = $125; HEAP32[i64toi32_i32$0 >> 2] = $447; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $127 = 8; i64toi32_i32$2 = ($6 + 64 | 0) + $127 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $460 = i64toi32_i32$1; i64toi32_i32$1 = $125 + $127 | 0; HEAP32[i64toi32_i32$1 >> 2] = $460; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($6 + 48 | 0 | 0, $6 + 208 | 0 | 0, $6 + 160 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($6 + 32 | 0 | 0, ($6 + 208 | 0) + 16 | 0 | 0, ($6 + 160 | 0) + 16 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($6 + 16 | 0 | 0, ($6 + 208 | 0) + 32 | 0 | 0, ($6 + 160 | 0) + 32 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 48 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; $182 = float_20const__20btMax_float__28float_20const__2c_20float_20const__29($6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $191 = Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29($182 | 0, $6 + 4 | 0 | 0) | 0) >> 2]); __stack_pointer = $6 + 272 | 0; return Math_fround($191); } function btVector4__btVector4_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2]); __stack_pointer = $7 + 32 | 0; return $8 | 0; } function btVector4__closestAxis4_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $11 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; btVector4__absolute4_28_29_20const($3 + 12 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0); $11 = btVector4__maxAxis4_28_29_20const($3 + 12 | 0 | 0) | 0; __stack_pointer = $3 + 32 | 0; return $11 | 0; } function btVector4__absolute4_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[$5 >> 2]))))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; btVector4__btVector4_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0) | 0; __stack_pointer = $4 + 32 | 0; return; } function btVector4__maxAxis4_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = -1; HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(-999999984306749440.0); label$1 : { if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(HEAPF32[($3 + 4 | 0) >> 2]) & 1 | 0)) { break label$1 } HEAP32[($3 + 8 | 0) >> 2] = 0; HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(HEAPF32[$4 >> 2]); } label$2 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(HEAPF32[($3 + 4 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAP32[($3 + 8 | 0) >> 2] = 1; HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); } label$3 : { if (!(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) > Math_fround(HEAPF32[($3 + 4 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAP32[($3 + 8 | 0) >> 2] = 2; HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); } label$4 : { if (!(Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) > Math_fround(HEAPF32[($3 + 4 | 0) >> 2]) & 1 | 0)) { break label$4 } HEAP32[($3 + 8 | 0) >> 2] = 3; } return HEAP32[($3 + 8 | 0) >> 2] | 0 | 0; } function btPersistentManifold__getCacheEntry_28btManifoldPoint_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0, $44 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const($5 | 0)) * Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const($5 | 0)))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPersistentManifold__getNumContacts_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 28 | 0) >> 2] = -1; HEAP32[($4 + 24 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[($4 + 20 | 0) >> 2] = ($5 + 4 | 0) + Math_imul(HEAP32[($4 + 24 | 0) >> 2] | 0, 208) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 4 | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); $32 = $4 + 4 | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($32 | 0, $32 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 36 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(HEAPF32[$4 >> 2]); HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; } HEAP32[($4 + 24 | 0) >> 2] = (HEAP32[($4 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } $44 = HEAP32[($4 + 28 | 0) >> 2] | 0; __stack_pointer = $4 + 48 | 0; return $44 | 0; } function btPersistentManifold__getContactBreakingThreshold_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 848 | 0) >> 2])); } function btPersistentManifold__addManifoldPoint_28btManifoldPoint_20const__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $71 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0) { break label$1 } label$2 : { if ((btPersistentManifold__validContactDistance_28btManifoldPoint_20const__29_20const($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$2 } __assert_fail(86236 | 0, 75898 | 0, 214 | 0, 67705 | 0); wasm2js_trap(); } } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getNumContacts_28_29_20const($7 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$3 : { label$4 : { if (!((HEAP32[$5 >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__sortCachedPoints_28btManifoldPoint_20const__29($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btPersistentManifold__clearUserCache_28btManifoldPoint__29($7 | 0, ($7 + 4 | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 208) | 0 | 0); break label$3; } HEAP32[($7 + 844 | 0) >> 2] = (HEAP32[($7 + 844 | 0) >> 2] | 0) + 1 | 0; } label$5 : { if (!((HEAP32[$5 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$5 } HEAP32[$5 >> 2] = 0; } label$6 : { if ((HEAP32[((($7 + 4 | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 208) | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } __assert_fail(85893 | 0, 75898 | 0, 237 | 0, 67705 | 0); wasm2js_trap(); } __memcpy(($7 + 4 | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 208) | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, 208 | 0) | 0; $71 = HEAP32[$5 >> 2] | 0; __stack_pointer = $5 + 16 | 0; return $71 | 0; } function btPersistentManifold__refreshContactPoints_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $30 = 0, $32 = 0, $47 = 0, $49 = 0, $72 = 0, $124 = 0, $142 = 0, $153 = 0, $245 = 0, $258 = 0, $281 = 0, $294 = 0, $70 = Math_fround(0), $108 = 0, $449 = 0, $453 = 0, $485 = 0, $489 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 160 | 0; __stack_pointer = $5; HEAP32[($5 + 156 | 0) >> 2] = $0; HEAP32[($5 + 152 | 0) >> 2] = $1; HEAP32[($5 + 148 | 0) >> 2] = $2; $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btPersistentManifold__getNumContacts_28_29_20const($6 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : while (1) { if (!((HEAP32[($5 + 144 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$1 } HEAP32[($5 + 140 | 0) >> 2] = ($6 + 4 | 0) + Math_imul(HEAP32[($5 + 144 | 0) >> 2] | 0, 208) | 0; btTransform__operator_28_29_28btVector3_20const__29_20const($5 + 124 | 0 | 0, HEAP32[($5 + 152 | 0) >> 2] | 0 | 0, HEAP32[($5 + 140 | 0) >> 2] | 0 | 0); $30 = (HEAP32[($5 + 140 | 0) >> 2] | 0) + 48 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 124 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 128 | 0) >> 2] | 0; $245 = i64toi32_i32$0; i64toi32_i32$0 = $30; HEAP32[i64toi32_i32$0 >> 2] = $245; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $32 = 8; i64toi32_i32$2 = ($5 + 124 | 0) + $32 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $258 = i64toi32_i32$1; i64toi32_i32$1 = $30 + $32 | 0; HEAP32[i64toi32_i32$1 >> 2] = $258; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btTransform__operator_28_29_28btVector3_20const__29_20const($5 + 108 | 0 | 0, HEAP32[($5 + 148 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 140 | 0) >> 2] | 0) + 16 | 0 | 0); $47 = (HEAP32[($5 + 140 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 108 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 112 | 0) >> 2] | 0; $281 = i64toi32_i32$0; i64toi32_i32$0 = $47; HEAP32[i64toi32_i32$0 >> 2] = $281; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; i64toi32_i32$2 = ($5 + 108 | 0) + $49 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $294 = i64toi32_i32$1; i64toi32_i32$1 = $47 + $49 | 0; HEAP32[i64toi32_i32$1 >> 2] = $294; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 92 | 0 | 0, (HEAP32[($5 + 140 | 0) >> 2] | 0) + 48 | 0 | 0, (HEAP32[($5 + 140 | 0) >> 2] | 0) + 32 | 0 | 0); $70 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 92 | 0 | 0, (HEAP32[($5 + 140 | 0) >> 2] | 0) + 64 | 0 | 0)); HEAPF32[((HEAP32[($5 + 140 | 0) >> 2] | 0) + 80 | 0) >> 2] = $70; $72 = HEAP32[($5 + 140 | 0) >> 2] | 0; HEAP32[($72 + 164 | 0) >> 2] = (HEAP32[($72 + 164 | 0) >> 2] | 0) + 1 | 0; HEAP32[($5 + 144 | 0) >> 2] = (HEAP32[($5 + 144 | 0) >> 2] | 0) + -1 | 0; continue label$2; }; } btVector3__btVector3_28_29($5 + 72 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 56 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btPersistentManifold__getNumContacts_28_29_20const($6 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 144 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 52 | 0) >> 2] = ($6 + 4 | 0) + Math_imul(HEAP32[($5 + 144 | 0) >> 2] | 0, 208) | 0; label$5 : { label$6 : { if ((btPersistentManifold__validContactDistance_28btManifoldPoint_20const__29_20const($6 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$6 } btPersistentManifold__removeContactPoint_28int_29($6 | 0, HEAP32[($5 + 144 | 0) >> 2] | 0 | 0); break label$5; } $108 = (HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0; operator__28btVector3_20const__2c_20float_20const__29($5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 80 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $108 | 0, $5 + 20 | 0 | 0); $124 = 8; i64toi32_i32$2 = ($5 + 36 | 0) + $124 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $449 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 56 | 0) + $124 | 0; HEAP32[i64toi32_i32$0 >> 2] = $449; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 36 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 40 | 0) >> 2] | 0; $453 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 56 | 0) >> 2] = $453; HEAP32[($5 + 60 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 32 | 0 | 0, $5 + 56 | 0 | 0); $142 = 8; i64toi32_i32$2 = ($5 + 4 | 0) + $142 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $485 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 72 | 0) + $142 | 0; HEAP32[i64toi32_i32$0 >> 2] = $485; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; $489 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 72 | 0) >> 2] = $489; HEAP32[($5 + 76 | 0) >> 2] = i64toi32_i32$0; $153 = $5 + 72 | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($153 | 0, $153 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; label$7 : { label$8 : { if (!(Math_fround(HEAPF32[($5 + 88 | 0) >> 2]) > Math_fround(Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const($6 | 0)) * Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const($6 | 0))) & 1 | 0)) { break label$8 } btPersistentManifold__removeContactPoint_28int_29($6 | 0, HEAP32[($5 + 144 | 0) >> 2] | 0 | 0); break label$7; } label$9 : { if (!((HEAP32[(0 + 115356 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } FUNCTION_TABLE[HEAP32[(0 + 115356 | 0) >> 2] | 0 | 0](HEAP32[($5 + 52 | 0) >> 2] | 0, HEAP32[($6 + 836 | 0) >> 2] | 0, HEAP32[($6 + 840 | 0) >> 2] | 0) | 0; } } } HEAP32[($5 + 144 | 0) >> 2] = (HEAP32[($5 + 144 | 0) >> 2] | 0) + -1 | 0; continue label$4; }; } __stack_pointer = $5 + 160 | 0; return; } function btPersistentManifold__removeContactPoint_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $110 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btPersistentManifold__clearUserCache_28btManifoldPoint__29($5 | 0, ($5 + 4 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 208) | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btPersistentManifold__getNumContacts_28_29_20const($5 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } __memcpy(($5 + 4 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 208) | 0 | 0, ($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0 | 0, 208 | 0) | 0; HEAP32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 116 | 0) >> 2] = 0; HEAPF32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 132 | 0) >> 2] = Math_fround(0 | 0); HEAP32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 128 | 0) >> 2] = 0; HEAPF32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 136 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 140 | 0) >> 2] = Math_fround(0 | 0); HEAP32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 164 | 0) >> 2] = 0; } label$2 : { if ((HEAP32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } __assert_fail(85943 | 0, 80072 | 0, 180 | 0, 67601 | 0); wasm2js_trap(); } HEAP32[($5 + 844 | 0) >> 2] = (HEAP32[($5 + 844 | 0) >> 2] | 0) + -1 | 0; label$3 : { if (!((HEAP32[(0 + 115364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } if (HEAP32[($5 + 844 | 0) >> 2] | 0) { break label$3 } $110 = HEAP32[(0 + 115364 | 0) >> 2] | 0; HEAP32[$4 >> 2] = $5; FUNCTION_TABLE[$110 | 0]($4); } __stack_pointer = $4 + 16 | 0; return; } function _GLOBAL__sub_I_btPersistentManifold_cpp() { __cxx_global_var_init_63(); return; } function __cxx_global_var_init_64() { btInfMaskConverter__btInfMaskConverter_28int_29(115368 | 0, 2139095040 | 0) | 0; return; } function btTriangleRaycastCallback__btTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $12 = 0, $15 = 0, $20 = 0, $23 = 0, $61 = 0, $71 = 0, $80 = 0, $90 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btTriangleCallback__btTriangleCallback_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 101800 + 8 | 0; $12 = $7 + 4 | 0; i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $61 = i64toi32_i32$0; i64toi32_i32$0 = $12; HEAP32[i64toi32_i32$0 >> 2] = $61; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $15 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $71 = i64toi32_i32$1; i64toi32_i32$1 = $12 + $15 | 0; HEAP32[i64toi32_i32$1 >> 2] = $71; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $20 = $7 + 20 | 0; i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $80 = i64toi32_i32$0; i64toi32_i32$0 = $20; HEAP32[i64toi32_i32$0 >> 2] = $80; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $23 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $23 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $90 = i64toi32_i32$1; i64toi32_i32$1 = $20 + $23 | 0; HEAP32[i64toi32_i32$1 >> 2] = $90; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($7 + 36 | 0) >> 2] = HEAP32[$6 >> 2] | 0; HEAPF32[($7 + 40 | 0) >> 2] = Math_fround(1.0); __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btTriangleRaycastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $23 = 0, $40 = 0, $61 = 0, $149 = 0, $168 = 0, $189 = 0, $219 = 0, $240 = 0, $272 = 0, $395 = 0, $399 = 0, $432 = 0, $436 = 0, $473 = 0, $477 = 0, $668 = 0, $672 = 0, $707 = 0, $711 = 0, $748 = 0, $752 = 0, $808 = 0, $812 = 0, $849 = 0, $853 = 0, $911 = 0, $915 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 384 | 0; __stack_pointer = $6; HEAP32[($6 + 380 | 0) >> 2] = $0; HEAP32[($6 + 376 | 0) >> 2] = $1; HEAP32[($6 + 372 | 0) >> 2] = $2; HEAP32[($6 + 368 | 0) >> 2] = $3; $7 = HEAP32[($6 + 380 | 0) >> 2] | 0; HEAP32[($6 + 364 | 0) >> 2] = HEAP32[($6 + 376 | 0) >> 2] | 0; HEAP32[($6 + 360 | 0) >> 2] = (HEAP32[($6 + 376 | 0) >> 2] | 0) + 16 | 0; HEAP32[($6 + 356 | 0) >> 2] = (HEAP32[($6 + 376 | 0) >> 2] | 0) + 32 | 0; btVector3__btVector3_28_29($6 + 336 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 320 | 0 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0 | 0, HEAP32[($6 + 364 | 0) >> 2] | 0 | 0); $23 = 8; i64toi32_i32$2 = ($6 + 320 | 0) + $23 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $395 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 336 | 0) + $23 | 0; HEAP32[i64toi32_i32$0 >> 2] = $395; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 320 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 324 | 0) >> 2] | 0; $399 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 336 | 0) >> 2] = $399; HEAP32[($6 + 340 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($6 + 304 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 288 | 0 | 0, HEAP32[($6 + 356 | 0) >> 2] | 0 | 0, HEAP32[($6 + 364 | 0) >> 2] | 0 | 0); $40 = 8; i64toi32_i32$2 = ($6 + 288 | 0) + $40 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $432 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 304 | 0) + $40 | 0; HEAP32[i64toi32_i32$0 >> 2] = $432; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 288 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 292 | 0) >> 2] | 0; $436 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 304 | 0) >> 2] = $436; HEAP32[($6 + 308 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($6 + 272 | 0 | 0) | 0; btVector3__cross_28btVector3_20const__29_20const($6 + 256 | 0 | 0, $6 + 336 | 0 | 0, $6 + 304 | 0 | 0); $61 = 8; i64toi32_i32$2 = ($6 + 256 | 0) + $61 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $473 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 272 | 0) + $61 | 0; HEAP32[i64toi32_i32$0 >> 2] = $473; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 256 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 260 | 0) >> 2] | 0; $477 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 272 | 0) >> 2] = $477; HEAP32[($6 + 276 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 364 | 0) >> 2] | 0 | 0, $6 + 272 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 272 | 0 | 0, $7 + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($6 + 248 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 252 | 0) >> 2])); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 272 | 0 | 0, $7 + 20 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($6 + 244 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 244 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 252 | 0) >> 2])); label$1 : { label$2 : { if (!(Math_fround(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 244 | 0) >> 2])) >= Math_fround(0 | 0) & 1 | 0)) { break label$2 } break label$1; } label$3 : { if (!((HEAP32[($7 + 36 | 0) >> 2] | 0) & 1 | 0)) { break label$3 } if (!(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$3 } break label$1; } HEAPF32[($6 + 240 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 244 | 0) >> 2])); HEAPF32[($6 + 236 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 240 | 0) >> 2])); if (!(Math_fround(HEAPF32[($6 + 236 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 40 | 0) >> 2]) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 272 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($6 + 232 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 232 | 0) >> 2]) * Math_fround(-9.999999747378752e-05)); btVector3__btVector3_28_29($6 + 216 | 0 | 0) | 0; btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($6 + 216 | 0 | 0, $7 + 4 | 0 | 0, $7 + 20 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 236 | 0) >> 2]))); btVector3__btVector3_28_29($6 + 200 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 184 | 0 | 0, HEAP32[($6 + 364 | 0) >> 2] | 0 | 0, $6 + 216 | 0 | 0); $149 = 8; i64toi32_i32$2 = ($6 + 184 | 0) + $149 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $668 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 200 | 0) + $149 | 0; HEAP32[i64toi32_i32$0 >> 2] = $668; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 184 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 188 | 0) >> 2] | 0; $672 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 200 | 0) >> 2] = $672; HEAP32[($6 + 204 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($6 + 168 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 152 | 0 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0 | 0, $6 + 216 | 0 | 0); $168 = 8; i64toi32_i32$2 = ($6 + 152 | 0) + $168 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $707 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 168 | 0) + $168 | 0; HEAP32[i64toi32_i32$0 >> 2] = $707; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 152 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 156 | 0) >> 2] | 0; $711 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 168 | 0) >> 2] = $711; HEAP32[($6 + 172 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($6 + 136 | 0 | 0) | 0; btVector3__cross_28btVector3_20const__29_20const($6 + 120 | 0 | 0, $6 + 200 | 0 | 0, $6 + 168 | 0 | 0); $189 = 8; i64toi32_i32$2 = ($6 + 120 | 0) + $189 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $748 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 136 | 0) + $189 | 0; HEAP32[i64toi32_i32$0 >> 2] = $748; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 120 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 124 | 0) >> 2] | 0; $752 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 136 | 0) >> 2] = $752; HEAP32[($6 + 140 | 0) >> 2] = i64toi32_i32$0; label$4 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 136 | 0 | 0, $6 + 272 | 0 | 0)) >= Math_fround(HEAPF32[($6 + 232 | 0) >> 2]) & 1 | 0)) { break label$4 } btVector3__btVector3_28_29($6 + 104 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 88 | 0 | 0, HEAP32[($6 + 356 | 0) >> 2] | 0 | 0, $6 + 216 | 0 | 0); $219 = 8; i64toi32_i32$2 = ($6 + 88 | 0) + $219 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $808 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 104 | 0) + $219 | 0; HEAP32[i64toi32_i32$0 >> 2] = $808; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 88 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 92 | 0) >> 2] | 0; $812 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 104 | 0) >> 2] = $812; HEAP32[($6 + 108 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($6 + 72 | 0 | 0) | 0; btVector3__cross_28btVector3_20const__29_20const($6 + 56 | 0 | 0, $6 + 168 | 0 | 0, $6 + 104 | 0 | 0); $240 = 8; i64toi32_i32$2 = ($6 + 56 | 0) + $240 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $849 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 72 | 0) + $240 | 0; HEAP32[i64toi32_i32$0 >> 2] = $849; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 56 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 60 | 0) >> 2] | 0; $853 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 72 | 0) >> 2] = $853; HEAP32[($6 + 76 | 0) >> 2] = i64toi32_i32$0; label$5 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 72 | 0 | 0, $6 + 272 | 0 | 0)) >= Math_fround(HEAPF32[($6 + 232 | 0) >> 2]) & 1 | 0)) { break label$5 } btVector3__btVector3_28_29($6 + 40 | 0 | 0) | 0; btVector3__cross_28btVector3_20const__29_20const($6 + 24 | 0 | 0, $6 + 104 | 0 | 0, $6 + 200 | 0 | 0); $272 = 8; i64toi32_i32$2 = ($6 + 24 | 0) + $272 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $911 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 40 | 0) + $272 | 0; HEAP32[i64toi32_i32$0 >> 2] = $911; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; $915 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 40 | 0) >> 2] = $915; HEAP32[($6 + 44 | 0) >> 2] = i64toi32_i32$0; label$6 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 40 | 0 | 0, $6 + 272 | 0 | 0)) >= Math_fround(HEAPF32[($6 + 232 | 0) >> 2]) & 1 | 0)) { break label$6 } btVector3__normalize_28_29($6 + 272 | 0 | 0) | 0; label$7 : { label$8 : { if ((HEAP32[($7 + 36 | 0) >> 2] | 0) & 2 | 0) { break label$8 } if (!(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$8 } operator__28btVector3_20const__29($6 + 8 | 0 | 0, $6 + 272 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($7, $6 + 8 | 0, Math_fround(HEAPF32[($6 + 236 | 0) >> 2]), HEAP32[($6 + 372 | 0) >> 2] | 0, HEAP32[($6 + 368 | 0) >> 2] | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; break label$7; } (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($7, $6 + 272 | 0, Math_fround(HEAPF32[($6 + 236 | 0) >> 2]), HEAP32[($6 + 372 | 0) >> 2] | 0, HEAP32[($6 + 368 | 0) >> 2] | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; } } } } } __stack_pointer = $6 + 384 | 0; return; } function btTriangleConvexcastCallback__btTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); var $8 = 0, $9 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; btTriangleCallback__btTriangleCallback_28_29($9 | 0) | 0; HEAP32[$9 >> 2] = 101824 + 8 | 0; btTransform__btTransform_28_29($9 + 8 | 0 | 0) | 0; btTransform__btTransform_28_29($9 + 72 | 0 | 0) | 0; btTransform__btTransform_28_29($9 + 136 | 0 | 0) | 0; HEAP32[($9 + 4 | 0) >> 2] = HEAP32[($8 + 24 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29($9 + 8 | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($9 + 72 | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($9 + 136 | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($9 + 200 | 0) >> 2] = Math_fround(1.0); HEAPF32[($9 + 204 | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); HEAPF32[($9 + 208 | 0) >> 2] = Math_fround(0 | 0); __stack_pointer = $8 + 32 | 0; return $9 | 0; } function btTriangleConvexcastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 704 | 0; __stack_pointer = $6; HEAP32[($6 + 700 | 0) >> 2] = $0; HEAP32[($6 + 696 | 0) >> 2] = $1; HEAP32[($6 + 692 | 0) >> 2] = $2; HEAP32[($6 + 688 | 0) >> 2] = $3; $7 = HEAP32[($6 + 700 | 0) >> 2] | 0; btTriangleShape__btTriangleShape_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 576 | 0 | 0, HEAP32[($6 + 696 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 696 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($6 + 696 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; btConvexInternalShape__setMargin_28float_29($6 + 576 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 204 | 0) >> 2]))); btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($6 + 216 | 0 | 0) | 0; btGjkEpaPenetrationDepthSolver__btGjkEpaPenetrationDepthSolver_28_29($6 + 212 | 0 | 0) | 0; btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($6 + 188 | 0 | 0, HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 576 | 0 | 0, $6 + 216 | 0 | 0, $6 + 212 | 0 | 0) | 0; btConvexCast__CastResult__CastResult_28_29($6 + 12 | 0 | 0) | 0; HEAPF32[($6 + 176 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 184 | 0) >> 2] = Math_fround(HEAPF32[($7 + 208 | 0) >> 2]); label$1 : { if (!((btContinuousConvexCollision__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($6 + 188 | 0 | 0, $7 + 8 | 0 | 0, $7 + 72 | 0 | 0, $7 + 136 | 0 | 0, $7 + 136 | 0 | 0, $6 + 12 | 0 | 0) | 0) & 1 | 0)) { break label$1 } label$2 : { if (!(Math_fround(btVector3__length2_28_29_20const(($6 + 12 | 0) + 132 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { break label$2 } label$3 : { if (!(Math_fround(HEAPF32[($6 + 176 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 200 | 0) >> 2]) & 1 | 0)) { break label$3 } btVector3__normalize_28_29(($6 + 12 | 0) + 132 | 0 | 0) | 0; Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($7, ($6 + 12 | 0) + 132 | 0, ($6 + 12 | 0) + 148 | 0, Math_fround(HEAPF32[($6 + 176 | 0) >> 2]), HEAP32[($6 + 692 | 0) >> 2] | 0, HEAP32[($6 + 688 | 0) >> 2] | 0)); } } } btConvexCast__CastResult___CastResult_28_29($6 + 12 | 0 | 0) | 0; btContinuousConvexCollision___btContinuousConvexCollision_28_29($6 + 188 | 0 | 0) | 0; btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29($6 + 212 | 0 | 0) | 0; btTriangleShape___btTriangleShape_28_29($6 + 576 | 0 | 0) | 0; __stack_pointer = $6 + 704 | 0; return; } function btTriangleRaycastCallback___btTriangleRaycastCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btRaycastCallback_cpp() { __cxx_global_var_init_64(); return; } function __cxx_global_var_init_65() { btInfMaskConverter__btInfMaskConverter_28int_29(115372 | 0, 2139095040 | 0) | 0; return; } function btSubsimplexConvexCast__btSubsimplexConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btConvexCast__btConvexCast_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 101932 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = HEAP32[$6 >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btSubsimplexConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $24 = 0, $40 = 0, $72 = 0, $102 = 0, $134 = 0, $185 = 0, $186 = 0, $196 = 0, $230 = 0, $239 = 0, $267 = 0, $285 = 0, $362 = 0, $371 = 0, $428 = 0, $430 = 0, $456 = 0, $458 = 0, $495 = 0, $497 = 0, $575 = 0, $579 = 0, $610 = 0, $614 = 0, $71 = 0, $101 = 0, $790 = 0, $794 = 0, $970 = 0, $974 = 0, $1040 = 0, $1044 = 0, $1075 = 0, $1079 = 0, $1232 = 0, $1236 = 0, $1252 = 0, $1256 = 0, $1352 = 0, $1365 = 0, $1407 = 0, $1420 = 0, $1485 = 0, $1498 = 0, $508 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 720 | 0; __stack_pointer = $8; HEAP32[($8 + 712 | 0) >> 2] = $0; HEAP32[($8 + 708 | 0) >> 2] = $1; HEAP32[($8 + 704 | 0) >> 2] = $2; HEAP32[($8 + 700 | 0) >> 2] = $3; HEAP32[($8 + 696 | 0) >> 2] = $4; HEAP32[($8 + 692 | 0) >> 2] = $5; $9 = HEAP32[($8 + 712 | 0) >> 2] | 0; btVoronoiSimplexSolver__reset_28_29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0); btVector3__btVector3_28_29($8 + 672 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 656 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 640 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 708 | 0) >> 2] | 0 | 0) | 0 | 0); $24 = 8; i64toi32_i32$2 = ($8 + 640 | 0) + $24 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $575 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 672 | 0) + $24 | 0; HEAP32[i64toi32_i32$0 >> 2] = $575; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 640 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 644 | 0) >> 2] | 0; $579 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 672 | 0) >> 2] = $579; HEAP32[($8 + 676 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 624 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 696 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0); $40 = 8; i64toi32_i32$2 = ($8 + 624 | 0) + $40 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $610 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 656 | 0) + $40 | 0; HEAP32[i64toi32_i32$0 >> 2] = $610; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 624 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 628 | 0) >> 2] | 0; $614 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 656 | 0) >> 2] = $614; HEAP32[($8 + 660 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 620 | 0) >> 2] = Math_fround(0 | 0); btTransform__btTransform_28btTransform_20const__29($8 + 556 | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($8 + 492 | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 476 | 0 | 0, $8 + 672 | 0 | 0, $8 + 656 | 0 | 0); btVector3__btVector3_28_29($8 + 456 | 0 | 0) | 0; $71 = HEAP32[($8 + 708 | 0) >> 2] | 0; $72 = HEAP32[($9 + 8 | 0) >> 2] | 0; operator__28btVector3_20const__29($8 + 392 | 0 | 0, $8 + 476 | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($8 + 408 | 0 | 0, $8 + 392 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 708 | 0) >> 2] | 0 | 0) | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$72 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 424 | 0, $72, $8 + 408 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 440 | 0 | 0, $71 | 0, $8 + 424 | 0 | 0); $101 = HEAP32[($8 + 700 | 0) >> 2] | 0; $102 = HEAP32[($9 + 12 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($8 + 344 | 0 | 0, $8 + 476 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$102 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 360 | 0, $102, $8 + 344 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 376 | 0 | 0, $101 | 0, $8 + 360 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 328 | 0 | 0, $8 + 440 | 0 | 0, $8 + 376 | 0 | 0); $134 = 8; i64toi32_i32$2 = ($8 + 328 | 0) + $134 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $790 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 456 | 0) + $134 | 0; HEAP32[i64toi32_i32$0 >> 2] = $790; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 328 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 332 | 0) >> 2] | 0; $794 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 456 | 0) >> 2] = $794; HEAP32[($8 + 460 | 0) >> 2] = i64toi32_i32$0; HEAP32[($8 + 324 | 0) >> 2] = 32; btVector3__btVector3_28_29($8 + 304 | 0 | 0) | 0; HEAPF32[($8 + 300 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 296 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 292 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 304 | 0 | 0, $8 + 300 | 0 | 0, $8 + 296 | 0 | 0, $8 + 292 | 0 | 0); btVector3__btVector3_28_29($8 + 276 | 0 | 0) | 0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($8 + 456 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($8 + 268 | 0) >> 2] = Math_fround(9.999999747378752e-05); btVector3__btVector3_28_29($8 + 248 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 232 | 0 | 0) | 0; label$1 : { label$2 : while (1) { $185 = 0; label$3 : { if (!(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 268 | 0) >> 2]) & 1 | 0)) { break label$3 } $186 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP32[($8 + 324 | 0) >> 2] = $186 + -1 | 0; $185 = ($186 | 0) != (0 | 0); } label$4 : { if (!($185 & 1 | 0)) { break label$4 } $196 = HEAP32[($9 + 8 | 0) >> 2] | 0; operator__28btVector3_20const__29($8 + 164 | 0 | 0, $8 + 456 | 0 | 0); operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($8 + 180 | 0 | 0, $8 + 164 | 0 | 0, btTransform__getBasis_28_29($8 + 556 | 0 | 0) | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$196 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 196 | 0, $196, $8 + 180 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 212 | 0 | 0, $8 + 556 | 0 | 0, $8 + 196 | 0 | 0); $230 = 8; i64toi32_i32$2 = ($8 + 212 | 0) + $230 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $970 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 440 | 0) + $230 | 0; HEAP32[i64toi32_i32$0 >> 2] = $970; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 212 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 216 | 0) >> 2] | 0; $974 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 440 | 0) >> 2] = $974; HEAP32[($8 + 444 | 0) >> 2] = i64toi32_i32$0; $239 = HEAP32[($9 + 12 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($8 + 116 | 0 | 0, $8 + 456 | 0 | 0, btTransform__getBasis_28_29($8 + 492 | 0 | 0) | 0 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$239 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 132 | 0, $239, $8 + 116 | 0); btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 148 | 0 | 0, $8 + 492 | 0 | 0, $8 + 132 | 0 | 0); $267 = 8; i64toi32_i32$2 = ($8 + 148 | 0) + $267 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1040 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 376 | 0) + $267 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1040; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 148 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 152 | 0) >> 2] | 0; $1044 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 376 | 0) >> 2] = $1044; HEAP32[($8 + 380 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 100 | 0 | 0, $8 + 440 | 0 | 0, $8 + 376 | 0 | 0); $285 = 8; i64toi32_i32$2 = ($8 + 100 | 0) + $285 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1075 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 248 | 0) + $285 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1075; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 100 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 104 | 0) >> 2] | 0; $1079 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 248 | 0) >> 2] = $1079; HEAP32[($8 + 252 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 456 | 0 | 0, $8 + 248 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; label$5 : { if (!(Math_fround(HEAPF32[($8 + 620 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { break label$5 } HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$6 : { if (!(Math_fround(HEAPF32[($8 + 96 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 456 | 0 | 0, $8 + 476 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; label$7 : { if (!(Math_fround(HEAPF32[($8 + 228 | 0) >> 2]) >= Math_fround(-1.4210854715202004e-14) & 1 | 0)) { break label$7 } HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAPF32[($8 + 620 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 620 | 0) >> 2]) - Math_fround(Math_fround(HEAPF32[($8 + 96 | 0) >> 2]) / Math_fround(HEAPF32[($8 + 228 | 0) >> 2]))); btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29(btTransform__getOrigin_28_29($8 + 556 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 708 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 620 | 0) >> 2]))); btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29(btTransform__getOrigin_28_29($8 + 492 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 696 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 620 | 0) >> 2]))); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 80 | 0 | 0, $8 + 440 | 0 | 0, $8 + 376 | 0 | 0); $362 = 8; i64toi32_i32$2 = ($8 + 80 | 0) + $362 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1232 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 248 | 0) + $362 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1232; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 80 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 84 | 0) >> 2] | 0; $1236 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 248 | 0) >> 2] = $1236; HEAP32[($8 + 252 | 0) >> 2] = i64toi32_i32$0; $371 = 8; i64toi32_i32$2 = ($8 + 456 | 0) + $371 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1252 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 304 | 0) + $371 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1252; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 456 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 460 | 0) >> 2] | 0; $1256 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 304 | 0) >> 2] = $1256; HEAP32[($8 + 308 | 0) >> 2] = i64toi32_i32$0; } label$8 : { if ((btVoronoiSimplexSolver__inSimplex_28btVector3_20const__29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, $8 + 248 | 0 | 0) | 0) & 1 | 0) { break label$8 } btVoronoiSimplexSolver__addVertex_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, $8 + 248 | 0 | 0, $8 + 440 | 0 | 0, $8 + 376 | 0 | 0); } label$9 : { label$10 : { if (!((btVoronoiSimplexSolver__closest_28btVector3__29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, $8 + 456 | 0 | 0) | 0) & 1 | 0)) { break label$10 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($8 + 456 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_f32$0; break label$9; } HEAPF32[($8 + 272 | 0) >> 2] = Math_fround(0 | 0); } continue label$2; } break label$2; }; HEAPF32[((HEAP32[($8 + 692 | 0) >> 2] | 0) + 164 | 0) >> 2] = Math_fround(HEAPF32[($8 + 620 | 0) >> 2]); label$11 : { label$12 : { if (!(Math_fround(btVector3__length2_28_29_20const($8 + 304 | 0 | 0)) >= Math_fround(1.4210854715202004e-14) & 1 | 0)) { break label$12 } btVector3__normalized_28_29_20const($8 + 64 | 0 | 0, $8 + 304 | 0 | 0); $428 = (HEAP32[($8 + 692 | 0) >> 2] | 0) + 132 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 68 | 0) >> 2] | 0; $1352 = i64toi32_i32$0; i64toi32_i32$0 = $428; HEAP32[i64toi32_i32$0 >> 2] = $1352; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $430 = 8; i64toi32_i32$2 = ($8 + 64 | 0) + $430 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1365 = i64toi32_i32$1; i64toi32_i32$1 = $428 + $430 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1365; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$11; } HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 36 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 48 | 0 | 0, $8 + 44 | 0 | 0, $8 + 40 | 0 | 0, $8 + 36 | 0 | 0) | 0; $456 = (HEAP32[($8 + 692 | 0) >> 2] | 0) + 132 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 48 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 52 | 0) >> 2] | 0; $1407 = i64toi32_i32$0; i64toi32_i32$0 = $456; HEAP32[i64toi32_i32$0 >> 2] = $1407; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $458 = 8; i64toi32_i32$2 = ($8 + 48 | 0) + $458 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1420 = i64toi32_i32$1; i64toi32_i32$1 = $456 + $458 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1420; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } label$13 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($8 + 692 | 0) >> 2] | 0) + 132 | 0 | 0, $8 + 476 | 0 | 0)) >= Math_fround(-Math_fround(HEAPF32[((HEAP32[($8 + 692 | 0) >> 2] | 0) + 172 | 0) >> 2])) & 1 | 0)) { break label$13 } HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; break label$1; } btVector3__btVector3_28_29($8 + 20 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 4 | 0 | 0) | 0; btVoronoiSimplexSolver__compute_points_28btVector3__2c_20btVector3__29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, $8 + 20 | 0 | 0, $8 + 4 | 0 | 0); $495 = (HEAP32[($8 + 692 | 0) >> 2] | 0) + 148 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 8 | 0) >> 2] | 0; $1485 = i64toi32_i32$0; i64toi32_i32$0 = $495; HEAP32[i64toi32_i32$0 >> 2] = $1485; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $497 = 8; i64toi32_i32$2 = ($8 + 4 | 0) + $497 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1498 = i64toi32_i32$1; i64toi32_i32$1 = $495 + $497 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1498; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP8[($8 + 719 | 0) >> 0] = 1 & 1 | 0; } $508 = (HEAPU8[($8 + 719 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $8 + 720 | 0; return $508 | 0; } function btSubsimplexConvexCast___btSubsimplexConvexCast_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btSubsimplexConvexCast___btSubsimplexConvexCast_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_btSubSimplexConvexCast_cpp() { __cxx_global_var_init_65(); return; } function __cxx_global_var_init_66() { btInfMaskConverter__btInfMaskConverter_28int_29(115376 | 0, 2139095040 | 0) | 0; return; } function btVoronoiSimplexSolver__removeVertex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $4 = 0, $31 = 0, $33 = 0, $48 = 0, $50 = 0, $65 = 0, $67 = 0, $131 = 0, $141 = 0, $167 = 0, $177 = 0, $203 = 0, $213 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[$5 >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85771 | 0, 72458 | 0, 38 | 0, 66276 | 0); wasm2js_trap(); } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -1 | 0; $31 = ($5 + 4 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = ($5 + 4 | 0) + ((HEAP32[$5 >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $131 = i64toi32_i32$0; i64toi32_i32$0 = $31; HEAP32[i64toi32_i32$0 >> 2] = $131; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $33 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $33 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $141 = i64toi32_i32$1; i64toi32_i32$1 = $31 + $33 | 0; HEAP32[i64toi32_i32$1 >> 2] = $141; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $48 = ($5 + 84 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = ($5 + 84 | 0) + ((HEAP32[$5 >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $167 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $167; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $50 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $50 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $177 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $50 | 0; HEAP32[i64toi32_i32$1 >> 2] = $177; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $65 = ($5 + 164 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = ($5 + 164 | 0) + ((HEAP32[$5 >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $203 = i64toi32_i32$0; i64toi32_i32$0 = $65; HEAP32[i64toi32_i32$0 >> 2] = $203; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $67 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $67 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $213 = i64toi32_i32$1; i64toi32_i32$1 = $65 + $67 | 0; HEAP32[i64toi32_i32$1 >> 2] = $213; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 16 | 0; return; } function btVoronoiSimplexSolver__reduceVertices_28btUsageBitfield_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $63 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0 | 0) >= (4 | 0) & 1 | 0)) { break label$1 } if ((((((HEAPU8[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { break label$1 } btVoronoiSimplexSolver__removeVertex_28int_29($5 | 0, 3 | 0); } label$2 : { if (!((btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0 | 0) >= (3 | 0) & 1 | 0)) { break label$2 } if ((((((HEAPU8[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { break label$2 } btVoronoiSimplexSolver__removeVertex_28int_29($5 | 0, 2 | 0); } label$3 : { if (!((btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0 | 0) >= (2 | 0) & 1 | 0)) { break label$3 } $63 = 1; if ((((((HEAPU8[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 0] | 0) >>> $63 | 0) & $63 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { break label$3 } btVoronoiSimplexSolver__removeVertex_28int_29($5 | 0, 1 | 0); } label$4 : { if (!((btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0 | 0) >= (1 | 0) & 1 | 0)) { break label$4 } if (((((HEAPU8[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 0] | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { break label$4 } btVoronoiSimplexSolver__removeVertex_28int_29($5 | 0, 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btVoronoiSimplexSolver__numVertices_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; } function btVoronoiSimplexSolver__reset_28_29($0) { $0 = $0 | 0; var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $22 = 0, $24 = 0, $79 = 0, $92 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; HEAP8[($4 + 312 | 0) >> 0] = 0; HEAP32[$4 >> 2] = 0; HEAP8[($4 + 356 | 0) >> 0] = 1; HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(999999984306749440.0); HEAPF32[$3 >> 2] = Math_fround(999999984306749440.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0) | 0; $22 = $4 + 292 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 16 | 0) >> 2] | 0; $79 = i64toi32_i32$0; i64toi32_i32$0 = $22; HEAP32[i64toi32_i32$0 >> 2] = $79; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $24 = 8; i64toi32_i32$2 = ($3 + 12 | 0) + $24 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $92 = i64toi32_i32$1; i64toi32_i32$1 = $22 + $24 | 0; HEAP32[i64toi32_i32$1 >> 2] = $92; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btSubSimplexClosestResult__reset_28_29($4 + 316 | 0 | 0); __stack_pointer = $3 + 32 | 0; return; } function btSubSimplexClosestResult__reset_28_29($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0), $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 36 | 0) >> 0] = 0; $7 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29($4 | 0, Math_fround($7), Math_fround($7), Math_fround($7), Math_fround($7)); btUsageBitfield__reset_28_29($4 + 16 | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAPF32[($7 + 24 | 0) >> 2] = $1; HEAPF32[($7 + 20 | 0) >> 2] = $2; HEAPF32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; HEAPF32[($8 + 20 | 0) >> 2] = Math_fround(HEAPF32[($7 + 24 | 0) >> 2]); HEAPF32[($8 + 24 | 0) >> 2] = Math_fround(HEAPF32[($7 + 20 | 0) >> 2]); HEAPF32[($8 + 28 | 0) >> 2] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]); HEAPF32[($8 + 32 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); return; } function btVoronoiSimplexSolver__addVertex_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $6 = 0, $10 = 0, $12 = 0, $23 = 0, $25 = 0, $35 = 0, $37 = 0, $47 = 0, $49 = 0, $78 = 0, $88 = 0, $107 = 0, $117 = 0, $134 = 0, $144 = 0, $161 = 0, $171 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; $10 = $7 + 292 | 0; i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $78 = i64toi32_i32$0; i64toi32_i32$0 = $10; HEAP32[i64toi32_i32$0 >> 2] = $78; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $12 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $88 = i64toi32_i32$1; i64toi32_i32$1 = $10 + $12 | 0; HEAP32[i64toi32_i32$1 >> 2] = $88; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP8[($7 + 356 | 0) >> 0] = 1; $23 = ($7 + 4 | 0) + ((HEAP32[$7 >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $107 = i64toi32_i32$0; i64toi32_i32$0 = $23; HEAP32[i64toi32_i32$0 >> 2] = $107; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $117 = i64toi32_i32$1; i64toi32_i32$1 = $23 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $117; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $35 = ($7 + 84 | 0) + ((HEAP32[$7 >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $134 = i64toi32_i32$0; i64toi32_i32$0 = $35; HEAP32[i64toi32_i32$0 >> 2] = $134; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $37 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $37 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $144 = i64toi32_i32$1; i64toi32_i32$1 = $35 + $37 | 0; HEAP32[i64toi32_i32$1 >> 2] = $144; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $47 = ($7 + 164 | 0) + ((HEAP32[$7 >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$2 = HEAP32[$6 >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $161 = i64toi32_i32$0; i64toi32_i32$0 = $47; HEAP32[i64toi32_i32$0 >> 2] = $161; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $49 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $49 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $171 = i64toi32_i32$1; i64toi32_i32$1 = $47 + $49 | 0; HEAP32[i64toi32_i32$1 >> 2] = $171; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + 1 | 0; return; } function btVoronoiSimplexSolver__updateClosestVectorAndPoints_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $54 = Math_fround(0), $135 = 0, $11 = 0, $17 = 0, $19 = 0, $26 = 0, $28 = 0, $40 = 0, $42 = 0, $114 = 0, $165 = Math_fround(0), $182 = 0, $218 = 0, $220 = 0, $253 = 0, $255 = 0, $269 = 0, $271 = 0, $376 = 0, $378 = 0, $438 = 0, $440 = 0, $454 = 0, $456 = 0, $594 = 0, $596 = 0, $678 = 0, $680 = 0, $694 = 0, $696 = 0, $778 = 0, $788 = 0, $798 = 0, $808 = 0, $828 = 0, $841 = 0, $166 = 0, $1128 = 0, $1132 = 0, $1184 = 0, $1197 = 0, $1249 = 0, $1262 = 0, $1282 = 0, $1295 = 0, $1484 = 0, $1497 = 0, $1594 = 0, $1607 = 0, $1627 = 0, $1640 = 0, $1889 = 0, $1902 = 0, $2036 = 0, $2049 = 0, $2069 = 0, $2082 = 0, $736 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 800 | 0; __stack_pointer = $3; HEAP32[($3 + 796 | 0) >> 2] = $0; $4 = HEAP32[($3 + 796 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($4 + 356 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btSubSimplexClosestResult__reset_28_29($4 + 316 | 0 | 0); HEAP8[($4 + 356 | 0) >> 0] = 0; $11 = btVoronoiSimplexSolver__numVertices_28_29_20const($4 | 0) | 0; label$2 : { label$3 : { switch ($11 | 0) { case 0: HEAP8[($4 + 312 | 0) >> 0] = 0; break label$2; case 1: $17 = $4 + 244 | 0; i64toi32_i32$2 = $4 + 84 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $778 = i64toi32_i32$0; i64toi32_i32$0 = $17; HEAP32[i64toi32_i32$0 >> 2] = $778; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $788 = i64toi32_i32$1; i64toi32_i32$1 = $17 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $788; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $26 = $4 + 260 | 0; i64toi32_i32$2 = $4 + 164 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $798 = i64toi32_i32$0; i64toi32_i32$0 = $26; HEAP32[i64toi32_i32$0 >> 2] = $798; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $28 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $808 = i64toi32_i32$1; i64toi32_i32$1 = $26 + $28 | 0; HEAP32[i64toi32_i32$1 >> 2] = $808; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 780 | 0 | 0, $4 + 244 | 0 | 0, $4 + 260 | 0 | 0); $40 = $4 + 276 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 780 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 784 | 0) >> 2] | 0; $828 = i64toi32_i32$0; i64toi32_i32$0 = $40; HEAP32[i64toi32_i32$0 >> 2] = $828; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $42 = 8; i64toi32_i32$2 = ($3 + 780 | 0) + $42 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $841 = i64toi32_i32$1; i64toi32_i32$1 = $40 + $42 | 0; HEAP32[i64toi32_i32$1 >> 2] = $841; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btSubSimplexClosestResult__reset_28_29($4 + 316 | 0 | 0); $54 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29($4 + 316 | 0 | 0, Math_fround(Math_fround(1.0)), Math_fround($54), Math_fround($54), Math_fround($54)); (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btSubSimplexClosestResult__isValid_28_29($4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 312 | 0) >> 0] = wasm2js_i32$1; break label$2; case 2: HEAP32[($3 + 776 | 0) >> 2] = $4 + 4 | 0; HEAP32[($3 + 772 | 0) >> 2] = ($4 + 4 | 0) + 16 | 0; btVector3__btVector3_28_29($3 + 752 | 0 | 0) | 0; HEAPF32[($3 + 732 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 728 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 724 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 736 | 0 | 0, $3 + 732 | 0 | 0, $3 + 728 | 0 | 0, $3 + 724 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 708 | 0 | 0, $3 + 736 | 0 | 0, HEAP32[($3 + 776 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 692 | 0 | 0, HEAP32[($3 + 772 | 0) >> 2] | 0 | 0, HEAP32[($3 + 776 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($3 + 692 | 0 | 0, $3 + 708 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 688 | 0) >> 2] = wasm2js_f32$0; label$9 : { label$10 : { if (!(Math_fround(HEAPF32[($3 + 688 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$10 } $114 = $3 + 692 | 0; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($114 | 0, $114 | 0))), HEAPF32[(wasm2js_i32$0 + 684 | 0) >> 2] = wasm2js_f32$0; label$11 : { label$12 : { if (!(Math_fround(HEAPF32[($3 + 688 | 0) >> 2]) < Math_fround(HEAPF32[($3 + 684 | 0) >> 2]) & 1 | 0)) { break label$12 } HEAPF32[($3 + 688 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 688 | 0) >> 2]) / Math_fround(HEAPF32[($3 + 684 | 0) >> 2])); operator__28float_20const__2c_20btVector3_20const__29($3 + 668 | 0 | 0, $3 + 688 | 0 | 0, $3 + 692 | 0 | 0); btVector3__operator___28btVector3_20const__29($3 + 708 | 0 | 0, $3 + 668 | 0 | 0) | 0; $135 = $4 + 332 | 0; HEAP8[$135 >> 0] = HEAPU8[$135 >> 0] | 0 | 1 | 0; HEAP8[($4 + 332 | 0) >> 0] = HEAPU8[$135 >> 0] | 0 | 2 | 0; break label$11; } HEAP32[($3 + 688 | 0) >> 2] = 1065353216; btVector3__operator___28btVector3_20const__29($3 + 708 | 0 | 0, $3 + 692 | 0 | 0) | 0; HEAP8[($4 + 332 | 0) >> 0] = HEAPU8[($4 + 332 | 0) >> 0] | 0 | 2 | 0; } break label$9; } HEAP32[($3 + 688 | 0) >> 2] = 0; HEAP8[($4 + 332 | 0) >> 0] = HEAPU8[($4 + 332 | 0) >> 0] | 0 | 1 | 0; } $165 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29($4 + 316 | 0 | 0, Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($3 + 688 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($3 + 688 | 0) >> 2])), Math_fround($165), Math_fround($165)); $166 = HEAP32[($3 + 776 | 0) >> 2] | 0; operator__28float_20const__2c_20btVector3_20const__29($3 + 636 | 0 | 0, $3 + 688 | 0 | 0, $3 + 692 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 652 | 0 | 0, $166 | 0, $3 + 636 | 0 | 0); $182 = 8; i64toi32_i32$2 = ($3 + 652 | 0) + $182 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1128 = i64toi32_i32$0; i64toi32_i32$0 = ($3 + 752 | 0) + $182 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1128; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $3; i64toi32_i32$1 = HEAP32[($3 + 652 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($3 + 656 | 0) >> 2] | 0; $1132 = i64toi32_i32$1; i64toi32_i32$1 = $3; HEAP32[($3 + 752 | 0) >> 2] = $1132; HEAP32[($3 + 756 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 588 | 0 | 0, ($4 + 84 | 0) + 16 | 0 | 0, $4 + 84 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($3 + 604 | 0 | 0, $3 + 688 | 0 | 0, $3 + 588 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 620 | 0 | 0, $4 + 84 | 0 | 0, $3 + 604 | 0 | 0); $218 = $4 + 244 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 620 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 624 | 0) >> 2] | 0; $1184 = i64toi32_i32$0; i64toi32_i32$0 = $218; HEAP32[i64toi32_i32$0 >> 2] = $1184; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $220 = 8; i64toi32_i32$2 = ($3 + 620 | 0) + $220 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1197 = i64toi32_i32$1; i64toi32_i32$1 = $218 + $220 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1197; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 540 | 0 | 0, ($4 + 164 | 0) + 16 | 0 | 0, $4 + 164 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($3 + 556 | 0 | 0, $3 + 688 | 0 | 0, $3 + 540 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 572 | 0 | 0, $4 + 164 | 0 | 0, $3 + 556 | 0 | 0); $253 = $4 + 260 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 572 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 576 | 0) >> 2] | 0; $1249 = i64toi32_i32$0; i64toi32_i32$0 = $253; HEAP32[i64toi32_i32$0 >> 2] = $1249; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $255 = 8; i64toi32_i32$2 = ($3 + 572 | 0) + $255 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1262 = i64toi32_i32$1; i64toi32_i32$1 = $253 + $255 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1262; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 524 | 0 | 0, $4 + 244 | 0 | 0, $4 + 260 | 0 | 0); $269 = $4 + 276 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 524 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 528 | 0) >> 2] | 0; $1282 = i64toi32_i32$0; i64toi32_i32$0 = $269; HEAP32[i64toi32_i32$0 >> 2] = $1282; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $271 = 8; i64toi32_i32$2 = ($3 + 524 | 0) + $271 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1295 = i64toi32_i32$1; i64toi32_i32$1 = $269 + $271 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1295; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVoronoiSimplexSolver__reduceVertices_28btUsageBitfield_20const__29($4 | 0, ($4 + 316 | 0) + 16 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btSubSimplexClosestResult__isValid_28_29($4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 312 | 0) >> 0] = wasm2js_i32$1; break label$2; case 3: HEAPF32[($3 + 504 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 500 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 496 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 508 | 0 | 0, $3 + 504 | 0 | 0, $3 + 500 | 0 | 0, $3 + 496 | 0 | 0) | 0; HEAP32[($3 + 492 | 0) >> 2] = $4 + 4 | 0; HEAP32[($3 + 488 | 0) >> 2] = ($4 + 4 | 0) + 16 | 0; HEAP32[($3 + 484 | 0) >> 2] = ($4 + 4 | 0) + 32 | 0; btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($4 | 0, $3 + 508 | 0 | 0, HEAP32[($3 + 492 | 0) >> 2] | 0 | 0, HEAP32[($3 + 488 | 0) >> 2] | 0 | 0, HEAP32[($3 + 484 | 0) >> 2] | 0 | 0, $4 + 316 | 0 | 0) | 0; operator__28btVector3_20const__2c_20float_20const__29($3 + 436 | 0 | 0, $4 + 84 | 0 | 0, ($4 + 316 | 0) + 20 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 420 | 0 | 0, ($4 + 84 | 0) + 16 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 452 | 0 | 0, $3 + 436 | 0 | 0, $3 + 420 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 404 | 0 | 0, ($4 + 84 | 0) + 32 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 8 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 468 | 0 | 0, $3 + 452 | 0 | 0, $3 + 404 | 0 | 0); $376 = $4 + 244 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 468 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 472 | 0) >> 2] | 0; $1484 = i64toi32_i32$0; i64toi32_i32$0 = $376; HEAP32[i64toi32_i32$0 >> 2] = $1484; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $378 = 8; i64toi32_i32$2 = ($3 + 468 | 0) + $378 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1497 = i64toi32_i32$1; i64toi32_i32$1 = $376 + $378 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1497; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($3 + 356 | 0 | 0, $4 + 164 | 0 | 0, ($4 + 316 | 0) + 20 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 340 | 0 | 0, ($4 + 164 | 0) + 16 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 372 | 0 | 0, $3 + 356 | 0 | 0, $3 + 340 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 324 | 0 | 0, ($4 + 164 | 0) + 32 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 8 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 388 | 0 | 0, $3 + 372 | 0 | 0, $3 + 324 | 0 | 0); $438 = $4 + 260 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 388 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 392 | 0) >> 2] | 0; $1594 = i64toi32_i32$0; i64toi32_i32$0 = $438; HEAP32[i64toi32_i32$0 >> 2] = $1594; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $440 = 8; i64toi32_i32$2 = ($3 + 388 | 0) + $440 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1607 = i64toi32_i32$1; i64toi32_i32$1 = $438 + $440 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1607; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 308 | 0 | 0, $4 + 244 | 0 | 0, $4 + 260 | 0 | 0); $454 = $4 + 276 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 308 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 312 | 0) >> 2] | 0; $1627 = i64toi32_i32$0; i64toi32_i32$0 = $454; HEAP32[i64toi32_i32$0 >> 2] = $1627; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $456 = 8; i64toi32_i32$2 = ($3 + 308 | 0) + $456 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1640 = i64toi32_i32$1; i64toi32_i32$1 = $454 + $456 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1640; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVoronoiSimplexSolver__reduceVertices_28btUsageBitfield_20const__29($4 | 0, ($4 + 316 | 0) + 16 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btSubSimplexClosestResult__isValid_28_29($4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 312 | 0) >> 0] = wasm2js_i32$1; break label$2; case 4: HEAPF32[($3 + 288 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 284 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 280 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 292 | 0 | 0, $3 + 288 | 0 | 0, $3 + 284 | 0 | 0, $3 + 280 | 0 | 0) | 0; HEAP32[($3 + 276 | 0) >> 2] = $4 + 4 | 0; HEAP32[($3 + 272 | 0) >> 2] = ($4 + 4 | 0) + 16 | 0; HEAP32[($3 + 268 | 0) >> 2] = ($4 + 4 | 0) + 32 | 0; HEAP32[($3 + 264 | 0) >> 2] = ($4 + 4 | 0) + 48 | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = (btVoronoiSimplexSolver__closestPtPointTetrahedron_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($4 | 0, $3 + 292 | 0 | 0, HEAP32[($3 + 276 | 0) >> 2] | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0, HEAP32[($3 + 268 | 0) >> 2] | 0 | 0, HEAP32[($3 + 264 | 0) >> 2] | 0 | 0, $4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 263 | 0) >> 0] = wasm2js_i32$1; label$13 : { label$14 : { if (!((HEAPU8[($3 + 263 | 0) >> 0] | 0) & 1 | 0)) { break label$14 } operator__28btVector3_20const__2c_20float_20const__29($3 + 196 | 0 | 0, $4 + 84 | 0 | 0, ($4 + 316 | 0) + 20 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 180 | 0 | 0, ($4 + 84 | 0) + 16 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 212 | 0 | 0, $3 + 196 | 0 | 0, $3 + 180 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 164 | 0 | 0, ($4 + 84 | 0) + 32 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 8 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 228 | 0 | 0, $3 + 212 | 0 | 0, $3 + 164 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 148 | 0 | 0, ($4 + 84 | 0) + 48 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 12 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 244 | 0 | 0, $3 + 228 | 0 | 0, $3 + 148 | 0 | 0); $594 = $4 + 244 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 244 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 248 | 0) >> 2] | 0; $1889 = i64toi32_i32$0; i64toi32_i32$0 = $594; HEAP32[i64toi32_i32$0 >> 2] = $1889; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $596 = 8; i64toi32_i32$2 = ($3 + 244 | 0) + $596 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1902 = i64toi32_i32$1; i64toi32_i32$1 = $594 + $596 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1902; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($3 + 84 | 0 | 0, $4 + 164 | 0 | 0, ($4 + 316 | 0) + 20 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 68 | 0 | 0, ($4 + 164 | 0) + 16 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 4 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 100 | 0 | 0, $3 + 84 | 0 | 0, $3 + 68 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 52 | 0 | 0, ($4 + 164 | 0) + 32 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 8 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 116 | 0 | 0, $3 + 100 | 0 | 0, $3 + 52 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 36 | 0 | 0, ($4 + 164 | 0) + 48 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 12 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 132 | 0 | 0, $3 + 116 | 0 | 0, $3 + 36 | 0 | 0); $678 = $4 + 260 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 132 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 136 | 0) >> 2] | 0; $2036 = i64toi32_i32$0; i64toi32_i32$0 = $678; HEAP32[i64toi32_i32$0 >> 2] = $2036; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $680 = 8; i64toi32_i32$2 = ($3 + 132 | 0) + $680 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2049 = i64toi32_i32$1; i64toi32_i32$1 = $678 + $680 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2049; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 20 | 0 | 0, $4 + 244 | 0 | 0, $4 + 260 | 0 | 0); $694 = $4 + 276 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 24 | 0) >> 2] | 0; $2069 = i64toi32_i32$0; i64toi32_i32$0 = $694; HEAP32[i64toi32_i32$0 >> 2] = $2069; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $696 = 8; i64toi32_i32$2 = ($3 + 20 | 0) + $696 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2082 = i64toi32_i32$1; i64toi32_i32$1 = $694 + $696 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2082; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVoronoiSimplexSolver__reduceVertices_28btUsageBitfield_20const__29($4 | 0, ($4 + 316 | 0) + 16 | 0 | 0); break label$13; } label$15 : { label$16 : { if (!((HEAPU8[($4 + 352 | 0) >> 0] | 0) & 1 | 0)) { break label$16 } HEAP8[($4 + 312 | 0) >> 0] = 0; break label$15; } HEAP8[($4 + 312 | 0) >> 0] = 1; HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 276 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0); } break label$2; } (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btSubSimplexClosestResult__isValid_28_29($4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 312 | 0) >> 0] = wasm2js_i32$1; break label$2; default: break label$3; }; } HEAP8[($4 + 312 | 0) >> 0] = 0; } } $736 = (HEAPU8[($4 + 312 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $3 + 800 | 0; return $736 | 0; } function btSubSimplexClosestResult__isValid_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $12 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $12 = 0; label$1 : { if (!(Math_fround(HEAPF32[($4 + 20 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$1 } $12 = 0; if (!(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$1 } $12 = 0; if (!(Math_fround(HEAPF32[($4 + 28 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$1 } $12 = Math_fround(HEAPF32[($4 + 32 | 0) >> 2]) >= Math_fround(0 | 0); } HEAP8[($3 + 11 | 0) >> 0] = $12 & 1 | 0; return (HEAPU8[($3 + 11 | 0) >> 0] | 0) & 1 | 0 | 0; } function btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $67 = Math_fround(0), $114 = Math_fround(0), $229 = Math_fround(0), $54 = 0, $56 = 0, $60 = 0, $102 = 0, $104 = 0, $108 = 0, $145 = Math_fround(0), $160 = 0, $161 = 0, $168 = 0, $172 = 0, $182 = Math_fround(0), $217 = 0, $219 = 0, $223 = 0, $260 = Math_fround(0), $275 = 0, $276 = 0, $283 = 0, $287 = 0, $297 = Math_fround(0), $333 = Math_fround(0), $339 = 0, $353 = 0, $354 = 0, $361 = 0, $365 = 0, $375 = Math_fround(0), $415 = 0, $416 = 0, $423 = 0, $427 = 0, $431 = 0, $566 = 0, $576 = 0, $668 = 0, $678 = 0, $149 = 0, $808 = 0, $812 = 0, $920 = 0, $930 = 0, $264 = 0, $1060 = 0, $1064 = 0, $1238 = 0, $1242 = 0, $392 = 0, $1378 = 0, $1382 = 0, $450 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 352 | 0; __stack_pointer = $8; HEAP32[($8 + 344 | 0) >> 2] = $0; HEAP32[($8 + 340 | 0) >> 2] = $1; HEAP32[($8 + 336 | 0) >> 2] = $2; HEAP32[($8 + 332 | 0) >> 2] = $3; HEAP32[($8 + 328 | 0) >> 2] = $4; HEAP32[($8 + 324 | 0) >> 2] = $5; btUsageBitfield__reset_28_29((HEAP32[($8 + 324 | 0) >> 2] | 0) + 16 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 308 | 0 | 0, HEAP32[($8 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8 + 336 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 292 | 0 | 0, HEAP32[($8 + 328 | 0) >> 2] | 0 | 0, HEAP32[($8 + 336 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 276 | 0 | 0, HEAP32[($8 + 340 | 0) >> 2] | 0 | 0, HEAP32[($8 + 336 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 308 | 0 | 0, $8 + 276 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 292 | 0 | 0, $8 + 276 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$2 } if (!(Math_fround(HEAPF32[($8 + 268 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$2 } $54 = HEAP32[($8 + 324 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($8 + 336 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $566 = i64toi32_i32$0; i64toi32_i32$0 = $54; HEAP32[i64toi32_i32$0 >> 2] = $566; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $56 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $56 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $576 = i64toi32_i32$1; i64toi32_i32$1 = $54 + $56 | 0; HEAP32[i64toi32_i32$1 >> 2] = $576; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $60 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($60 + 16 | 0) >> 0] = HEAPU8[($60 + 16 | 0) >> 0] | 0 | 1 | 0; $67 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0)), Math_fround($67), Math_fround($67), Math_fround($67)); HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; break label$1; } operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 252 | 0 | 0, HEAP32[($8 + 340 | 0) >> 2] | 0 | 0, HEAP32[($8 + 332 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 308 | 0 | 0, $8 + 252 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 292 | 0 | 0, $8 + 252 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$3 } if (!(Math_fround(HEAPF32[($8 + 244 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) & 1 | 0)) { break label$3 } $102 = HEAP32[($8 + 324 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($8 + 332 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $668 = i64toi32_i32$0; i64toi32_i32$0 = $102; HEAP32[i64toi32_i32$0 >> 2] = $668; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $104 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $104 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $678 = i64toi32_i32$1; i64toi32_i32$1 = $102 + $104 | 0; HEAP32[i64toi32_i32$1 >> 2] = $678; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $108 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($108 + 16 | 0) >> 0] = HEAPU8[($108 + 16 | 0) >> 0] | 0 | 2 | 0; $114 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround($114), Math_fround(Math_fround(1.0)), Math_fround($114), Math_fround($114)); HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAPF32[($8 + 240 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 244 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 268 | 0) >> 2])))); label$4 : { if (!(Math_fround(HEAPF32[($8 + 240 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$4 } if (!(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$4 } if (!(Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$4 } $145 = Math_fround(HEAPF32[($8 + 272 | 0) >> 2]); HEAPF32[($8 + 236 | 0) >> 2] = Math_fround($145 / Math_fround($145 - Math_fround(HEAPF32[($8 + 248 | 0) >> 2]))); $149 = HEAP32[($8 + 336 | 0) >> 2] | 0; operator__28float_20const__2c_20btVector3_20const__29($8 + 204 | 0 | 0, $8 + 236 | 0 | 0, $8 + 308 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 220 | 0 | 0, $149 | 0, $8 + 204 | 0 | 0); $160 = HEAP32[($8 + 324 | 0) >> 2] | 0; $161 = 8; i64toi32_i32$2 = ($8 + 220 | 0) + $161 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $808 = i64toi32_i32$0; i64toi32_i32$0 = $160 + $161 | 0; HEAP32[i64toi32_i32$0 >> 2] = $808; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 220 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 224 | 0) >> 2] | 0; $812 = i64toi32_i32$1; i64toi32_i32$1 = $160; HEAP32[i64toi32_i32$1 >> 2] = $812; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $168 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($168 + 16 | 0) >> 0] = HEAPU8[($168 + 16 | 0) >> 0] | 0 | 1 | 0; $172 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($172 + 16 | 0) >> 0] = HEAPU8[($172 + 16 | 0) >> 0] | 0 | 2 | 0; $182 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 236 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($8 + 236 | 0) >> 2])), Math_fround($182), Math_fround($182)); HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; break label$1; } operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 188 | 0 | 0, HEAP32[($8 + 340 | 0) >> 2] | 0 | 0, HEAP32[($8 + 328 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 308 | 0 | 0, $8 + 188 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 292 | 0 | 0, $8 + 188 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_f32$0; label$5 : { if (!(Math_fround(HEAPF32[($8 + 180 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$5 } if (!(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 180 | 0) >> 2]) & 1 | 0)) { break label$5 } $217 = HEAP32[($8 + 324 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($8 + 328 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $920 = i64toi32_i32$0; i64toi32_i32$0 = $217; HEAP32[i64toi32_i32$0 >> 2] = $920; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $219 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $219 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $930 = i64toi32_i32$1; i64toi32_i32$1 = $217 + $219 | 0; HEAP32[i64toi32_i32$1 >> 2] = $930; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $223 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($223 + 16 | 0) >> 0] = HEAPU8[($223 + 16 | 0) >> 0] | 0 | 4 | 0; $229 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround($229), Math_fround($229), Math_fround(Math_fround(1.0)), Math_fround($229)); HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAPF32[($8 + 176 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 268 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 180 | 0) >> 2])))); label$6 : { if (!(Math_fround(HEAPF32[($8 + 176 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$6 } if (!(Math_fround(HEAPF32[($8 + 268 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$6 } if (!(Math_fround(HEAPF32[($8 + 180 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$6 } $260 = Math_fround(HEAPF32[($8 + 268 | 0) >> 2]); HEAPF32[($8 + 172 | 0) >> 2] = Math_fround($260 / Math_fround($260 - Math_fround(HEAPF32[($8 + 180 | 0) >> 2]))); $264 = HEAP32[($8 + 336 | 0) >> 2] | 0; operator__28float_20const__2c_20btVector3_20const__29($8 + 140 | 0 | 0, $8 + 172 | 0 | 0, $8 + 292 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 156 | 0 | 0, $264 | 0, $8 + 140 | 0 | 0); $275 = HEAP32[($8 + 324 | 0) >> 2] | 0; $276 = 8; i64toi32_i32$2 = ($8 + 156 | 0) + $276 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1060 = i64toi32_i32$0; i64toi32_i32$0 = $275 + $276 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1060; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 156 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 160 | 0) >> 2] | 0; $1064 = i64toi32_i32$1; i64toi32_i32$1 = $275; HEAP32[i64toi32_i32$1 >> 2] = $1064; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $283 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($283 + 16 | 0) >> 0] = HEAPU8[($283 + 16 | 0) >> 0] | 0 | 1 | 0; $287 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($287 + 16 | 0) >> 0] = HEAPU8[($287 + 16 | 0) >> 0] | 0 | 4 | 0; $297 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 172 | 0) >> 2]))), Math_fround($297), Math_fround(Math_fround(HEAPF32[($8 + 172 | 0) >> 2])), Math_fround($297)); HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAPF32[($8 + 136 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 180 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 244 | 0) >> 2])))); label$7 : { if (!(Math_fround(HEAPF32[($8 + 136 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$7 } if (!(Math_fround(Math_fround(HEAPF32[($8 + 244 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 248 | 0) >> 2])) >= Math_fround(0 | 0) & 1 | 0)) { break label$7 } if (!(Math_fround(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 180 | 0) >> 2])) >= Math_fround(0 | 0) & 1 | 0)) { break label$7 } $333 = Math_fround(Math_fround(HEAPF32[($8 + 244 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 248 | 0) >> 2])); HEAPF32[($8 + 132 | 0) >> 2] = Math_fround($333 / Math_fround($333 + Math_fround(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 180 | 0) >> 2])))); $339 = HEAP32[($8 + 332 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 84 | 0 | 0, HEAP32[($8 + 328 | 0) >> 2] | 0 | 0, $339 | 0); operator__28float_20const__2c_20btVector3_20const__29($8 + 100 | 0 | 0, $8 + 132 | 0 | 0, $8 + 84 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 116 | 0 | 0, $339 | 0, $8 + 100 | 0 | 0); $353 = HEAP32[($8 + 324 | 0) >> 2] | 0; $354 = 8; i64toi32_i32$2 = ($8 + 116 | 0) + $354 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1238 = i64toi32_i32$0; i64toi32_i32$0 = $353 + $354 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1238; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 116 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 120 | 0) >> 2] | 0; $1242 = i64toi32_i32$1; i64toi32_i32$1 = $353; HEAP32[i64toi32_i32$1 >> 2] = $1242; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $361 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($361 + 16 | 0) >> 0] = HEAPU8[($361 + 16 | 0) >> 0] | 0 | 2 | 0; $365 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($365 + 16 | 0) >> 0] = HEAPU8[($365 + 16 | 0) >> 0] | 0 | 4 | 0; $375 = Math_fround(0 | 0); btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround($375), Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 132 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($8 + 132 | 0) >> 2])), Math_fround($375)); HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 136 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 176 | 0) >> 2])) + Math_fround(HEAPF32[($8 + 240 | 0) >> 2]))); HEAPF32[($8 + 76 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 176 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 80 | 0) >> 2])); HEAPF32[($8 + 72 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 240 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 80 | 0) >> 2])); $392 = HEAP32[($8 + 336 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20float_20const__29($8 + 24 | 0 | 0, $8 + 308 | 0 | 0, $8 + 76 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 40 | 0 | 0, $392 | 0, $8 + 24 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 8 | 0 | 0, $8 + 292 | 0 | 0, $8 + 72 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 56 | 0 | 0, $8 + 40 | 0 | 0, $8 + 8 | 0 | 0); $415 = HEAP32[($8 + 324 | 0) >> 2] | 0; $416 = 8; i64toi32_i32$2 = ($8 + 56 | 0) + $416 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1378 = i64toi32_i32$0; i64toi32_i32$0 = $415 + $416 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1378; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 56 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 60 | 0) >> 2] | 0; $1382 = i64toi32_i32$1; i64toi32_i32$1 = $415; HEAP32[i64toi32_i32$1 >> 2] = $1382; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $423 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($423 + 16 | 0) >> 0] = HEAPU8[($423 + 16 | 0) >> 0] | 0 | 1 | 0; $427 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($427 + 16 | 0) >> 0] = HEAPU8[($427 + 16 | 0) >> 0] | 0 | 2 | 0; $431 = HEAP32[($8 + 324 | 0) >> 2] | 0; HEAP8[($431 + 16 | 0) >> 0] = HEAPU8[($431 + 16 | 0) >> 0] | 0 | 4 | 0; btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 76 | 0) >> 2])) - Math_fround(HEAPF32[($8 + 72 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($8 + 76 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 72 | 0) >> 2])), Math_fround(Math_fround(0 | 0))); HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; } $450 = (HEAPU8[($8 + 351 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $8 + 352 | 0; return $450 | 0; } function btVoronoiSimplexSolver__closestPtPointTetrahedron_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $16 = 0, $235 = 0, $246 = 0, $322 = 0, $409 = 0, $14 = 0, $23 = 0, $27 = 0, $31 = 0, $35 = 0, $113 = 0, $114 = 0, $148 = 0, $149 = 0, $162 = 0, $168 = 0, $176 = 0, $199 = 0, $200 = 0, $234 = 0, $248 = 0, $254 = 0, $263 = 0, $286 = 0, $287 = 0, $321 = 0, $333 = 0, $335 = 0, $341 = 0, $344 = 0, $350 = 0, $373 = 0, $374 = 0, $408 = 0, $420 = 0, $422 = 0, $429 = 0, $437 = 0, $467 = 0, $556 = 0, $566 = 0, $797 = 0, $801 = 0, $871 = 0, $875 = 0, $987 = 0, $991 = 0, $1061 = 0, $1065 = 0, $1183 = 0, $1187 = 0, $1257 = 0, $1261 = 0, $1379 = 0, $1383 = 0, $1453 = 0, $1457 = 0, $520 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $9 = __stack_pointer - 320 | 0; __stack_pointer = $9; HEAP32[($9 + 312 | 0) >> 2] = $0; HEAP32[($9 + 308 | 0) >> 2] = $1; HEAP32[($9 + 304 | 0) >> 2] = $2; HEAP32[($9 + 300 | 0) >> 2] = $3; HEAP32[($9 + 296 | 0) >> 2] = $4; HEAP32[($9 + 292 | 0) >> 2] = $5; HEAP32[($9 + 288 | 0) >> 2] = $6; $10 = HEAP32[($9 + 312 | 0) >> 2] | 0; btSubSimplexClosestResult__btSubSimplexClosestResult_28_29($9 + 248 | 0 | 0) | 0; $14 = HEAP32[($9 + 288 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 308 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $556 = i64toi32_i32$0; i64toi32_i32$0 = $14; HEAP32[i64toi32_i32$0 >> 2] = $556; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $566 = i64toi32_i32$1; i64toi32_i32$1 = $14 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $566; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); $23 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($23 + 16 | 0) >> 0] = HEAPU8[($23 + 16 | 0) >> 0] | 0 | 1 | 0; $27 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($27 + 16 | 0) >> 0] = HEAPU8[($27 + 16 | 0) >> 0] | 0 | 2 | 0; $31 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($31 + 16 | 0) >> 0] = HEAPU8[($31 + 16 | 0) >> 0] | 0 | 4 | 0; $35 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($35 + 16 | 0) >> 0] = HEAPU8[($35 + 16 | 0) >> 0] | 0 | $16 | 0; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { label$3 : { if ((HEAP32[($9 + 244 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { break label$3 } if ((HEAP32[($9 + 240 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { break label$3 } if ((HEAP32[($9 + 236 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { break label$3 } if (!((HEAP32[($9 + 232 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$2 } } HEAP8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 36 | 0) >> 0] = 1; HEAP8[($9 + 319 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$4 : { if (HEAP32[($9 + 244 | 0) >> 2] | 0) { break label$4 } if (HEAP32[($9 + 240 | 0) >> 2] | 0) { break label$4 } if (HEAP32[($9 + 236 | 0) >> 2] | 0) { break label$4 } if (HEAP32[($9 + 232 | 0) >> 2] | 0) { break label$4 } HEAP8[($9 + 319 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); label$5 : { if (!(HEAP32[($9 + 244 | 0) >> 2] | 0)) { break label$5 } btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, $9 + 248 | 0 | 0) | 0; $113 = $9 + 248 | 0; $114 = 8; i64toi32_i32$2 = $113 + $114 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $797 = i64toi32_i32$0; i64toi32_i32$0 = ($9 + 208 | 0) + $114 | 0; HEAP32[i64toi32_i32$0 >> 2] = $797; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $113; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $801 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 208 | 0) >> 2] = $801; HEAP32[($9 + 212 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 188 | 0 | 0, $9 + 208 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 172 | 0 | 0, $9 + 208 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 188 | 0 | 0, $9 + 172 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_f32$0; label$6 : { if (!(Math_fround(HEAPF32[($9 + 204 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0)) { break label$6 } HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(HEAPF32[($9 + 204 | 0) >> 2]); $148 = HEAP32[($9 + 288 | 0) >> 2] | 0; $149 = 8; i64toi32_i32$2 = ($9 + 208 | 0) + $149 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $871 = i64toi32_i32$0; i64toi32_i32$0 = $148 + $149 | 0; HEAP32[i64toi32_i32$0 >> 2] = $871; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 208 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 212 | 0) >> 2] | 0; $875 = i64toi32_i32$1; i64toi32_i32$1 = $148; HEAP32[i64toi32_i32$1 >> 2] = $875; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); $162 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($162 + 16 | 0) >> 0] = (HEAPU8[($162 + 16 | 0) >> 0] | 0) & 254 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & 1 | 0) | 0; $168 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($168 + 16 | 0) >> 0] = (HEAPU8[($168 + 16 | 0) >> 0] | 0) & 253 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & 2 | 0) | 0; $176 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($176 + 16 | 0) >> 0] = (HEAPU8[($176 + 16 | 0) >> 0] | 0) & -5 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & 4 | 0) | 0; btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($9 + 288 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 268 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 272 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 276 | 0) >> 2])), Math_fround(Math_fround(0 | 0))); } } label$7 : { if (!(HEAP32[($9 + 240 | 0) >> 2] | 0)) { break label$7 } btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, $9 + 248 | 0 | 0) | 0; $199 = $9 + 248 | 0; $200 = 8; i64toi32_i32$2 = $199 + $200 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $987 = i64toi32_i32$0; i64toi32_i32$0 = ($9 + 152 | 0) + $200 | 0; HEAP32[i64toi32_i32$0 >> 2] = $987; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $199; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $991 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 152 | 0) >> 2] = $991; HEAP32[($9 + 156 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 132 | 0 | 0, $9 + 152 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 116 | 0 | 0, $9 + 152 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 132 | 0 | 0, $9 + 116 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; label$8 : { if (!(Math_fround(HEAPF32[($9 + 148 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0)) { break label$8 } HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(HEAPF32[($9 + 148 | 0) >> 2]); $234 = HEAP32[($9 + 288 | 0) >> 2] | 0; $235 = 8; i64toi32_i32$2 = ($9 + 152 | 0) + $235 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1061 = i64toi32_i32$0; i64toi32_i32$0 = $234 + $235 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1061; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 152 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 156 | 0) >> 2] | 0; $1065 = i64toi32_i32$1; i64toi32_i32$1 = $234; HEAP32[i64toi32_i32$1 >> 2] = $1065; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); $246 = 1; $248 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($248 + 16 | 0) >> 0] = (HEAPU8[($248 + 16 | 0) >> 0] | 0) & 254 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & $246 | 0) | 0; $254 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($254 + 16 | 0) >> 0] = (HEAPU8[($254 + 16 | 0) >> 0] | 0) & 251 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) << $246 | 0) & 4 | 0) | 0; $263 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($263 + 16 | 0) >> 0] = (HEAPU8[($263 + 16 | 0) >> 0] | 0) & -9 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) << $246 | 0) & $235 | 0) | 0; btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($9 + 288 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 268 | 0) >> 2])), Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($9 + 272 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 276 | 0) >> 2]))); } } label$9 : { if (!(HEAP32[($9 + 236 | 0) >> 2] | 0)) { break label$9 } btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, $9 + 248 | 0 | 0) | 0; $286 = $9 + 248 | 0; $287 = 8; i64toi32_i32$2 = $286 + $287 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1183 = i64toi32_i32$0; i64toi32_i32$0 = ($9 + 96 | 0) + $287 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1183; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $286; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1187 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 96 | 0) >> 2] = $1187; HEAP32[($9 + 100 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 76 | 0 | 0, $9 + 96 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 60 | 0 | 0, $9 + 96 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 76 | 0 | 0, $9 + 60 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; label$10 : { if (!(Math_fround(HEAPF32[($9 + 92 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0)) { break label$10 } HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(HEAPF32[($9 + 92 | 0) >> 2]); $321 = HEAP32[($9 + 288 | 0) >> 2] | 0; $322 = 8; i64toi32_i32$2 = ($9 + 96 | 0) + $322 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1257 = i64toi32_i32$0; i64toi32_i32$0 = $321 + $322 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1257; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 96 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 100 | 0) >> 2] | 0; $1261 = i64toi32_i32$1; i64toi32_i32$1 = $321; HEAP32[i64toi32_i32$1 >> 2] = $1261; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); $333 = 1; $335 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($335 + 16 | 0) >> 0] = (HEAPU8[($335 + 16 | 0) >> 0] | 0) & 254 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & $333 | 0) | 0; $341 = HEAP32[($9 + 288 | 0) >> 2] | 0; $344 = 2; HEAP8[($341 + 16 | 0) >> 0] = (HEAPU8[($341 + 16 | 0) >> 0] | 0) & 253 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) >>> $333 | 0) & $344 | 0) | 0; $350 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($350 + 16 | 0) >> 0] = (HEAPU8[($350 + 16 | 0) >> 0] | 0) & -9 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) << $344 | 0) & $322 | 0) | 0; btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($9 + 288 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 268 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 276 | 0) >> 2])), Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($9 + 272 | 0) >> 2]))); } } label$11 : { if (!(HEAP32[($9 + 232 | 0) >> 2] | 0)) { break label$11 } btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, $9 + 248 | 0 | 0) | 0; $373 = $9 + 248 | 0; $374 = 8; i64toi32_i32$2 = $373 + $374 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1379 = i64toi32_i32$0; i64toi32_i32$0 = ($9 + 40 | 0) + $374 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1379; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $373; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1383 = i64toi32_i32$1; i64toi32_i32$1 = $9; HEAP32[($9 + 40 | 0) >> 2] = $1383; HEAP32[($9 + 44 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 20 | 0 | 0, $9 + 40 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 4 | 0 | 0, $9 + 40 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 20 | 0 | 0, $9 + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; label$12 : { if (!(Math_fround(HEAPF32[($9 + 36 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0)) { break label$12 } HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(HEAPF32[($9 + 36 | 0) >> 2]); $408 = HEAP32[($9 + 288 | 0) >> 2] | 0; $409 = 8; i64toi32_i32$2 = ($9 + 40 | 0) + $409 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1453 = i64toi32_i32$0; i64toi32_i32$0 = $408 + $409 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1453; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $9; i64toi32_i32$1 = HEAP32[($9 + 40 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($9 + 44 | 0) >> 2] | 0; $1457 = i64toi32_i32$1; i64toi32_i32$1 = $408; HEAP32[i64toi32_i32$1 >> 2] = $1457; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); $420 = 1; $422 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($422 + 16 | 0) >> 0] = (HEAPU8[($422 + 16 | 0) >> 0] | 0) & 253 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) & $420 | 0) << $420 | 0) | 0; $429 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($429 + 16 | 0) >> 0] = (HEAPU8[($429 + 16 | 0) >> 0] | 0) & 251 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & 4 | 0) | 0; $437 = HEAP32[($9 + 288 | 0) >> 2] | 0; HEAP8[($437 + 16 | 0) >> 0] = (HEAPU8[($437 + 16 | 0) >> 0] | 0) & -9 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) << 2 | 0) & $409 | 0) | 0; btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($9 + 288 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($9 + 268 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 276 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 272 | 0) >> 2]))); } } label$13 : { if (!(((((HEAPU8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { break label$13 } $467 = 1; if (!((((((HEAPU8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) >>> $467 | 0) & $467 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { break label$13 } if (!((((((HEAPU8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { break label$13 } if (!((((((HEAPU8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { break label$13 } HEAP8[($9 + 319 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($9 + 319 | 0) >> 0] = 1 & 1 | 0; } $520 = (HEAPU8[($9 + 319 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $9 + 320 | 0; return $520 | 0; } function btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 128 | 0; __stack_pointer = $8; HEAP32[($8 + 120 | 0) >> 2] = $0; HEAP32[($8 + 116 | 0) >> 2] = $1; HEAP32[($8 + 112 | 0) >> 2] = $2; HEAP32[($8 + 108 | 0) >> 2] = $3; HEAP32[($8 + 104 | 0) >> 2] = $4; HEAP32[($8 + 100 | 0) >> 2] = $5; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 68 | 0 | 0, HEAP32[($8 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 52 | 0 | 0, HEAP32[($8 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($8 + 84 | 0 | 0, $8 + 68 | 0 | 0, $8 + 52 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 32 | 0 | 0, HEAP32[($8 + 116 | 0) >> 2] | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 32 | 0 | 0, $8 + 84 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 12 | 0 | 0, HEAP32[($8 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 12 | 0 | 0, $8 + 84 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 28 | 0) >> 2])) < Math_fround(9.99999905104687e-09) & 1 | 0)) { break label$2 } HEAP32[($8 + 124 | 0) >> 2] = -1; break label$1; } HEAP32[($8 + 124 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 48 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 28 | 0) >> 2])) < Math_fround(0 | 0) & 1 | 0; } $68 = HEAP32[($8 + 124 | 0) >> 2] | 0; __stack_pointer = $8 + 128 | 0; return $68 | 0; } function btVoronoiSimplexSolver__closest_28btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $11 = 0, $13 = 0, $48 = 0, $58 = 0, $19 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btVoronoiSimplexSolver__updateClosestVectorAndPoints_28_29($5 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; $11 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $5 + 276 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $48 = i64toi32_i32$0; i64toi32_i32$0 = $11; HEAP32[i64toi32_i32$0 >> 2] = $48; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $13 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $58 = i64toi32_i32$1; i64toi32_i32$1 = $11 + $13 | 0; HEAP32[i64toi32_i32$1 >> 2] = $58; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $19 = (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $19 | 0; } function btVoronoiSimplexSolver__inSimplex_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $46 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 24 | 0) >> 2] = $0; HEAP32[($4 + 20 | 0) >> 2] = $1; $5 = HEAP32[($4 + 24 | 0) >> 2] | 0; HEAP8[($4 + 19 | 0) >> 0] = 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!(Math_fround(btVector3__distance2_28btVector3_20const__29_20const(($5 + 4 | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0)) <= Math_fround(HEAPF32[($5 + 308 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAP8[($4 + 19 | 0) >> 0] = 1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } label$4 : { label$5 : { if (!((btVector3__operator___28btVector3_20const__29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, $5 + 292 | 0 | 0) | 0) & 1 | 0)) { break label$5 } HEAP8[($4 + 31 | 0) >> 0] = 1 & 1 | 0; break label$4; } HEAP8[($4 + 31 | 0) >> 0] = (HEAPU8[($4 + 19 | 0) >> 0] | 0) & 1 | 0; } $46 = (HEAPU8[($4 + 31 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 32 | 0; return $46 | 0; } function btVector3__distance2_28btVector3_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $13 = Math_fround(0); $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0); $13 = Math_fround(btVector3__length2_28_29_20const($4 + 8 | 0 | 0)); __stack_pointer = $4 + 32 | 0; return Math_fround($13); } function btVector3__operator___28btVector3_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $13 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $13 = 0; label$1 : { if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) == Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2]) & 1 | 0)) { break label$1 } $13 = 0; if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) == Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2]) & 1 | 0)) { break label$1 } $13 = 0; if (!(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) == Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$1 } $13 = Math_fround(HEAPF32[$5 >> 2]) == Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); } return $13 & 1 | 0 | 0; } function btVoronoiSimplexSolver__compute_points_28btVector3__2c_20btVector3__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $9 = 0, $11 = 0, $17 = 0, $19 = 0, $48 = 0, $58 = 0, $67 = 0, $77 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btVoronoiSimplexSolver__updateClosestVectorAndPoints_28_29($6 | 0) | 0; $9 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$2 = $6 + 244 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $48 = i64toi32_i32$0; i64toi32_i32$0 = $9; HEAP32[i64toi32_i32$0 >> 2] = $48; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $11 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $11 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $58 = i64toi32_i32$1; i64toi32_i32$1 = $9 + $11 | 0; HEAP32[i64toi32_i32$1 >> 2] = $58; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $17 = HEAP32[($5 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = $6 + 260 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $67 = i64toi32_i32$0; i64toi32_i32$0 = $17; HEAP32[i64toi32_i32$0 >> 2] = $67; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $77 = i64toi32_i32$1; i64toi32_i32$1 = $17 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $77; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 16 | 0; return; } function _GLOBAL__sub_I_btVoronoiSimplexSolver_cpp() { __cxx_global_var_init_66(); return; } function __cxx_global_var_init_67() { btInfMaskConverter__btInfMaskConverter_28int_29(115380 | 0, 2139095040 | 0) | 0; return; } function btPolyhedralContactClipping__clipFace_28btAlignedObjectArray_btVector3__20const__2c_20btAlignedObjectArray_btVector3___2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $21 = 0, $22 = 0, $31 = 0, $32 = 0, $56 = 0, $57 = 0, $143 = 0, $213 = 0, $217 = 0, $235 = 0, $239 = 0, $291 = 0, $295 = 0, $87 = 0, $116 = 0, $469 = 0, $473 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $0; HEAP32[($6 + 104 | 0) >> 2] = $1; HEAP32[($6 + 100 | 0) >> 2] = $2; HEAPF32[($6 + 96 | 0) >> 2] = $3; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { break label$2 } break label$1; } $21 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0) | 0; $22 = 8; i64toi32_i32$2 = $21 + $22 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $213 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 64 | 0) + $22 | 0; HEAP32[i64toi32_i32$0 >> 2] = $213; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $21; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $217 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 64 | 0) >> 2] = $217; HEAP32[($6 + 68 | 0) >> 2] = i64toi32_i32$0; $31 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0, 0 | 0) | 0; $32 = 8; i64toi32_i32$2 = $31 + $32 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $235 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 48 | 0) + $32 | 0; HEAP32[i64toi32_i32$0 >> 2] = $235; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $31; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $239 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 48 | 0) >> 2] = $239; HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0)) + Math_fround(HEAPF32[($6 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; HEAP32[($6 + 92 | 0) >> 2] = 0; label$3 : while (1) { if (!((HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $56 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) | 0; $57 = 8; i64toi32_i32$2 = $56 + $57 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $291 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 48 | 0) + $57 | 0; HEAP32[i64toi32_i32$0 >> 2] = $291; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $56; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $295 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 48 | 0) >> 2] = $295; HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0)) + Math_fround(HEAPF32[($6 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; label$4 : { label$5 : { if (!(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$5 } label$6 : { label$7 : { if (!(Math_fround(HEAPF32[($6 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$7 } btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29(HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0); break label$6; } $87 = HEAP32[($6 + 104 | 0) >> 2] | 0; HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) * Math_fround(1.0)) / Math_fround(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 84 | 0) >> 2]))); btVector3__lerp_28btVector3_20const__2c_20float_20const__29_20const($6 + 32 | 0 | 0, $6 + 64 | 0 | 0, $6 + 48 | 0 | 0, $6 + 28 | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($87 | 0, $6 + 32 | 0 | 0); } break label$4; } label$8 : { if (!(Math_fround(HEAPF32[($6 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$8 } $116 = HEAP32[($6 + 104 | 0) >> 2] | 0; HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) * Math_fround(1.0)) / Math_fround(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 84 | 0) >> 2]))); btVector3__lerp_28btVector3_20const__2c_20float_20const__29_20const($6 + 12 | 0 | 0, $6 + 64 | 0 | 0, $6 + 48 | 0 | 0, $6 + 8 | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($116 | 0, $6 + 12 | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29(HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0); } } $143 = 8; i64toi32_i32$2 = ($6 + 48 | 0) + $143 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $469 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 64 | 0) + $143 | 0; HEAP32[i64toi32_i32$0 >> 2] = $469; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 52 | 0) >> 2] | 0; $473 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 64 | 0) >> 2] = $473; HEAP32[($6 + 68 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(HEAPF32[($6 + 84 | 0) >> 2]); HEAP32[($6 + 92 | 0) >> 2] = (HEAP32[($6 + 92 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } __stack_pointer = $6 + 112 | 0; return; } function btVector3__lerp_28btVector3_20const__2c_20float_20const__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $1; HEAP32[($6 + 24 | 0) >> 2] = $2; HEAP32[($6 + 20 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2]) - Math_fround(HEAPF32[$7 >> 2])) * Math_fround(HEAPF32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2])) + Math_fround(HEAPF32[$7 >> 2])); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[($7 + 4 | 0) >> 2])) * Math_fround(HEAPF32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2])) + Math_fround(HEAPF32[($7 + 4 | 0) >> 2])); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[($7 + 8 | 0) >> 2])) * Math_fround(HEAPF32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2])) + Math_fround(HEAPF32[($7 + 8 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; __stack_pointer = $6 + 32 | 0; return; } function InverseTransformPoint3x3_28btVector3__2c_20btVector3_20const__2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $31 = Math_fround(0), $54 = Math_fround(0), $77 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $31 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $31)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; $54 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $54)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $77 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $77)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0); __stack_pointer = $5 + 48 | 0; return; } function TestInternalObjects_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); var $9 = 0, $104 = Math_fround(0), $115 = Math_fround(0), $134 = Math_fround(0), $65 = Math_fround(0), $88 = Math_fround(0), $150 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $9 = __stack_pointer - 128 | 0; __stack_pointer = $9; HEAP32[($9 + 120 | 0) >> 2] = $0; HEAP32[($9 + 116 | 0) >> 2] = $1; HEAP32[($9 + 112 | 0) >> 2] = $2; HEAP32[($9 + 108 | 0) >> 2] = $3; HEAP32[($9 + 104 | 0) >> 2] = $4; HEAP32[($9 + 100 | 0) >> 2] = $5; HEAPF32[($9 + 96 | 0) >> 2] = $6; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($9 + 112 | 0) >> 2] | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($9 + 76 | 0 | 0) | 0; InverseTransformPoint3x3_28btVector3__2c_20btVector3_20const__2c_20btTransform_20const__29($9 + 76 | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9 + 120 | 0) >> 2] | 0 | 0); btVector3__btVector3_28_29($9 + 60 | 0 | 0) | 0; InverseTransformPoint3x3_28btVector3__2c_20btVector3_20const__2c_20btTransform_20const__29($9 + 60 | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0); BoxSupport_28float_20const__2c_20float_20const__2c_20float__29(btVector3__operator_20float_20const__28_29_20const((HEAP32[($9 + 104 | 0) >> 2] | 0) + 80 | 0 | 0) | 0 | 0, btVector3__operator_20float__28_29($9 + 76 | 0 | 0) | 0 | 0, $9 + 48 | 0 | 0); BoxSupport_28float_20const__2c_20float_20const__2c_20float__29(btVector3__operator_20float_20const__28_29_20const((HEAP32[($9 + 100 | 0) >> 2] | 0) + 80 | 0 | 0) | 0 | 0, btVector3__operator_20float__28_29($9 + 60 | 0 | 0) | 0 | 0, $9 + 36 | 0 | 0); $65 = Math_fround(Math_fround(Math_fround(HEAPF32[($9 + 48 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 76 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($9 + 52 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 76 | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[($9 + 56 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 76 | 0 | 0) | 0) >> 2])) + $65)), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; $88 = Math_fround(Math_fround(Math_fround(HEAPF32[($9 + 36 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($9 + 40 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[($9 + 44 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2])) + $88)), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($9 + 32 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($9 + 104 | 0) >> 2] | 0) + 96 | 0) >> 2]) & 1 | 0)) { break label$2 } $104 = Math_fround(HEAPF32[($9 + 32 | 0) >> 2]); break label$1; } $104 = Math_fround(HEAPF32[((HEAP32[($9 + 104 | 0) >> 2] | 0) + 96 | 0) >> 2]); } HEAPF32[($9 + 24 | 0) >> 2] = $104; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($9 + 100 | 0) >> 2] | 0) + 96 | 0) >> 2]) & 1 | 0)) { break label$4 } $115 = Math_fround(HEAPF32[($9 + 28 | 0) >> 2]); break label$3; } $115 = Math_fround(HEAPF32[((HEAP32[($9 + 100 | 0) >> 2] | 0) + 96 | 0) >> 2]); } HEAPF32[($9 + 20 | 0) >> 2] = $115; HEAPF32[($9 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 20 | 0) >> 2]) + Math_fround(HEAPF32[($9 + 24 | 0) >> 2])); HEAPF32[($9 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($9 + 92 | 0) >> 2])); HEAPF32[($9 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 16 | 0) >> 2]) - Math_fround(HEAPF32[($9 + 92 | 0) >> 2])); label$5 : { label$6 : { if (!(Math_fround(HEAPF32[($9 + 12 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) & 1 | 0)) { break label$6 } $134 = Math_fround(HEAPF32[($9 + 12 | 0) >> 2]); break label$5; } $134 = Math_fround(HEAPF32[($9 + 8 | 0) >> 2]); } HEAPF32[($9 + 4 | 0) >> 2] = $134; label$7 : { label$8 : { if (!(Math_fround(HEAPF32[($9 + 4 | 0) >> 2]) > Math_fround(HEAPF32[($9 + 96 | 0) >> 2]) & 1 | 0)) { break label$8 } HEAP8[($9 + 127 | 0) >> 0] = 0 & 1 | 0; break label$7; } HEAP8[($9 + 127 | 0) >> 0] = 1 & 1 | 0; } $150 = (HEAPU8[($9 + 127 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $9 + 128 | 0; return $150 | 0; } function BoxSupport_28float_20const__2c_20float_20const__2c_20float__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $16 = Math_fround(0), $31 = Math_fround(0), $46 = Math_fround(0); $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$2 } $16 = Math_fround(-Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2])); break label$1; } $16 = Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2]); } HEAPF32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2] = $16; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$4 } $31 = Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2])); break label$3; } $31 = Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2]); } HEAPF32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = $31; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$6 } $46 = Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2])); break label$5; } $46 = Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2]); } HEAPF32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $46; return; } function btPolyhedralContactClipping__findSeparatingAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btDiscreteCollisionDetectorInterface__Result__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $171 = 0, $173 = 0, $314 = 0, $316 = 0, $397 = 0, $398 = 0, $428 = 0, $429 = 0, $465 = 0, $466 = 0, $554 = 0, $556 = 0, $564 = 0, $573 = 0, $582 = 0, $591 = 0, $638 = 0, $647 = 0, $733 = 0, $758 = 0, $760 = 0, $1106 = 0, $1119 = 0, $1388 = 0, $1401 = 0, $1560 = 0, $1564 = 0, $1623 = 0, $1627 = 0, $1693 = 0, $1697 = 0, $1858 = 0, $1871 = 0, $1895 = 0, $1899 = 0, $1915 = 0, $1919 = 0, $1935 = 0, $1939 = 0, $1955 = 0, $1959 = 0, $2046 = 0, $2050 = 0, $2066 = 0, $2070 = 0, $2271 = 0, $2284 = 0, $771 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 720 | 0; __stack_pointer = $8; HEAP32[($8 + 712 | 0) >> 2] = $0; HEAP32[($8 + 708 | 0) >> 2] = $1; HEAP32[($8 + 704 | 0) >> 2] = $2; HEAP32[($8 + 700 | 0) >> 2] = $3; HEAP32[($8 + 696 | 0) >> 2] = $4; HEAP32[($8 + 692 | 0) >> 2] = $5; HEAP32[(0 + 115392 | 0) >> 2] = (HEAP32[(0 + 115392 | 0) >> 2] | 0) + 1 | 0; btTransform__operator__28btVector3_20const__29_20const($8 + 676 | 0 | 0, HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 712 | 0) >> 2] | 0) + 64 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($8 + 660 | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 708 | 0) >> 2] | 0) + 64 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 644 | 0 | 0, $8 + 676 | 0 | 0, $8 + 660 | 0 | 0); HEAPF32[($8 + 640 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAP32[($8 + 636 | 0) >> 2] = 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 632 | 0) >> 2] = wasm2js_i32$1; HEAP32[($8 + 628 | 0) >> 2] = 0; label$1 : { label$2 : { label$3 : while (1) { if (!((HEAP32[($8 + 628 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 632 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 612 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 628 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 628 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 628 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 596 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 612 | 0 | 0); label$4 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 644 | 0 | 0, $8 + 596 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { break label$4 } HEAPF32[($8 + 592 | 0) >> 2] = Math_fround(-1.0); btVector3__operator___28float_20const__29_1($8 + 596 | 0 | 0, $8 + 592 | 0 | 0) | 0; } HEAP32[($8 + 636 | 0) >> 2] = (HEAP32[($8 + 636 | 0) >> 2] | 0) + 1 | 0; HEAP32[(0 + 115384 | 0) >> 2] = (HEAP32[(0 + 115384 | 0) >> 2] | 0) + 1 | 0; label$5 : { label$6 : { if (!((HEAPU8[(0 + 112845 | 0) >> 0] | 0) & 1 | 0)) { break label$6 } if ((TestInternalObjects_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20float_29(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 644 | 0 | 0, $8 + 596 | 0 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 640 | 0) >> 2]))) | 0) & 1 | 0) { break label$6 } break label$5; } HEAP32[(0 + 115388 | 0) >> 2] = (HEAP32[(0 + 115388 | 0) >> 2] | 0) + 1 | 0; btVector3__btVector3_28_29($8 + 572 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 556 | 0 | 0) | 0; label$7 : { if ((TestSepAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 596 | 0 | 0, $8 + 588 | 0 | 0, $8 + 572 | 0 | 0, $8 + 556 | 0 | 0) | 0) & 1 | 0) { break label$7 } HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$8 : { if (!(Math_fround(HEAPF32[($8 + 588 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 640 | 0) >> 2]) & 1 | 0)) { break label$8 } HEAPF32[($8 + 640 | 0) >> 2] = Math_fround(HEAPF32[($8 + 588 | 0) >> 2]); $171 = HEAP32[($8 + 696 | 0) >> 2] | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 596 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 600 | 0) >> 2] | 0; $1106 = i64toi32_i32$0; i64toi32_i32$0 = $171; HEAP32[i64toi32_i32$0 >> 2] = $1106; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $173 = 8; i64toi32_i32$2 = ($8 + 596 | 0) + $173 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1119 = i64toi32_i32$1; i64toi32_i32$1 = $171 + $173 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1119; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } } HEAP32[($8 + 628 | 0) >> 2] = (HEAP32[($8 + 628 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_i32$1; HEAP32[($8 + 548 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($8 + 548 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 552 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 532 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 548 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 548 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 548 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 516 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 532 | 0 | 0); label$11 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 644 | 0 | 0, $8 + 516 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { break label$11 } HEAPF32[($8 + 512 | 0) >> 2] = Math_fround(-1.0); btVector3__operator___28float_20const__29_1($8 + 516 | 0 | 0, $8 + 512 | 0 | 0) | 0; } HEAP32[($8 + 636 | 0) >> 2] = (HEAP32[($8 + 636 | 0) >> 2] | 0) + 1 | 0; HEAP32[(0 + 115384 | 0) >> 2] = (HEAP32[(0 + 115384 | 0) >> 2] | 0) + 1 | 0; label$12 : { label$13 : { if (!((HEAPU8[(0 + 112845 | 0) >> 0] | 0) & 1 | 0)) { break label$13 } if ((TestInternalObjects_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20float_29(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 644 | 0 | 0, $8 + 516 | 0 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 640 | 0) >> 2]))) | 0) & 1 | 0) { break label$13 } break label$12; } HEAP32[(0 + 115388 | 0) >> 2] = (HEAP32[(0 + 115388 | 0) >> 2] | 0) + 1 | 0; btVector3__btVector3_28_29($8 + 492 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 476 | 0 | 0) | 0; label$14 : { if ((TestSepAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 516 | 0 | 0, $8 + 508 | 0 | 0, $8 + 492 | 0 | 0, $8 + 476 | 0 | 0) | 0) & 1 | 0) { break label$14 } HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$15 : { if (!(Math_fround(HEAPF32[($8 + 508 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 640 | 0) >> 2]) & 1 | 0)) { break label$15 } HEAPF32[($8 + 640 | 0) >> 2] = Math_fround(HEAPF32[($8 + 508 | 0) >> 2]); $314 = HEAP32[($8 + 696 | 0) >> 2] | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 516 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 520 | 0) >> 2] | 0; $1388 = i64toi32_i32$0; i64toi32_i32$0 = $314; HEAP32[i64toi32_i32$0 >> 2] = $1388; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $316 = 8; i64toi32_i32$2 = ($8 + 516 | 0) + $316 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1401 = i64toi32_i32$1; i64toi32_i32$1 = $314 + $316 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1401; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } } HEAP32[($8 + 548 | 0) >> 2] = (HEAP32[($8 + 548 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } btVector3__btVector3_28_29($8 + 460 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 444 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 428 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 412 | 0 | 0) | 0; HEAP32[($8 + 408 | 0) >> 2] = -1; HEAP32[($8 + 404 | 0) >> 2] = -1; btVector3__btVector3_28_29($8 + 384 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 368 | 0 | 0) | 0; HEAPF32[($8 + 348 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 344 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 340 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 352 | 0 | 0, $8 + 348 | 0 | 0, $8 + 344 | 0 | 0, $8 + 340 | 0 | 0) | 0; HEAPF32[($8 + 316 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 312 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 308 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 320 | 0 | 0, $8 + 316 | 0 | 0, $8 + 312 | 0 | 0, $8 + 308 | 0 | 0) | 0; HEAP32[($8 + 304 | 0) >> 2] = 0; HEAP32[($8 + 300 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($8 + 300 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 44 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$16 } $397 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 44 | 0 | 0, HEAP32[($8 + 300 | 0) >> 2] | 0 | 0) | 0; $398 = 8; i64toi32_i32$2 = $397 + $398 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1560 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 280 | 0) + $398 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1560; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $397; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1564 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 280 | 0) >> 2] = $1564; HEAP32[($8 + 284 | 0) >> 2] = i64toi32_i32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 264 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 280 | 0 | 0); HEAP32[($8 + 260 | 0) >> 2] = 0; label$18 : { label$19 : while (1) { if (!((HEAP32[($8 + 260 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 44 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$18 } $428 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 44 | 0 | 0, HEAP32[($8 + 260 | 0) >> 2] | 0 | 0) | 0; $429 = 8; i64toi32_i32$2 = $428 + $429 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1623 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 240 | 0) + $429 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1623; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $428; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1627 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 240 | 0) >> 2] = $1627; HEAP32[($8 + 244 | 0) >> 2] = i64toi32_i32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 224 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 240 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($8 + 208 | 0 | 0, $8 + 264 | 0 | 0, $8 + 224 | 0 | 0); HEAP32[($8 + 304 | 0) >> 2] = (HEAP32[($8 + 304 | 0) >> 2] | 0) + 1 | 0; label$20 : { label$21 : { if ((IsAlmostZero_28btVector3_20const__29($8 + 208 | 0 | 0) | 0) & 1 | 0) { break label$21 } $465 = btVector3__normalize_28_29($8 + 208 | 0 | 0) | 0; $466 = 8; i64toi32_i32$2 = $465 + $466 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1693 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 208 | 0) + $466 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1693; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $465; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1697 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 208 | 0) >> 2] = $1697; HEAP32[($8 + 212 | 0) >> 2] = i64toi32_i32$0; label$22 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 644 | 0 | 0, $8 + 208 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { break label$22 } HEAPF32[($8 + 204 | 0) >> 2] = Math_fround(-1.0); btVector3__operator___28float_20const__29_1($8 + 208 | 0 | 0, $8 + 204 | 0 | 0) | 0; } HEAP32[(0 + 115384 | 0) >> 2] = (HEAP32[(0 + 115384 | 0) >> 2] | 0) + 1 | 0; label$23 : { if (!((HEAPU8[(0 + 112845 | 0) >> 0] | 0) & 1 | 0)) { break label$23 } if ((TestInternalObjects_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20float_29(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 644 | 0 | 0, $8 + 208 | 0 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 640 | 0) >> 2]))) | 0) & 1 | 0) { break label$23 } break label$20; } HEAP32[(0 + 115388 | 0) >> 2] = (HEAP32[(0 + 115388 | 0) >> 2] | 0) + 1 | 0; btVector3__btVector3_28_29($8 + 184 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 168 | 0 | 0) | 0; label$24 : { if ((TestSepAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 208 | 0 | 0, $8 + 200 | 0 | 0, $8 + 184 | 0 | 0, $8 + 168 | 0 | 0) | 0) & 1 | 0) { break label$24 } HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$25 : { if (!(Math_fround(HEAPF32[($8 + 200 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 640 | 0) >> 2]) & 1 | 0)) { break label$25 } HEAPF32[($8 + 640 | 0) >> 2] = Math_fround(HEAPF32[($8 + 200 | 0) >> 2]); $554 = HEAP32[($8 + 696 | 0) >> 2] | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 208 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 212 | 0) >> 2] | 0; $1858 = i64toi32_i32$0; i64toi32_i32$0 = $554; HEAP32[i64toi32_i32$0 >> 2] = $1858; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $556 = 8; i64toi32_i32$2 = ($8 + 208 | 0) + $556 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1871 = i64toi32_i32$1; i64toi32_i32$1 = $554 + $556 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1871; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($8 + 408 | 0) >> 2] = HEAP32[($8 + 300 | 0) >> 2] | 0; HEAP32[($8 + 404 | 0) >> 2] = HEAP32[($8 + 260 | 0) >> 2] | 0; $564 = 8; i64toi32_i32$2 = ($8 + 264 | 0) + $564 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1895 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 384 | 0) + $564 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1895; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 264 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 268 | 0) >> 2] | 0; $1899 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 384 | 0) >> 2] = $1899; HEAP32[($8 + 388 | 0) >> 2] = i64toi32_i32$0; $573 = 8; i64toi32_i32$2 = ($8 + 224 | 0) + $573 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1915 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 368 | 0) + $573 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1915; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 224 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 228 | 0) >> 2] | 0; $1919 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 368 | 0) >> 2] = $1919; HEAP32[($8 + 372 | 0) >> 2] = i64toi32_i32$0; $582 = 8; i64toi32_i32$2 = ($8 + 184 | 0) + $582 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1935 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 352 | 0) + $582 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1935; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 184 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 188 | 0) >> 2] | 0; $1939 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 352 | 0) >> 2] = $1939; HEAP32[($8 + 356 | 0) >> 2] = i64toi32_i32$0; $591 = 8; i64toi32_i32$2 = ($8 + 168 | 0) + $591 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1955 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 320 | 0) + $591 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1955; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 168 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 172 | 0) >> 2] | 0; $1959 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 320 | 0) >> 2] = $1959; HEAP32[($8 + 324 | 0) >> 2] = i64toi32_i32$0; } } } HEAP32[($8 + 260 | 0) >> 2] = (HEAP32[($8 + 260 | 0) >> 2] | 0) + 1 | 0; continue label$19; }; } HEAP32[($8 + 300 | 0) >> 2] = (HEAP32[($8 + 300 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } label$26 : { if (!((HEAP32[($8 + 408 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$26 } if (!((HEAP32[($8 + 404 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$26 } btVector3__btVector3_28_29($8 + 152 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 136 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 120 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 96 | 0 | 0, $8 + 320 | 0 | 0, $8 + 352 | 0 | 0); $638 = 8; i64toi32_i32$2 = ($8 + 384 | 0) + $638 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2046 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 80 | 0) + $638 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2046; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 384 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 388 | 0) >> 2] | 0; $2050 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 80 | 0) >> 2] = $2050; HEAP32[($8 + 84 | 0) >> 2] = i64toi32_i32$0; $647 = 8; i64toi32_i32$2 = ($8 + 368 | 0) + $647 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2066 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 64 | 0) + $647 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2066; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 368 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 372 | 0) >> 2] | 0; $2070 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 64 | 0) >> 2] = $2070; HEAP32[($8 + 68 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($8 + 60 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); HEAPF32[($8 + 56 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); btSegmentsClosestPoints_28btVector3__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($8 + 152 | 0 | 0, $8 + 136 | 0 | 0, $8 + 120 | 0 | 0, $8 + 116 | 0 | 0, $8 + 112 | 0 | 0, $8 + 96 | 0 | 0, $8 + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 56 | 0) >> 2])), $8 + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 60 | 0) >> 2]))); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($8 + 152 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; label$27 : { if (!(Math_fround(HEAPF32[($8 + 52 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$27 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 52 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($8 + 48 | 0) >> 2])); btVector3__operator___28float_20const__29_1($8 + 152 | 0 | 0, $8 + 44 | 0 | 0) | 0; label$28 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 152 | 0 | 0, $8 + 644 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { break label$28 } HEAPF32[($8 + 40 | 0) >> 2] = Math_fround(-1.0); btVector3__operator___28float_20const__29_1($8 + 152 | 0 | 0, $8 + 40 | 0 | 0) | 0; } operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 24 | 0 | 0, $8 + 320 | 0 | 0, $8 + 120 | 0 | 0); HEAPF32[($8 + 20 | 0) >> 2] = Math_fround(HEAPF32[($8 + 48 | 0) >> 2]); $733 = HEAP32[($8 + 692 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$733 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($733, $8 + 152 | 0, $8 + 24 | 0, Math_fround(-Math_fround(HEAPF32[($8 + 20 | 0) >> 2]))); } } label$29 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 644 | 0 | 0, HEAP32[($8 + 696 | 0) >> 2] | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { break label$29 } operator__28btVector3_20const__29($8 + 4 | 0 | 0, HEAP32[($8 + 696 | 0) >> 2] | 0 | 0); $758 = HEAP32[($8 + 696 | 0) >> 2] | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 8 | 0) >> 2] | 0; $2271 = i64toi32_i32$0; i64toi32_i32$0 = $758; HEAP32[i64toi32_i32$0 >> 2] = $2271; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $760 = 8; i64toi32_i32$2 = ($8 + 4 | 0) + $760 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2284 = i64toi32_i32$1; i64toi32_i32$1 = $758 + $760 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2284; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP8[($8 + 719 | 0) >> 0] = 1 & 1 | 0; } $771 = (HEAPU8[($8 + 719 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $8 + 720 | 0; return $771 | 0; } function TestSepAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20btVector3__2c_20btVector3__29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; var $10 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $99 = 0, $101 = 0, $107 = 0, $109 = 0, $117 = 0, $119 = 0, $125 = 0, $127 = 0, $343 = 0, $356 = 0, $362 = 0, $375 = 0, $387 = 0, $400 = 0, $406 = 0, $419 = 0, $138 = 0; $10 = __stack_pointer - 128 | 0; __stack_pointer = $10; HEAP32[($10 + 120 | 0) >> 2] = $0; HEAP32[($10 + 116 | 0) >> 2] = $1; HEAP32[($10 + 112 | 0) >> 2] = $2; HEAP32[($10 + 108 | 0) >> 2] = $3; HEAP32[($10 + 104 | 0) >> 2] = $4; HEAP32[($10 + 100 | 0) >> 2] = $5; HEAP32[($10 + 96 | 0) >> 2] = $6; HEAP32[($10 + 92 | 0) >> 2] = $7; btVector3__btVector3_28_29($10 + 60 | 0 | 0) | 0; btVector3__btVector3_28_29($10 + 44 | 0 | 0) | 0; btVector3__btVector3_28_29($10 + 28 | 0 | 0) | 0; btVector3__btVector3_28_29($10 + 12 | 0 | 0) | 0; btConvexPolyhedron__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($10 + 120 | 0) >> 2] | 0 | 0, HEAP32[($10 + 112 | 0) >> 2] | 0 | 0, HEAP32[($10 + 104 | 0) >> 2] | 0 | 0, $10 + 88 | 0 | 0, $10 + 84 | 0 | 0, $10 + 60 | 0 | 0, $10 + 44 | 0 | 0); btConvexPolyhedron__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($10 + 116 | 0) >> 2] | 0 | 0, HEAP32[($10 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10 + 104 | 0) >> 2] | 0 | 0, $10 + 80 | 0 | 0, $10 + 76 | 0 | 0, $10 + 28 | 0 | 0, $10 + 12 | 0 | 0); label$1 : { label$2 : { label$3 : { if (Math_fround(HEAPF32[($10 + 84 | 0) >> 2]) < Math_fround(HEAPF32[($10 + 80 | 0) >> 2]) & 1 | 0) { break label$3 } if (!(Math_fround(HEAPF32[($10 + 76 | 0) >> 2]) < Math_fround(HEAPF32[($10 + 88 | 0) >> 2]) & 1 | 0)) { break label$2 } } HEAP8[($10 + 127 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAPF32[($10 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($10 + 84 | 0) >> 2]) - Math_fround(HEAPF32[($10 + 80 | 0) >> 2])); label$4 : { if (Math_fround(HEAPF32[($10 + 8 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0) { break label$4 } __assert_fail(80781 | 0, 73878 | 0, 94 | 0, 69820 | 0); wasm2js_trap(); } HEAPF32[($10 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($10 + 76 | 0) >> 2]) - Math_fround(HEAPF32[($10 + 88 | 0) >> 2])); label$5 : { if (Math_fround(HEAPF32[($10 + 4 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0) { break label$5 } __assert_fail(80772 | 0, 73878 | 0, 96 | 0, 69820 | 0); wasm2js_trap(); } label$6 : { label$7 : { if (!(Math_fround(HEAPF32[($10 + 8 | 0) >> 2]) < Math_fround(HEAPF32[($10 + 4 | 0) >> 2]) & 1 | 0)) { break label$7 } HEAPF32[(HEAP32[($10 + 100 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($10 + 8 | 0) >> 2]); $99 = HEAP32[($10 + 96 | 0) >> 2] | 0; i64toi32_i32$2 = $10; i64toi32_i32$0 = HEAP32[($10 + 44 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($10 + 48 | 0) >> 2] | 0; $343 = i64toi32_i32$0; i64toi32_i32$0 = $99; HEAP32[i64toi32_i32$0 >> 2] = $343; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $101 = 8; i64toi32_i32$2 = ($10 + 44 | 0) + $101 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $356 = i64toi32_i32$1; i64toi32_i32$1 = $99 + $101 | 0; HEAP32[i64toi32_i32$1 >> 2] = $356; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $107 = HEAP32[($10 + 92 | 0) >> 2] | 0; i64toi32_i32$2 = $10; i64toi32_i32$0 = HEAP32[($10 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($10 + 32 | 0) >> 2] | 0; $362 = i64toi32_i32$0; i64toi32_i32$0 = $107; HEAP32[i64toi32_i32$0 >> 2] = $362; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $109 = 8; i64toi32_i32$2 = ($10 + 28 | 0) + $109 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $375 = i64toi32_i32$1; i64toi32_i32$1 = $107 + $109 | 0; HEAP32[i64toi32_i32$1 >> 2] = $375; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$6; } HEAPF32[(HEAP32[($10 + 100 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($10 + 4 | 0) >> 2]); $117 = HEAP32[($10 + 96 | 0) >> 2] | 0; i64toi32_i32$2 = $10; i64toi32_i32$0 = HEAP32[($10 + 60 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($10 + 64 | 0) >> 2] | 0; $387 = i64toi32_i32$0; i64toi32_i32$0 = $117; HEAP32[i64toi32_i32$0 >> 2] = $387; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $119 = 8; i64toi32_i32$2 = ($10 + 60 | 0) + $119 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $400 = i64toi32_i32$1; i64toi32_i32$1 = $117 + $119 | 0; HEAP32[i64toi32_i32$1 >> 2] = $400; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $125 = HEAP32[($10 + 92 | 0) >> 2] | 0; i64toi32_i32$2 = $10; i64toi32_i32$0 = HEAP32[($10 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($10 + 16 | 0) >> 2] | 0; $406 = i64toi32_i32$0; i64toi32_i32$0 = $125; HEAP32[i64toi32_i32$0 >> 2] = $406; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $127 = 8; i64toi32_i32$2 = ($10 + 12 | 0) + $127 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $419 = i64toi32_i32$1; i64toi32_i32$1 = $125 + $127 | 0; HEAP32[i64toi32_i32$1 >> 2] = $419; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } HEAP8[($10 + 127 | 0) >> 0] = 1 & 1 | 0; } $138 = (HEAPU8[($10 + 127 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $10 + 128 | 0; return $138 | 0; } function btSegmentsClosestPoints_28btVector3__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = Math_fround($7); $8 = $8 | 0; $9 = Math_fround($9); var $12 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $145 = 0, $147 = 0, $158 = 0, $160 = 0, $178 = 0, $180 = 0, $543 = 0, $556 = 0, $573 = 0, $586 = 0, $616 = 0, $629 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $12 = __stack_pointer - 128 | 0; __stack_pointer = $12; HEAP32[($12 + 124 | 0) >> 2] = $0; HEAP32[($12 + 120 | 0) >> 2] = $1; HEAP32[($12 + 116 | 0) >> 2] = $2; HEAP32[($12 + 112 | 0) >> 2] = $3; HEAP32[($12 + 108 | 0) >> 2] = $4; HEAP32[($12 + 104 | 0) >> 2] = $5; HEAP32[($12 + 100 | 0) >> 2] = $6; HEAPF32[($12 + 96 | 0) >> 2] = $7; HEAP32[($12 + 92 | 0) >> 2] = $8; HEAPF32[($12 + 88 | 0) >> 2] = $9; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 92 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($12 + 72 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(1.0)); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($12 + 72 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); break label$1; } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($12 + 76 | 0) >> 2])) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])) / Math_fround(HEAPF32[($12 + 72 | 0) >> 2])); label$3 : { label$4 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { break label$4 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); break label$3; } label$5 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { break label$5 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); } } } HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(-Math_fround(HEAPF32[($12 + 76 | 0) >> 2]))); label$6 : { label$7 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 88 | 0) >> 2])) & 1 | 0)) { break label$7 } HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 88 | 0) >> 2])); HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])); label$8 : { label$9 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { break label$9 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); break label$8; } label$10 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { break label$10 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); } } break label$6; } label$11 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 88 | 0) >> 2]) & 1 | 0)) { break label$11 } HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 88 | 0) >> 2]); HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])); label$12 : { label$13 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { break label$13 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); break label$12; } label$14 : { if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { break label$14 } HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); } } } } operator__28btVector3_20const__2c_20float_20const__29($12 + 56 | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 112 | 0) >> 2] | 0 | 0); $145 = HEAP32[($12 + 120 | 0) >> 2] | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 56 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 60 | 0) >> 2] | 0; $543 = i64toi32_i32$0; i64toi32_i32$0 = $145; HEAP32[i64toi32_i32$0 >> 2] = $543; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $147 = 8; i64toi32_i32$2 = ($12 + 56 | 0) + $147 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $556 = i64toi32_i32$1; i64toi32_i32$1 = $145 + $147 | 0; HEAP32[i64toi32_i32$1 >> 2] = $556; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($12 + 40 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0); $158 = HEAP32[($12 + 116 | 0) >> 2] | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 40 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 44 | 0) >> 2] | 0; $573 = i64toi32_i32$0; i64toi32_i32$0 = $158; HEAP32[i64toi32_i32$0 >> 2] = $573; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $160 = 8; i64toi32_i32$2 = ($12 + 40 | 0) + $160 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $586 = i64toi32_i32$1; i64toi32_i32$1 = $158 + $160 | 0; HEAP32[i64toi32_i32$1 >> 2] = $586; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 8 | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0, HEAP32[($12 + 120 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($12 + 24 | 0 | 0, $12 + 8 | 0 | 0, HEAP32[($12 + 116 | 0) >> 2] | 0 | 0); $178 = HEAP32[($12 + 124 | 0) >> 2] | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 28 | 0) >> 2] | 0; $616 = i64toi32_i32$0; i64toi32_i32$0 = $178; HEAP32[i64toi32_i32$0 >> 2] = $616; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $180 = 8; i64toi32_i32$2 = ($12 + 24 | 0) + $180 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $629 = i64toi32_i32$1; i64toi32_i32$1 = $178 + $180 | 0; HEAP32[i64toi32_i32$1 >> 2] = $629; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $12 + 128 | 0; return; } function btPolyhedralContactClipping__clipFaceAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20float_2c_20float_2c_20btDiscreteCollisionDetectorInterface__Result__29($0, $1, $2, $3, $4, $5, $6, $7) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); $6 = Math_fround($6); $7 = $7 | 0; var $10 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $195 = 0, $276 = 0, $277 = 0, $306 = 0, $307 = 0, $314 = 0, $11 = 0, $144 = 0, $740 = 0, $744 = 0, $217 = 0, $907 = 0, $911 = 0, $977 = 0, $981 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $10 = __stack_pointer - 384 | 0; __stack_pointer = $10; HEAP32[($10 + 380 | 0) >> 2] = $0; HEAP32[($10 + 376 | 0) >> 2] = $1; HEAP32[($10 + 372 | 0) >> 2] = $2; HEAP32[($10 + 368 | 0) >> 2] = $3; HEAP32[($10 + 364 | 0) >> 2] = $4; HEAPF32[($10 + 360 | 0) >> 2] = $5; HEAPF32[($10 + 356 | 0) >> 2] = $6; HEAP32[($10 + 352 | 0) >> 2] = $7; $11 = HEAP32[($10 + 364 | 0) >> 2] | 0; btVector3__btVector3_28_29($10 + 336 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($11 | 0, 0 | 0, $10 + 336 | 0 | 0); HEAP32[($10 + 332 | 0) >> 2] = HEAP32[($10 + 368 | 0) >> 2] | 0; HEAP32[($10 + 328 | 0) >> 2] = HEAP32[($10 + 364 | 0) >> 2] | 0; btAlignedObjectArray_btVector3___reserve_28int_29(HEAP32[($10 + 328 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0) | 0 | 0); HEAP32[($10 + 324 | 0) >> 2] = -1; HEAPF32[($10 + 320 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAP32[($10 + 316 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($10 + 316 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($10 + 300 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($10 + 316 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($10 + 316 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($10 + 316 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($10 + 284 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0 | 0, $10 + 300 | 0 | 0); (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 284 | 0 | 0, HEAP32[($10 + 380 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($10 + 280 | 0) >> 2]) < Math_fround(HEAPF32[($10 + 320 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($10 + 320 | 0) >> 2] = Math_fround(HEAPF32[($10 + 280 | 0) >> 2]); HEAP32[($10 + 324 | 0) >> 2] = HEAP32[($10 + 316 | 0) >> 2] | 0; } HEAP32[($10 + 316 | 0) >> 2] = (HEAP32[($10 + 316 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } label$4 : { label$5 : { if (!((HEAP32[($10 + 324 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$5 } break label$4; } (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($10 + 324 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(HEAP32[($10 + 276 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; HEAP32[($10 + 268 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($10 + 268 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(HEAP32[($10 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10 + 268 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(HEAP32[($10 + 276 | 0) >> 2] | 0 | 0, ((HEAP32[($10 + 268 | 0) >> 2] | 0) + 1 | 0 | 0) % (HEAP32[($10 + 272 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 244 | 0 | 0, HEAP32[($10 + 264 | 0) >> 2] | 0 | 0, HEAP32[($10 + 260 | 0) >> 2] | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($10 + 228 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0 | 0, $10 + 244 | 0 | 0); $144 = btTransform__getBasis_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($10 + 196 | 0 | 0, (HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($10 + 212 | 0 | 0, $144 | 0, $10 + 196 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($10 + 164 | 0 | 0, $10 + 228 | 0 | 0, $10 + 212 | 0 | 0); operator__28btVector3_20const__29($10 + 180 | 0 | 0, $10 + 164 | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($10 + 148 | 0 | 0, HEAP32[($10 + 372 | 0) >> 2] | 0 | 0, HEAP32[($10 + 264 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(-Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 148 | 0 | 0, $10 + 180 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; $195 = 8; i64toi32_i32$2 = ($10 + 180 | 0) + $195 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $740 = i64toi32_i32$0; i64toi32_i32$0 = ($10 + 128 | 0) + $195 | 0; HEAP32[i64toi32_i32$0 >> 2] = $740; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $10; i64toi32_i32$1 = HEAP32[($10 + 180 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($10 + 184 | 0) >> 2] | 0; $744 = i64toi32_i32$1; i64toi32_i32$1 = $10; HEAP32[($10 + 128 | 0) >> 2] = $744; HEAP32[($10 + 132 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($10 + 124 | 0) >> 2] = Math_fround(HEAPF32[($10 + 144 | 0) >> 2]); btPolyhedralContactClipping__clipFace_28btAlignedObjectArray_btVector3__20const__2c_20btAlignedObjectArray_btVector3___2c_20btVector3_20const__2c_20float_29(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10 + 328 | 0) >> 2] | 0 | 0, $10 + 128 | 0 | 0, Math_fround(Math_fround(HEAPF32[($10 + 124 | 0) >> 2]))); void_20btSwap_btAlignedObjectArray_btVector3____28btAlignedObjectArray_btVector3____2c_20btAlignedObjectArray_btVector3____29($10 + 332 | 0 | 0, $10 + 328 | 0 | 0); $217 = HEAP32[($10 + 328 | 0) >> 2] | 0; btVector3__btVector3_28_29($10 + 108 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($217 | 0, 0 | 0, $10 + 108 | 0 | 0); HEAP32[($10 + 268 | 0) >> 2] = (HEAP32[($10 + 268 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } btVector3__btVector3_28_29($10 + 92 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($10 + 76 | 0 | 0, (HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; HEAPF32[($10 + 72 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($10 + 276 | 0) >> 2] | 0) + 32 | 0) >> 2]); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($10 + 56 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0 | 0, $10 + 76 | 0 | 0); (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($10 + 72 | 0) >> 2]) - Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 56 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; HEAP32[($10 + 48 | 0) >> 2] = 0; label$8 : while (1) { if (!((HEAP32[($10 + 48 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$4 } $276 = btAlignedObjectArray_btVector3___at_28int_29(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10 + 48 | 0) >> 2] | 0 | 0) | 0; $277 = 8; i64toi32_i32$2 = $276 + $277 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $907 = i64toi32_i32$0; i64toi32_i32$0 = ($10 + 32 | 0) + $277 | 0; HEAP32[i64toi32_i32$0 >> 2] = $907; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $276; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $911 = i64toi32_i32$1; i64toi32_i32$1 = $10; HEAP32[($10 + 32 | 0) >> 2] = $911; HEAP32[($10 + 36 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 56 | 0 | 0, $10 + 32 | 0 | 0)) + Math_fround(HEAPF32[($10 + 52 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; label$9 : { if (!(Math_fround(HEAPF32[($10 + 28 | 0) >> 2]) <= Math_fround(HEAPF32[($10 + 360 | 0) >> 2]) & 1 | 0)) { break label$9 } HEAPF32[($10 + 28 | 0) >> 2] = Math_fround(HEAPF32[($10 + 360 | 0) >> 2]); } label$10 : { if (!(Math_fround(HEAPF32[($10 + 28 | 0) >> 2]) <= Math_fround(HEAPF32[($10 + 356 | 0) >> 2]) & 1 | 0)) { break label$10 } $306 = btAlignedObjectArray_btVector3___at_28int_29(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10 + 48 | 0) >> 2] | 0 | 0) | 0; $307 = 8; i64toi32_i32$2 = $306 + $307 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $977 = i64toi32_i32$0; i64toi32_i32$0 = ($10 + 8 | 0) + $307 | 0; HEAP32[i64toi32_i32$0 >> 2] = $977; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $306; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $981 = i64toi32_i32$1; i64toi32_i32$1 = $10; HEAP32[($10 + 8 | 0) >> 2] = $981; HEAP32[($10 + 12 | 0) >> 2] = i64toi32_i32$0; $314 = HEAP32[($10 + 352 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$314 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($314, HEAP32[($10 + 380 | 0) >> 2] | 0, $10 + 8 | 0, Math_fround(HEAPF32[($10 + 28 | 0) >> 2])); } HEAP32[($10 + 48 | 0) >> 2] = (HEAP32[($10 + 48 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } __stack_pointer = $10 + 384 | 0; return; } function void_20btSwap_btAlignedObjectArray_btVector3____28btAlignedObjectArray_btVector3____2c_20btAlignedObjectArray_btVector3____29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; return; } function btPolyhedralContactClipping__clipHullAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20float_2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20btDiscreteCollisionDetectorInterface__Result__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); $6 = Math_fround($6); $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, $83 = 0, $114 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $12 = __stack_pointer - 160 | 0; __stack_pointer = $12; HEAP32[($12 + 156 | 0) >> 2] = $0; HEAP32[($12 + 152 | 0) >> 2] = $1; HEAP32[($12 + 148 | 0) >> 2] = $2; HEAP32[($12 + 144 | 0) >> 2] = $3; HEAP32[($12 + 140 | 0) >> 2] = $4; HEAPF32[($12 + 136 | 0) >> 2] = $5; HEAPF32[($12 + 132 | 0) >> 2] = $6; HEAP32[($12 + 128 | 0) >> 2] = $7; HEAP32[($12 + 124 | 0) >> 2] = $8; HEAP32[($12 + 120 | 0) >> 2] = $9; btVector3__normalized_28_29_20const($12 + 104 | 0 | 0, HEAP32[($12 + 156 | 0) >> 2] | 0 | 0); HEAP32[($12 + 100 | 0) >> 2] = -1; HEAPF32[($12 + 96 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAP32[($12 + 92 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($12 + 92 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($12 + 76 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 60 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 140 | 0) >> 2] | 0 | 0) | 0 | 0, $12 + 76 | 0 | 0); (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($12 + 60 | 0 | 0, $12 + 104 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($12 + 56 | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($12 + 96 | 0) >> 2] = Math_fround(HEAPF32[($12 + 56 | 0) >> 2]); HEAP32[($12 + 100 | 0) >> 2] = HEAP32[($12 + 92 | 0) >> 2] | 0; } HEAP32[($12 + 92 | 0) >> 2] = (HEAP32[($12 + 92 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } $83 = HEAP32[($12 + 128 | 0) >> 2] | 0; btVector3__btVector3_28_29($12 + 40 | 0 | 0) | 0; btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($83 | 0, 0 | 0, $12 + 40 | 0 | 0); (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(HEAP32[($12 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; HEAP32[($12 + 28 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($12 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(HEAP32[($12 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; $114 = HEAP32[($12 + 128 | 0) >> 2] | 0; btTransform__operator__28btVector3_20const__29_20const($12 + 8 | 0 | 0, HEAP32[($12 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12 + 24 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($114 | 0, $12 + 8 | 0 | 0); HEAP32[($12 + 28 | 0) >> 2] = (HEAP32[($12 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } label$6 : { if (!((HEAP32[($12 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$6 } btPolyhedralContactClipping__clipFaceAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20float_2c_20float_2c_20btDiscreteCollisionDetectorInterface__Result__29($12 + 104 | 0 | 0, HEAP32[($12 + 152 | 0) >> 2] | 0 | 0, HEAP32[($12 + 144 | 0) >> 2] | 0 | 0, HEAP32[($12 + 128 | 0) >> 2] | 0 | 0, HEAP32[($12 + 124 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($12 + 136 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($12 + 132 | 0) >> 2])), HEAP32[($12 + 120 | 0) >> 2] | 0 | 0); } __stack_pointer = $12 + 160 | 0; return; } function _GLOBAL__sub_I_btPolyhedralContactClipping_cpp() { __cxx_global_var_init_67(); return; } function __cxx_global_var_init_68() { btInfMaskConverter__btInfMaskConverter_28int_29(115396 | 0, 2139095040 | 0) | 0; return; } function btFixedConstraint__btFixedConstraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 144 | 0; __stack_pointer = $7; HEAP32[($7 + 140 | 0) >> 2] = $0; HEAP32[($7 + 136 | 0) >> 2] = $1; HEAP32[($7 + 132 | 0) >> 2] = $2; HEAP32[($7 + 128 | 0) >> 2] = $3; HEAP32[($7 + 124 | 0) >> 2] = $4; $8 = HEAP32[($7 + 140 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__btGeneric6DofSpring2Constraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20RotateOrder_29($8 | 0, HEAP32[($7 + 136 | 0) >> 2] | 0 | 0, HEAP32[($7 + 132 | 0) >> 2] | 0 | 0, HEAP32[($7 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7 + 124 | 0) >> 2] | 0 | 0, 0 | 0) | 0; HEAP32[$8 >> 2] = 101992 + 8 | 0; HEAPF32[($7 + 104 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 108 | 0 | 0, $7 + 104 | 0 | 0, $7 + 100 | 0 | 0, $7 + 96 | 0 | 0) | 0; btGeneric6DofSpring2Constraint__setAngularLowerLimit_28btVector3_20const__29($8 | 0, $7 + 108 | 0 | 0); HEAPF32[($7 + 76 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 72 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 68 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 80 | 0 | 0, $7 + 76 | 0 | 0, $7 + 72 | 0 | 0, $7 + 68 | 0 | 0) | 0; btGeneric6DofSpring2Constraint__setAngularUpperLimit_28btVector3_20const__29($8 | 0, $7 + 80 | 0 | 0); HEAPF32[($7 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 40 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 52 | 0 | 0, $7 + 48 | 0 | 0, $7 + 44 | 0 | 0, $7 + 40 | 0 | 0) | 0; btGeneric6DofSpring2Constraint__setLinearLowerLimit_28btVector3_20const__29($8 | 0, $7 + 52 | 0 | 0); HEAPF32[($7 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 24 | 0 | 0, $7 + 20 | 0 | 0, $7 + 16 | 0 | 0, $7 + 12 | 0 | 0) | 0; btGeneric6DofSpring2Constraint__setLinearUpperLimit_28btVector3_20const__29($8 | 0, $7 + 24 | 0 | 0); __stack_pointer = $7 + 144 | 0; return $8 | 0; } function btGeneric6DofSpring2Constraint__setAngularLowerLimit_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $21 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } $21 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])))); HEAPF32[(($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) >> 2] = $21; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setAngularUpperLimit_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $21 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } $21 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])))); HEAPF32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 4 | 0) >> 2] = $21; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setLinearLowerLimit_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 680 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btGeneric6DofSpring2Constraint__setLinearUpperLimit_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $10 = 0, $12 = 0, $37 = 0, $47 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $10 = ((HEAP32[($4 + 12 | 0) >> 2] | 0) + 680 | 0) + 16 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $37 = i64toi32_i32$0; i64toi32_i32$0 = $10; HEAP32[i64toi32_i32$0 >> 2] = $37; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $12 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $47 = i64toi32_i32$1; i64toi32_i32$1 = $10 + $12 | 0; HEAP32[i64toi32_i32$1 >> 2] = $47; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btFixedConstraint___btFixedConstraint_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTypedConstraint___btTypedConstraint_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTypedConstraint___btTypedConstraint_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 102548 + 8 | 0; return $4 | 0; } function btFixedConstraint___btFixedConstraint_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[1048 | 0]($4) | 0; btGeneric6DofSpring2Constraint__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__buildJacobian_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btTypedConstraint__setupSolverConstraint_28btAlignedObjectArray_btSolverConstraint___2c_20int_2c_20int_2c_20float_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); var $7 = 0; $7 = __stack_pointer - 32 | 0; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAPF32[($7 + 12 | 0) >> 2] = $4; return; } function btTypedConstraint__solveConstraintObsolete_28btSolverBody__2c_20btSolverBody__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0; $6 = __stack_pointer - 16 | 0; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAPF32[$6 >> 2] = $3; return; } function btGeneric6DofSpring2Constraint__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 644 | 0; } function btGeneric6DofSpring2Constraint__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $279 = 0, $306 = 0, $333 = 0, $360 = 0, $387 = 0, $514 = 0, $541 = 0, $568 = 0, $595 = 0, $622 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; btTransform__serialize_28btTransformFloatData__29_20const($6 + 48 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 52 | 0 | 0); btTransform__serialize_28btTransformFloatData__29_20const($6 + 112 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 116 | 0 | 0); HEAP32[($5 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 428 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 412 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 4 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 444 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 8 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 460 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 12 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 476 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 16 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 492 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 20 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 508 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 24 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 524 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 32 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 540 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 36 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 556 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 44 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 572 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 52 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 588 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 60 | 0) >> 2]); HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 604 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 68 | 0) >> 2]); HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 440 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 424 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 456 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 472 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 488 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 504 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 520 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 536 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 552 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 568 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 584 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 600 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 616 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($5 + 12 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$3 } label$5 : { label$6 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$6 } $279 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 28 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$5; } $279 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 620 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $279; label$7 : { label$8 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$8 } $306 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 40 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$7; } $306 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 624 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $306; label$9 : { label$10 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$10 } $333 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 48 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$9; } $333 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 628 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $333; label$11 : { label$12 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$12 } $360 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 56 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$11; } $360 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 632 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $360; label$13 : { label$14 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$14 } $387 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 64 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$13; } $387 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 636 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $387; HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } btVector3__serialize_28btVector3FloatData__29_20const($6 + 680 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 196 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 16 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 180 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 32 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 212 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 48 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 228 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 64 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 244 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 80 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 260 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 96 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 276 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 196 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 292 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 212 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 308 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 124 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 324 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 140 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 340 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 160 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 356 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 180 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 372 | 0 | 0); HEAP32[($5 + 12 | 0) >> 2] = 0; label$15 : { label$16 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$15 } label$17 : { label$18 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$18 } $514 = (HEAPU8[((($6 + 680 | 0) + 112 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$17; } $514 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 388 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $514; label$19 : { label$20 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$20 } $541 = (HEAPU8[((($6 + 680 | 0) + 115 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$19; } $541 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 392 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $541; label$21 : { label$22 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$22 } $568 = (HEAPU8[((($6 + 680 | 0) + 118 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$21; } $568 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 396 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $568; label$23 : { label$24 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$24 } $595 = (HEAPU8[((($6 + 680 | 0) + 156 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$23; } $595 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 400 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $595; label$25 : { label$26 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$26 } $622 = (HEAPU8[((($6 + 680 | 0) + 176 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; break label$25; } $622 = 0; } HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 404 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $622; HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$16; }; } HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 640 | 0) >> 2] = HEAP32[($6 + 1232 | 0) >> 2] | 0; HEAP8[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 408 | 0) >> 0] = 0; HEAP8[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 409 | 0) >> 0] = 0; HEAP8[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 410 | 0) >> 0] = 0; HEAP8[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 411 | 0) >> 0] = 0; __stack_pointer = $5 + 32 | 0; return 83125 | 0; } function _GLOBAL__sub_I_btFixedConstraint_cpp() { __cxx_global_var_init_68(); return; } function __cxx_global_var_init_69() { btInfMaskConverter__btInfMaskConverter_28int_29(115400 | 0, 2139095040 | 0) | 0; return; } function btGeneric6DofSpring2Constraint__btGeneric6DofSpring2Constraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20RotateOrder_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $9 = 0, $8 = 0, $23 = 0, $26 = 0, $27 = 0, $29 = 0, $36 = 0, $39 = 0, $40 = 0, $42 = 0, $51 = 0, $54 = 0, $55 = 0, $57 = 0, $71 = 0, $74 = 0, $75 = 0, $77 = 0, $25 = 0, $38 = 0, $53 = 0, $73 = 0, $86 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 24 | 0) >> 2] = $0; HEAP32[($8 + 20 | 0) >> 2] = $1; HEAP32[($8 + 16 | 0) >> 2] = $2; HEAP32[($8 + 12 | 0) >> 2] = $3; HEAP32[($8 + 8 | 0) >> 2] = $4; HEAP32[($8 + 4 | 0) >> 2] = $5; $9 = HEAP32[($8 + 24 | 0) >> 2] | 0; HEAP32[($8 + 28 | 0) >> 2] = $9; btTypedConstraint__btTypedConstraint_28btTypedConstraintType_2c_20btRigidBody__2c_20btRigidBody__29($9 | 0, 12 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[$9 >> 2] = 102076 + 8 | 0; btTransform__btTransform_28btTransform_20const__29($9 + 48 | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($9 + 112 | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; $23 = $9 + 176 | 0; $25 = $23 + 252 | 0; $26 = $23; label$1 : while (1) { $27 = $26; btJacobianEntry__btJacobianEntry_28_29($27 | 0) | 0; $29 = $27 + 84 | 0; $26 = $29; if (!(($29 | 0) == ($25 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $36 = $9 + 428 | 0; $38 = $36 + 252 | 0; $39 = $36; label$2 : while (1) { $40 = $39; btJacobianEntry__btJacobianEntry_28_29($40 | 0) | 0; $42 = $40 + 84 | 0; $39 = $42; if (!(($42 | 0) == ($38 | 0) & 1 | 0)) { continue label$2 } break label$2; }; btTranslationalLimitMotor2__btTranslationalLimitMotor2_28_29($9 + 680 | 0 | 0) | 0; $51 = $9 + 968 | 0; $53 = $51 + 264 | 0; $54 = $51; label$3 : while (1) { $55 = $54; btRotationalLimitMotor2__btRotationalLimitMotor2_28_29($55 | 0) | 0; $57 = $55 + 88 | 0; $54 = $57; if (!(($57 | 0) == ($53 | 0) & 1 | 0)) { continue label$3 } break label$3; }; HEAP32[($9 + 1232 | 0) >> 2] = HEAP32[($8 + 4 | 0) >> 2] | 0; btTransform__btTransform_28_29($9 + 1236 | 0 | 0) | 0; btTransform__btTransform_28_29($9 + 1300 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 1364 | 0 | 0) | 0; $71 = $9 + 1380 | 0; $73 = $71 + 48 | 0; $74 = $71; label$4 : while (1) { $75 = $74; btVector3__btVector3_28_29($75 | 0) | 0; $77 = $75 + 16 | 0; $74 = $77; if (!(($77 | 0) == ($73 | 0) & 1 | 0)) { continue label$4 } break label$4; }; btVector3__btVector3_28_29($9 + 1428 | 0 | 0) | 0; HEAP32[($9 + 1456 | 0) >> 2] = 0; btGeneric6DofSpring2Constraint__calculateTransforms_28_29($9 | 0); $86 = HEAP32[($8 + 28 | 0) >> 2] | 0; __stack_pointer = $8 + 32 | 0; return $86 | 0; } function btJacobianEntry__btJacobianEntry_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btTranslationalLimitMotor2__btTranslationalLimitMotor2_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $294 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 144 | 0; __stack_pointer = $3; HEAP32[($3 + 136 | 0) >> 2] = $0; $4 = HEAP32[($3 + 136 | 0) >> 2] | 0; HEAP32[($3 + 140 | 0) >> 2] = $4; btVector3__btVector3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 80 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 96 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 124 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 140 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 160 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 180 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 196 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 212 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 228 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 244 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 260 | 0 | 0) | 0; HEAPF32[($3 + 132 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 128 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 124 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 | 0, $3 + 132 | 0 | 0, $3 + 128 | 0 | 0, $3 + 124 | 0 | 0); HEAPF32[($3 + 120 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 116 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 112 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 16 | 0 | 0, $3 + 120 | 0 | 0, $3 + 116 | 0 | 0, $3 + 112 | 0 | 0); HEAPF32[($3 + 108 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 104 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 100 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 32 | 0 | 0, $3 + 108 | 0 | 0, $3 + 104 | 0 | 0, $3 + 100 | 0 | 0); HEAPF32[($3 + 96 | 0) >> 2] = Math_fround(.20000000298023224); HEAPF32[($3 + 92 | 0) >> 2] = Math_fround(.20000000298023224); HEAPF32[($3 + 88 | 0) >> 2] = Math_fround(.20000000298023224); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 48 | 0 | 0, $3 + 96 | 0 | 0, $3 + 92 | 0 | 0, $3 + 88 | 0 | 0); HEAPF32[($3 + 84 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 80 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 76 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $3 + 84 | 0 | 0, $3 + 80 | 0 | 0, $3 + 76 | 0 | 0); HEAPF32[($3 + 72 | 0) >> 2] = Math_fround(.8999999761581421); HEAPF32[($3 + 68 | 0) >> 2] = Math_fround(.8999999761581421); HEAPF32[($3 + 64 | 0) >> 2] = Math_fround(.8999999761581421); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 80 | 0 | 0, $3 + 72 | 0 | 0, $3 + 68 | 0 | 0, $3 + 64 | 0 | 0); HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 96 | 0 | 0, $3 + 60 | 0 | 0, $3 + 56 | 0 | 0, $3 + 52 | 0 | 0); HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 228 | 0 | 0, $3 + 48 | 0 | 0, $3 + 44 | 0 | 0, $3 + 40 | 0 | 0); HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 244 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0, $3 + 28 | 0 | 0); HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 260 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0); HEAP32[($3 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } HEAP8[(($4 + 112 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; HEAP8[(($4 + 115 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; HEAP8[(($4 + 118 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 124 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 140 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP8[(($4 + 156 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 160 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP8[(($4 + 176 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 180 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 196 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 212 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[(($4 + 276 | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; HEAP32[($3 + 12 | 0) >> 2] = (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } $294 = HEAP32[($3 + 140 | 0) >> 2] | 0; __stack_pointer = $3 + 144 | 0; return $294 | 0; } function btRotationalLimitMotor2__btRotationalLimitMotor2_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAPF32[$4 >> 2] = Math_fround(1.0); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(.20000000298023224); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(.8999999761581421); HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAP8[($4 + 28 | 0) >> 0] = 0; HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(.10000000149011612); HEAP8[($4 + 40 | 0) >> 0] = 0; HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAP8[($4 + 48 | 0) >> 0] = 0; HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(0 | 0); HEAP8[($4 + 56 | 0) >> 0] = 0; HEAPF32[($4 + 60 | 0) >> 2] = Math_fround(0 | 0); HEAP8[($4 + 64 | 0) >> 0] = 0; HEAPF32[($4 + 68 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 72 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 76 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 80 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($4 + 84 | 0) >> 2] = 0; return $4 | 0; } function btGeneric6DofSpring2Constraint__calculateTransforms_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__calculateTransforms_28btTransform_20const__2c_20btTransform_20const__29($4 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btRigidBody__getCenterOfMassTransform_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btGeneric6DofSpring2Constraint__calculateTransforms_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $39 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 160 | 0; __stack_pointer = $5; HEAP32[($5 + 156 | 0) >> 2] = $0; HEAP32[($5 + 152 | 0) >> 2] = $1; HEAP32[($5 + 148 | 0) >> 2] = $2; $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29_20const($5 + 84 | 0 | 0, HEAP32[($5 + 152 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0); btTransform__operator__28btTransform_20const__29($6 + 1236 | 0 | 0, $5 + 84 | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29_20const($5 + 20 | 0 | 0, HEAP32[($5 + 148 | 0) >> 2] | 0 | 0, $6 + 112 | 0 | 0); btTransform__operator__28btTransform_20const__29($6 + 1300 | 0 | 0, $5 + 20 | 0 | 0) | 0; btGeneric6DofSpring2Constraint__calculateLinearInfo_28_29($6 | 0); btGeneric6DofSpring2Constraint__calculateAngleInfo_28_29($6 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(btTypedConstraint__getRigidBodyA_28_29($6 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(btTypedConstraint__getRigidBodyB_28_29($6 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $39 = 1; label$1 : { if (Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) < Math_fround(1.1920928955078125e-07) & 1 | 0) { break label$1 } $39 = Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) < Math_fround(1.1920928955078125e-07); } HEAP8[($6 + 1452 | 0) >> 0] = $39 & 1 | 0; HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); label$2 : { label$3 : { if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$3 } HEAPF32[($6 + 1444 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 8 | 0) >> 2])); break label$2; } HEAPF32[($6 + 1444 | 0) >> 2] = Math_fround(.5); } HEAPF32[($6 + 1448 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($6 + 1444 | 0) >> 2])); __stack_pointer = $5 + 160 | 0; return; } function btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $19 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) % (3 | 0) | 0; HEAP32[$4 >> 2] = (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) / (3 | 0) | 0; $19 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2]); __stack_pointer = $4 + 16 | 0; return Math_fround($19); } function btGeneric6DofSpring2Constraint__matrixToEulerXYZ_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $25 = Math_fround(0), $31 = Math_fround(0), $41 = Math_fround(0), $54 = Math_fround(0), $73 = Math_fround(0), $88 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { break label$2 } label$3 : { if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { break label$3 } $25 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 5 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $25), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $31 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $41 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $41), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } $54 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $54), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } $73 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $73), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $88 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $88 | 0; } function btAsin_28float_29($0) { $0 = Math_fround($0); var $3 = 0, $17 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAPF32[($3 + 12 | 0) >> 2] = $0; label$1 : { if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) < Math_fround(-1.0) & 1 | 0)) { break label$1 } HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(-1.0); } label$2 : { if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { break label$2 } HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(1.0); } $17 = Math_fround(asinf(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); __stack_pointer = $3 + 16 | 0; return Math_fround($17); } function btGeneric6DofSpring2Constraint__matrixToEulerXZY_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $24 = Math_fround(0), $33 = Math_fround(0), $40 = Math_fround(0), $54 = Math_fround(0), $74 = Math_fround(0), $89 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { break label$2 } label$3 : { if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { break label$3 } $24 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $24), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $33 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $33), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $40 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $40), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } $54 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $54), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } $74 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $74), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $89 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $89 | 0; } function btGeneric6DofSpring2Constraint__matrixToEulerYXZ_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $22 = Math_fround(0), $31 = Math_fround(0), $40 = Math_fround(0), $57 = Math_fround(0), $77 = Math_fround(0), $89 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 5 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { break label$2 } label$3 : { if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { break label$3 } $22 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 5 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $22), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $31 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $40 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $40), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $57 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $57), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $77 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $77), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $89 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $89 | 0; } function btGeneric6DofSpring2Constraint__matrixToEulerYZX_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $25 = Math_fround(0), $35 = Math_fround(0), $41 = Math_fround(0), $58 = Math_fround(0), $77 = Math_fround(0), $88 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { break label$2 } label$3 : { if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { break label$3 } $25 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 5 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $25), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $35 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $35), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $41 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $41), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $58 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $58), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $77 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $77), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $88 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $88 | 0; } function btGeneric6DofSpring2Constraint__matrixToEulerZXY_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $21 = Math_fround(0), $31 = Math_fround(0), $41 = Math_fround(0), $61 = Math_fround(0), $80 = Math_fround(0), $88 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { break label$2 } label$3 : { if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { break label$3 } $21 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $21), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $31 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $41 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $41), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $61 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $61), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $80 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $80), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $88 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $88 | 0; } function btGeneric6DofSpring2Constraint__matrixToEulerZYX_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $24 = Math_fround(0), $31 = Math_fround(0), $40 = Math_fround(0), $60 = Math_fround(0), $81 = Math_fround(0), $89 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { break label$2 } label$3 : { if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { break label$3 } $24 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $24), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $31 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $40 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $40), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $60 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $60), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $81 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0)))))); (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $81), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $89 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $89 | 0; } function btGeneric6DofSpring2Constraint__calculateAngleInfo_28_29($0) { $0 = $0 | 0; var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4 = 0, $17 = 0, $53 = 0, $81 = 0, $83 = 0, $100 = 0, $102 = 0, $121 = 0, $123 = 0, $155 = 0, $157 = 0, $174 = 0, $176 = 0, $195 = 0, $197 = 0, $227 = 0, $229 = 0, $246 = 0, $248 = 0, $265 = 0, $267 = 0, $299 = 0, $301 = 0, $318 = 0, $320 = 0, $339 = 0, $341 = 0, $371 = 0, $373 = 0, $390 = 0, $392 = 0, $409 = 0, $411 = 0, $443 = 0, $445 = 0, $462 = 0, $464 = 0, $483 = 0, $485 = 0, $664 = 0, $677 = 0, $701 = 0, $714 = 0, $741 = 0, $754 = 0, $803 = 0, $816 = 0, $840 = 0, $853 = 0, $880 = 0, $893 = 0, $939 = 0, $952 = 0, $976 = 0, $989 = 0, $1013 = 0, $1026 = 0, $1075 = 0, $1088 = 0, $1112 = 0, $1125 = 0, $1152 = 0, $1165 = 0, $1211 = 0, $1224 = 0, $1248 = 0, $1261 = 0, $1285 = 0, $1298 = 0, $1347 = 0, $1360 = 0, $1384 = 0, $1397 = 0, $1424 = 0, $1437 = 0; $3 = __stack_pointer - 592 | 0; __stack_pointer = $3; HEAP32[($3 + 588 | 0) >> 2] = $0; $4 = HEAP32[($3 + 588 | 0) >> 2] | 0; btMatrix3x3__inverse_28_29_20const($3 + 492 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($3 + 540 | 0 | 0, $3 + 492 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0); $17 = HEAP32[($4 + 1232 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($17 | 0) { case 0: btGeneric6DofSpring2Constraint__matrixToEulerXYZ_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; break label$1; case 1: btGeneric6DofSpring2Constraint__matrixToEulerXZY_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; break label$1; case 2: btGeneric6DofSpring2Constraint__matrixToEulerYXZ_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; break label$1; case 3: btGeneric6DofSpring2Constraint__matrixToEulerYZX_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; break label$1; case 4: btGeneric6DofSpring2Constraint__matrixToEulerZXY_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; break label$1; case 5: btGeneric6DofSpring2Constraint__matrixToEulerZYX_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; break label$1; default: break label$2; }; } __assert_fail(81487 | 0, 71825 | 0, 292 | 0, 76219 | 0); wasm2js_trap(); } $53 = HEAP32[($4 + 1232 | 0) >> 2] | 0; label$9 : { label$10 : { switch ($53 | 0) { case 0: btMatrix3x3__getColumn_28int_29_20const($3 + 476 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 0 | 0); btMatrix3x3__getColumn_28int_29_20const($3 + 460 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 2 | 0); btVector3__cross_28btVector3_20const__29_20const($3 + 444 | 0 | 0, $3 + 460 | 0 | 0, $3 + 476 | 0 | 0); $81 = ($4 + 1380 | 0) + 16 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 444 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 448 | 0) >> 2] | 0; $664 = i64toi32_i32$0; i64toi32_i32$0 = $81; HEAP32[i64toi32_i32$0 >> 2] = $664; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $83 = 8; i64toi32_i32$2 = ($3 + 444 | 0) + $83 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $677 = i64toi32_i32$1; i64toi32_i32$1 = $81 + $83 | 0; HEAP32[i64toi32_i32$1 >> 2] = $677; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 428 | 0 | 0, ($4 + 1380 | 0) + 16 | 0 | 0, $3 + 460 | 0 | 0); $100 = $4 + 1380 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 428 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 432 | 0) >> 2] | 0; $701 = i64toi32_i32$0; i64toi32_i32$0 = $100; HEAP32[i64toi32_i32$0 >> 2] = $701; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $102 = 8; i64toi32_i32$2 = ($3 + 428 | 0) + $102 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $714 = i64toi32_i32$1; i64toi32_i32$1 = $100 + $102 | 0; HEAP32[i64toi32_i32$1 >> 2] = $714; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 412 | 0 | 0, $3 + 476 | 0 | 0, ($4 + 1380 | 0) + 16 | 0 | 0); $121 = ($4 + 1380 | 0) + 32 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 412 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 416 | 0) >> 2] | 0; $741 = i64toi32_i32$0; i64toi32_i32$0 = $121; HEAP32[i64toi32_i32$0 >> 2] = $741; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $123 = 8; i64toi32_i32$2 = ($3 + 412 | 0) + $123 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $754 = i64toi32_i32$1; i64toi32_i32$1 = $121 + $123 | 0; HEAP32[i64toi32_i32$1 >> 2] = $754; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 1: btMatrix3x3__getColumn_28int_29_20const($3 + 396 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 0 | 0); btMatrix3x3__getColumn_28int_29_20const($3 + 380 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 1 | 0); btVector3__cross_28btVector3_20const__29_20const($3 + 364 | 0 | 0, $3 + 396 | 0 | 0, $3 + 380 | 0 | 0); $155 = ($4 + 1380 | 0) + 32 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 364 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 368 | 0) >> 2] | 0; $803 = i64toi32_i32$0; i64toi32_i32$0 = $155; HEAP32[i64toi32_i32$0 >> 2] = $803; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $157 = 8; i64toi32_i32$2 = ($3 + 364 | 0) + $157 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $816 = i64toi32_i32$1; i64toi32_i32$1 = $155 + $157 | 0; HEAP32[i64toi32_i32$1 >> 2] = $816; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 348 | 0 | 0, $3 + 380 | 0 | 0, ($4 + 1380 | 0) + 32 | 0 | 0); $174 = $4 + 1380 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 348 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 352 | 0) >> 2] | 0; $840 = i64toi32_i32$0; i64toi32_i32$0 = $174; HEAP32[i64toi32_i32$0 >> 2] = $840; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $176 = 8; i64toi32_i32$2 = ($3 + 348 | 0) + $176 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $853 = i64toi32_i32$1; i64toi32_i32$1 = $174 + $176 | 0; HEAP32[i64toi32_i32$1 >> 2] = $853; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 332 | 0 | 0, ($4 + 1380 | 0) + 32 | 0 | 0, $3 + 396 | 0 | 0); $195 = ($4 + 1380 | 0) + 16 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 332 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 336 | 0) >> 2] | 0; $880 = i64toi32_i32$0; i64toi32_i32$0 = $195; HEAP32[i64toi32_i32$0 >> 2] = $880; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $197 = 8; i64toi32_i32$2 = ($3 + 332 | 0) + $197 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $893 = i64toi32_i32$1; i64toi32_i32$1 = $195 + $197 | 0; HEAP32[i64toi32_i32$1 >> 2] = $893; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 2: btMatrix3x3__getColumn_28int_29_20const($3 + 316 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 1 | 0); btMatrix3x3__getColumn_28int_29_20const($3 + 300 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 2 | 0); btVector3__cross_28btVector3_20const__29_20const($3 + 284 | 0 | 0, $3 + 316 | 0 | 0, $3 + 300 | 0 | 0); $227 = $4 + 1380 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 284 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 288 | 0) >> 2] | 0; $939 = i64toi32_i32$0; i64toi32_i32$0 = $227; HEAP32[i64toi32_i32$0 >> 2] = $939; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $229 = 8; i64toi32_i32$2 = ($3 + 284 | 0) + $229 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $952 = i64toi32_i32$1; i64toi32_i32$1 = $227 + $229 | 0; HEAP32[i64toi32_i32$1 >> 2] = $952; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 268 | 0 | 0, $3 + 300 | 0 | 0, $4 + 1380 | 0 | 0); $246 = ($4 + 1380 | 0) + 16 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 268 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 272 | 0) >> 2] | 0; $976 = i64toi32_i32$0; i64toi32_i32$0 = $246; HEAP32[i64toi32_i32$0 >> 2] = $976; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $248 = 8; i64toi32_i32$2 = ($3 + 268 | 0) + $248 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $989 = i64toi32_i32$1; i64toi32_i32$1 = $246 + $248 | 0; HEAP32[i64toi32_i32$1 >> 2] = $989; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 252 | 0 | 0, $4 + 1380 | 0 | 0, $3 + 316 | 0 | 0); $265 = ($4 + 1380 | 0) + 32 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 252 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 256 | 0) >> 2] | 0; $1013 = i64toi32_i32$0; i64toi32_i32$0 = $265; HEAP32[i64toi32_i32$0 >> 2] = $1013; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $267 = 8; i64toi32_i32$2 = ($3 + 252 | 0) + $267 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1026 = i64toi32_i32$1; i64toi32_i32$1 = $265 + $267 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1026; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 3: btMatrix3x3__getColumn_28int_29_20const($3 + 236 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 0 | 0); btMatrix3x3__getColumn_28int_29_20const($3 + 220 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 1 | 0); btVector3__cross_28btVector3_20const__29_20const($3 + 204 | 0 | 0, $3 + 236 | 0 | 0, $3 + 220 | 0 | 0); $299 = ($4 + 1380 | 0) + 32 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 204 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 208 | 0) >> 2] | 0; $1075 = i64toi32_i32$0; i64toi32_i32$0 = $299; HEAP32[i64toi32_i32$0 >> 2] = $1075; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $301 = 8; i64toi32_i32$2 = ($3 + 204 | 0) + $301 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1088 = i64toi32_i32$1; i64toi32_i32$1 = $299 + $301 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1088; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 188 | 0 | 0, $3 + 220 | 0 | 0, ($4 + 1380 | 0) + 32 | 0 | 0); $318 = $4 + 1380 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 188 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 192 | 0) >> 2] | 0; $1112 = i64toi32_i32$0; i64toi32_i32$0 = $318; HEAP32[i64toi32_i32$0 >> 2] = $1112; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $320 = 8; i64toi32_i32$2 = ($3 + 188 | 0) + $320 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1125 = i64toi32_i32$1; i64toi32_i32$1 = $318 + $320 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1125; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 172 | 0 | 0, ($4 + 1380 | 0) + 32 | 0 | 0, $3 + 236 | 0 | 0); $339 = ($4 + 1380 | 0) + 16 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 172 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 176 | 0) >> 2] | 0; $1152 = i64toi32_i32$0; i64toi32_i32$0 = $339; HEAP32[i64toi32_i32$0 >> 2] = $1152; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $341 = 8; i64toi32_i32$2 = ($3 + 172 | 0) + $341 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1165 = i64toi32_i32$1; i64toi32_i32$1 = $339 + $341 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1165; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 4: btMatrix3x3__getColumn_28int_29_20const($3 + 156 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 1 | 0); btMatrix3x3__getColumn_28int_29_20const($3 + 140 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 2 | 0); btVector3__cross_28btVector3_20const__29_20const($3 + 124 | 0 | 0, $3 + 156 | 0 | 0, $3 + 140 | 0 | 0); $371 = $4 + 1380 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 124 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 128 | 0) >> 2] | 0; $1211 = i64toi32_i32$0; i64toi32_i32$0 = $371; HEAP32[i64toi32_i32$0 >> 2] = $1211; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $373 = 8; i64toi32_i32$2 = ($3 + 124 | 0) + $373 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1224 = i64toi32_i32$1; i64toi32_i32$1 = $371 + $373 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1224; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 108 | 0 | 0, $3 + 140 | 0 | 0, $4 + 1380 | 0 | 0); $390 = ($4 + 1380 | 0) + 16 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 108 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 112 | 0) >> 2] | 0; $1248 = i64toi32_i32$0; i64toi32_i32$0 = $390; HEAP32[i64toi32_i32$0 >> 2] = $1248; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $392 = 8; i64toi32_i32$2 = ($3 + 108 | 0) + $392 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1261 = i64toi32_i32$1; i64toi32_i32$1 = $390 + $392 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1261; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 92 | 0 | 0, $4 + 1380 | 0 | 0, $3 + 156 | 0 | 0); $409 = ($4 + 1380 | 0) + 32 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 92 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 96 | 0) >> 2] | 0; $1285 = i64toi32_i32$0; i64toi32_i32$0 = $409; HEAP32[i64toi32_i32$0 >> 2] = $1285; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $411 = 8; i64toi32_i32$2 = ($3 + 92 | 0) + $411 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1298 = i64toi32_i32$1; i64toi32_i32$1 = $409 + $411 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1298; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; case 5: btMatrix3x3__getColumn_28int_29_20const($3 + 76 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 0 | 0); btMatrix3x3__getColumn_28int_29_20const($3 + 60 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 2 | 0); btVector3__cross_28btVector3_20const__29_20const($3 + 44 | 0 | 0, $3 + 60 | 0 | 0, $3 + 76 | 0 | 0); $443 = ($4 + 1380 | 0) + 16 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 44 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 48 | 0) >> 2] | 0; $1347 = i64toi32_i32$0; i64toi32_i32$0 = $443; HEAP32[i64toi32_i32$0 >> 2] = $1347; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $445 = 8; i64toi32_i32$2 = ($3 + 44 | 0) + $445 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1360 = i64toi32_i32$1; i64toi32_i32$1 = $443 + $445 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1360; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 28 | 0 | 0, ($4 + 1380 | 0) + 16 | 0 | 0, $3 + 60 | 0 | 0); $462 = $4 + 1380 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 28 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 32 | 0) >> 2] | 0; $1384 = i64toi32_i32$0; i64toi32_i32$0 = $462; HEAP32[i64toi32_i32$0 >> 2] = $1384; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $464 = 8; i64toi32_i32$2 = ($3 + 28 | 0) + $464 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1397 = i64toi32_i32$1; i64toi32_i32$1 = $462 + $464 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1397; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($3 + 12 | 0 | 0, $3 + 76 | 0 | 0, ($4 + 1380 | 0) + 16 | 0 | 0); $483 = ($4 + 1380 | 0) + 32 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 16 | 0) >> 2] | 0; $1424 = i64toi32_i32$0; i64toi32_i32$0 = $483; HEAP32[i64toi32_i32$0 >> 2] = $1424; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $485 = 8; i64toi32_i32$2 = ($3 + 12 | 0) + $485 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1437 = i64toi32_i32$1; i64toi32_i32$1 = $483 + $485 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1437; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$9; default: break label$10; }; } __assert_fail(81487 | 0, 71825 | 0, 402 | 0, 76219 | 0); wasm2js_trap(); } btVector3__normalize_28_29($4 + 1380 | 0 | 0) | 0; btVector3__normalize_28_29(($4 + 1380 | 0) + 16 | 0 | 0) | 0; btVector3__normalize_28_29(($4 + 1380 | 0) + 32 | 0 | 0) | 0; __stack_pointer = $3 + 592 | 0; return; } function btGeneric6DofSpring2Constraint__calculateLinearInfo_28_29($0) { $0 = $0 | 0; var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $15 = 0, $17 = 0, $38 = 0, $40 = 0, $119 = 0, $132 = 0, $164 = 0, $177 = 0, $61 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 96 | 0; __stack_pointer = $3; HEAP32[($3 + 92 | 0) >> 2] = $0; $4 = HEAP32[($3 + 92 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 76 | 0 | 0, btTransform__getOrigin_28_29($4 + 1300 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($4 + 1236 | 0 | 0) | 0 | 0); $15 = $4 + 1428 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 76 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 80 | 0) >> 2] | 0; $119 = i64toi32_i32$0; i64toi32_i32$0 = $15; HEAP32[i64toi32_i32$0 >> 2] = $119; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $17 = 8; i64toi32_i32$2 = ($3 + 76 | 0) + $17 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $132 = i64toi32_i32$1; i64toi32_i32$1 = $15 + $17 | 0; HEAP32[i64toi32_i32$1 >> 2] = $132; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btMatrix3x3__inverse_28_29_20const($3 + 12 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 60 | 0 | 0, $3 + 12 | 0 | 0, $4 + 1428 | 0 | 0); $38 = $4 + 1428 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 60 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 64 | 0) >> 2] | 0; $164 = i64toi32_i32$0; i64toi32_i32$0 = $38; HEAP32[i64toi32_i32$0 >> 2] = $164; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $40 = 8; i64toi32_i32$2 = ($3 + 60 | 0) + $40 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $177 = i64toi32_i32$1; i64toi32_i32$1 = $38 + $40 | 0; HEAP32[i64toi32_i32$1 >> 2] = $177; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($3 + 8 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } $61 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 1428 | 0 | 0) | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($4 + 680 | 0) + 260 | 0 | 0) | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $61), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btTranslationalLimitMotor2__testLimitValue_28int_2c_20float_29($4 + 680 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 1428 | 0 | 0) | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 96 | 0; return; } function btTypedConstraint__getRigidBodyA_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; } function btRigidBody__getInvMass_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 404 | 0) >> 2])); } function btTypedConstraint__getRigidBodyB_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; } function btTranslationalLimitMotor2__testLimitValue_28int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $49 = Math_fround(0), $66 = Math_fround(0), $76 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAPF32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 16 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 228 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[(($6 + 276 | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; break label$1; } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) == Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) & 1 | 0)) { break label$4 } $49 = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 228 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $49), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[(($6 + 276 | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 3; break label$3; } $66 = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 228 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $66), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $76 = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 244 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $76), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[(($6 + 276 | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 4; } } __stack_pointer = $5 + 32 | 0; return; } function btGeneric6DofSpring2Constraint__testAngularLimitMotor_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 1364 | 0 | 0) | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btAdjustAngleToLimits_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[($4 + 4 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(($5 + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0) + 4 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; HEAPF32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0) + 80 | 0) >> 2] = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); btRotationalLimitMotor2__testLimitValue_28float_29(($5 + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btAdjustAngleToLimits_28float_2c_20float_2c_20float_29($0, $1, $2) { $0 = Math_fround($0); $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $33 = Math_fround(0), $61 = Math_fround(0), $65 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAPF32[($5 + 24 | 0) >> 2] = $0; HEAPF32[($5 + 20 | 0) >> 2] = $1; HEAPF32[($5 + 16 | 0) >> 2] = $2; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) >= Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); break label$1; } label$3 : { if (!(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 24 | 0) >> 2]))))))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 24 | 0) >> 2]))))))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$4 : { label$5 : { if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) & 1 | 0)) { break label$5 } $33 = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); break label$4; } $33 = Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) + Math_fround(6.2831854820251465)); } HEAPF32[($5 + 28 | 0) >> 2] = $33; break label$1; } label$6 : { if (!(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2]))))))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 20 | 0) >> 2]))))))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; label$7 : { label$8 : { if (!(Math_fround(HEAPF32[$5 >> 2]) < Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { break label$8 } $61 = Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) - Math_fround(6.2831854820251465)); break label$7; } $61 = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); } HEAPF32[($5 + 28 | 0) >> 2] = $61; break label$1; } HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); } $65 = Math_fround(HEAPF32[($5 + 28 | 0) >> 2]); __stack_pointer = $5 + 32 | 0; return Math_fround($65); } function btRotationalLimitMotor2__testLimitValue_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[$5 >> 2]) > Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAP32[($5 + 84 | 0) >> 2] = 0; HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(0 | 0); break label$1; } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[$5 >> 2]) == Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { break label$4 } HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) - Math_fround(HEAPF32[$5 >> 2])); HEAP32[($5 + 84 | 0) >> 2] = 3; break label$3; } HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) - Math_fround(HEAPF32[$5 >> 2])); HEAPF32[($5 + 76 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); HEAP32[($5 + 84 | 0) >> 2] = 4; } } return; } function btGeneric6DofSpring2Constraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $37 = 0, $50 = 0, $63 = 0, $76 = 0, $105 = 0, $116 = 0, $129 = 0, $142 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint__calculateTransforms_28btTransform_20const__2c_20btTransform_20const__29($5 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 0; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } label$3 : { label$4 : { if (!((HEAP32[((($5 + 680 | 0) + 276 | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { break label$4 } $37 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + 2 | 0; break label$3; } label$5 : { if (!(HEAP32[((($5 + 680 | 0) + 276 | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { break label$5 } $50 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + 1 | 0; } } label$6 : { if (!((HEAPU8[((($5 + 680 | 0) + 112 | 0) + (HEAP32[($4 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0)) { break label$6 } $63 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$63 >> 2] = (HEAP32[$63 >> 2] | 0) + 1 | 0; } label$7 : { if (!((HEAPU8[((($5 + 680 | 0) + 118 | 0) + (HEAP32[($4 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0)) { break label$7 } $76 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$76 >> 2] = (HEAP32[$76 >> 2] | 0) + 1 | 0; } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAP32[($4 + 4 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$8 } btGeneric6DofSpring2Constraint__testAngularLimitMotor_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); label$10 : { label$11 : { if (!((HEAP32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { break label$11 } $105 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$105 >> 2] = (HEAP32[$105 >> 2] | 0) + 2 | 0; break label$10; } label$12 : { if (!(HEAP32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0)) { break label$12 } $116 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$116 >> 2] = (HEAP32[$116 >> 2] | 0) + 1 | 0; } } label$13 : { if (!((HEAPU8[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 28 | 0) >> 0] | 0) & 1 | 0)) { break label$13 } $129 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + 1 | 0; } label$14 : { if (!((HEAPU8[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 48 | 0) >> 0] | 0) & 1 | 0)) { break label$14 } $142 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + 1 | 0; } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$9; }; } __stack_pointer = $4 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btGeneric6DofSpring2Constraint__setAngularLimits_28btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; btGeneric6DofSpring2Constraint__setLinearLimits_28btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 48 | 0; return; } function btGeneric6DofSpring2Constraint__setAngularLimits_28btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, $12 = 0, $16 = 0, $19 = 0, i64toi32_i32$1 = 0, $160 = 0, $166 = 0; $11 = __stack_pointer - 96 | 0; __stack_pointer = $11; HEAP32[($11 + 92 | 0) >> 2] = $0; HEAP32[($11 + 88 | 0) >> 2] = $1; HEAP32[($11 + 84 | 0) >> 2] = $2; HEAP32[($11 + 80 | 0) >> 2] = $3; HEAP32[($11 + 76 | 0) >> 2] = $4; HEAP32[($11 + 72 | 0) >> 2] = $5; HEAP32[($11 + 68 | 0) >> 2] = $6; HEAP32[($11 + 64 | 0) >> 2] = $7; HEAP32[($11 + 60 | 0) >> 2] = $8; $12 = HEAP32[($11 + 92 | 0) >> 2] | 0; HEAP32[($11 + 56 | 0) >> 2] = HEAP32[($11 + 84 | 0) >> 2] | 0; $16 = 0; HEAP32[($11 + 48 | 0) >> 2] = HEAP32[($16 + 102136 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 102132 | 0) >> 2] | 0; HEAP32[($11 + 40 | 0) >> 2] = HEAP32[($16 + 102128 | 0) >> 2] | 0; HEAP32[($11 + 44 | 0) >> 2] = i64toi32_i32$1; $19 = HEAP32[($12 + 1232 | 0) >> 2] | 0; label$1 : { label$2 : { switch ($19 | 0) { case 0: HEAP32[($11 + 40 | 0) >> 2] = 0; HEAP32[($11 + 44 | 0) >> 2] = 1; HEAP32[($11 + 48 | 0) >> 2] = 2; break label$1; case 1: HEAP32[($11 + 40 | 0) >> 2] = 0; HEAP32[($11 + 44 | 0) >> 2] = 2; HEAP32[($11 + 48 | 0) >> 2] = 1; break label$1; case 2: HEAP32[($11 + 40 | 0) >> 2] = 1; HEAP32[($11 + 44 | 0) >> 2] = 0; HEAP32[($11 + 48 | 0) >> 2] = 2; break label$1; case 3: HEAP32[($11 + 40 | 0) >> 2] = 1; HEAP32[($11 + 44 | 0) >> 2] = 2; HEAP32[($11 + 48 | 0) >> 2] = 0; break label$1; case 4: HEAP32[($11 + 40 | 0) >> 2] = 2; HEAP32[($11 + 44 | 0) >> 2] = 0; HEAP32[($11 + 48 | 0) >> 2] = 1; break label$1; case 5: HEAP32[($11 + 40 | 0) >> 2] = 2; HEAP32[($11 + 44 | 0) >> 2] = 1; HEAP32[($11 + 48 | 0) >> 2] = 0; break label$1; default: break label$2; }; } __assert_fail(81487 | 0, 71825 | 0, 563 | 0, 69239 | 0); wasm2js_trap(); } HEAP32[($11 + 36 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($11 + 36 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$9 } HEAP32[($11 + 32 | 0) >> 2] = HEAP32[(($11 + 40 | 0) + ((HEAP32[($11 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; label$11 : { label$12 : { if (HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0) { break label$12 } if ((HEAPU8[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 28 | 0) >> 0] | 0) & 1 | 0) { break label$12 } if (!((HEAPU8[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 48 | 0) >> 0] | 0) & 1 | 0)) { break label$11 } } btGeneric6DofSpring2Constraint__getAxis_28int_29_20const($11 + 16 | 0 | 0, $12 | 0, HEAP32[($11 + 32 | 0) >> 2] | 0 | 0); HEAP32[($11 + 12 | 0) >> 2] = (HEAP32[($12 + 1456 | 0) >> 2] | 0) >> (((HEAP32[($11 + 32 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0; label$13 : { if ((HEAP32[($11 + 12 | 0) >> 2] | 0) & 1 | 0) { break label$13 } HEAPF32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 16 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[((HEAP32[($11 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2]); } label$14 : { if ((HEAP32[($11 + 12 | 0) >> 2] | 0) & 2 | 0) { break label$14 } HEAPF32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2]); } label$15 : { if ((HEAP32[($11 + 12 | 0) >> 2] | 0) & 4 | 0) { break label$15 } HEAPF32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 24 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[((HEAP32[($11 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2]); } label$16 : { if ((HEAP32[($11 + 12 | 0) >> 2] | 0) & 8 | 0) { break label$16 } HEAPF32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 20 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2]); } $160 = btGeneric6DofSpring2Constraint__get_limit_motor_info2_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($12 | 0, ($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0 | 0, HEAP32[($11 + 80 | 0) >> 2] | 0 | 0, HEAP32[($11 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11 + 72 | 0) >> 2] | 0 | 0, HEAP32[($11 + 68 | 0) >> 2] | 0 | 0, HEAP32[($11 + 64 | 0) >> 2] | 0 | 0, HEAP32[($11 + 60 | 0) >> 2] | 0 | 0, HEAP32[($11 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11 + 56 | 0) >> 2] | 0 | 0, $11 + 16 | 0 | 0, 1 | 0, 0 | 0) | 0; HEAP32[($11 + 56 | 0) >> 2] = (HEAP32[($11 + 56 | 0) >> 2] | 0) + $160 | 0; } HEAP32[($11 + 36 | 0) >> 2] = (HEAP32[($11 + 36 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } $166 = HEAP32[($11 + 56 | 0) >> 2] | 0; __stack_pointer = $11 + 96 | 0; return $166 | 0; } function btGeneric6DofSpring2Constraint__setLinearLimits_28btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, $12 = 0, $330 = 0, $442 = 0, $248 = Math_fround(0), $266 = Math_fround(0), $283 = Math_fround(0), $301 = Math_fround(0), $398 = 0, $412 = 0, $510 = 0, $524 = 0, $563 = 0, $569 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $11 = __stack_pointer - 176 | 0; __stack_pointer = $11; HEAP32[($11 + 172 | 0) >> 2] = $0; HEAP32[($11 + 168 | 0) >> 2] = $1; HEAP32[($11 + 164 | 0) >> 2] = $2; HEAP32[($11 + 160 | 0) >> 2] = $3; HEAP32[($11 + 156 | 0) >> 2] = $4; HEAP32[($11 + 152 | 0) >> 2] = $5; HEAP32[($11 + 148 | 0) >> 2] = $6; HEAP32[($11 + 144 | 0) >> 2] = $7; HEAP32[($11 + 140 | 0) >> 2] = $8; $12 = HEAP32[($11 + 172 | 0) >> 2] | 0; btRotationalLimitMotor2__btRotationalLimitMotor2_28_29($11 + 52 | 0 | 0) | 0; HEAP32[($11 + 48 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($11 + 48 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } label$3 : { label$4 : { if (HEAP32[((($12 + 680 | 0) + 276 | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { break label$4 } if ((HEAPU8[((($12 + 680 | 0) + 112 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0) { break label$4 } if (!((HEAPU8[((($12 + 680 | 0) + 118 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0)) { break label$3 } } (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 32 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; HEAP32[($11 + 136 | 0) >> 2] = HEAP32[((($12 + 680 | 0) + 276 | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 260 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 228 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 244 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_f32$0; HEAP8[($11 + 80 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 112 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; HEAP8[($11 + 92 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 115 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 124 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; HEAP8[($11 + 100 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 118 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 140 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; HEAP8[($11 + 108 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 156 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 160 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; HEAP8[($11 + 116 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 176 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 180 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 16 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($12 + 680 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 212 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 196 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; btMatrix3x3__getColumn_28int_29_20const($11 + 32 | 0 | 0, btTransform__getBasis_28_29($12 + 1236 | 0 | 0) | 0 | 0, HEAP32[($11 + 48 | 0) >> 2] | 0 | 0); HEAP32[($11 + 28 | 0) >> 2] = (HEAP32[($12 + 1456 | 0) >> 2] | 0) >> ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; label$5 : { label$6 : { if (!((HEAP32[($11 + 28 | 0) >> 2] | 0) & 1 | 0)) { break label$6 } $248 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 64 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); break label$5; } $248 = Math_fround(HEAPF32[(HEAP32[((HEAP32[($11 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2]); } HEAPF32[($11 + 68 | 0) >> 2] = $248; label$7 : { label$8 : { if (!((HEAP32[($11 + 28 | 0) >> 2] | 0) & 2 | 0)) { break label$8 } $266 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 48 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); break label$7; } $266 = Math_fround(HEAPF32[((HEAP32[($11 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]); } HEAPF32[($11 + 64 | 0) >> 2] = $266; label$9 : { label$10 : { if (!((HEAP32[($11 + 28 | 0) >> 2] | 0) & 4 | 0)) { break label$10 } $283 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 96 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); break label$9; } $283 = Math_fround(HEAPF32[(HEAP32[((HEAP32[($11 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2]); } HEAPF32[($11 + 76 | 0) >> 2] = $283; label$11 : { label$12 : { if (!((HEAP32[($11 + 28 | 0) >> 2] | 0) & 8 | 0)) { break label$12 } $301 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 80 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); break label$11; } $301 = Math_fround(HEAPF32[((HEAP32[($11 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]); } HEAPF32[($11 + 72 | 0) >> 2] = $301; HEAP32[($11 + 24 | 0) >> 2] = ((HEAP32[($11 + 48 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0; HEAP32[($11 + 20 | 0) >> 2] = ((HEAP32[($11 + 48 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; HEAP32[($11 + 16 | 0) >> 2] = 1; $330 = 1; label$13 : { if ((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { break label$13 } $330 = 1; if ((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { break label$13 } label$14 : { if (!((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { break label$14 } $330 = 1; if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) < -.001 & 1 | 0) { break label$13 } $330 = 1; if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) > .001 & 1 | 0) { break label$13 } } $398 = 0; label$15 : { if (!((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { break label$15 } $412 = 1; label$16 : { if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) < -.001 & 1 | 0) { break label$16 } $412 = +Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 1044 | 0) >> 2]) > .001; } $398 = $412; } $330 = $398; } HEAP8[($11 + 15 | 0) >> 0] = $330 & 1 | 0; $442 = 1; label$17 : { if ((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { break label$17 } $442 = 1; if ((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { break label$17 } label$18 : { if (!((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { break label$18 } $442 = 1; if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) < -.001 & 1 | 0) { break label$17 } $442 = 1; if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) > .001 & 1 | 0) { break label$17 } } $510 = 0; label$19 : { if (!((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { break label$19 } $524 = 1; label$20 : { if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) < -.001 & 1 | 0) { break label$20 } $524 = +Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 1044 | 0) >> 2]) > .001; } $510 = $524; } $442 = $510; } HEAP8[($11 + 14 | 0) >> 0] = $442 & 1 | 0; label$21 : { if (!((HEAPU8[($11 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$21 } if (!((HEAPU8[($11 + 14 | 0) >> 0] | 0) & 1 | 0)) { break label$21 } HEAP32[($11 + 16 | 0) >> 2] = 0; } $563 = btGeneric6DofSpring2Constraint__get_limit_motor_info2_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($12 | 0, $11 + 52 | 0 | 0, HEAP32[($11 + 160 | 0) >> 2] | 0 | 0, HEAP32[($11 + 156 | 0) >> 2] | 0 | 0, HEAP32[($11 + 152 | 0) >> 2] | 0 | 0, HEAP32[($11 + 148 | 0) >> 2] | 0 | 0, HEAP32[($11 + 144 | 0) >> 2] | 0 | 0, HEAP32[($11 + 140 | 0) >> 2] | 0 | 0, HEAP32[($11 + 168 | 0) >> 2] | 0 | 0, HEAP32[($11 + 164 | 0) >> 2] | 0 | 0, $11 + 32 | 0 | 0, 0 | 0, HEAP32[($11 + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[($11 + 164 | 0) >> 2] = (HEAP32[($11 + 164 | 0) >> 2] | 0) + $563 | 0; } HEAP32[($11 + 48 | 0) >> 2] = (HEAP32[($11 + 48 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } $569 = HEAP32[($11 + 164 | 0) >> 2] | 0; __stack_pointer = $11 + 176 | 0; return $569 | 0; } function btGeneric6DofSpring2Constraint__getAxis_28int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $14 = 0, $42 = 0, $52 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $1; HEAP32[($5 + 8 | 0) >> 2] = $2; i64toi32_i32$2 = ((HEAP32[($5 + 12 | 0) >> 2] | 0) + 1380 | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $42; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $14 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $52 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $14 | 0; HEAP32[i64toi32_i32$1 >> 2] = $52; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btGeneric6DofSpring2Constraint__get_limit_motor_info2_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; $10 = $10 | 0; $11 = $11 | 0; $12 = $12 | 0; var $15 = 0, $16 = 0, $38 = Math_fround(0), $427 = Math_fround(0), $542 = Math_fround(0), $568 = Math_fround(0), $578 = Math_fround(0), $594 = Math_fround(0), $611 = Math_fround(0), $708 = Math_fround(0), $733 = Math_fround(0), $816 = Math_fround(0), $825 = Math_fround(0), $837 = Math_fround(0), $854 = Math_fround(0), $872 = Math_fround(0), $891 = Math_fround(0), $915 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $15 = __stack_pointer - 176 | 0; __stack_pointer = $15; HEAP32[($15 + 172 | 0) >> 2] = $0; HEAP32[($15 + 168 | 0) >> 2] = $1; HEAP32[($15 + 164 | 0) >> 2] = $2; HEAP32[($15 + 160 | 0) >> 2] = $3; HEAP32[($15 + 156 | 0) >> 2] = $4; HEAP32[($15 + 152 | 0) >> 2] = $5; HEAP32[($15 + 148 | 0) >> 2] = $6; HEAP32[($15 + 144 | 0) >> 2] = $7; HEAP32[($15 + 140 | 0) >> 2] = $8; HEAP32[($15 + 136 | 0) >> 2] = $9; HEAP32[($15 + 132 | 0) >> 2] = $10; HEAP32[($15 + 128 | 0) >> 2] = $11; HEAP32[($15 + 124 | 0) >> 2] = $12; $16 = HEAP32[($15 + 172 | 0) >> 2] | 0; HEAP32[($15 + 120 | 0) >> 2] = 0; HEAP32[($15 + 116 | 0) >> 2] = Math_imul(HEAP32[($15 + 136 | 0) >> 2] | 0, HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0); label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { break label$2 } label$3 : { label$4 : { if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { break label$4 } $38 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 148 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0)) - Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 144 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0))); break label$3; } $38 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 156 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0)) - Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 152 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0))); } HEAPF32[($15 + 112 | 0) >> 2] = $38; btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)); label$5 : { label$6 : { if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { break label$6 } label$7 : { if (!(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 112 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) > Math_fround(0 | 0) & 1 | 0)) { break label$7 } HEAPF32[($15 + 108 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 112 | 0) >> 2])); label$8 : { if (!(Math_fround(HEAPF32[($15 + 108 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$8 } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 108 | 0) >> 2]); } } break label$5; } label$9 : { if (!(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 112 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(0 | 0) & 1 | 0)) { break label$9 } HEAPF32[($15 + 104 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 112 | 0) >> 2])); label$10 : { if (!(Math_fround(HEAPF32[($15 + 104 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$10 } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 104 | 0) >> 2]); } } } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($15 + 128 | 0) >> 2] | 0 ? Math_fround(0 | 0) : Math_fround(-3402823466385288598117041.0e14); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($15 + 128 | 0) >> 2] | 0 ? Math_fround(3402823466385288598117041.0e14) : Math_fround(0 | 0); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2]); HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)); label$11 : { label$12 : { if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { break label$12 } label$13 : { if (!(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 112 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(0 | 0) & 1 | 0)) { break label$13 } HEAPF32[($15 + 100 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 112 | 0) >> 2])); label$14 : { if (!(Math_fround(HEAPF32[($15 + 100 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$14 } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 100 | 0) >> 2]); } } break label$11; } label$15 : { if (!(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 112 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) > Math_fround(0 | 0) & 1 | 0)) { break label$15 } HEAPF32[($15 + 96 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 112 | 0) >> 2])); label$16 : { if (!(Math_fround(HEAPF32[($15 + 96 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$16 } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 96 | 0) >> 2]); } } } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($15 + 128 | 0) >> 2] | 0 ? Math_fround(-3402823466385288598117041.0e14) : Math_fround(0 | 0); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($15 + 128 | 0) >> 2] | 0 ? Math_fround(0 | 0) : Math_fround(3402823466385288598117041.0e14); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2]); HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; break label$1; } label$17 : { if (!((HEAP32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { break label$17 } btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2]); HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; } } label$18 : { if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 1 | 0)) { break label$18 } if ((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 1 | 0) { break label$18 } btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); label$19 : { label$20 : { if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { break label$20 } $427 = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2]); break label$19; } $427 = Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2])); } HEAPF32[($15 + 92 | 0) >> 2] = $427; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($16 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 168 | 0) >> 2] | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($15 + 92 | 0) >> 2])), Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 88 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2]); HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; } label$21 : { if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 1 | 0)) { break label$21 } if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 1 | 0)) { break label$21 } HEAPF32[($15 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 44 | 0) >> 2])); HEAPF32[($15 + 80 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 44 | 0) >> 2]); label$22 : { if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { break label$22 } label$23 : { if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) > Math_fround(3.1415927410125732) & 1 | 0)) { break label$23 } HEAPF32[($15 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) - Math_fround(6.2831854820251465)); HEAPF32[($15 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 80 | 0) >> 2]) + Math_fround(6.2831854820251465)); } label$24 : { if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) < Math_fround(-3.1415927410125732) & 1 | 0)) { break label$24 } HEAPF32[($15 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) + Math_fround(6.2831854820251465)); HEAPF32[($15 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 80 | 0) >> 2]) - Math_fround(6.2831854820251465)); } } btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); label$25 : { label$26 : { if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$26 } $542 = Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2])); break label$25; } $542 = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2]); } HEAPF32[($15 + 76 | 0) >> 2] = $542; HEAPF32[($15 + 72 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($15 + 76 | 0) >> 2])); label$27 : { label$28 : { if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$28 } label$29 : { label$30 : { if (!(Math_fround(HEAPF32[(HEAP32[($15 + 168 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$30 } label$31 : { label$32 : { if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$32 } $568 = Math_fround(HEAPF32[($15 + 80 | 0) >> 2]); break label$31; } $568 = Math_fround(-3402823466385288598117041.0e14); } HEAPF32[($15 + 64 | 0) >> 2] = $568; label$33 : { label$34 : { if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$34 } $578 = Math_fround(HEAPF32[($15 + 80 | 0) >> 2]); break label$33; } $578 = Math_fround(3402823466385288598117041.0e14); } HEAPF32[($15 + 60 | 0) >> 2] = $578; break label$29; } label$35 : { label$36 : { if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$36 } if (!(Math_fround(HEAPF32[($15 + 80 | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($15 + 168 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$36 } $594 = Math_fround(HEAPF32[($15 + 80 | 0) >> 2]); break label$35; } $594 = Math_fround(HEAPF32[(HEAP32[($15 + 168 | 0) >> 2] | 0) >> 2]); } HEAPF32[($15 + 64 | 0) >> 2] = $594; label$37 : { label$38 : { if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$38 } if (!(Math_fround(HEAPF32[($15 + 80 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { break label$38 } $611 = Math_fround(HEAPF32[($15 + 80 | 0) >> 2]); break label$37; } $611 = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]); } HEAPF32[($15 + 60 | 0) >> 2] = $611; } (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($16 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($15 + 64 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($15 + 60 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($15 + 72 | 0) >> 2])), Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; break label$27; } HEAPF32[($15 + 68 | 0) >> 2] = Math_fround(0 | 0); } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 76 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2]); HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; } label$39 : { if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 1 | 0)) { break label$39 } HEAPF32[($15 + 56 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2])); btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); HEAPF32[($15 + 52 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2])); HEAPF32[($15 + 48 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 60 | 0) >> 2]); HEAPF32[($15 + 44 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 52 | 0) >> 2]); label$40 : { label$41 : { if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { break label$41 } $708 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 148 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0)) - Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 144 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0))); break label$40; } $708 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 156 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0)) - Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 152 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0))); } HEAPF32[($15 + 40 | 0) >> 2] = $708; HEAPF32[($15 + 36 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($16 + 28 | 0) >> 2] | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($16 + 32 | 0) >> 2] | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; label$42 : { label$43 : { if (!(Math_fround(HEAPF32[($15 + 32 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 28 | 0) >> 2]) & 1 | 0)) { break label$43 } $733 = Math_fround(HEAPF32[($15 + 28 | 0) >> 2]); break label$42; } $733 = Math_fround(HEAPF32[($15 + 32 | 0) >> 2]); } HEAPF32[($15 + 24 | 0) >> 2] = $733; (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(sqrt_5babi_v160004_5d_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 44 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 24 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; label$44 : { if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 1 | 0)) { break label$44 } if (!(.25 < +Math_fround(Math_fround(HEAPF32[($15 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 52 | 0) >> 2])) & 1 | 0)) { break label$44 } HEAPF32[($15 + 44 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($15 + 52 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 52 | 0) >> 2])) / Math_fround(16.0)) * Math_fround(HEAPF32[($15 + 24 | 0) >> 2])); } label$45 : { if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 64 | 0) >> 0] | 0) & 1 | 0)) { break label$45 } if (!(Math_fround(Math_fround(HEAPF32[($15 + 48 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 52 | 0) >> 2])) > Math_fround(HEAPF32[($15 + 24 | 0) >> 2]) & 1 | 0)) { break label$45 } HEAPF32[($15 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 24 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 52 | 0) >> 2])); } HEAPF32[($15 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 44 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 56 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 52 | 0) >> 2])); HEAPF32[($15 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 48 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 40 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)) * Math_fround(HEAPF32[($15 + 52 | 0) >> 2])); HEAPF32[($15 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 12 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 8 | 0) >> 2]) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)) + Math_fround(HEAPF32[($15 + 40 | 0) >> 2])); label$46 : { label$47 : { if (!(Math_fround(HEAPF32[($15 + 8 | 0) >> 2]) < Math_fround(HEAPF32[($15 + 12 | 0) >> 2]) & 1 | 0)) { break label$47 } $816 = Math_fround(HEAPF32[($15 + 8 | 0) >> 2]); break label$46; } $816 = Math_fround(HEAPF32[($15 + 12 | 0) >> 2]); } HEAPF32[($15 + 4 | 0) >> 2] = $816; label$48 : { label$49 : { if (!(Math_fround(HEAPF32[($15 + 8 | 0) >> 2]) < Math_fround(HEAPF32[($15 + 12 | 0) >> 2]) & 1 | 0)) { break label$49 } $825 = Math_fround(HEAPF32[($15 + 12 | 0) >> 2]); break label$48; } $825 = Math_fround(HEAPF32[($15 + 8 | 0) >> 2]); } HEAPF32[$15 >> 2] = $825; label$50 : { label$51 : { if (HEAP32[($15 + 128 | 0) >> 2] | 0) { break label$51 } label$52 : { label$53 : { if (!(Math_fround(HEAPF32[($15 + 4 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$53 } $837 = Math_fround(0 | 0); break label$52; } $837 = Math_fround(HEAPF32[($15 + 4 | 0) >> 2]); } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $837; label$54 : { label$55 : { if (!(Math_fround(HEAPF32[$15 >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$55 } $854 = Math_fround(0 | 0); break label$54; } $854 = Math_fround(HEAPF32[$15 >> 2]); } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $854; break label$50; } label$56 : { label$57 : { if (!(Math_fround(-Math_fround(HEAPF32[$15 >> 2])) > Math_fround(0 | 0) & 1 | 0)) { break label$57 } $872 = Math_fround(0 | 0); break label$56; } $872 = Math_fround(-Math_fround(HEAPF32[$15 >> 2])); } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $872; label$58 : { label$59 : { if (!(Math_fround(-Math_fround(HEAPF32[($15 + 4 | 0) >> 2])) < Math_fround(0 | 0) & 1 | 0)) { break label$59 } $891 = Math_fround(0 | 0); break label$58; } $891 = Math_fround(-Math_fround(HEAPF32[($15 + 4 | 0) >> 2])); } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $891; } HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 36 | 0) >> 2]); HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; } $915 = HEAP32[($15 + 120 | 0) >> 2] | 0; __stack_pointer = $15 + 176 | 0; return $915 | 0; } function btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $16 = 0, $23 = 0, $111 = 0, $128 = 0, $144 = 0, $160 = 0, $29 = Math_fround(0), $39 = Math_fround(0), $49 = Math_fround(0), $60 = Math_fround(0), $71 = Math_fround(0), $82 = Math_fround(0), $491 = 0, $495 = 0, $527 = 0, $531 = 0, $560 = 0, $564 = 0, $593 = 0, $597 = 0, $194 = 0, $222 = 0; $11 = __stack_pointer - 192 | 0; __stack_pointer = $11; HEAP32[($11 + 188 | 0) >> 2] = $0; HEAP32[($11 + 184 | 0) >> 2] = $1; HEAP32[($11 + 180 | 0) >> 2] = $2; HEAP32[($11 + 176 | 0) >> 2] = $3; HEAP32[($11 + 172 | 0) >> 2] = $4; HEAP32[($11 + 168 | 0) >> 2] = $5; HEAP32[($11 + 164 | 0) >> 2] = $6; HEAP32[($11 + 160 | 0) >> 2] = $7; HEAP32[($11 + 156 | 0) >> 2] = $8; $12 = HEAP32[($11 + 188 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($11 + 160 | 0) >> 2] | 0)) { break label$2 } $16 = HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; break label$1; } $16 = HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; } HEAP32[($11 + 152 | 0) >> 2] = $16; label$3 : { label$4 : { if (!(HEAP32[($11 + 160 | 0) >> 2] | 0)) { break label$4 } $23 = HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; break label$3; } $23 = HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; } HEAP32[($11 + 148 | 0) >> 2] = $23; $29 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) >> 2]); HEAPF32[((HEAP32[($11 + 152 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $29; $39 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]); HEAPF32[((HEAP32[($11 + 152 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $39; $49 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]); HEAPF32[((HEAP32[($11 + 152 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $49; $60 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) >> 2])); HEAPF32[((HEAP32[($11 + 148 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $60; $71 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); HEAPF32[((HEAP32[($11 + 148 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $71; $82 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); HEAPF32[((HEAP32[($11 + 148 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $82; label$5 : { if (HEAP32[($11 + 160 | 0) >> 2] | 0) { break label$5 } btVector3__btVector3_28_29($11 + 128 | 0 | 0) | 0; btVector3__btVector3_28_29($11 + 112 | 0 | 0) | 0; btVector3__btVector3_28_29($11 + 96 | 0 | 0) | 0; btVector3__btVector3_28_29($11 + 80 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($11 + 64 | 0 | 0, btTransform__getOrigin_28_29($12 + 1300 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($11 + 176 | 0) >> 2] | 0 | 0) | 0 | 0); $111 = 8; i64toi32_i32$2 = ($11 + 64 | 0) + $111 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $491 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 80 | 0) + $111 | 0; HEAP32[i64toi32_i32$0 >> 2] = $491; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 64 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 68 | 0) >> 2] | 0; $495 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 80 | 0) >> 2] = $495; HEAP32[($11 + 84 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($11 + 48 | 0 | 0, btTransform__getOrigin_28_29($12 + 1236 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($11 + 180 | 0) >> 2] | 0 | 0) | 0 | 0); $128 = 8; i64toi32_i32$2 = ($11 + 48 | 0) + $128 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $527 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 96 | 0) + $128 | 0; HEAP32[i64toi32_i32$0 >> 2] = $527; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 52 | 0) >> 2] | 0; $531 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 96 | 0) >> 2] = $531; HEAP32[($11 + 100 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($11 + 32 | 0 | 0, $11 + 96 | 0 | 0, HEAP32[($11 + 164 | 0) >> 2] | 0 | 0); $144 = 8; i64toi32_i32$2 = ($11 + 32 | 0) + $144 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $560 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 128 | 0) + $144 | 0; HEAP32[i64toi32_i32$0 >> 2] = $560; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 32 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 36 | 0) >> 2] | 0; $564 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 128 | 0) >> 2] = $564; HEAP32[($11 + 132 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($11 + 16 | 0 | 0, $11 + 80 | 0 | 0, HEAP32[($11 + 164 | 0) >> 2] | 0 | 0); $160 = 8; i64toi32_i32$2 = ($11 + 16 | 0) + $160 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $593 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 112 | 0) + $160 | 0; HEAP32[i64toi32_i32$0 >> 2] = $593; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 20 | 0) >> 2] | 0; $597 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 112 | 0) >> 2] = $597; HEAP32[($11 + 116 | 0) >> 2] = i64toi32_i32$0; label$6 : { if (!((HEAPU8[($12 + 1452 | 0) >> 0] | 0) & 1 | 0)) { break label$6 } if (HEAP32[($11 + 156 | 0) >> 2] | 0) { break label$6 } btVector3__operator___28float_20const__29_1($11 + 128 | 0 | 0, $12 + 1444 | 0 | 0) | 0; btVector3__operator___28float_20const__29_1($11 + 112 | 0 | 0, $12 + 1448 | 0 | 0) | 0; } HEAP32[($11 + 12 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$7 } $194 = btVector3__operator_20float__28_29($11 + 128 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + (HEAP32[($11 + 12 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($194 + ((HEAP32[($11 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($11 + 12 | 0) >> 2] = (HEAP32[($11 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } HEAP32[($11 + 12 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$9 } $222 = btVector3__operator_20float__28_29($11 + 112 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + (HEAP32[($11 + 12 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($222 + ((HEAP32[($11 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAP32[($11 + 12 | 0) >> 2] = (HEAP32[($11 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } } __stack_pointer = $11 + 192 | 0; return; } function sqrt_5babi_v160004_5d_28float_29($0) { $0 = Math_fround($0); var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAPF32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(Math_sqrt(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); } function btGeneric6DofSpring2Constraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29($6 + 48 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($6 + 112 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6); btGeneric6DofSpring2Constraint__calculateTransforms_28_29($6 | 0); __stack_pointer = $5 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setParam_28int_2c_20float_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $7 = 0, $24 = 0, $114 = 0, $26 = Math_fround(0), $43 = Math_fround(0), $60 = Math_fround(0), $77 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[$6 >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[$6 >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$2 } $24 = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; label$3 : { label$4 : { switch ($24 | 0) { case 1: $26 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 48 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $26), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (2 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; break label$3; case 3: $43 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 64 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $43), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (1 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; break label$3; case 0: $60 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 80 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $60), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (8 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; break label$3; case 2: $77 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 96 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $77), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (4 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; break label$3; default: break label$4; }; } __assert_fail(86177 | 0, 71825 | 0, 867 | 0, 77248 | 0); wasm2js_trap(); } break label$1; } label$9 : { label$10 : { if (!((HEAP32[$6 >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { break label$10 } if (!((HEAP32[$6 >> 2] | 0 | 0) < (6 | 0) & 1 | 0)) { break label$10 } $114 = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; label$11 : { label$12 : { switch ($114 | 0) { case 1: HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[$6 >> 2] | 0) - 3 | 0, 88) | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (2 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; break label$11; case 3: HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[$6 >> 2] | 0) - 3 | 0, 88) | 0) + 16 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (1 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; break label$11; case 0: HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[$6 >> 2] | 0) - 3 | 0, 88) | 0) + 20 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (8 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; break label$11; case 2: HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[$6 >> 2] | 0) - 3 | 0, 88) | 0) + 24 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (4 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; break label$11; default: break label$12; }; } __assert_fail(86177 | 0, 71825 | 0, 891 | 0, 77248 | 0); wasm2js_trap(); } break label$9; } __assert_fail(86177 | 0, 71825 | 0, 896 | 0, 77248 | 0); wasm2js_trap(); } } __stack_pointer = $6 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__getParam_28int_2c_20int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $25 = 0, $131 = 0, $221 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(0 | 0); label$1 : { label$2 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$2 } $25 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; label$3 : { label$4 : { switch ($25 | 0) { case 1: label$9 : { if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (2 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { break label$9 } __assert_fail(86890 | 0, 71825 | 0, 909 | 0, 77257 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(($6 + 680 | 0) + 48 | 0 | 0) | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; case 3: label$10 : { if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (1 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { break label$10 } __assert_fail(86940 | 0, 71825 | 0, 913 | 0, 77257 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(($6 + 680 | 0) + 64 | 0 | 0) | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; case 0: label$11 : { if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (8 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { break label$11 } __assert_fail(86990 | 0, 71825 | 0, 917 | 0, 77257 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(($6 + 680 | 0) + 80 | 0 | 0) | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; case 2: label$12 : { if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (4 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { break label$12 } __assert_fail(87040 | 0, 71825 | 0, 921 | 0, 77257 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(($6 + 680 | 0) + 96 | 0 | 0) | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; default: break label$4; }; } __assert_fail(86177 | 0, 71825 | 0, 925 | 0, 77257 | 0); wasm2js_trap(); } break label$1; } label$13 : { label$14 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { break label$14 } if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0)) { break label$14 } $131 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; label$15 : { label$16 : { switch ($131 | 0) { case 1: label$21 : { if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (2 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { break label$21 } __assert_fail(86890 | 0, 71825 | 0, 933 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 4 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 12 | 0) >> 2]); break label$15; case 3: label$22 : { if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (1 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { break label$22 } __assert_fail(86940 | 0, 71825 | 0, 937 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 4 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 16 | 0) >> 2]); break label$15; case 0: label$23 : { if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (8 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { break label$23 } __assert_fail(86990 | 0, 71825 | 0, 941 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 4 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 20 | 0) >> 2]); break label$15; case 2: label$24 : { if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (4 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { break label$24 } __assert_fail(87040 | 0, 71825 | 0, 945 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 4 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 24 | 0) >> 2]); break label$15; default: break label$16; }; } __assert_fail(86177 | 0, 71825 | 0, 949 | 0, 77257 | 0); wasm2js_trap(); } break label$13; } __assert_fail(86177 | 0, 71825 | 0, 954 | 0, 77257 | 0); wasm2js_trap(); } } $221 = Math_fround(HEAPF32[$5 >> 2]); __stack_pointer = $5 + 16 | 0; return Math_fround($221); } function btGeneric6DofSpring2Constraint__setBounce_28int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $32 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 982 | 0, 82167 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } $32 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 32 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; } HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); } __stack_pointer = $5 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__enableMotor_28int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 991 | 0, 70654 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } HEAP8[((($7 + 680 | 0) + 112 | 0) + (HEAP32[($5 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; break label$3; } HEAP8[((($7 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 28 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; } __stack_pointer = $5 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setServo_28int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 1e3 | 0, 76180 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } HEAP8[((($7 + 680 | 0) + 115 | 0) + (HEAP32[($5 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; break label$3; } HEAP8[((($7 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 40 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; } __stack_pointer = $5 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setTargetVelocity_28int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $32 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 1009 | 0, 65757 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } $32 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 196 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; } HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 32 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); } __stack_pointer = $5 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setServoTarget_28int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $32 = Math_fround(0), $45 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAPF32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 1020 | 0, 68608 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } $32 = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 124 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) + Math_fround(3.1415927410125732)); $45 = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(floor_5babi_v160004_5d_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) / Math_fround(6.2831854820251465))))) * Math_fround(-6.2831854820251465)) + $45)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) >= Math_fround(6.2831854820251465) & 1 | 0)) { break label$6 } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); break label$5; } label$7 : { label$8 : { if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$8 } label$9 : { label$10 : { if (!(Math_fround(Math_fround(6.2831854820251465) + Math_fround(HEAPF32[($5 + 12 | 0) >> 2])) == Math_fround(6.2831854820251465) & 1 | 0)) { break label$10 } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); break label$9; } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(6.2831854820251465) + Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); } break label$7; } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(HEAPF32[($5 + 12 | 0) >> 2]); } } HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) - Math_fround(3.1415927410125732)); HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 24 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 44 | 0) >> 2] = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); } __stack_pointer = $5 + 32 | 0; return; } function floor_5babi_v160004_5d_28float_29($0) { $0 = Math_fround($0); var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAPF32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(Math_floor(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); } function btGeneric6DofSpring2Constraint__setMaxMotorForce_28int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $32 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 1063 | 0, 82121 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } $32 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 212 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; } HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 36 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); } __stack_pointer = $5 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__enableSpring_28int_2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 1072 | 0, 80592 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } HEAP8[((($7 + 680 | 0) + 118 | 0) + (HEAP32[($5 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; break label$3; } HEAP8[((($7 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 48 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; } __stack_pointer = $5 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setStiffness_28int_2c_20float_2c_20bool_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $8 = 0, $34 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAP8[($6 + 3 | 0) >> 0] = $3; $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 1081 | 0, 69344 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } $34 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($8 + 680 | 0) + 140 | 0 | 0) | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $34), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP8[((($8 + 680 | 0) + 156 | 0) + (HEAP32[($6 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; break label$3; } HEAPF32[((($8 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP8[((($8 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 56 | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; } __stack_pointer = $6 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setDamping_28int_2c_20float_2c_20bool_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $8 = 0, $34 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAP8[($6 + 3 | 0) >> 0] = $3; $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 1093 | 0, 80675 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } $34 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($8 + 680 | 0) + 160 | 0 | 0) | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $34), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP8[((($8 + 680 | 0) + 176 | 0) + (HEAP32[($6 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; break label$3; } HEAPF32[((($8 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 60 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP8[((($8 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 64 | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; } __stack_pointer = $6 + 16 | 0; return; } function btGeneric6DofSpring2Constraint__setEquilibriumPoint_28int_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $32 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { break label$1 } } __assert_fail(86524 | 0, 71825 | 0, 1125 | 0, 67685 | 0); wasm2js_trap(); } label$3 : { label$4 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } $32 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 180 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; break label$3; } HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 68 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); } __stack_pointer = $5 + 16 | 0; return; } function btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29($4 | 0) | 0; btGeneric6DofSpring2Constraint__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_btGeneric6DofSpring2Constraint_cpp() { __cxx_global_var_init_69(); return; } function __cxx_global_var_init_70() { btInfMaskConverter__btInfMaskConverter_28int_29(115404 | 0, 2139095040 | 0) | 0; return; } function btAngularLimit__btAngularLimit_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAPF32[$4 >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-1.0); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(.8999999761581421); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(.30000001192092896); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAP8[($4 + 28 | 0) >> 0] = 0; return $4 | 0; } function quatRotate_28btQuaternion_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $1; HEAP32[($5 + 40 | 0) >> 2] = $2; operator__28btQuaternion_20const__2c_20btVector3_20const__29($5 + 24 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); btQuaternion__inverse_28_29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0); btQuaternion__operator___28btQuaternion_20const__29($5 + 24 | 0 | 0, $5 + 8 | 0 | 0) | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btQuadWord__getX_28_29_20const($5 + 24 | 0 | 0) | 0 | 0, btQuadWord__getY_28_29_20const($5 + 24 | 0 | 0) | 0 | 0, btQuadWord__getZ_28_29_20const($5 + 24 | 0 | 0) | 0 | 0) | 0; __stack_pointer = $5 + 48 | 0; return; } function operator__28btQuaternion_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $20 = Math_fround(0), $44 = Math_fround(0), $68 = Math_fround(0), $94 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20)), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; $44 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $44)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; $68 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $68)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $94 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])))); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $94)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; __stack_pointer = $5 + 32 | 0; return; } function btQuaternion__operator___28btQuaternion_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = Math_fround(0), $21 = Math_fround(0), $38 = Math_fround(0), $44 = Math_fround(0), $61 = Math_fround(0), $67 = Math_fround(0), $85 = Math_fround(0), $92 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; $15 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2]))); $21 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $15); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 8 | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $21)), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; $38 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2]))); $44 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $38); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[$5 >> 2])) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $44)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; $61 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2]))); $67 = Math_fround(Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $61); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 4 | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $67)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $85 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])))); $92 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 4 | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $85); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 8 | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $92)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($5 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0); __stack_pointer = $4 + 32 | 0; return $5 | 0; } function btQuadWord__getX_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btQuadWord__getY_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btQuadWord__getZ_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0; } function btHingeConstraint__btHingeConstraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20bool_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $10 = 0, $8 = 0, $18 = 0, $21 = 0, $22 = 0, $24 = 0, $31 = 0, $34 = 0, $35 = 0, $37 = 0, $20 = 0, $33 = 0, $73 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 24 | 0) >> 2] = $0; HEAP32[($8 + 20 | 0) >> 2] = $1; HEAP32[($8 + 16 | 0) >> 2] = $2; HEAP32[($8 + 12 | 0) >> 2] = $3; HEAP32[($8 + 8 | 0) >> 2] = $4; HEAP8[($8 + 7 | 0) >> 0] = $5; $10 = HEAP32[($8 + 24 | 0) >> 2] | 0; HEAP32[($8 + 28 | 0) >> 2] = $10; btTypedConstraint__btTypedConstraint_28btTypedConstraintType_2c_20btRigidBody__2c_20btRigidBody__29($10 | 0, 4 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[$10 >> 2] = 102188 + 8 | 0; $18 = $10 + 48 | 0; $20 = $18 + 252 | 0; $21 = $18; label$1 : while (1) { $22 = $21; btJacobianEntry__btJacobianEntry_28_29($22 | 0) | 0; $24 = $22 + 84 | 0; $21 = $24; if (!(($24 | 0) == ($20 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $31 = $10 + 300 | 0; $33 = $31 + 252 | 0; $34 = $31; label$2 : while (1) { $35 = $34; btJacobianEntry__btJacobianEntry_28_29($35 | 0) | 0; $37 = $35 + 84 | 0; $34 = $37; if (!(($37 | 0) == ($33 | 0) & 1 | 0)) { continue label$2 } break label$2; }; btTransform__btTransform_28btTransform_20const__29($10 + 552 | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($10 + 616 | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; btAngularLimit__btAngularLimit_28_29($10 + 688 | 0 | 0) | 0; HEAP8[($10 + 736 | 0) >> 0] = 0; HEAP8[($10 + 737 | 0) >> 0] = 0; HEAP8[($10 + 738 | 0) >> 0] = 0; HEAP8[($10 + 739 | 0) >> 0] = 1; HEAP8[($10 + 740 | 0) >> 0] = (HEAPU8[($8 + 7 | 0) >> 0] | 0) & 1 | 0; HEAP32[($10 + 748 | 0) >> 2] = 0; HEAPF32[($10 + 752 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($10 + 756 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($10 + 760 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($10 + 764 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($10 + 732 | 0) >> 2] = (HEAPU8[($10 + 740 | 0) >> 0] | 0) & 1 | 0 ? Math_fround(-1.0) : Math_fround(1.0); $73 = HEAP32[($8 + 28 | 0) >> 2] | 0; __stack_pointer = $8 + 32 | 0; return $73 | 0; } function btHingeConstraint__buildJacobian_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $42 = 0, $45 = 0, $46 = 0, $48 = 0, $70 = 0, $72 = 0, $44 = 0, $487 = 0, $500 = 0, $121 = 0, $222 = 0, $329 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 704 | 0; __stack_pointer = $3; HEAP32[($3 + 700 | 0) >> 2] = $0; $4 = HEAP32[($3 + 700 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($4 + 738 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 744 | 0) >> 2] = Math_fround(0 | 0); label$2 : { if ((HEAPU8[($4 + 736 | 0) >> 0] | 0) & 1 | 0) { break label$2 } btTransform__operator__28btVector3_20const__29_20const($3 + 684 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($4 + 552 | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($3 + 668 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($4 + 616 | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 652 | 0 | 0, $3 + 668 | 0 | 0, $3 + 684 | 0 | 0); $42 = $3 + 592 | 0; $44 = $42 + 48 | 0; $45 = $42; label$3 : while (1) { $46 = $45; btVector3__btVector3_28_29($46 | 0) | 0; $48 = $46 + 16 | 0; $45 = $48; if (!(($48 | 0) == ($44 | 0) & 1 | 0)) { continue label$3 } break label$3; }; label$4 : { label$5 : { if (!(Math_fround(btVector3__length2_28_29_20const($3 + 652 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$5 } btVector3__normalized_28_29_20const($3 + 576 | 0 | 0, $3 + 652 | 0 | 0); $70 = $3 + 592 | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[($3 + 576 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($3 + 580 | 0) >> 2] | 0; $487 = i64toi32_i32$0; i64toi32_i32$0 = $70; HEAP32[i64toi32_i32$0 >> 2] = $487; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $72 = 8; i64toi32_i32$2 = ($3 + 576 | 0) + $72 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $500 = i64toi32_i32$1; i64toi32_i32$1 = $70 + $72 | 0; HEAP32[i64toi32_i32$1 >> 2] = $500; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$4; } HEAPF32[($3 + 572 | 0) >> 2] = Math_fround(1.0); HEAPF32[($3 + 568 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 564 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 592 | 0 | 0, $3 + 572 | 0 | 0, $3 + 568 | 0 | 0, $3 + 564 | 0 | 0); } void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($3 + 592 | 0 | 0, ($3 + 592 | 0) + 16 | 0 | 0, ($3 + 592 | 0) + 32 | 0 | 0); HEAP32[($3 + 560 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($3 + 560 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$6 } $121 = ($4 + 48 | 0) + Math_imul(HEAP32[($3 + 560 | 0) >> 2] | 0, 84) | 0; btMatrix3x3__transpose_28_29_20const($3 + 512 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btMatrix3x3__transpose_28_29_20const($3 + 464 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 448 | 0 | 0, $3 + 684 | 0 | 0, btRigidBody__getCenterOfMassPosition_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 432 | 0 | 0, $3 + 668 | 0 | 0, btRigidBody__getCenterOfMassPosition_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); btJacobianEntry__btJacobianEntry_28btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($121 | 0, $3 + 512 | 0 | 0, $3 + 464 | 0 | 0, $3 + 448 | 0 | 0, $3 + 432 | 0 | 0, ($3 + 592 | 0) + ((HEAP32[($3 + 560 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0))), btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0)))) | 0; HEAP32[($3 + 560 | 0) >> 2] = (HEAP32[($3 + 560 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } btVector3__btVector3_28_29($3 + 416 | 0 | 0) | 0; btVector3__btVector3_28_29($3 + 400 | 0 | 0) | 0; btMatrix3x3__getColumn_28int_29_20const($3 + 384 | 0 | 0, btTransform__getBasis_28_29($4 + 552 | 0 | 0) | 0 | 0, 2 | 0); void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($3 + 384 | 0 | 0, $3 + 416 | 0 | 0, $3 + 400 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 368 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0) | 0 | 0) | 0 | 0, $3 + 416 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 352 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0) | 0 | 0) | 0 | 0, $3 + 400 | 0 | 0); $222 = btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0) | 0 | 0) | 0; btMatrix3x3__getColumn_28int_29_20const($3 + 320 | 0 | 0, btTransform__getBasis_28_29($4 + 552 | 0 | 0) | 0 | 0, 2 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 336 | 0 | 0, $222 | 0, $3 + 320 | 0 | 0); btMatrix3x3__transpose_28_29_20const($3 + 272 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btMatrix3x3__transpose_28_29_20const($3 + 224 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btJacobianEntry__btJacobianEntry_28btVector3_20const__2c_20btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($4 + 300 | 0 | 0, $3 + 368 | 0 | 0, $3 + 272 | 0 | 0, $3 + 224 | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btMatrix3x3__transpose_28_29_20const($3 + 176 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btMatrix3x3__transpose_28_29_20const($3 + 128 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btJacobianEntry__btJacobianEntry_28btVector3_20const__2c_20btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(($4 + 300 | 0) + 84 | 0 | 0, $3 + 352 | 0 | 0, $3 + 176 | 0 | 0, $3 + 128 | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btMatrix3x3__transpose_28_29_20const($3 + 80 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btMatrix3x3__transpose_28_29_20const($3 + 32 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btJacobianEntry__btJacobianEntry_28btVector3_20const__2c_20btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(($4 + 300 | 0) + 168 | 0 | 0, $3 + 336 | 0 | 0, $3 + 80 | 0 | 0, $3 + 32 | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; HEAPF32[($4 + 724 | 0) >> 2] = Math_fround(0 | 0); btHingeConstraint__testLimit_28btTransform_20const__2c_20btTransform_20const__29($4 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); $329 = btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0) | 0 | 0) | 0; btMatrix3x3__getColumn_28int_29_20const($3 | 0, btTransform__getBasis_28_29($4 + 552 | 0 | 0) | 0 | 0, 2 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 16 | 0 | 0, $329 | 0, $3 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(btRigidBody__computeAngularImpulseDenominator_28btVector3_20const__29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0, $3 + 16 | 0 | 0)) + Math_fround(btRigidBody__computeAngularImpulseDenominator_28btVector3_20const__29_20const(btHingeConstraint__getRigidBodyB_28_29($4 | 0) | 0 | 0, $3 + 16 | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 720 | 0) >> 2] = wasm2js_f32$0; } __stack_pointer = $3 + 704 | 0; return; } function btRigidBody__getCenterOfMassPosition_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btTransform__getOrigin_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btRigidBody__getInvInertiaDiagLocal_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 456 | 0 | 0; } function btJacobianEntry__btJacobianEntry_28btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = Math_fround($7); $8 = $8 | 0; $9 = Math_fround($9); var $12 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $13 = 0, i64toi32_i32$2 = 0, $16 = 0, $40 = 0, $42 = 0, $66 = 0, $68 = 0, $81 = 0, $83 = 0, $96 = 0, $98 = 0, $166 = 0, $176 = 0, $28 = 0, $225 = 0, $238 = 0, $48 = 0, $49 = 0, $277 = 0, $290 = 0, $309 = 0, $322 = 0, $341 = 0, $354 = 0, $129 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $12 = __stack_pointer - 160 | 0; __stack_pointer = $12; HEAP32[($12 + 152 | 0) >> 2] = $0; HEAP32[($12 + 148 | 0) >> 2] = $1; HEAP32[($12 + 144 | 0) >> 2] = $2; HEAP32[($12 + 140 | 0) >> 2] = $3; HEAP32[($12 + 136 | 0) >> 2] = $4; HEAP32[($12 + 132 | 0) >> 2] = $5; HEAP32[($12 + 128 | 0) >> 2] = $6; HEAPF32[($12 + 124 | 0) >> 2] = $7; HEAP32[($12 + 120 | 0) >> 2] = $8; HEAPF32[($12 + 116 | 0) >> 2] = $9; $13 = HEAP32[($12 + 152 | 0) >> 2] | 0; HEAP32[($12 + 156 | 0) >> 2] = $13; i64toi32_i32$2 = HEAP32[($12 + 132 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $166 = i64toi32_i32$0; i64toi32_i32$0 = $13; HEAP32[$13 >> 2] = $166; HEAP32[($13 + 4 | 0) >> 2] = i64toi32_i32$1; $16 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $176 = i64toi32_i32$1; i64toi32_i32$1 = $13 + $16 | 0; HEAP32[i64toi32_i32$1 >> 2] = $176; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($13 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($13 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($13 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($13 + 64 | 0 | 0) | 0; $28 = HEAP32[($12 + 148 | 0) >> 2] | 0; btVector3__cross_28btVector3_20const__29_20const($12 + 84 | 0 | 0, HEAP32[($12 + 140 | 0) >> 2] | 0 | 0, $13 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 100 | 0 | 0, $28 | 0, $12 + 84 | 0 | 0); $40 = $13 + 16 | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 100 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 104 | 0) >> 2] | 0; $225 = i64toi32_i32$0; i64toi32_i32$0 = $40; HEAP32[i64toi32_i32$0 >> 2] = $225; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $42 = 8; i64toi32_i32$2 = ($12 + 100 | 0) + $42 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $238 = i64toi32_i32$1; i64toi32_i32$1 = $40 + $42 | 0; HEAP32[i64toi32_i32$1 >> 2] = $238; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $48 = HEAP32[($12 + 144 | 0) >> 2] | 0; $49 = HEAP32[($12 + 136 | 0) >> 2] | 0; operator__28btVector3_20const__29($12 + 36 | 0 | 0, $13 | 0); btVector3__cross_28btVector3_20const__29_20const($12 + 52 | 0 | 0, $49 | 0, $12 + 36 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 68 | 0 | 0, $48 | 0, $12 + 52 | 0 | 0); $66 = $13 + 32 | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 68 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 72 | 0) >> 2] | 0; $277 = i64toi32_i32$0; i64toi32_i32$0 = $66; HEAP32[i64toi32_i32$0 >> 2] = $277; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $68 = 8; i64toi32_i32$2 = ($12 + 68 | 0) + $68 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $290 = i64toi32_i32$1; i64toi32_i32$1 = $66 + $68 | 0; HEAP32[i64toi32_i32$1 >> 2] = $290; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($12 + 20 | 0 | 0, HEAP32[($12 + 128 | 0) >> 2] | 0 | 0, $13 + 16 | 0 | 0); $81 = $13 + 48 | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 20 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 24 | 0) >> 2] | 0; $309 = i64toi32_i32$0; i64toi32_i32$0 = $81; HEAP32[i64toi32_i32$0 >> 2] = $309; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $83 = 8; i64toi32_i32$2 = ($12 + 20 | 0) + $83 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $322 = i64toi32_i32$1; i64toi32_i32$1 = $81 + $83 | 0; HEAP32[i64toi32_i32$1 >> 2] = $322; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($12 + 4 | 0 | 0, HEAP32[($12 + 120 | 0) >> 2] | 0 | 0, $13 + 32 | 0 | 0); $96 = $13 + 64 | 0; i64toi32_i32$2 = $12; i64toi32_i32$0 = HEAP32[($12 + 4 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($12 + 8 | 0) >> 2] | 0; $341 = i64toi32_i32$0; i64toi32_i32$0 = $96; HEAP32[i64toi32_i32$0 >> 2] = $341; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $98 = 8; i64toi32_i32$2 = ($12 + 4 | 0) + $98 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $354 = i64toi32_i32$1; i64toi32_i32$1 = $96 + $98 | 0; HEAP32[i64toi32_i32$1 >> 2] = $354; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 124 | 0) >> 2]) + Math_fround(btVector3__dot_28btVector3_20const__29_20const($13 + 48 | 0 | 0, $13 + 16 | 0 | 0))) + Math_fround(HEAPF32[($12 + 116 | 0) >> 2])) + Math_fround(btVector3__dot_28btVector3_20const__29_20const($13 + 64 | 0 | 0, $13 + 32 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; label$1 : { if (Math_fround(HEAPF32[($13 + 80 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0) { break label$1 } __assert_fail(86643 | 0, 77966 | 0, 52 | 0, 65922 | 0); wasm2js_trap(); } $129 = HEAP32[($12 + 156 | 0) >> 2] | 0; __stack_pointer = $12 + 160 | 0; return $129 | 0; } function btHingeConstraint__getRigidBodyA_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; } function btJacobianEntry__btJacobianEntry_28btVector3_20const__2c_20btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9 = 0, i64toi32_i32$2 = 0, $39 = 0, $41 = 0, $59 = 0, $61 = 0, $74 = 0, $76 = 0, $89 = 0, $91 = 0, $208 = 0, $221 = 0, $47 = 0, $249 = 0, $262 = 0, $281 = 0, $294 = 0, $313 = 0, $326 = 0, $118 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 128 | 0; __stack_pointer = $8; HEAP32[($8 + 120 | 0) >> 2] = $0; HEAP32[($8 + 116 | 0) >> 2] = $1; HEAP32[($8 + 112 | 0) >> 2] = $2; HEAP32[($8 + 108 | 0) >> 2] = $3; HEAP32[($8 + 104 | 0) >> 2] = $4; HEAP32[($8 + 100 | 0) >> 2] = $5; $9 = HEAP32[($8 + 120 | 0) >> 2] | 0; HEAP32[($8 + 124 | 0) >> 2] = $9; HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 88 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 | 0, $8 + 96 | 0 | 0, $8 + 92 | 0 | 0, $8 + 88 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 16 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 48 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 64 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 72 | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0, HEAP32[($8 + 116 | 0) >> 2] | 0 | 0); $39 = $9 + 16 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 72 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 76 | 0) >> 2] | 0; $208 = i64toi32_i32$0; i64toi32_i32$0 = $39; HEAP32[i64toi32_i32$0 >> 2] = $208; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $41 = 8; i64toi32_i32$2 = ($8 + 72 | 0) + $41 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $221 = i64toi32_i32$1; i64toi32_i32$1 = $39 + $41 | 0; HEAP32[i64toi32_i32$1 >> 2] = $221; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $47 = HEAP32[($8 + 108 | 0) >> 2] | 0; operator__28btVector3_20const__29($8 + 40 | 0 | 0, HEAP32[($8 + 116 | 0) >> 2] | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 56 | 0 | 0, $47 | 0, $8 + 40 | 0 | 0); $59 = $9 + 32 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 56 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 60 | 0) >> 2] | 0; $249 = i64toi32_i32$0; i64toi32_i32$0 = $59; HEAP32[i64toi32_i32$0 >> 2] = $249; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $61 = 8; i64toi32_i32$2 = ($8 + 56 | 0) + $61 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $262 = i64toi32_i32$1; i64toi32_i32$1 = $59 + $61 | 0; HEAP32[i64toi32_i32$1 >> 2] = $262; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($8 + 24 | 0 | 0, HEAP32[($8 + 104 | 0) >> 2] | 0 | 0, $9 + 16 | 0 | 0); $74 = $9 + 48 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 28 | 0) >> 2] | 0; $281 = i64toi32_i32$0; i64toi32_i32$0 = $74; HEAP32[i64toi32_i32$0 >> 2] = $281; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $76 = 8; i64toi32_i32$2 = ($8 + 24 | 0) + $76 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $294 = i64toi32_i32$1; i64toi32_i32$1 = $74 + $76 | 0; HEAP32[i64toi32_i32$1 >> 2] = $294; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($8 + 8 | 0 | 0, HEAP32[($8 + 100 | 0) >> 2] | 0 | 0, $9 + 32 | 0 | 0); $89 = $9 + 64 | 0; i64toi32_i32$2 = $8; i64toi32_i32$0 = HEAP32[($8 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($8 + 12 | 0) >> 2] | 0; $313 = i64toi32_i32$0; i64toi32_i32$0 = $89; HEAP32[i64toi32_i32$0 >> 2] = $313; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $91 = 8; i64toi32_i32$2 = ($8 + 8 | 0) + $91 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $326 = i64toi32_i32$1; i64toi32_i32$1 = $89 + $91 | 0; HEAP32[i64toi32_i32$1 >> 2] = $326; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 48 | 0 | 0, $9 + 16 | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 64 | 0 | 0, $9 + 32 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; label$1 : { if (Math_fround(HEAPF32[($9 + 80 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0) { break label$1 } __assert_fail(86643 | 0, 77966 | 0, 69 | 0, 65922 | 0); wasm2js_trap(); } $118 = HEAP32[($8 + 124 | 0) >> 2] | 0; __stack_pointer = $8 + 128 | 0; return $118 | 0; } function btHingeConstraint__testLimit_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btHingeConstraint__getHingeAngle_28btTransform_20const__2c_20btTransform_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 728 | 0) >> 2] = wasm2js_f32$0; btAngularLimit__test_28float_29($6 + 688 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 728 | 0) >> 2]))); __stack_pointer = $5 + 16 | 0; return; } function btRigidBody__computeAngularImpulseDenominator_28btVector3_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $15 = Math_fround(0); $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0); $15 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, $4 + 8 | 0 | 0)); __stack_pointer = $4 + 32 | 0; return Math_fround($15); } function btHingeConstraint__getRigidBodyB_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; } function btHingeConstraint__getHingeAngle_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $8 = 0, $23 = 0, $38 = 0, $69 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 112 | 0; __stack_pointer = $5; HEAP32[($5 + 108 | 0) >> 2] = $0; HEAP32[($5 + 104 | 0) >> 2] = $1; HEAP32[($5 + 100 | 0) >> 2] = $2; $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; $8 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 104 | 0) >> 2] | 0 | 0) | 0; btMatrix3x3__getColumn_28int_29_20const($5 + 68 | 0 | 0, btTransform__getBasis_28_29($6 + 552 | 0 | 0) | 0 | 0, 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 84 | 0 | 0, $8 | 0, $5 + 68 | 0 | 0); $23 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 104 | 0) >> 2] | 0 | 0) | 0; btMatrix3x3__getColumn_28int_29_20const($5 + 36 | 0 | 0, btTransform__getBasis_28_29($6 + 552 | 0 | 0) | 0 | 0, 1 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 52 | 0 | 0, $23 | 0, $5 + 36 | 0 | 0); $38 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0; btMatrix3x3__getColumn_28int_29_20const($5 + 4 | 0 | 0, btTransform__getBasis_28_29($6 + 616 | 0 | 0) | 0 | 0, 1 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 20 | 0 | 0, $38 | 0, $5 + 4 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $5 + 84 | 0 | 0))), Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $5 + 52 | 0 | 0)))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $69 = Math_fround(Math_fround(HEAPF32[($6 + 732 | 0) >> 2]) * Math_fround(HEAPF32[$5 >> 2])); __stack_pointer = $5 + 112 | 0; return Math_fround($69); } function btRigidBody__getInvInertiaTensorWorld_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 324 | 0 | 0; } function btHingeConstraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $25 = 0, $29 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 738 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 0; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; break label$1; } HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 5; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; btHingeConstraint__testLimit_28btTransform_20const__2c_20btTransform_20const__29($5 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); label$3 : { label$4 : { if (btHingeConstraint__getSolveLimit_28_29($5 | 0) | 0) { break label$4 } if (!((btHingeConstraint__getEnableAngularMotor_28_29($5 | 0) | 0) & 1 | 0)) { break label$3 } } $25 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[$25 >> 2] = (HEAP32[$25 >> 2] | 0) + 1 | 0; $29 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($29 + 4 | 0) >> 2] = (HEAP32[($29 + 4 | 0) >> 2] | 0) + -1 | 0; } } __stack_pointer = $4 + 16 | 0; return; } function btHingeConstraint__getSolveLimit_28_29($0) { $0 = $0 | 0; var $3 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $9 = (btAngularLimit__isLimit_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 688 | 0 | 0) | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function btHingeConstraint__getEnableAngularMotor_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAPU8[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 737 | 0) >> 0] | 0) & 1 | 0 | 0; } function btAngularLimit__isLimit_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAPU8[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 1 | 0 | 0; } function btHingeConstraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($5 + 739 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btHingeConstraint__getInfo2InternalUsingFrameOffset_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); break label$1; } btHingeConstraint__getInfo2Internal_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btHingeConstraint__getInfo2InternalUsingFrameOffset_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $52 = 0, $164 = 0, $209 = 0, $270 = 0, $297 = 0, $333 = 0, $367 = 0, $385 = 0, $403 = 0, $421 = 0, $496 = 0, $514 = 0, $605 = 0, $623 = 0, $708 = Math_fround(0), $1284 = Math_fround(0), $1318 = 0, $1349 = 0, $1511 = 0, $1848 = 0, $1852 = 0, $1930 = 0, $1934 = 0, $2038 = 0, $2042 = 0, $2088 = 0, $2092 = 0, $2153 = 0, $2157 = 0, $2221 = 0, $2225 = 0, $2256 = 0, $2260 = 0, $2291 = 0, $2295 = 0, $2326 = 0, $2330 = 0, $441 = 0, $469 = 0, $2475 = 0, $2479 = 0, $2510 = 0, $2514 = 0, $550 = 0, $578 = 0, $2692 = 0, $2696 = 0, $2727 = 0, $2731 = 0, $658 = 0, $686 = 0, $730 = 0, $758 = 0, $786 = 0, $814 = 0, $843 = 0, $872 = 0, $948 = Math_fround(0), $961 = Math_fround(0), $974 = Math_fround(0), $987 = Math_fround(0), $1000 = Math_fround(0), $1013 = Math_fround(0), $1027 = Math_fround(0), $1041 = Math_fround(0), $1055 = Math_fround(0), $1069 = Math_fround(0), $1083 = Math_fround(0), $1097 = Math_fround(0), $1127 = Math_fround(0), $1142 = Math_fround(0), $1186 = Math_fround(0), $1199 = Math_fround(0), $1212 = Math_fround(0), $1226 = Math_fround(0), $1240 = Math_fround(0), $1254 = Math_fround(0), $1437 = Math_fround(0), $1505 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $8 = __stack_pointer - 976 | 0; __stack_pointer = $8; HEAP32[($8 + 972 | 0) >> 2] = $0; HEAP32[($8 + 968 | 0) >> 2] = $1; HEAP32[($8 + 964 | 0) >> 2] = $2; HEAP32[($8 + 960 | 0) >> 2] = $3; HEAP32[($8 + 956 | 0) >> 2] = $4; HEAP32[($8 + 952 | 0) >> 2] = $5; $9 = HEAP32[($8 + 972 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($9 + 738 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } __assert_fail(81148 | 0, 71702 | 0, 775 | 0, 68265 | 0); wasm2js_trap(); } HEAP32[($8 + 944 | 0) >> 2] = HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29_20const($8 + 880 | 0 | 0, HEAP32[($8 + 964 | 0) >> 2] | 0 | 0, $9 + 552 | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($8 + 816 | 0 | 0, HEAP32[($8 + 960 | 0) >> 2] | 0 | 0, $9 + 616 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 800 | 0 | 0, btTransform__getOrigin_28_29($8 + 816 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($8 + 880 | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($9 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 796 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(btHingeConstraint__getRigidBodyB_28_29($9 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 792 | 0) >> 2] = wasm2js_f32$0; $52 = 1; label$2 : { if (Math_fround(HEAPF32[($8 + 796 | 0) >> 2]) < Math_fround(1.1920928955078125e-07) & 1 | 0) { break label$2 } $52 = Math_fround(HEAPF32[($8 + 792 | 0) >> 2]) < Math_fround(1.1920928955078125e-07); } HEAP8[($8 + 791 | 0) >> 0] = $52 & 1 | 0; HEAPF32[($8 + 784 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 796 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 792 | 0) >> 2])); label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($8 + 784 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } HEAPF32[($8 + 780 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 792 | 0) >> 2]) / Math_fround(HEAPF32[($8 + 784 | 0) >> 2])); break label$3; } HEAPF32[($8 + 780 | 0) >> 2] = Math_fround(.5); } HEAPF32[($8 + 776 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 780 | 0) >> 2])); btMatrix3x3__getColumn_28int_29_20const($8 + 760 | 0 | 0, btTransform__getBasis_28_29($8 + 880 | 0 | 0) | 0 | 0, 2 | 0); btMatrix3x3__getColumn_28int_29_20const($8 + 744 | 0 | 0, btTransform__getBasis_28_29($8 + 816 | 0 | 0) | 0 | 0, 2 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 712 | 0 | 0, $8 + 760 | 0 | 0, $8 + 780 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 696 | 0 | 0, $8 + 744 | 0 | 0, $8 + 776 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 728 | 0 | 0, $8 + 712 | 0 | 0, $8 + 696 | 0 | 0); btVector3__normalize_28_29($8 + 728 | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($8 + 632 | 0 | 0, HEAP32[($8 + 964 | 0) >> 2] | 0 | 0) | 0; btTransform__btTransform_28btTransform_20const__29($8 + 568 | 0 | 0, HEAP32[($8 + 960 | 0) >> 2] | 0 | 0) | 0; HEAP32[($8 + 564 | 0) >> 2] = 0; HEAP32[($8 + 560 | 0) >> 2] = HEAP32[($8 + 944 | 0) >> 2] | 0; HEAP32[($8 + 556 | 0) >> 2] = (HEAP32[($8 + 944 | 0) >> 2] | 0) << 1 | 0; HEAP32[($8 + 552 | 0) >> 2] = 2; btVector3__btVector3_28_29($8 + 536 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 520 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 504 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 488 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 472 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 456 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 440 | 0 | 0, btTransform__getOrigin_28_29($8 + 816 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($8 + 568 | 0 | 0) | 0 | 0); $164 = 8; i64toi32_i32$2 = ($8 + 440 | 0) + $164 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1848 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 488 | 0) + $164 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1848; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 440 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 444 | 0) >> 2] | 0; $1852 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 488 | 0) >> 2] = $1852; HEAP32[($8 + 492 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 488 | 0 | 0, $8 + 728 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($8 + 424 | 0 | 0, $8 + 728 | 0 | 0, $8 + 420 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 404 | 0 | 0, $8 + 488 | 0 | 0, $8 + 424 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 388 | 0 | 0, btTransform__getOrigin_28_29($8 + 880 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($8 + 632 | 0 | 0) | 0 | 0); $209 = 8; i64toi32_i32$2 = ($8 + 388 | 0) + $209 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1930 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 504 | 0) + $209 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1930; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 388 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 392 | 0) >> 2] | 0; $1934 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 504 | 0) >> 2] = $1934; HEAP32[($8 + 508 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 504 | 0 | 0, $8 + 728 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($8 + 372 | 0 | 0, $8 + 728 | 0 | 0, $8 + 368 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 352 | 0 | 0, $8 + 504 | 0 | 0, $8 + 372 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 336 | 0 | 0, $8 + 372 | 0 | 0, $8 + 424 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 304 | 0 | 0, $8 + 336 | 0 | 0, $8 + 780 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 320 | 0 | 0, $8 + 352 | 0 | 0, $8 + 304 | 0 | 0); $270 = 8; i64toi32_i32$2 = ($8 + 320 | 0) + $270 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2038 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 504 | 0) + $270 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2038; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 320 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 324 | 0) >> 2] | 0; $2042 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 504 | 0) >> 2] = $2042; HEAP32[($8 + 508 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($8 + 272 | 0 | 0, $8 + 336 | 0 | 0, $8 + 776 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 288 | 0 | 0, $8 + 404 | 0 | 0, $8 + 272 | 0 | 0); $297 = 8; i64toi32_i32$2 = ($8 + 288 | 0) + $297 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2088 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 488 | 0) + $297 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2088; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 288 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 292 | 0) >> 2] | 0; $2092 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 488 | 0) >> 2] = $2092; HEAP32[($8 + 492 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20float_20const__29($8 + 240 | 0 | 0, $8 + 404 | 0 | 0, $8 + 780 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 224 | 0 | 0, $8 + 352 | 0 | 0, $8 + 776 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 256 | 0 | 0, $8 + 240 | 0 | 0, $8 + 224 | 0 | 0); $333 = 8; i64toi32_i32$2 = ($8 + 256 | 0) + $333 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2153 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 472 | 0) + $333 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2153; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 256 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 260 | 0) >> 2] | 0; $2157 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 472 | 0) >> 2] = $2157; HEAP32[($8 + 476 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($8 + 472 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[($8 + 220 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 220 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 216 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29($8 + 472 | 0 | 0, $8 + 216 | 0 | 0) | 0; break label$5; } btMatrix3x3__getColumn_28int_29_20const($8 + 200 | 0 | 0, btTransform__getBasis_28_29($8 + 880 | 0 | 0) | 0 | 0, 1 | 0); $367 = 8; i64toi32_i32$2 = ($8 + 200 | 0) + $367 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2221 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 472 | 0) + $367 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2221; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 200 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 204 | 0) >> 2] | 0; $2225 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 472 | 0) >> 2] = $2225; HEAP32[($8 + 476 | 0) >> 2] = i64toi32_i32$0; } btVector3__cross_28btVector3_20const__29_20const($8 + 184 | 0 | 0, $8 + 728 | 0 | 0, $8 + 472 | 0 | 0); $385 = 8; i64toi32_i32$2 = ($8 + 184 | 0) + $385 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2256 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 456 | 0) + $385 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2256; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 184 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 188 | 0) >> 2] | 0; $2260 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 456 | 0) >> 2] = $2260; HEAP32[($8 + 460 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($8 + 168 | 0 | 0, $8 + 504 | 0 | 0, $8 + 472 | 0 | 0); $403 = 8; i64toi32_i32$2 = ($8 + 168 | 0) + $403 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2291 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 536 | 0) + $403 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2291; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 168 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 172 | 0) >> 2] | 0; $2295 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 536 | 0) >> 2] = $2295; HEAP32[($8 + 540 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($8 + 152 | 0 | 0, $8 + 488 | 0 | 0, $8 + 472 | 0 | 0); $421 = 8; i64toi32_i32$2 = ($8 + 152 | 0) + $421 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2326 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 520 | 0) + $421 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2326; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 152 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 156 | 0) >> 2] | 0; $2330 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 520 | 0) >> 2] = $2330; HEAP32[($8 + 524 | 0) >> 2] = i64toi32_i32$0; HEAP32[($8 + 948 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$7 } $441 = btVector3__operator_20float__28_29($8 + 536 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 564 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($441 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$9 } $469 = btVector3__operator_20float__28_29($8 + 520 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 564 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($469 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } btVector3__cross_28btVector3_20const__29_20const($8 + 136 | 0 | 0, $8 + 504 | 0 | 0, $8 + 456 | 0 | 0); $496 = 8; i64toi32_i32$2 = ($8 + 136 | 0) + $496 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2475 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 536 | 0) + $496 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2475; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 136 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 140 | 0) >> 2] | 0; $2479 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 536 | 0) >> 2] = $2479; HEAP32[($8 + 540 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($8 + 120 | 0 | 0, $8 + 488 | 0 | 0, $8 + 456 | 0 | 0); $514 = 8; i64toi32_i32$2 = ($8 + 120 | 0) + $514 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2510 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 520 | 0) + $514 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2510; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 120 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 124 | 0) >> 2] | 0; $2514 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 520 | 0) >> 2] = $2514; HEAP32[($8 + 524 | 0) >> 2] = i64toi32_i32$0; label$11 : { if (!((HEAPU8[($8 + 791 | 0) >> 0] | 0) & 1 | 0)) { break label$11 } if (!(btHingeConstraint__getSolveLimit_28_29($9 | 0) | 0)) { break label$11 } btVector3__operator___28float_20const__29_1($8 + 520 | 0 | 0, $8 + 776 | 0 | 0) | 0; btVector3__operator___28float_20const__29_1($8 + 536 | 0 | 0, $8 + 780 | 0 | 0) | 0; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$12 : { label$13 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$12 } $550 = btVector3__operator_20float__28_29($8 + 536 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 560 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($550 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$13; }; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$14 : { label$15 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$14 } $578 = btVector3__operator_20float__28_29($8 + 520 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 560 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($578 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$15; }; } btVector3__cross_28btVector3_20const__29_20const($8 + 104 | 0 | 0, $8 + 504 | 0 | 0, $8 + 728 | 0 | 0); $605 = 8; i64toi32_i32$2 = ($8 + 104 | 0) + $605 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2692 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 536 | 0) + $605 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2692; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 104 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 108 | 0) >> 2] | 0; $2696 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 536 | 0) >> 2] = $2696; HEAP32[($8 + 540 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($8 + 88 | 0 | 0, $8 + 488 | 0 | 0, $8 + 728 | 0 | 0); $623 = 8; i64toi32_i32$2 = ($8 + 88 | 0) + $623 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2727 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 520 | 0) + $623 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2727; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $8; i64toi32_i32$1 = HEAP32[($8 + 88 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($8 + 92 | 0) >> 2] | 0; $2731 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 520 | 0) >> 2] = $2731; HEAP32[($8 + 524 | 0) >> 2] = i64toi32_i32$0; label$16 : { if (!((HEAPU8[($8 + 791 | 0) >> 0] | 0) & 1 | 0)) { break label$16 } btVector3__operator___28float_20const__29_1($8 + 520 | 0 | 0, $8 + 776 | 0 | 0) | 0; btVector3__operator___28float_20const__29_1($8 + 536 | 0 | 0, $8 + 780 | 0 | 0) | 0; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$17 : { label$18 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$17 } $658 = btVector3__operator_20float__28_29($8 + 536 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 556 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($658 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$18; }; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$19 : { label$20 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$19 } $686 = btVector3__operator_20float__28_29($8 + 520 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 556 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($686 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$20; }; } label$21 : { label$22 : { if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 8 | 0)) { break label$22 } $708 = Math_fround(HEAPF32[($9 + 756 | 0) >> 2]); break label$21; } $708 = Math_fround(HEAPF32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 4 | 0) >> 2]); } HEAPF32[($8 + 84 | 0) >> 2] = $708; HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 968 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 84 | 0) >> 2])); label$23 : { if ((HEAPU8[($9 + 736 | 0) >> 0] | 0) & 1 | 0) { break label$23 } HEAP32[($8 + 948 | 0) >> 2] = 0; label$24 : { label$25 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$24 } $730 = btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($8 + 564 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($730 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$25; }; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$26 : { label$27 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$26 } $758 = btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($8 + 560 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($758 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$27; }; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$28 : { label$29 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$28 } $786 = btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($8 + 556 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($786 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$29; }; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$30 : { label$31 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$30 } $814 = btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($8 + 564 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($814 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$31; }; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$32 : { label$33 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$32 } $843 = btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($8 + 560 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($843 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$33; }; } HEAP32[($8 + 948 | 0) >> 2] = 0; label$34 : { label$35 : while (1) { if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$34 } $872 = btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($8 + 556 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($872 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; continue label$35; }; } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 472 | 0 | 0, $8 + 800 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 564 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 456 | 0 | 0, $8 + 800 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 560 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 728 | 0 | 0, $8 + 800 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 556 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); } HEAP32[($8 + 72 | 0) >> 2] = Math_imul(HEAP32[($8 + 944 | 0) >> 2] | 0, 3); HEAP32[($8 + 68 | 0) >> 2] = (HEAP32[($8 + 944 | 0) >> 2] | 0) << 2 | 0; $948 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $948; $961 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) + 4 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $961; $974 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) + 8 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $974; $987 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $987; $1000 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) + 4 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1000; $1013 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) + 8 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1013; $1027 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $1027; $1041 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) + 4 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1041; $1055 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) + 8 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1055; $1069 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $1069; $1083 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) + 4 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1083; $1097 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) + 8 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1097; HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 968 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 84 | 0) >> 2])); btVector3__cross_28btVector3_20const__29_20const($8 + 52 | 0 | 0, $8 + 760 | 0 | 0, $8 + 744 | 0 | 0); $1127 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 52 | 0 | 0, $8 + 472 | 0 | 0))); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1127; $1142 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 52 | 0 | 0, $8 + 456 | 0 | 0))); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1142; HEAP32[($8 + 552 | 0) >> 2] = 4; HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($8 + 40 | 0) >> 2] = 0; label$36 : { if (!(btHingeConstraint__getSolveLimit_28_29($9 | 0) | 0)) { break label$36 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(btAngularLimit__getCorrection_28_29_20const($9 + 688 | 0 | 0)) * Math_fround(HEAPF32[($9 + 732 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; HEAP32[($8 + 40 | 0) >> 2] = Math_fround(HEAPF32[($8 + 44 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0 ? 1 : 2; } (wasm2js_i32$0 = $8, wasm2js_i32$1 = (btHingeConstraint__getEnableAngularMotor_28_29($9 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 39 | 0) >> 0] = wasm2js_i32$1; label$37 : { label$38 : { if (HEAP32[($8 + 40 | 0) >> 2] | 0) { break label$38 } if (!((HEAPU8[($8 + 39 | 0) >> 0] | 0) & 1 | 0)) { break label$37 } } HEAP32[($8 + 552 | 0) >> 2] = (HEAP32[($8 + 552 | 0) >> 2] | 0) + 1 | 0; HEAP32[($8 + 48 | 0) >> 2] = Math_imul(HEAP32[($8 + 552 | 0) >> 2] | 0, HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0); $1186 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $1186; $1199 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) + 4 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1199; $1212 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) + 8 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1212; $1226 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $1226; $1240 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) + 4 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1240; $1254 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) + 8 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1254; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btHingeConstraint__getLowerLimit_28_29_20const($9 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btHingeConstraint__getUpperLimit_28_29_20const($9 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; label$39 : { if (!(HEAP32[($8 + 40 | 0) >> 2] | 0)) { break label$39 } if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { break label$39 } HEAP8[($8 + 39 | 0) >> 0] = 0; } HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); label$40 : { label$41 : { if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 2 | 0)) { break label$41 } $1284 = Math_fround(HEAPF32[($9 + 764 | 0) >> 2]); break label$40; } $1284 = Math_fround(HEAPF32[($8 + 84 | 0) >> 2]); } HEAPF32[($8 + 24 | 0) >> 2] = $1284; label$42 : { if (!((HEAPU8[($8 + 39 | 0) >> 0] | 0) & 1 | 0)) { break label$42 } label$43 : { if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 4 | 0)) { break label$43 } HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 752 | 0) >> 2]); } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($9 | 0, Math_fround(Math_fround(HEAPF32[($9 + 728 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 32 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 680 | 0) >> 2])), Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 968 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 24 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; $1318 = (HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$1318 >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($9 + 680 | 0) >> 2])) * Math_fround(HEAPF32[($9 + 732 | 0) >> 2])) + Math_fround(HEAPF32[$1318 >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($9 + 684 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 684 | 0) >> 2]); } label$44 : { if (!(HEAP32[($8 + 40 | 0) >> 2] | 0)) { break label$44 } HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 968 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 24 | 0) >> 2])); $1349 = (HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$1349 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 44 | 0) >> 2])) + Math_fround(HEAPF32[$1349 >> 2])); label$45 : { if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 1 | 0)) { break label$45 } HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 760 | 0) >> 2]); } label$46 : { label$47 : { if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { break label$47 } HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); break label$46; } label$48 : { label$49 : { if (!((HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$49 } HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); break label$48; } HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); } } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btAngularLimit__getRelaxationFactor_28_29_20const($9 + 688 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; label$50 : { if (!(Math_fround(HEAPF32[($8 + 16 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$50 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 956 | 0) >> 2] | 0 | 0, $8 + 728 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $1437 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 952 | 0) >> 2] | 0 | 0, $8 + 728 | 0 | 0)); HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) - $1437); label$51 : { label$52 : { if (!((HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$52 } label$53 : { if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$53 } HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); label$54 : { if (!(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$54 } HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); } } break label$51; } label$55 : { if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$55 } HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); label$56 : { if (!(Math_fround(HEAPF32[($8 + 4 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$56 } HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 4 | 0) >> 2]); } } } } $1505 = Math_fround(btAngularLimit__getBiasFactor_28_29_20const($9 + 688 | 0 | 0)); $1511 = (HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$1511 >> 2] = Math_fround(Math_fround(HEAPF32[$1511 >> 2]) * $1505); } } __stack_pointer = $8 + 976 | 0; return; } function btHingeConstraint__getInfo2Internal_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $34 = 0, $35 = 0, $45 = 0, $46 = 0, $172 = Math_fround(0), $599 = Math_fround(0), $633 = 0, $664 = 0, $826 = 0, $909 = 0, $913 = 0, $932 = 0, $936 = 0, $191 = Math_fround(0), $200 = Math_fround(0), $204 = 0, $259 = Math_fround(0), $272 = Math_fround(0), $285 = Math_fround(0), $298 = Math_fround(0), $311 = Math_fround(0), $324 = Math_fround(0), $338 = Math_fround(0), $352 = Math_fround(0), $366 = Math_fround(0), $380 = Math_fround(0), $394 = Math_fround(0), $408 = Math_fround(0), $442 = Math_fround(0), $457 = Math_fround(0), $501 = Math_fround(0), $514 = Math_fround(0), $527 = Math_fround(0), $541 = Math_fround(0), $555 = Math_fround(0), $569 = Math_fround(0), $752 = Math_fround(0), $820 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $8 = __stack_pointer - 416 | 0; __stack_pointer = $8; HEAP32[($8 + 412 | 0) >> 2] = $0; HEAP32[($8 + 408 | 0) >> 2] = $1; HEAP32[($8 + 404 | 0) >> 2] = $2; HEAP32[($8 + 400 | 0) >> 2] = $3; HEAP32[($8 + 396 | 0) >> 2] = $4; HEAP32[($8 + 392 | 0) >> 2] = $5; $9 = HEAP32[($8 + 412 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($9 + 738 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } __assert_fail(81148 | 0, 71702 | 0, 419 | 0, 77516 | 0); wasm2js_trap(); } HEAP32[($8 + 384 | 0) >> 2] = HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29_20const($8 + 320 | 0 | 0, HEAP32[($8 + 404 | 0) >> 2] | 0 | 0, $9 + 552 | 0 | 0); btTransform__operator__28btTransform_20const__29_20const($8 + 256 | 0 | 0, HEAP32[($8 + 400 | 0) >> 2] | 0 | 0, $9 + 616 | 0 | 0); $34 = btTransform__getOrigin_28_29($8 + 320 | 0 | 0) | 0; $35 = 8; i64toi32_i32$2 = $34 + $35 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $909 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 240 | 0) + $35 | 0; HEAP32[i64toi32_i32$0 >> 2] = $909; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $34; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $913 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 240 | 0) >> 2] = $913; HEAP32[($8 + 244 | 0) >> 2] = i64toi32_i32$0; $45 = btTransform__getOrigin_28_29($8 + 256 | 0 | 0) | 0; $46 = 8; i64toi32_i32$2 = $45 + $46 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $932 = i64toi32_i32$0; i64toi32_i32$0 = ($8 + 224 | 0) + $46 | 0; HEAP32[i64toi32_i32$0 >> 2] = $932; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $45; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $936 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 224 | 0) >> 2] = $936; HEAP32[($8 + 228 | 0) >> 2] = i64toi32_i32$0; label$2 : { if ((HEAPU8[($9 + 736 | 0) >> 0] | 0) & 1 | 0) { break label$2 } HEAPF32[(HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = Math_fround(1.0); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($8 + 384 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(1.0); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAP32[($8 + 384 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = Math_fround(1.0); HEAPF32[(HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] = Math_fround(-1.0); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($8 + 384 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(-1.0); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAP32[($8 + 384 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = Math_fround(-1.0); } operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 208 | 0 | 0, $8 + 240 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 404 | 0) >> 2] | 0 | 0) | 0 | 0); HEAP32[($8 + 204 | 0) >> 2] = HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[($8 + 200 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($8 + 384 | 0) >> 2] | 0) << 2 | 0) | 0; HEAP32[($8 + 196 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 384 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0; operator__28btVector3_20const__29($8 + 180 | 0 | 0, $8 + 208 | 0 | 0); btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($8 + 180 | 0 | 0, HEAP32[($8 + 204 | 0) >> 2] | 0 | 0, HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 164 | 0 | 0, $8 + 224 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 400 | 0) >> 2] | 0 | 0) | 0 | 0); HEAP32[($8 + 160 | 0) >> 2] = HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; HEAP32[($8 + 156 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8 + 384 | 0) >> 2] | 0) << 2 | 0) | 0; HEAP32[($8 + 152 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 384 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0; btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($8 + 164 | 0 | 0, HEAP32[($8 + 160 | 0) >> 2] | 0 | 0, HEAP32[($8 + 156 | 0) >> 2] | 0 | 0, HEAP32[($8 + 152 | 0) >> 2] | 0 | 0); label$3 : { label$4 : { if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 8 | 0)) { break label$4 } $172 = Math_fround(HEAPF32[($9 + 756 | 0) >> 2]); break label$3; } $172 = Math_fround(HEAPF32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 4 | 0) >> 2]); } HEAPF32[($8 + 148 | 0) >> 2] = $172; HEAPF32[($8 + 144 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 408 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 148 | 0) >> 2])); label$5 : { if ((HEAPU8[($9 + 736 | 0) >> 0] | 0) & 1 | 0) { break label$5 } HEAP32[($8 + 388 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($8 + 388 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$6 } $191 = Math_fround(HEAPF32[($8 + 144 | 0) >> 2]); $200 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 224 | 0 | 0) | 0) + ((HEAP32[($8 + 388 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); $204 = btVector3__operator_20float__28_29($8 + 240 | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (Math_imul(HEAP32[($8 + 388 | 0) >> 2] | 0, HEAP32[($8 + 384 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround($191 * Math_fround($200 - Math_fround(HEAPF32[($204 + ((HEAP32[($8 + 388 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); HEAP32[($8 + 388 | 0) >> 2] = (HEAP32[($8 + 388 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } btMatrix3x3__getColumn_28int_29_20const($8 + 128 | 0 | 0, btTransform__getBasis_28_29($8 + 320 | 0 | 0) | 0 | 0, 2 | 0); btMatrix3x3__getColumn_28int_29_20const($8 + 112 | 0 | 0, btTransform__getBasis_28_29($8 + 320 | 0 | 0) | 0 | 0, 0 | 0); btMatrix3x3__getColumn_28int_29_20const($8 + 96 | 0 | 0, btTransform__getBasis_28_29($8 + 320 | 0 | 0) | 0 | 0, 1 | 0); HEAP32[($8 + 92 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 3); HEAP32[($8 + 88 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0; $259 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $259; $272 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) + 4 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $272; $285 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) + 8 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $285; $298 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $298; $311 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) + 4 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $311; $324 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) + 8 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $324; $338 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $338; $352 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) + 4 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $352; $366 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) + 8 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $366; $380 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $380; $394 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) + 4 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $394; $408 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) + 8 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $408; btMatrix3x3__getColumn_28int_29_20const($8 + 72 | 0 | 0, btTransform__getBasis_28_29($8 + 256 | 0 | 0) | 0 | 0, 2 | 0); btVector3__cross_28btVector3_20const__29_20const($8 + 56 | 0 | 0, $8 + 128 | 0 | 0, $8 + 72 | 0 | 0); $442 = Math_fround(Math_fround(HEAPF32[($8 + 144 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 56 | 0 | 0, $8 + 112 | 0 | 0))); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $442; $457 = Math_fround(Math_fround(HEAPF32[($8 + 144 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 56 | 0 | 0, $8 + 96 | 0 | 0))); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 88 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $457; HEAP32[($8 + 52 | 0) >> 2] = 4; HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($8 + 40 | 0) >> 2] = 0; label$8 : { if (!(btHingeConstraint__getSolveLimit_28_29($9 | 0) | 0)) { break label$8 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(btAngularLimit__getCorrection_28_29_20const($9 + 688 | 0 | 0)) * Math_fround(HEAPF32[($9 + 732 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; HEAP32[($8 + 40 | 0) >> 2] = Math_fround(HEAPF32[($8 + 44 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0 ? 1 : 2; } (wasm2js_i32$0 = $8, wasm2js_i32$1 = (btHingeConstraint__getEnableAngularMotor_28_29($9 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 39 | 0) >> 0] = wasm2js_i32$1; label$9 : { label$10 : { if (HEAP32[($8 + 40 | 0) >> 2] | 0) { break label$10 } if (!((HEAPU8[($8 + 39 | 0) >> 0] | 0) & 1 | 0)) { break label$9 } } HEAP32[($8 + 52 | 0) >> 2] = (HEAP32[($8 + 52 | 0) >> 2] | 0) + 1 | 0; HEAP32[($8 + 48 | 0) >> 2] = Math_imul(HEAP32[($8 + 52 | 0) >> 2] | 0, HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0); $501 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $501; $514 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) + 4 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $514; $527 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) + 8 | 0) >> 2]); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $527; $541 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $541; $555 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) + 4 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $555; $569 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) + 8 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $569; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btHingeConstraint__getLowerLimit_28_29_20const($9 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btHingeConstraint__getUpperLimit_28_29_20const($9 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; label$11 : { if (!(HEAP32[($8 + 40 | 0) >> 2] | 0)) { break label$11 } if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { break label$11 } HEAP8[($8 + 39 | 0) >> 0] = 0; } HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); label$12 : { label$13 : { if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 2 | 0)) { break label$13 } $599 = Math_fround(HEAPF32[($9 + 764 | 0) >> 2]); break label$12; } $599 = Math_fround(HEAPF32[($8 + 148 | 0) >> 2]); } HEAPF32[($8 + 24 | 0) >> 2] = $599; label$14 : { if (!((HEAPU8[($8 + 39 | 0) >> 0] | 0) & 1 | 0)) { break label$14 } label$15 : { if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 4 | 0)) { break label$15 } HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 752 | 0) >> 2]); } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($9 | 0, Math_fround(Math_fround(HEAPF32[($9 + 728 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 32 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 680 | 0) >> 2])), Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 408 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 24 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; $633 = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$633 >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($9 + 680 | 0) >> 2])) * Math_fround(HEAPF32[($9 + 732 | 0) >> 2])) + Math_fround(HEAPF32[$633 >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($9 + 684 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 684 | 0) >> 2]); } label$16 : { if (!(HEAP32[($8 + 40 | 0) >> 2] | 0)) { break label$16 } HEAPF32[($8 + 144 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 408 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 24 | 0) >> 2])); $664 = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$664 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 144 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 44 | 0) >> 2])) + Math_fround(HEAPF32[$664 >> 2])); label$17 : { if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 1 | 0)) { break label$17 } HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 760 | 0) >> 2]); } label$18 : { label$19 : { if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { break label$19 } HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); break label$18; } label$20 : { label$21 : { if (!((HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$21 } HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); break label$20; } HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); } } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btAngularLimit__getRelaxationFactor_28_29_20const($9 + 688 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; label$22 : { if (!(Math_fround(HEAPF32[($8 + 16 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$22 } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 396 | 0) >> 2] | 0 | 0, $8 + 128 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $752 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 392 | 0) >> 2] | 0 | 0, $8 + 128 | 0 | 0)); HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) - $752); label$23 : { label$24 : { if (!((HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { break label$24 } label$25 : { if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$25 } HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); label$26 : { if (!(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$26 } HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); } } break label$23; } label$27 : { if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$27 } HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); label$28 : { if (!(Math_fround(HEAPF32[($8 + 4 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { break label$28 } HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 4 | 0) >> 2]); } } } } $820 = Math_fround(btAngularLimit__getBiasFactor_28_29_20const($9 + 688 | 0 | 0)); $826 = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; HEAPF32[$826 >> 2] = Math_fround(Math_fround(HEAPF32[$826 >> 2]) * $820); } } __stack_pointer = $8 + 416 | 0; return; } function btAngularLimit__getCorrection_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2])); } function btHingeConstraint__getLowerLimit_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = Math_fround(btAngularLimit__getLow_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 688 | 0 | 0)); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btHingeConstraint__getUpperLimit_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = Math_fround(btAngularLimit__getHigh_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 688 | 0 | 0)); __stack_pointer = $3 + 16 | 0; return Math_fround($7); } function btAngularLimit__getRelaxationFactor_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2])); } function btAngularLimit__getBiasFactor_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2])); } function btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $8 = 0, $21 = 0, $22 = 0, $34 = 0, $38 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 48 | 0; __stack_pointer = $6; HEAP32[($6 + 44 | 0) >> 2] = $0; HEAP32[($6 + 40 | 0) >> 2] = $1; HEAP32[($6 + 36 | 0) >> 2] = $2; HEAP32[($6 + 32 | 0) >> 2] = $3; $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; $8 = HEAP32[($6 + 40 | 0) >> 2] | 0; HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($7 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, btVector3__y_28_29_20const($7 | 0) | 0 | 0); $21 = HEAP32[($6 + 36 | 0) >> 2] | 0; $22 = btVector3__z_28_29_20const($7 | 0) | 0; HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($7 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($21 | 0, $22 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0); $34 = HEAP32[($6 + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($7 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; $38 = btVector3__x_28_29_20const($7 | 0) | 0; HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($34 | 0, $6 + 12 | 0 | 0, $38 | 0, $6 + 8 | 0 | 0); __stack_pointer = $6 + 48 | 0; return; } function btHingeConstraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29($6 + 552 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29($6 + 616 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6); __stack_pointer = $5 + 16 | 0; return; } function __cxx_global_var_init_2_1() { var $2 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 4 | 0) >> 2] = Math_fround(1.0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(115408 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0, $2 + 4 | 0 | 0) | 0; __stack_pointer = $2 + 16 | 0; return; } function btHingeConstraint__setMotorTarget_28float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAPF32[($5 + 24 | 0) >> 2] = $1; HEAPF32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btAngularLimit__fit_28float__29_20const($6 + 688 | 0 | 0, $5 + 24 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btHingeConstraint__getHingeAngle_28btTransform_20const__2c_20btTransform_20const__29($6 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); HEAPF32[($6 + 680 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 20 | 0) >> 2])); __stack_pointer = $5 + 32 | 0; return; } function btHingeConstraint__setParam_28int_2c_20float_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $7 = 0, $24 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { label$3 : { if ((HEAP32[$6 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { break label$3 } if (!((HEAP32[$6 >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { break label$2 } } $24 = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; label$4 : { label$5 : { switch ($24 | 0) { case 1: HEAPF32[($7 + 764 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 748 | 0) >> 2] = HEAP32[($7 + 748 | 0) >> 2] | 0 | 2 | 0; break label$4; case 3: HEAPF32[($7 + 760 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 748 | 0) >> 2] = HEAP32[($7 + 748 | 0) >> 2] | 0 | 1 | 0; break label$4; case 2: HEAPF32[($7 + 752 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 748 | 0) >> 2] = HEAP32[($7 + 748 | 0) >> 2] | 0 | 4 | 0; break label$4; case 0: HEAPF32[($7 + 756 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 748 | 0) >> 2] = HEAP32[($7 + 748 | 0) >> 2] | 0 | 8 | 0; break label$4; default: break label$5; }; } __assert_fail(86177 | 0, 71702 | 0, 1076 | 0, 77248 | 0); wasm2js_trap(); } break label$1; } __assert_fail(86177 | 0, 71702 | 0, 1081 | 0, 77248 | 0); wasm2js_trap(); } __stack_pointer = $6 + 16 | 0; return; } function btHingeConstraint__getParam_28int_2c_20int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $25 = 0, $67 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(0 | 0); label$1 : { label$2 : { label$3 : { if ((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { break label$3 } if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { break label$2 } } $25 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; label$4 : { label$5 : { switch ($25 | 0) { case 1: label$10 : { if ((HEAP32[($6 + 748 | 0) >> 2] | 0) & 2 | 0) { break label$10 } __assert_fail(84189 | 0, 71702 | 0, 1094 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 764 | 0) >> 2]); break label$4; case 3: label$11 : { if ((HEAP32[($6 + 748 | 0) >> 2] | 0) & 1 | 0) { break label$11 } __assert_fail(84223 | 0, 71702 | 0, 1098 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 760 | 0) >> 2]); break label$4; case 2: label$12 : { if ((HEAP32[($6 + 748 | 0) >> 2] | 0) & 4 | 0) { break label$12 } __assert_fail(84320 | 0, 71702 | 0, 1102 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 752 | 0) >> 2]); break label$4; case 0: label$13 : { if ((HEAP32[($6 + 748 | 0) >> 2] | 0) & 8 | 0) { break label$13 } __assert_fail(84286 | 0, 71702 | 0, 1106 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 756 | 0) >> 2]); break label$4; default: break label$5; }; } __assert_fail(86177 | 0, 71702 | 0, 1110 | 0, 77257 | 0); wasm2js_trap(); } break label$1; } __assert_fail(86177 | 0, 71702 | 0, 1115 | 0, 77257 | 0); wasm2js_trap(); } $67 = Math_fround(HEAPF32[$5 >> 2]); __stack_pointer = $5 + 16 | 0; return Math_fround($67); } function btHingeConstraint___btHingeConstraint_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTypedConstraint___btTypedConstraint_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btHingeConstraint___btHingeConstraint_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btHingeConstraint___btHingeConstraint_28_29($4 | 0) | 0; btHingeConstraint__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHingeConstraint__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btHingeConstraint__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 220 | 0; } function btHingeConstraint__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $38 = Math_fround(0), $42 = Math_fround(0), $46 = Math_fround(0), $50 = Math_fround(0), $54 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; btTransform__serialize_28btTransformFloatData__29_20const($6 + 552 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 52 | 0 | 0); btTransform__serialize_28btTransformFloatData__29_20const($6 + 616 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 116 | 0 | 0); HEAP32[((HEAP32[$5 >> 2] | 0) + 184 | 0) >> 2] = (HEAPU8[($6 + 736 | 0) >> 0] | 0) & 1 | 0; HEAP32[((HEAP32[$5 >> 2] | 0) + 188 | 0) >> 2] = (HEAPU8[($6 + 737 | 0) >> 0] | 0) & 1 | 0; HEAPF32[((HEAP32[$5 >> 2] | 0) + 196 | 0) >> 2] = Math_fround(HEAPF32[($6 + 684 | 0) >> 2]); HEAPF32[((HEAP32[$5 >> 2] | 0) + 192 | 0) >> 2] = Math_fround(HEAPF32[($6 + 680 | 0) >> 2]); HEAP32[((HEAP32[$5 >> 2] | 0) + 180 | 0) >> 2] = (HEAPU8[($6 + 740 | 0) >> 0] | 0) & 1 | 0; $38 = Math_fround(btAngularLimit__getLow_28_29_20const($6 + 688 | 0 | 0)); HEAPF32[((HEAP32[$5 >> 2] | 0) + 200 | 0) >> 2] = $38; $42 = Math_fround(btAngularLimit__getHigh_28_29_20const($6 + 688 | 0 | 0)); HEAPF32[((HEAP32[$5 >> 2] | 0) + 204 | 0) >> 2] = $42; $46 = Math_fround(btAngularLimit__getSoftness_28_29_20const($6 + 688 | 0 | 0)); HEAPF32[((HEAP32[$5 >> 2] | 0) + 208 | 0) >> 2] = $46; $50 = Math_fround(btAngularLimit__getBiasFactor_28_29_20const($6 + 688 | 0 | 0)); HEAPF32[((HEAP32[$5 >> 2] | 0) + 212 | 0) >> 2] = $50; $54 = Math_fround(btAngularLimit__getRelaxationFactor_28_29_20const($6 + 688 | 0 | 0)); HEAPF32[((HEAP32[$5 >> 2] | 0) + 216 | 0) >> 2] = $54; __stack_pointer = $5 + 16 | 0; return 83264 | 0; } function btAngularLimit__getSoftness_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2])); } function btHingeConstraint__getFlags_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 748 | 0) >> 2] | 0 | 0; } function _GLOBAL__sub_I_btHingeConstraint_cpp() { __cxx_global_var_init_70(); __cxx_global_var_init_2_1(); return; } function __cxx_global_var_init_71() { btInfMaskConverter__btInfMaskConverter_28int_29(115424 | 0, 2139095040 | 0) | 0; return; } function btPoint2PointConstraint__btPoint2PointConstraint_28btRigidBody__2c_20btRigidBody__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $16 = 0, $19 = 0, $20 = 0, $22 = 0, $29 = 0, $32 = 0, $37 = 0, $40 = 0, $18 = 0, $116 = 0, $126 = 0, $135 = 0, $145 = 0, $48 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 24 | 0) >> 2] = $0; HEAP32[($7 + 20 | 0) >> 2] = $1; HEAP32[($7 + 16 | 0) >> 2] = $2; HEAP32[($7 + 12 | 0) >> 2] = $3; HEAP32[($7 + 8 | 0) >> 2] = $4; $8 = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($7 + 28 | 0) >> 2] = $8; btTypedConstraint__btTypedConstraint_28btTypedConstraintType_2c_20btRigidBody__2c_20btRigidBody__29($8 | 0, 3 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[$8 >> 2] = 102276 + 8 | 0; $16 = $8 + 48 | 0; $18 = $16 + 252 | 0; $19 = $16; label$1 : while (1) { $20 = $19; btJacobianEntry__btJacobianEntry_28_29($20 | 0) | 0; $22 = $20 + 84 | 0; $19 = $22; if (!(($22 | 0) == ($18 | 0) & 1 | 0)) { continue label$1 } break label$1; }; $29 = $8 + 300 | 0; i64toi32_i32$2 = HEAP32[($7 + 12 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $116 = i64toi32_i32$0; i64toi32_i32$0 = $29; HEAP32[i64toi32_i32$0 >> 2] = $116; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $32 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $32 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $126 = i64toi32_i32$1; i64toi32_i32$1 = $29 + $32 | 0; HEAP32[i64toi32_i32$1 >> 2] = $126; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $37 = $8 + 316 | 0; i64toi32_i32$2 = HEAP32[($7 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $135 = i64toi32_i32$0; i64toi32_i32$0 = $37; HEAP32[i64toi32_i32$0 >> 2] = $135; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $40 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $40 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $145 = i64toi32_i32$1; i64toi32_i32$1 = $37 + $40 | 0; HEAP32[i64toi32_i32$1 >> 2] = $145; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($8 + 332 | 0) >> 2] = 0; HEAP8[($8 + 344 | 0) >> 0] = 0; btConstraintSetting__btConstraintSetting_28_29($8 + 348 | 0 | 0) | 0; $48 = HEAP32[($7 + 28 | 0) >> 2] | 0; __stack_pointer = $7 + 32 | 0; return $48 | 0; } function btConstraintSetting__btConstraintSetting_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAPF32[$4 >> 2] = Math_fround(.30000001192092896); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); return $4 | 0; } function btPoint2PointConstraint__buildJacobian_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $47 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 208 | 0; __stack_pointer = $3; HEAP32[($3 + 204 | 0) >> 2] = $0; $4 = HEAP32[($3 + 204 | 0) >> 2] | 0; HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 184 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 180 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($3 + 176 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 188 | 0 | 0, $3 + 184 | 0 | 0, $3 + 180 | 0 | 0, $3 + 176 | 0 | 0) | 0; HEAP32[($3 + 172 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 172 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 188 | 0 | 0) | 0) + ((HEAP32[($3 + 172 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $47 = ($4 + 48 | 0) + Math_imul(HEAP32[($3 + 172 | 0) >> 2] | 0, 84) | 0; btMatrix3x3__transpose_28_29_20const($3 + 124 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btMatrix3x3__transpose_28_29_20const($3 + 76 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($3 + 44 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, $4 + 300 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 60 | 0 | 0, $3 + 44 | 0 | 0, btRigidBody__getCenterOfMassPosition_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($3 + 12 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, $4 + 316 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 28 | 0 | 0, $3 + 12 | 0 | 0, btRigidBody__getCenterOfMassPosition_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); btJacobianEntry__btJacobianEntry_28btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($47 | 0, $3 + 124 | 0 | 0, $3 + 76 | 0 | 0, $3 + 60 | 0 | 0, $3 + 28 | 0 | 0, $3 + 188 | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0))), btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0)))) | 0; (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 188 | 0 | 0) | 0) + ((HEAP32[($3 + 172 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAP32[($3 + 172 | 0) >> 2] = (HEAP32[($3 + 172 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 208 | 0; return; } function btPoint2PointConstraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btPoint2PointConstraint__getInfo1NonVirtual_28btTypedConstraint__btConstraintInfo1__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btPoint2PointConstraint__getInfo1NonVirtual_28btTypedConstraint__btConstraintInfo1__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!((HEAPU8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 344 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 0; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; break label$1; } HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 3; HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 3; } return; } function btPoint2PointConstraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btPoint2PointConstraint__getInfo2NonVirtual_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btPoint2PointConstraint__getInfo2NonVirtual_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $135 = Math_fround(0), $151 = Math_fround(0), $179 = Math_fround(0), $182 = 0; $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $0; HEAP32[($6 + 104 | 0) >> 2] = $1; HEAP32[($6 + 100 | 0) >> 2] = $2; HEAP32[($6 + 96 | 0) >> 2] = $3; $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($7 + 344 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } __assert_fail(81148 | 0, 71573 | 0, 99 | 0, 77382 | 0); wasm2js_trap(); } HEAPF32[(HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = Math_fround(1.0); HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(1.0); HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = Math_fround(1.0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0 | 0, btPoint2PointConstraint__getPivotInA_28_29_20const($7 | 0) | 0 | 0); HEAP32[($6 + 76 | 0) >> 2] = HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; HEAP32[($6 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; HEAP32[($6 + 68 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0; operator__28btVector3_20const__29($6 + 52 | 0 | 0, $6 + 80 | 0 | 0); btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($6 + 52 | 0 | 0, HEAP32[($6 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0); HEAPF32[(HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] = Math_fround(-1.0); HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(-1.0); HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = Math_fround(-1.0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($6 + 36 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, btPoint2PointConstraint__getPivotInB_28_29_20const($7 | 0) | 0 | 0); HEAP32[($6 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0; btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($6 + 36 | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); label$2 : { label$3 : { if (!((HEAP32[($7 + 332 | 0) >> 2] | 0) & 1 | 0)) { break label$3 } $135 = Math_fround(HEAPF32[($7 + 336 | 0) >> 2]); break label$2; } $135 = Math_fround(HEAPF32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2]); } HEAPF32[($6 + 20 | 0) >> 2] = $135; HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 104 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($6 + 20 | 0) >> 2])); HEAP32[($6 + 12 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$4 } $151 = Math_fround(HEAPF32[($6 + 16 | 0) >> 2]); $179 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 36 | 0 | 0) | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btTransform__getOrigin_28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) - Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 80 | 0 | 0) | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); $182 = btVector3__operator_20float_20const__28_29_20const(btTransform__getOrigin_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround($151 * Math_fround($179 - Math_fround(HEAPF32[($182 + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } label$6 : { if (!((HEAP32[($7 + 332 | 0) >> 2] | 0) & 2 | 0)) { break label$6 } HEAP32[($6 + 12 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$7 } HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($7 + 340 | 0) >> 2]); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } } HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(HEAPF32[($7 + 356 | 0) >> 2]); HEAP32[($6 + 12 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { break label$9 } label$11 : { if (!(Math_fround(HEAPF32[($7 + 356 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$11 } HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($6 + 8 | 0) >> 2])); HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($6 + 8 | 0) >> 2]); } HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } HEAPF32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] = Math_fround(HEAPF32[($7 + 352 | 0) >> 2]); __stack_pointer = $6 + 112 | 0; return; } function btPoint2PointConstraint__getPivotInA_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 300 | 0 | 0; } function btPoint2PointConstraint__getPivotInB_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 316 | 0 | 0; } function btPoint2PointConstraint__setParam_28int_2c_20float_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; var $6 = 0, $7 = 0, $21 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAPF32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[$6 >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$1 } __assert_fail(86177 | 0, 71573 | 0, 179 | 0, 77248 | 0); wasm2js_trap(); } $21 = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; label$2 : { label$3 : { switch ($21 | 0) { case 0: case 1: HEAPF32[($7 + 336 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 332 | 0) >> 2] = HEAP32[($7 + 332 | 0) >> 2] | 0 | 1 | 0; break label$2; case 2: case 3: HEAPF32[($7 + 340 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[($7 + 332 | 0) >> 2] = HEAP32[($7 + 332 | 0) >> 2] | 0 | 2 | 0; break label$2; default: break label$3; }; } __assert_fail(86177 | 0, 71573 | 0, 196 | 0, 77248 | 0); wasm2js_trap(); } __stack_pointer = $6 + 16 | 0; return; } function btPoint2PointConstraint__getParam_28int_2c_20int_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $21 = 0, $43 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAPF32[$5 >> 2] = Math_fround(3402823466385288598117041.0e14); label$1 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$1 } __assert_fail(86177 | 0, 71573 | 0, 207 | 0, 77257 | 0); wasm2js_trap(); } $21 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; label$2 : { label$3 : { switch ($21 | 0) { case 0: case 1: label$6 : { if ((HEAP32[($6 + 332 | 0) >> 2] | 0) & 1 | 0) { break label$6 } __assert_fail(84162 | 0, 71573 | 0, 215 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 336 | 0) >> 2]); break label$2; case 2: case 3: label$7 : { if ((HEAP32[($6 + 332 | 0) >> 2] | 0) & 2 | 0) { break label$7 } __assert_fail(84354 | 0, 71573 | 0, 220 | 0, 77257 | 0); wasm2js_trap(); } HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 340 | 0) >> 2]); break label$2; default: break label$3; }; } __assert_fail(86177 | 0, 71573 | 0, 224 | 0, 77257 | 0); wasm2js_trap(); } $43 = Math_fround(HEAPF32[$5 >> 2]); __stack_pointer = $5 + 16 | 0; return Math_fround($43); } function btPoint2PointConstraint___btPoint2PointConstraint_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTypedConstraint___btTypedConstraint_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btPoint2PointConstraint___btPoint2PointConstraint_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btPoint2PointConstraint___btPoint2PointConstraint_28_29($4 | 0) | 0; btPoint2PointConstraint__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btPoint2PointConstraint__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btPoint2PointConstraint__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 84 | 0; } function btPoint2PointConstraint__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; btVector3__serialize_28btVector3FloatData__29_20const($6 + 300 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 52 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 316 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 68 | 0 | 0); __stack_pointer = $5 + 16 | 0; return 83231 | 0; } function btPoint2PointConstraint__getFlags_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 332 | 0) >> 2] | 0 | 0; } function _GLOBAL__sub_I_btPoint2PointConstraint_cpp() { __cxx_global_var_init_71(); return; } function __cxx_global_var_init_72() { btInfMaskConverter__btInfMaskConverter_28int_29(115428 | 0, 2139095040 | 0) | 0; return; } function btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $12 = Math_fround(0); $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $12 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0](HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0)); __stack_pointer = $6 + 16 | 0; return Math_fround($12); } function btSequentialImpulseConstraintSolver__resolveSingleConstraintRowLowerLimit_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $12 = Math_fround(0); $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $12 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0](HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0)); __stack_pointer = $6 + 16 | 0; return Math_fround($12); } function btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btConstraintSolver__btConstraintSolver_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 102372 + 8 | 0; btAlignedObjectArray_btSolverBody___btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($4 + 64 | 0 | 0) | 0; btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 144 | 0 | 0) | 0; btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___btAlignedObjectArray_28_29($4 + 164 | 0 | 0) | 0; btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 192 | 0 | 0) | 0; HEAP32[($4 + 232 | 0) >> 2] = 0; HEAP32[($4 + 224 | 0) >> 2] = 0; btSequentialImpulseConstraintSolver__setupSolverFunctions_28bool_29($4 | 0, 0 & 1 | 0 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConstraintSolver__btConstraintSolver_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 102512 + 8 | 0; return $4 | 0; } function btAlignedObjectArray_btSolverBody___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btSolverBody_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btSolverBody___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btSolverConstraint_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btSolverConstraint___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSequentialImpulseConstraintSolver__setupSolverFunctions_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $6 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; $6 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($6 + 212 | 0) >> 2] = 1081; HEAP32[($6 + 216 | 0) >> 2] = 1082; HEAP32[($6 + 220 | 0) >> 2] = 1083; label$1 : { if (!((HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } } return; } function btAlignedAllocator_btSolverBody_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btSolverBody___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btSolverConstraint_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btSolverConstraint___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function gResolveSingleConstraintRowGeneric_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $87 = 0, $103 = 0, $119 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAP32[($5 + 56 | 0) >> 2] = $1; HEAP32[($5 + 52 | 0) >> 2] = $2; HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 116 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2])); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 32 | 0 | 0, btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 40 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])); HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]); break label$1; } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 124 | 0) >> 2]) & 1 | 0)) { break label$4 } HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 124 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])); HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 124 | 0) >> 2]); break label$3; } HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[($5 + 36 | 0) >> 2]); } } $87 = HEAP32[($5 + 60 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($87 | 0, $5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); $103 = HEAP32[($5 + 56 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($103 | 0, $5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); $119 = Math_fround(HEAPF32[($5 + 48 | 0) >> 2]); __stack_pointer = $5 + 64 | 0; return Math_fround($119); } function gResolveSingleConstraintRowLowerLimit_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $73 = 0, $89 = 0, $105 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAP32[($5 + 56 | 0) >> 2] = $1; HEAP32[($5 + 52 | 0) >> 2] = $2; HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 116 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2])); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 32 | 0 | 0, btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 40 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])); HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]); break label$1; } HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[($5 + 36 | 0) >> 2]); } $73 = HEAP32[($5 + 60 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($73 | 0, $5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); $89 = HEAP32[($5 + 56 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($89 | 0, $5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); $105 = Math_fround(HEAPF32[($5 + 48 | 0) >> 2]); __stack_pointer = $5 + 64 | 0; return Math_fround($105); } function gResolveSplitPenetrationImpulse_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $87 = 0, $103 = 0, $119 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAP32[($5 + 56 | 0) >> 2] = $1; HEAP32[($5 + 52 | 0) >> 2] = $2; HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(0 | 0); label$1 : { if (!(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } HEAP32[(0 + 115432 | 0) >> 2] = (HEAP32[(0 + 115432 | 0) >> 2] | 0) + 1 | 0; HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 116 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2])); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetPushVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetPushVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 32 | 0 | 0, btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 40 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); label$2 : { label$3 : { if (!(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2])); HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]); break label$2; } HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(HEAPF32[($5 + 36 | 0) >> 2]); } $87 = HEAP32[($5 + 60 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalApplyPushImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($87 | 0, $5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); $103 = HEAP32[($5 + 56 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalApplyPushImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($103 | 0, $5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); } $119 = Math_fround(HEAPF32[($5 + 48 | 0) >> 2]); __stack_pointer = $5 + 64 | 0; return Math_fround($119); } function btSolverBody__internalGetDeltaLinearVelocity_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 64 | 0 | 0; } function btSolverBody__internalGetDeltaAngularVelocity_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 80 | 0 | 0; } function btSolverBody__internalGetInvMass_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 128 | 0 | 0; } function btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0, $35 = 0; $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAP32[($6 + 68 | 0) >> 2] = $2; HEAPF32[($6 + 64 | 0) >> 2] = $3; $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($7 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } operator__28btVector3_20const__2c_20float_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 48 | 0 | 0, $6 + 32 | 0 | 0, $7 + 112 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($7 + 64 | 0 | 0, $6 + 48 | 0 | 0) | 0; $35 = HEAP32[($6 + 68 | 0) >> 2] | 0; operator__28float_20const__2c_20btVector3_20const__29($6 | 0, $6 + 64 | 0 | 0, $7 + 96 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 16 | 0 | 0, $35 | 0, $6 | 0); btVector3__operator___28btVector3_20const__29_1($7 + 80 | 0 | 0, $6 + 16 | 0 | 0) | 0; } __stack_pointer = $6 + 80 | 0; return; } function btSolverBody__internalGetPushVelocity_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 144 | 0 | 0; } function btSolverBody__internalGetTurnVelocity_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 160 | 0 | 0; } function btSolverBody__internalApplyPushImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0, $35 = 0; $6 = __stack_pointer - 80 | 0; __stack_pointer = $6; HEAP32[($6 + 76 | 0) >> 2] = $0; HEAP32[($6 + 72 | 0) >> 2] = $1; HEAP32[($6 + 68 | 0) >> 2] = $2; HEAPF32[($6 + 64 | 0) >> 2] = $3; $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($7 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } operator__28btVector3_20const__2c_20float_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 48 | 0 | 0, $6 + 32 | 0 | 0, $7 + 112 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($7 + 144 | 0 | 0, $6 + 48 | 0 | 0) | 0; $35 = HEAP32[($6 + 68 | 0) >> 2] | 0; operator__28float_20const__2c_20btVector3_20const__29($6 | 0, $6 + 64 | 0 | 0, $7 + 96 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 16 | 0 | 0, $35 | 0, $6 | 0); btVector3__operator___28btVector3_20const__29_1($7 + 160 | 0 | 0, $6 + 16 | 0 | 0) | 0; } __stack_pointer = $6 + 80 | 0; return; } function btSequentialImpulseConstraintSolver___btSequentialImpulseConstraintSolver_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 102372 + 8 | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 192 | 0 | 0) | 0; btAlignedObjectArray_btTypedConstraint__btConstraintInfo1____btAlignedObjectArray_28_29($4 + 164 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 144 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($4 + 64 | 0 | 0) | 0; btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; btAlignedObjectArray_btSolverBody____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; btConstraintSolver___btConstraintSolver_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btSolverConstraint___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btSolverBody____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btSolverBody___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btConstraintSolver___btConstraintSolver_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___deallocate_28_29($4 | 0); btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btSolverConstraint___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btSolverConstraint___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btSolverConstraint___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btSolverConstraint___deallocate_28_29($4 | 0); btAlignedObjectArray_btSolverConstraint___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btSolverBody___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btSolverBody___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btSolverBody___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btSolverBody___deallocate_28_29($4 | 0); btAlignedObjectArray_btSolverBody___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSequentialImpulseConstraintSolver___btSequentialImpulseConstraintSolver_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[1084 | 0]($4) | 0; btSequentialImpulseConstraintSolver__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSequentialImpulseConstraintSolver__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSequentialImpulseConstraintSolver__btRand2_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($4 + 232 | 0) >> 2] = (Math_imul(HEAP32[($4 + 232 | 0) >> 2] | 0, 1664525) + 1013904223 | 0) & -1 | 0; return HEAP32[($4 + 232 | 0) >> 2] | 0 | 0; } function btSequentialImpulseConstraintSolver__btRandInt2_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $70 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__btRand2_28_29($5 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 65536 >>> 0 & 1 | 0)) { break label$1 } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 16 | 0) | 0; label$2 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 256 >>> 0 & 1 | 0)) { break label$2 } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 8 | 0) | 0; label$3 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 16 >>> 0 & 1 | 0)) { break label$3 } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 4 | 0) | 0; label$4 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 4 >>> 0 & 1 | 0)) { break label$4 } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 2 | 0) | 0; label$5 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 2 >>> 0 & 1 | 0)) { break label$5 } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 1 | 0) | 0; } } } } } $70 = ((HEAP32[$4 >> 2] | 0) >>> 0) % ((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0) | 0; __stack_pointer = $4 + 16 | 0; return $70 | 0; } function btSequentialImpulseConstraintSolver__initSolverBody_28btSolverBody__2c_20btCollisionObject__2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $16 = 0, $133 = 0, $135 = 0, $143 = 0, $145 = 0, $153 = 0, $155 = 0, $163 = 0, $165 = 0, $190 = 0, $192 = 0, $216 = 0, $218 = 0, $20 = 0, $37 = 0, $54 = 0, $71 = 0, $95 = 0, $97 = 0, $130 = 0, $616 = 0, $626 = 0, $140 = 0, $639 = 0, $649 = 0, $150 = 0, $662 = 0, $672 = 0, $160 = 0, $685 = 0, $695 = 0, $170 = 0, $740 = 0, $753 = 0, $792 = 0, $805 = 0, $225 = 0, $251 = 0, $266 = 0, $281 = 0, $299 = 0, $317 = 0, $335 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 288 | 0; __stack_pointer = $6; HEAP32[($6 + 284 | 0) >> 2] = $0; HEAP32[($6 + 280 | 0) >> 2] = $1; HEAP32[($6 + 276 | 0) >> 2] = $2; HEAPF32[($6 + 272 | 0) >> 2] = $3; label$1 : { label$2 : { if (!((HEAP32[($6 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $16 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($6 + 276 | 0) >> 2] | 0 | 0) | 0; break label$1; } $16 = 0; } HEAP32[($6 + 268 | 0) >> 2] = $16; $20 = btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 264 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 260 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 256 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($20 | 0, $6 + 264 | 0 | 0, $6 + 260 | 0 | 0, $6 + 256 | 0 | 0); $37 = btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 252 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 248 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 244 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($37 | 0, $6 + 252 | 0 | 0, $6 + 248 | 0 | 0, $6 + 244 | 0 | 0); $54 = btSolverBody__internalGetPushVelocity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 240 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 236 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 232 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($54 | 0, $6 + 240 | 0 | 0, $6 + 236 | 0 | 0, $6 + 232 | 0 | 0); $71 = btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($6 + 228 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 224 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 220 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($71 | 0, $6 + 228 | 0 | 0, $6 + 224 | 0 | 0, $6 + 220 | 0 | 0); label$3 : { label$4 : { if (!((HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } $95 = btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; btTransform__operator__28btTransform_20const__29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0, $95 | 0) | 0; $97 = HEAP32[($6 + 280 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 188 | 0 | 0, $6 + 184 | 0 | 0, $6 + 180 | 0 | 0, $6 + 176 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 204 | 0 | 0, $6 + 188 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalSetInvMass_28btVector3_20const__29($97 | 0, $6 + 204 | 0 | 0); HEAP32[((HEAP32[($6 + 280 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($6 + 268 | 0) >> 2] | 0; $130 = btRigidBody__getAngularFactor_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; $133 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 96 | 0; i64toi32_i32$2 = $130; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $616 = i64toi32_i32$0; i64toi32_i32$0 = $133; HEAP32[i64toi32_i32$0 >> 2] = $616; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $135 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $135 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $626 = i64toi32_i32$1; i64toi32_i32$1 = $133 + $135 | 0; HEAP32[i64toi32_i32$1 >> 2] = $626; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $140 = btRigidBody__getLinearFactor_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; $143 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 112 | 0; i64toi32_i32$2 = $140; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $639 = i64toi32_i32$0; i64toi32_i32$0 = $143; HEAP32[i64toi32_i32$0 >> 2] = $639; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $145 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $145 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $649 = i64toi32_i32$1; i64toi32_i32$1 = $143 + $145 | 0; HEAP32[i64toi32_i32$1 >> 2] = $649; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $150 = btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; $153 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 176 | 0; i64toi32_i32$2 = $150; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $662 = i64toi32_i32$0; i64toi32_i32$0 = $153; HEAP32[i64toi32_i32$0 >> 2] = $662; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $155 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $155 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $672 = i64toi32_i32$1; i64toi32_i32$1 = $153 + $155 | 0; HEAP32[i64toi32_i32$1 >> 2] = $672; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $160 = btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; $163 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 192 | 0; i64toi32_i32$2 = $160; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $685 = i64toi32_i32$0; i64toi32_i32$0 = $163; HEAP32[i64toi32_i32$0 >> 2] = $685; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $165 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $165 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $695 = i64toi32_i32$1; i64toi32_i32$1 = $163 + $165 | 0; HEAP32[i64toi32_i32$1 >> 2] = $695; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $170 = btRigidBody__getTotalForce_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $170 | 0, $6 + 140 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 160 | 0 | 0, $6 + 144 | 0 | 0, $6 + 272 | 0 | 0); $190 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 208 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 160 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 164 | 0) >> 2] | 0; $740 = i64toi32_i32$0; i64toi32_i32$0 = $190; HEAP32[i64toi32_i32$0 >> 2] = $740; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $192 = 8; i64toi32_i32$2 = ($6 + 160 | 0) + $192 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $753 = i64toi32_i32$1; i64toi32_i32$1 = $190 + $192 | 0; HEAP32[i64toi32_i32$1 >> 2] = $753; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 108 | 0 | 0, btRigidBody__getTotalTorque_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 124 | 0 | 0, $6 + 108 | 0 | 0, $6 + 272 | 0 | 0); $216 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 224 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 124 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 128 | 0) >> 2] | 0; $792 = i64toi32_i32$0; i64toi32_i32$0 = $216; HEAP32[i64toi32_i32$0 >> 2] = $792; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $218 = 8; i64toi32_i32$2 = ($6 + 124 | 0) + $218 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $805 = i64toi32_i32$1; i64toi32_i32$1 = $216 + $218 | 0; HEAP32[i64toi32_i32$1 >> 2] = $805; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$3; } btTransform__setIdentity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0); $225 = HEAP32[($6 + 280 | 0) >> 2] | 0; HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 84 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 80 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 92 | 0 | 0, $6 + 88 | 0 | 0, $6 + 84 | 0 | 0, $6 + 80 | 0 | 0) | 0; btSolverBody__internalSetInvMass_28btVector3_20const__29($225 | 0, $6 + 92 | 0 | 0); HEAP32[((HEAP32[($6 + 280 | 0) >> 2] | 0) + 240 | 0) >> 2] = 0; $251 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 96 | 0; HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 72 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 68 | 0) >> 2] = Math_fround(1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($251 | 0, $6 + 76 | 0 | 0, $6 + 72 | 0 | 0, $6 + 68 | 0 | 0); $266 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 112 | 0; HEAPF32[($6 + 64 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 60 | 0) >> 2] = Math_fround(1.0); HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($266 | 0, $6 + 64 | 0 | 0, $6 + 60 | 0 | 0, $6 + 56 | 0 | 0); $281 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 176 | 0; HEAPF32[($6 + 52 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($281 | 0, $6 + 52 | 0 | 0, $6 + 48 | 0 | 0, $6 + 44 | 0 | 0); $299 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 192 | 0; HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($299 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0); $317 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 208 | 0; HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($317 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); $335 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 224 | 0; HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($335 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); } __stack_pointer = $6 + 288 | 0; return; } function btRigidBody__upcast_28btCollisionObject__29($0) { $0 = $0 | 0; var $3 = 0, $10 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; label$1 : { label$2 : { if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 2 | 0)) { break label$2 } HEAP32[($3 + 12 | 0) >> 2] = HEAP32[($3 + 8 | 0) >> 2] | 0; break label$1; } HEAP32[($3 + 12 | 0) >> 2] = 0; } $10 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $10 | 0; } function btRigidBody__getLinearFactor_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 408 | 0 | 0; } function btSolverBody__internalSetInvMass_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 128 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btRigidBody__getAngularFactor_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 604 | 0 | 0; } function btSequentialImpulseConstraintSolver__restitutionCurve_28float_2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $20 = Math_fround(0); $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 24 | 0) >> 2] = $0; HEAPF32[($6 + 20 | 0) >> 2] = $1; HEAPF32[($6 + 16 | 0) >> 2] = $2; HEAPF32[($6 + 12 | 0) >> 2] = $3; label$1 : { label$2 : { if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])))) < Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(0 | 0); break label$1; } HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(-Math_fround(HEAPF32[($6 + 20 | 0) >> 2]))); HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(HEAPF32[($6 + 8 | 0) >> 2]); } $20 = Math_fround(HEAPF32[($6 + 28 | 0) >> 2]); __stack_pointer = $6 + 32 | 0; return Math_fround($20); } function btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $38 = 0, $40 = 0, $130 = 0, $140 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; label$1 : { if (!((HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } if (!((btCollisionObject__hasAnisotropicFriction_28int_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$1 } operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($5 + 20 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, btTransform__getBasis_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObject__getAnisotropicFriction_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; btVector3__operator___28btVector3_20const__29_2($5 + 20 | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 | 0, btTransform__getBasis_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $5 + 20 | 0 | 0); $38 = HEAP32[($5 + 40 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[$5 >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; $130 = i64toi32_i32$0; i64toi32_i32$0 = $38; HEAP32[i64toi32_i32$0 >> 2] = $130; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $40 = 8; i64toi32_i32$2 = $5 + $40 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $140 = i64toi32_i32$1; i64toi32_i32$1 = $38 + $40 | 0; HEAP32[i64toi32_i32$1 >> 2] = $140; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } __stack_pointer = $5 + 48 | 0; return; } function btCollisionObject__hasAnisotropicFriction_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return ((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0) & (HEAP32[($4 + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0 | 0; } function btCollisionObject__getAnisotropicFriction_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 164 | 0 | 0; } function btSequentialImpulseConstraintSolver__setupFrictionConstraint_28btSolverConstraint__2c_20btVector3_20const__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; $10 = Math_fround($10); $11 = $11 | 0; $12 = Math_fround($12); $13 = Math_fround($13); var $16 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $17 = 0, $61 = 0, $63 = 0, $74 = 0, $76 = 0, $100 = 0, $102 = 0, $128 = 0, $130 = 0, $145 = 0, $147 = 0, $171 = 0, $173 = 0, $209 = 0, $246 = 0, $321 = 0, $322 = 0, $405 = 0, $406 = 0, $631 = 0, $641 = 0, $661 = 0, $674 = 0, $713 = 0, $726 = 0, $770 = 0, $783 = 0, $806 = 0, $819 = 0, $858 = 0, $871 = 0, $945 = 0, $949 = 0, $1019 = 0, $1023 = 0, $272 = 0, $310 = Math_fround(0), $311 = 0, $1167 = 0, $1171 = 0, $354 = 0, $392 = Math_fround(0), $395 = 0, $1325 = 0, $1329 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $16 = __stack_pointer - 432 | 0; __stack_pointer = $16; HEAP32[($16 + 428 | 0) >> 2] = $0; HEAP32[($16 + 424 | 0) >> 2] = $1; HEAP32[($16 + 420 | 0) >> 2] = $2; HEAP32[($16 + 416 | 0) >> 2] = $3; HEAP32[($16 + 412 | 0) >> 2] = $4; HEAP32[($16 + 408 | 0) >> 2] = $5; HEAP32[($16 + 404 | 0) >> 2] = $6; HEAP32[($16 + 400 | 0) >> 2] = $7; HEAP32[($16 + 396 | 0) >> 2] = $8; HEAP32[($16 + 392 | 0) >> 2] = $9; HEAPF32[($16 + 388 | 0) >> 2] = $10; HEAP32[($16 + 384 | 0) >> 2] = $11; HEAPF32[($16 + 380 | 0) >> 2] = $12; HEAPF32[($16 + 376 | 0) >> 2] = $13; $17 = HEAP32[($16 + 428 | 0) >> 2] | 0; (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 416 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 412 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $16, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 416 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $16, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 412 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 360 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($16 + 416 | 0) >> 2] | 0; HEAP32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 148 | 0) >> 2] = HEAP32[($16 + 412 | 0) >> 2] | 0; HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 104 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($16 + 408 | 0) >> 2] | 0) + 84 | 0) >> 2]); HEAP32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 132 | 0) >> 2] = 0; HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); label$1 : { label$2 : { if (!((HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $61 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$2 = HEAP32[($16 + 420 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $631 = i64toi32_i32$0; i64toi32_i32$0 = $61; HEAP32[i64toi32_i32$0 >> 2] = $631; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $63 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $63 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $641 = i64toi32_i32$1; i64toi32_i32$1 = $61 + $63 | 0; HEAP32[i64toi32_i32$1 >> 2] = $641; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($16 + 344 | 0 | 0, HEAP32[($16 + 404 | 0) >> 2] | 0 | 0, (HEAP32[($16 + 424 | 0) >> 2] | 0) + 16 | 0 | 0); $74 = HEAP32[($16 + 424 | 0) >> 2] | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 344 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 348 | 0) >> 2] | 0; $661 = i64toi32_i32$0; i64toi32_i32$0 = $74; HEAP32[i64toi32_i32$0 >> 2] = $661; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $76 = 8; i64toi32_i32$2 = ($16 + 344 | 0) + $76 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $674 = i64toi32_i32$1; i64toi32_i32$1 = $74 + $76 | 0; HEAP32[i64toi32_i32$1 >> 2] = $674; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 312 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $16 + 344 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($16 + 328 | 0 | 0, $16 + 312 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) | 0 | 0); $100 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 64 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 328 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 332 | 0) >> 2] | 0; $713 = i64toi32_i32$0; i64toi32_i32$0 = $100; HEAP32[i64toi32_i32$0 >> 2] = $713; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $102 = 8; i64toi32_i32$2 = ($16 + 328 | 0) + $102 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $726 = i64toi32_i32$1; i64toi32_i32$1 = $100 + $102 | 0; HEAP32[i64toi32_i32$1 >> 2] = $726; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$1; } btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__setZero_28_29(HEAP32[($16 + 424 | 0) >> 2] | 0 | 0); btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 64 | 0 | 0); } label$3 : { label$4 : { if (!((HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } operator__28btVector3_20const__29($16 + 296 | 0 | 0, HEAP32[($16 + 420 | 0) >> 2] | 0 | 0); $128 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 48 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 296 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 300 | 0) >> 2] | 0; $770 = i64toi32_i32$0; i64toi32_i32$0 = $128; HEAP32[i64toi32_i32$0 >> 2] = $770; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $130 = 8; i64toi32_i32$2 = ($16 + 296 | 0) + $130 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $783 = i64toi32_i32$1; i64toi32_i32$1 = $128 + $130 | 0; HEAP32[i64toi32_i32$1 >> 2] = $783; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($16 + 280 | 0 | 0, HEAP32[($16 + 400 | 0) >> 2] | 0 | 0, (HEAP32[($16 + 424 | 0) >> 2] | 0) + 48 | 0 | 0); $145 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 280 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 284 | 0) >> 2] | 0; $806 = i64toi32_i32$0; i64toi32_i32$0 = $145; HEAP32[i64toi32_i32$0 >> 2] = $806; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $147 = 8; i64toi32_i32$2 = ($16 + 280 | 0) + $147 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $819 = i64toi32_i32$1; i64toi32_i32$1 = $145 + $147 | 0; HEAP32[i64toi32_i32$1 >> 2] = $819; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 248 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) | 0 | 0, $16 + 280 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($16 + 264 | 0 | 0, $16 + 248 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) | 0 | 0); $171 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 80 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 264 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 268 | 0) >> 2] | 0; $858 = i64toi32_i32$0; i64toi32_i32$0 = $171; HEAP32[i64toi32_i32$0 >> 2] = $858; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $173 = 8; i64toi32_i32$2 = ($16 + 264 | 0) + $173 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $871 = i64toi32_i32$1; i64toi32_i32$1 = $171 + $173 | 0; HEAP32[i64toi32_i32$1 >> 2] = $871; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$3; } btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 48 | 0 | 0); btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 32 | 0 | 0); btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 80 | 0 | 0); } btVector3__btVector3_28_29($16 + 232 | 0 | 0) | 0; HEAPF32[($16 + 228 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 224 | 0) >> 2] = Math_fround(0 | 0); label$5 : { if (!((HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } btVector3__cross_28btVector3_20const__29_20const($16 + 208 | 0 | 0, (HEAP32[($16 + 424 | 0) >> 2] | 0) + 64 | 0 | 0, HEAP32[($16 + 404 | 0) >> 2] | 0 | 0); $209 = 8; i64toi32_i32$2 = ($16 + 208 | 0) + $209 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $945 = i64toi32_i32$0; i64toi32_i32$0 = ($16 + 232 | 0) + $209 | 0; HEAP32[i64toi32_i32$0 >> 2] = $945; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $16; i64toi32_i32$1 = HEAP32[($16 + 208 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($16 + 212 | 0) >> 2] | 0; $949 = i64toi32_i32$1; i64toi32_i32$1 = $16; HEAP32[($16 + 232 | 0) >> 2] = $949; HEAP32[($16 + 236 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($16 + 364 | 0) >> 2] | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($16 + 420 | 0) >> 2] | 0 | 0, $16 + 232 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; } label$6 : { if (!((HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } operator__28btVector3_20const__29($16 + 176 | 0 | 0, (HEAP32[($16 + 424 | 0) >> 2] | 0) + 80 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($16 + 192 | 0 | 0, $16 + 176 | 0 | 0, HEAP32[($16 + 400 | 0) >> 2] | 0 | 0); $246 = 8; i64toi32_i32$2 = ($16 + 192 | 0) + $246 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1019 = i64toi32_i32$0; i64toi32_i32$0 = ($16 + 232 | 0) + $246 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1019; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $16; i64toi32_i32$1 = HEAP32[($16 + 192 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($16 + 196 | 0) >> 2] | 0; $1023 = i64toi32_i32$1; i64toi32_i32$1 = $16; HEAP32[($16 + 232 | 0) >> 2] = $1023; HEAP32[($16 + 236 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($16 + 360 | 0) >> 2] | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($16 + 420 | 0) >> 2] | 0 | 0, $16 + 232 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_f32$0; } HEAPF32[($16 + 172 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 388 | 0) >> 2]) / Math_fround(Math_fround(HEAPF32[($16 + 228 | 0) >> 2]) + Math_fround(HEAPF32[($16 + 224 | 0) >> 2]))); HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 108 | 0) >> 2] = Math_fround(HEAPF32[($16 + 172 | 0) >> 2]); $272 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 16 | 0; label$7 : { label$8 : { if (!((HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } operator__28btVector3_20const__2c_20btVector3_20const__29_2($16 + 148 | 0 | 0, (HEAP32[($16 + 372 | 0) >> 2] | 0) + 176 | 0 | 0, (HEAP32[($16 + 372 | 0) >> 2] | 0) + 208 | 0 | 0); break label$7; } HEAPF32[($16 + 144 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 140 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 136 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 148 | 0 | 0, $16 + 144 | 0 | 0, $16 + 140 | 0 | 0, $16 + 136 | 0 | 0) | 0; } $310 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($272 | 0, $16 + 148 | 0 | 0)); $311 = HEAP32[($16 + 424 | 0) >> 2] | 0; label$9 : { label$10 : { if (!((HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$10 } $321 = (HEAP32[($16 + 372 | 0) >> 2] | 0) + 192 | 0; $322 = 8; i64toi32_i32$2 = $321 + $322 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1167 = i64toi32_i32$0; i64toi32_i32$0 = ($16 + 120 | 0) + $322 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1167; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $321; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1171 = i64toi32_i32$1; i64toi32_i32$1 = $16; HEAP32[($16 + 120 | 0) >> 2] = $1171; HEAP32[($16 + 124 | 0) >> 2] = i64toi32_i32$0; break label$9; } HEAPF32[($16 + 116 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 112 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 108 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 120 | 0 | 0, $16 + 116 | 0 | 0, $16 + 112 | 0 | 0, $16 + 108 | 0 | 0) | 0; } (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround($310 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($311 | 0, $16 + 120 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_f32$0; $354 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 48 | 0; label$11 : { label$12 : { if (!((HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$12 } operator__28btVector3_20const__2c_20btVector3_20const__29_2($16 + 88 | 0 | 0, (HEAP32[($16 + 368 | 0) >> 2] | 0) + 176 | 0 | 0, (HEAP32[($16 + 368 | 0) >> 2] | 0) + 208 | 0 | 0); break label$11; } HEAPF32[($16 + 84 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 80 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 76 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 88 | 0 | 0, $16 + 84 | 0 | 0, $16 + 80 | 0 | 0, $16 + 76 | 0 | 0) | 0; } $392 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($354 | 0, $16 + 88 | 0 | 0)); $395 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 32 | 0; label$13 : { label$14 : { if (!((HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$14 } $405 = (HEAP32[($16 + 368 | 0) >> 2] | 0) + 192 | 0; $406 = 8; i64toi32_i32$2 = $405 + $406 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1325 = i64toi32_i32$0; i64toi32_i32$0 = ($16 + 56 | 0) + $406 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1325; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $405; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1329 = i64toi32_i32$1; i64toi32_i32$1 = $16; HEAP32[($16 + 56 | 0) >> 2] = $1329; HEAP32[($16 + 60 | 0) >> 2] = i64toi32_i32$0; break label$13; } HEAPF32[($16 + 52 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 44 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 56 | 0 | 0, $16 + 52 | 0 | 0, $16 + 48 | 0 | 0, $16 + 44 | 0 | 0) | 0; } (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround($392 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($395 | 0, $16 + 56 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($16 + 168 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 164 | 0) >> 2]) + Math_fround(HEAPF32[($16 + 104 | 0) >> 2])); HEAPF32[($16 + 40 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 380 | 0) >> 2]) - Math_fround(HEAPF32[($16 + 168 | 0) >> 2])); HEAPF32[($16 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 40 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 108 | 0) >> 2])); HEAPF32[($16 + 32 | 0) >> 2] = Math_fround(0 | 0); label$15 : { if (!((HEAP32[((HEAP32[($16 + 408 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 16 | 0)) { break label$15 } operator__28btVector3_20const__2c_20btVector3_20const__29($16 + 12 | 0 | 0, btManifoldPoint__getPositionWorldOnA_28_29_20const(HEAP32[($16 + 408 | 0) >> 2] | 0 | 0) | 0 | 0, btManifoldPoint__getPositionWorldOnB_28_29_20const(HEAP32[($16 + 408 | 0) >> 2] | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($16 + 12 | 0 | 0, HEAP32[($16 + 420 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($16 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($16 + 28 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($16 + 384 | 0) >> 2] | 0) + 44 | 0) >> 2])) / Math_fround(HEAPF32[((HEAP32[($16 + 384 | 0) >> 2] | 0) + 12 | 0) >> 2])); HEAPF32[($16 + 32 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 108 | 0) >> 2])); } HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 32 | 0) >> 2]) + Math_fround(HEAPF32[($16 + 36 | 0) >> 2])); HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 128 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 116 | 0) >> 2] = Math_fround(HEAPF32[($16 + 376 | 0) >> 2]); HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 104 | 0) >> 2])); HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 104 | 0) >> 2]); __stack_pointer = $16 + 432 | 0; return; } function btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 244) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btManifoldPoint__getPositionWorldOnA_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 48 | 0 | 0; } function btManifoldPoint__getPositionWorldOnB_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0 | 0; } function btAlignedObjectArray_btSolverBody___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; $10 = Math_fround($10); $11 = $11 | 0; $12 = Math_fround($12); $13 = Math_fround($13); var $16 = 0, $17 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $16 = __stack_pointer - 64 | 0; __stack_pointer = $16; HEAP32[($16 + 60 | 0) >> 2] = $0; HEAP32[($16 + 56 | 0) >> 2] = $1; HEAP32[($16 + 52 | 0) >> 2] = $2; HEAP32[($16 + 48 | 0) >> 2] = $3; HEAP32[($16 + 44 | 0) >> 2] = $4; HEAP32[($16 + 40 | 0) >> 2] = $5; HEAP32[($16 + 36 | 0) >> 2] = $6; HEAP32[($16 + 32 | 0) >> 2] = $7; HEAP32[($16 + 28 | 0) >> 2] = $8; HEAP32[($16 + 24 | 0) >> 2] = $9; HEAPF32[($16 + 20 | 0) >> 2] = $10; HEAP32[($16 + 16 | 0) >> 2] = $11; HEAPF32[($16 + 12 | 0) >> 2] = $12; HEAPF32[($16 + 8 | 0) >> 2] = $13; $17 = HEAP32[($16 + 60 | 0) >> 2] | 0; (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___expandNonInitializing_28_29($17 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($16 + 4 | 0) >> 2] | 0) + 140 | 0) >> 2] = HEAP32[($16 + 44 | 0) >> 2] | 0; btSequentialImpulseConstraintSolver__setupFrictionConstraint_28btSolverConstraint__2c_20btVector3_20const__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($17 | 0, HEAP32[($16 + 4 | 0) >> 2] | 0 | 0, HEAP32[($16 + 56 | 0) >> 2] | 0 | 0, HEAP32[($16 + 52 | 0) >> 2] | 0 | 0, HEAP32[($16 + 48 | 0) >> 2] | 0 | 0, HEAP32[($16 + 40 | 0) >> 2] | 0 | 0, HEAP32[($16 + 36 | 0) >> 2] | 0 | 0, HEAP32[($16 + 32 | 0) >> 2] | 0 | 0, HEAP32[($16 + 28 | 0) >> 2] | 0 | 0, HEAP32[($16 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($16 + 20 | 0) >> 2])), HEAP32[($16 + 16 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($16 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($16 + 8 | 0) >> 2]))); $36 = HEAP32[($16 + 4 | 0) >> 2] | 0; __stack_pointer = $16 + 64 | 0; return $36 | 0; } function btAlignedObjectArray_btSolverConstraint___expandNonInitializing_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btSolverConstraint___capacity_28_29_20const($4 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btSolverConstraint___reserve_28int_29($4 | 0, btAlignedObjectArray_btSolverConstraint___allocSize_28int_29($4 | 0, btAlignedObjectArray_btSolverConstraint___size_28_29_20const($4 | 0) | 0 | 0) | 0 | 0); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; $22 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3 + 8 | 0) >> 2] | 0, 152) | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function btAlignedObjectArray_btSolverConstraint___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btSolverConstraint___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btSolverConstraint___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btSolverConstraint___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btSolverConstraint___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btSolverConstraint___copy_28int_2c_20int_2c_20btSolverConstraint__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btSolverConstraint___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btSolverConstraint___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btSolverConstraint___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btSolverConstraint___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btSequentialImpulseConstraintSolver__setupTorsionalFrictionConstraint_28btSolverConstraint__2c_20btVector3_20const__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; $10 = $10 | 0; $11 = Math_fround($11); $12 = Math_fround($12); $13 = Math_fround($13); var $16 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $17 = 0, $38 = 0, $40 = 0, $54 = 0, $56 = 0, $98 = 0, $100 = 0, $149 = 0, $151 = 0, $157 = 0, $158 = 0, $167 = 0, $169 = 0, $218 = 0, $220 = 0, $363 = 0, $364 = 0, $447 = 0, $448 = 0, $577 = 0, $590 = 0, $609 = 0, $622 = 0, $714 = 0, $727 = 0, $811 = 0, $824 = 0, $839 = 0, $843 = 0, $852 = 0, $865 = 0, $949 = 0, $962 = 0, $296 = Math_fround(0), $305 = Math_fround(0), $314 = 0, $352 = Math_fround(0), $353 = 0, $1235 = 0, $1239 = 0, $396 = 0, $434 = Math_fround(0), $437 = 0, $1393 = 0, $1397 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $16 = __stack_pointer - 448 | 0; __stack_pointer = $16; HEAP32[($16 + 444 | 0) >> 2] = $0; HEAP32[($16 + 440 | 0) >> 2] = $1; HEAP32[($16 + 436 | 0) >> 2] = $2; HEAP32[($16 + 432 | 0) >> 2] = $3; HEAP32[($16 + 428 | 0) >> 2] = $4; HEAP32[($16 + 424 | 0) >> 2] = $5; HEAPF32[($16 + 420 | 0) >> 2] = $6; HEAP32[($16 + 416 | 0) >> 2] = $7; HEAP32[($16 + 412 | 0) >> 2] = $8; HEAP32[($16 + 408 | 0) >> 2] = $9; HEAP32[($16 + 404 | 0) >> 2] = $10; HEAPF32[($16 + 400 | 0) >> 2] = $11; HEAPF32[($16 + 396 | 0) >> 2] = $12; HEAPF32[($16 + 392 | 0) >> 2] = $13; $17 = HEAP32[($16 + 444 | 0) >> 2] | 0; HEAPF32[($16 + 372 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 368 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 364 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 376 | 0 | 0, $16 + 372 | 0 | 0, $16 + 368 | 0 | 0, $16 + 364 | 0 | 0) | 0; $38 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 376 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 380 | 0) >> 2] | 0; $577 = i64toi32_i32$0; i64toi32_i32$0 = $38; HEAP32[i64toi32_i32$0 >> 2] = $577; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $40 = 8; i64toi32_i32$2 = ($16 + 376 | 0) + $40 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $590 = i64toi32_i32$1; i64toi32_i32$1 = $38 + $40 | 0; HEAP32[i64toi32_i32$1 >> 2] = $590; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__29($16 + 348 | 0 | 0, $16 + 376 | 0 | 0); $54 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 48 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 348 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 352 | 0) >> 2] | 0; $609 = i64toi32_i32$0; i64toi32_i32$0 = $54; HEAP32[i64toi32_i32$0 >> 2] = $609; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $56 = 8; i64toi32_i32$2 = ($16 + 348 | 0) + $56 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $622 = i64toi32_i32$1; i64toi32_i32$1 = $54 + $56 | 0; HEAP32[i64toi32_i32$1 >> 2] = $622; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 432 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 428 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $16, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 432 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 336 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $16, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 428 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($16 + 432 | 0) >> 2] | 0; HEAP32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 148 | 0) >> 2] = HEAP32[($16 + 428 | 0) >> 2] | 0; HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 104 | 0) >> 2] = Math_fround(HEAPF32[($16 + 420 | 0) >> 2]); HEAP32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 132 | 0) >> 2] = 0; HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); operator__28btVector3_20const__29($16 + 316 | 0 | 0, HEAP32[($16 + 436 | 0) >> 2] | 0 | 0); $98 = HEAP32[($16 + 440 | 0) >> 2] | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 316 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 320 | 0) >> 2] | 0; $714 = i64toi32_i32$0; i64toi32_i32$0 = $98; HEAP32[i64toi32_i32$0 >> 2] = $714; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $100 = 8; i64toi32_i32$2 = ($16 + 316 | 0) + $100 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $727 = i64toi32_i32$1; i64toi32_i32$1 = $98 + $100 | 0; HEAP32[i64toi32_i32$1 >> 2] = $727; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$1 : { label$2 : { if (!((HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 284 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) | 0 | 0, $16 + 316 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($16 + 300 | 0 | 0, $16 + 284 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) | 0 | 0); break label$1; } HEAPF32[($16 + 280 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 276 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 272 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 300 | 0 | 0, $16 + 280 | 0 | 0, $16 + 276 | 0 | 0, $16 + 272 | 0 | 0) | 0; } $149 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 64 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 300 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 304 | 0) >> 2] | 0; $811 = i64toi32_i32$0; i64toi32_i32$0 = $149; HEAP32[i64toi32_i32$0 >> 2] = $811; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $151 = 8; i64toi32_i32$2 = ($16 + 300 | 0) + $151 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $824 = i64toi32_i32$1; i64toi32_i32$1 = $149 + $151 | 0; HEAP32[i64toi32_i32$1 >> 2] = $824; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $157 = HEAP32[($16 + 436 | 0) >> 2] | 0; $158 = 8; i64toi32_i32$2 = $157 + $158 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $839 = i64toi32_i32$0; i64toi32_i32$0 = ($16 + 256 | 0) + $158 | 0; HEAP32[i64toi32_i32$0 >> 2] = $839; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $157; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $843 = i64toi32_i32$1; i64toi32_i32$1 = $16; HEAP32[($16 + 256 | 0) >> 2] = $843; HEAP32[($16 + 260 | 0) >> 2] = i64toi32_i32$0; $167 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 256 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 260 | 0) >> 2] | 0; $852 = i64toi32_i32$0; i64toi32_i32$0 = $167; HEAP32[i64toi32_i32$0 >> 2] = $852; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $169 = 8; i64toi32_i32$2 = ($16 + 256 | 0) + $169 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $865 = i64toi32_i32$1; i64toi32_i32$1 = $167 + $169 | 0; HEAP32[i64toi32_i32$1 >> 2] = $865; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$3 : { label$4 : { if (!((HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 224 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) | 0 | 0, $16 + 256 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($16 + 240 | 0 | 0, $16 + 224 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) | 0 | 0); break label$3; } HEAPF32[($16 + 220 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 216 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 212 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 240 | 0 | 0, $16 + 220 | 0 | 0, $16 + 216 | 0 | 0, $16 + 212 | 0 | 0) | 0; } $218 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 80 | 0; i64toi32_i32$2 = $16; i64toi32_i32$0 = HEAP32[($16 + 240 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($16 + 244 | 0) >> 2] | 0; $949 = i64toi32_i32$0; i64toi32_i32$0 = $218; HEAP32[i64toi32_i32$0 >> 2] = $949; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $220 = 8; i64toi32_i32$2 = ($16 + 240 | 0) + $220 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $962 = i64toi32_i32$1; i64toi32_i32$1 = $218 + $220 | 0; HEAP32[i64toi32_i32$1 >> 2] = $962; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$5 : { label$6 : { if (!((HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 196 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($16 + 440 | 0) >> 2] | 0 | 0); break label$5; } HEAPF32[($16 + 192 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 188 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 184 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 196 | 0 | 0, $16 + 192 | 0 | 0, $16 + 188 | 0 | 0, $16 + 184 | 0 | 0) | 0; } label$7 : { label$8 : { if (!((HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 168 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($16 + 440 | 0) >> 2] | 0) + 32 | 0 | 0); break label$7; } HEAPF32[($16 + 164 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 160 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 156 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 168 | 0 | 0, $16 + 164 | 0 | 0, $16 + 160 | 0 | 0, $16 + 156 | 0 | 0) | 0; } HEAPF32[($16 + 152 | 0) >> 2] = Math_fround(0 | 0); $296 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($16 + 196 | 0 | 0, HEAP32[($16 + 440 | 0) >> 2] | 0 | 0)); HEAPF32[($16 + 152 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 152 | 0) >> 2]) + $296); $305 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($16 + 168 | 0 | 0, (HEAP32[($16 + 440 | 0) >> 2] | 0) + 32 | 0 | 0)); HEAPF32[($16 + 152 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 152 | 0) >> 2]) + $305); HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 108 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($16 + 152 | 0) >> 2])); $314 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 16 | 0; label$9 : { label$10 : { if (!((HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$10 } operator__28btVector3_20const__2c_20btVector3_20const__29_2($16 + 128 | 0 | 0, (HEAP32[($16 + 344 | 0) >> 2] | 0) + 176 | 0 | 0, (HEAP32[($16 + 344 | 0) >> 2] | 0) + 208 | 0 | 0); break label$9; } HEAPF32[($16 + 124 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 120 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 116 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 128 | 0 | 0, $16 + 124 | 0 | 0, $16 + 120 | 0 | 0, $16 + 116 | 0 | 0) | 0; } $352 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($314 | 0, $16 + 128 | 0 | 0)); $353 = HEAP32[($16 + 440 | 0) >> 2] | 0; label$11 : { label$12 : { if (!((HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$12 } $363 = (HEAP32[($16 + 344 | 0) >> 2] | 0) + 192 | 0; $364 = 8; i64toi32_i32$2 = $363 + $364 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1235 = i64toi32_i32$0; i64toi32_i32$0 = ($16 + 96 | 0) + $364 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1235; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $363; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1239 = i64toi32_i32$1; i64toi32_i32$1 = $16; HEAP32[($16 + 96 | 0) >> 2] = $1239; HEAP32[($16 + 100 | 0) >> 2] = i64toi32_i32$0; break label$11; } HEAPF32[($16 + 92 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 88 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 84 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 96 | 0 | 0, $16 + 92 | 0 | 0, $16 + 88 | 0 | 0, $16 + 84 | 0 | 0) | 0; } (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround($352 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($353 | 0, $16 + 96 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; $396 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 48 | 0; label$13 : { label$14 : { if (!((HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$14 } operator__28btVector3_20const__2c_20btVector3_20const__29_2($16 + 64 | 0 | 0, (HEAP32[($16 + 340 | 0) >> 2] | 0) + 176 | 0 | 0, (HEAP32[($16 + 340 | 0) >> 2] | 0) + 208 | 0 | 0); break label$13; } HEAPF32[($16 + 60 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 52 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 64 | 0 | 0, $16 + 60 | 0 | 0, $16 + 56 | 0 | 0, $16 + 52 | 0 | 0) | 0; } $434 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($396 | 0, $16 + 64 | 0 | 0)); $437 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 32 | 0; label$15 : { label$16 : { if (!((HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$16 } $447 = (HEAP32[($16 + 340 | 0) >> 2] | 0) + 192 | 0; $448 = 8; i64toi32_i32$2 = $447 + $448 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1393 = i64toi32_i32$0; i64toi32_i32$0 = ($16 + 32 | 0) + $448 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1393; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $447; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1397 = i64toi32_i32$1; i64toi32_i32$1 = $16; HEAP32[($16 + 32 | 0) >> 2] = $1397; HEAP32[($16 + 36 | 0) >> 2] = i64toi32_i32$0; break label$15; } HEAPF32[($16 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($16 + 20 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 32 | 0 | 0, $16 + 28 | 0 | 0, $16 + 24 | 0 | 0, $16 + 20 | 0 | 0) | 0; } (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround($434 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($437 | 0, $16 + 32 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($16 + 148 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 144 | 0) >> 2]) + Math_fround(HEAPF32[($16 + 80 | 0) >> 2])); HEAPF32[($16 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 396 | 0) >> 2]) - Math_fround(HEAPF32[($16 + 148 | 0) >> 2])); HEAPF32[($16 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 108 | 0) >> 2])); HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(HEAPF32[($16 + 12 | 0) >> 2]); HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 116 | 0) >> 2] = Math_fround(HEAPF32[($16 + 392 | 0) >> 2]); HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 104 | 0) >> 2])); HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 104 | 0) >> 2]); __stack_pointer = $16 + 448 | 0; return; } function btSequentialImpulseConstraintSolver__addTorsionalFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = Math_fround($6); $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; $10 = $10 | 0; $11 = Math_fround($11); $12 = Math_fround($12); $13 = Math_fround($13); var $16 = 0, $17 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $16 = __stack_pointer - 64 | 0; __stack_pointer = $16; HEAP32[($16 + 60 | 0) >> 2] = $0; HEAP32[($16 + 56 | 0) >> 2] = $1; HEAP32[($16 + 52 | 0) >> 2] = $2; HEAP32[($16 + 48 | 0) >> 2] = $3; HEAP32[($16 + 44 | 0) >> 2] = $4; HEAP32[($16 + 40 | 0) >> 2] = $5; HEAPF32[($16 + 36 | 0) >> 2] = $6; HEAP32[($16 + 32 | 0) >> 2] = $7; HEAP32[($16 + 28 | 0) >> 2] = $8; HEAP32[($16 + 24 | 0) >> 2] = $9; HEAP32[($16 + 20 | 0) >> 2] = $10; HEAPF32[($16 + 16 | 0) >> 2] = $11; HEAPF32[($16 + 12 | 0) >> 2] = $12; HEAPF32[($16 + 8 | 0) >> 2] = $13; $17 = HEAP32[($16 + 60 | 0) >> 2] | 0; (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___expandNonInitializing_28_29($17 + 84 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($16 + 4 | 0) >> 2] | 0) + 140 | 0) >> 2] = HEAP32[($16 + 44 | 0) >> 2] | 0; btSequentialImpulseConstraintSolver__setupTorsionalFrictionConstraint_28btSolverConstraint__2c_20btVector3_20const__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($17 | 0, HEAP32[($16 + 4 | 0) >> 2] | 0 | 0, HEAP32[($16 + 56 | 0) >> 2] | 0 | 0, HEAP32[($16 + 52 | 0) >> 2] | 0 | 0, HEAP32[($16 + 48 | 0) >> 2] | 0 | 0, HEAP32[($16 + 40 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($16 + 36 | 0) >> 2])), HEAP32[($16 + 32 | 0) >> 2] | 0 | 0, HEAP32[($16 + 28 | 0) >> 2] | 0 | 0, HEAP32[($16 + 24 | 0) >> 2] | 0 | 0, HEAP32[($16 + 20 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($16 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($16 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($16 + 8 | 0) >> 2]))); $36 = HEAP32[($16 + 4 | 0) >> 2] | 0; __stack_pointer = $16 + 64 | 0; return $36 | 0; } function btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, $100 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 528 | 0; __stack_pointer = $5; HEAP32[($5 + 520 | 0) >> 2] = $0; HEAP32[($5 + 516 | 0) >> 2] = $1; HEAPF32[($5 + 512 | 0) >> 2] = $2; $6 = HEAP32[($5 + 520 | 0) >> 2] | 0; HEAP32[($5 + 508 | 0) >> 2] = -1; label$1 : { label$2 : { label$3 : { if (!((btCollisionObject__getCompanionId_28_29_20const(HEAP32[($5 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObject__getCompanionId_28_29_20const(HEAP32[($5 + 516 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_i32$1; label$4 : { if ((HEAP32[($5 + 508 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverBody___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { break label$4 } __assert_fail(87662 | 0, 72591 | 0, 807 | 0, 66064 | 0); wasm2js_trap(); } break label$2; } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($5 + 516 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 504 | 0) >> 2] = wasm2js_i32$1; label$5 : { label$6 : { if (!((HEAP32[($5 + 504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } label$7 : { if (Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($5 + 504 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0) { break label$7 } if (!((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($5 + 504 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___size_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_i32$1; __memset($5 + 256 | 0 | 0, 0 | 0, 244 | 0) | 0; btSolverBody__btSolverBody_28_29($5 + 256 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___expand_28btSolverBody_20const__29($6 + 4 | 0 | 0, $5 + 256 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 500 | 0) >> 2] = wasm2js_i32$1; btSequentialImpulseConstraintSolver__initSolverBody_28btSolverBody__2c_20btCollisionObject__2c_20float_29($6 | 0, HEAP32[($5 + 500 | 0) >> 2] | 0 | 0, HEAP32[($5 + 516 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 512 | 0) >> 2]))); btCollisionObject__setCompanionId_28int_29(HEAP32[($5 + 516 | 0) >> 2] | 0 | 0, HEAP32[($5 + 508 | 0) >> 2] | 0 | 0); break label$5; } label$8 : { if (!((HEAP32[($6 + 188 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$8 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___size_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; __memset($5 + 8 | 0 | 0, 0 | 0, 244 | 0) | 0; btSolverBody__btSolverBody_28_29($5 + 8 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___expand_28btSolverBody_20const__29($6 + 4 | 0 | 0, $5 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; btSequentialImpulseConstraintSolver__initSolverBody_28btSolverBody__2c_20btCollisionObject__2c_20float_29($6 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 512 | 0) >> 2]))); } HEAP32[($5 + 524 | 0) >> 2] = HEAP32[($6 + 188 | 0) >> 2] | 0; break label$1; } } HEAP32[($5 + 524 | 0) >> 2] = HEAP32[($5 + 508 | 0) >> 2] | 0; } $100 = HEAP32[($5 + 524 | 0) >> 2] | 0; __stack_pointer = $5 + 528 | 0; return $100 | 0; } function btCollisionObject__getCompanionId_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0; } function btSolverBody__btSolverBody_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btTransform__btTransform_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 80 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 96 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 112 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 128 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 144 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 160 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 176 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 192 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 208 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 224 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btSolverBody___expand_28btSolverBody_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $31 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btSolverBody___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btSolverBody___reserve_28int_29($5 | 0, btAlignedObjectArray_btSolverBody___allocSize_28int_29($5 | 0, btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; btSolverBody__btSolverBody_28btSolverBody_20const__29(btSolverBody__operator_20new_28unsigned_20long_2c_20void__29(244 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 244) | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; $31 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 244) | 0; __stack_pointer = $4 + 16 | 0; return $31 | 0; } function btCollisionObject__setCompanionId_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btAlignedObjectArray_btSolverBody___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btSolverBody___allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btSolverBody___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btSolverBody___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btSolverBody___copy_28int_2c_20int_2c_20btSolverBody__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btSolverBody___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btSolverBody___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btSolverBody__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btSolverBody__btSolverBody_28btSolverBody_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btTransform__btTransform_28btTransform_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __memcpy($5 + 64 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 64 | 0 | 0, 180 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btSequentialImpulseConstraintSolver__setupContactConstraint_28btSolverConstraint__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btContactSolverInfo_20const__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $137 = 0, $139 = 0, $201 = 0, $203 = 0, $230 = 0, $269 = 0, $310 = 0, $312 = 0, $316 = 0, $318 = 0, $343 = 0, $345 = 0, $359 = 0, $361 = 0, $416 = 0, $455 = 0, $600 = 0, $601 = 0, $636 = 0, $637 = 0, $672 = 0, $673 = 0, $708 = 0, $709 = 0, $1170 = 0, $1183 = 0, $160 = 0, $1291 = 0, $1304 = 0, $1360 = 0, $1364 = 0, $1437 = 0, $1441 = 0, $1515 = 0, $1525 = 0, $1531 = 0, $1544 = 0, $1585 = 0, $1598 = 0, $1617 = 0, $1630 = 0, $1743 = 0, $1747 = 0, $1819 = 0, $1823 = 0, $514 = 0, $546 = 0, $2107 = 0, $2111 = 0, $2176 = 0, $2180 = 0, $2245 = 0, $2249 = 0, $2314 = 0, $2318 = 0, $736 = 0, $749 = Math_fround(0), $750 = 0, $767 = 0, $780 = Math_fround(0), $783 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $11 = __stack_pointer - 752 | 0; __stack_pointer = $11; HEAP32[($11 + 748 | 0) >> 2] = $0; HEAP32[($11 + 744 | 0) >> 2] = $1; HEAP32[($11 + 740 | 0) >> 2] = $2; HEAP32[($11 + 736 | 0) >> 2] = $3; HEAP32[($11 + 732 | 0) >> 2] = $4; HEAP32[($11 + 728 | 0) >> 2] = $5; HEAP32[($11 + 724 | 0) >> 2] = $6; HEAP32[($11 + 720 | 0) >> 2] = $7; HEAP32[($11 + 716 | 0) >> 2] = $8; $12 = HEAP32[($11 + 748 | 0) >> 2] | 0; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 712 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 736 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 708 | 0) >> 2] = wasm2js_i32$1; HEAP32[($11 + 704 | 0) >> 2] = HEAP32[((HEAP32[($11 + 712 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; HEAP32[($11 + 700 | 0) >> 2] = HEAP32[((HEAP32[($11 + 708 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; HEAPF32[(HEAP32[($11 + 724 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 28 | 0) >> 2]); HEAPF32[($11 + 696 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 12 | 0) >> 2])); HEAPF32[($11 + 692 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 40 | 0) >> 2]); HEAPF32[($11 + 688 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 36 | 0) >> 2]); label$1 : { label$2 : { label$3 : { if ((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 2 | 0) { break label$3 } if (!((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 4 | 0)) { break label$2 } } label$4 : { if (!((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 2 | 0)) { break label$4 } HEAPF32[($11 + 692 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 152 | 0) >> 2]); } label$5 : { if (!((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 4 | 0)) { break label$5 } HEAPF32[($11 + 688 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 156 | 0) >> 2]); } break label$1; } label$6 : { if (!((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 8 | 0)) { break label$6 } HEAPF32[($11 + 684 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 152 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 156 | 0) >> 2])); label$7 : { if (!(Math_fround(HEAPF32[($11 + 684 | 0) >> 2]) < Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$7 } HEAPF32[($11 + 684 | 0) >> 2] = Math_fround(1.1920928955078125e-07); } HEAPF32[($11 + 692 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($11 + 684 | 0) >> 2])); HEAPF32[($11 + 688 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 152 | 0) >> 2])) / Math_fround(HEAPF32[($11 + 684 | 0) >> 2])); } } HEAPF32[($11 + 692 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 692 | 0) >> 2]) * Math_fround(HEAPF32[($11 + 696 | 0) >> 2])); btVector3__cross_28btVector3_20const__29_20const($11 + 668 | 0 | 0, HEAP32[($11 + 720 | 0) >> 2] | 0 | 0, (HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0); label$8 : { label$9 : { if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 636 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 668 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 652 | 0 | 0, $11 + 636 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) | 0 | 0); break label$8; } HEAPF32[($11 + 632 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 628 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 624 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 652 | 0 | 0, $11 + 632 | 0 | 0, $11 + 628 | 0 | 0, $11 + 624 | 0 | 0) | 0; } $137 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 64 | 0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[($11 + 652 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($11 + 656 | 0) >> 2] | 0; $1170 = i64toi32_i32$0; i64toi32_i32$0 = $137; HEAP32[i64toi32_i32$0 >> 2] = $1170; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $139 = 8; i64toi32_i32$2 = ($11 + 652 | 0) + $139 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1183 = i64toi32_i32$1; i64toi32_i32$1 = $137 + $139 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1183; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__cross_28btVector3_20const__29_20const($11 + 608 | 0 | 0, HEAP32[($11 + 716 | 0) >> 2] | 0 | 0, (HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0); label$10 : { label$11 : { if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$11 } $160 = btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) | 0; operator__28btVector3_20const__29($11 + 560 | 0 | 0, $11 + 608 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 576 | 0 | 0, $160 | 0, $11 + 560 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 592 | 0 | 0, $11 + 576 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) | 0 | 0); break label$10; } HEAPF32[($11 + 556 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 552 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 548 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 592 | 0 | 0, $11 + 556 | 0 | 0, $11 + 552 | 0 | 0, $11 + 548 | 0 | 0) | 0; } $201 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 80 | 0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[($11 + 592 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($11 + 596 | 0) >> 2] | 0; $1291 = i64toi32_i32$0; i64toi32_i32$0 = $201; HEAP32[i64toi32_i32$0 >> 2] = $1291; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $203 = 8; i64toi32_i32$2 = ($11 + 592 | 0) + $203 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1304 = i64toi32_i32$1; i64toi32_i32$1 = $201 + $203 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1304; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($11 + 528 | 0 | 0) | 0; HEAPF32[($11 + 524 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 520 | 0) >> 2] = Math_fround(0 | 0); label$12 : { if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$12 } btVector3__cross_28btVector3_20const__29_20const($11 + 504 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 64 | 0 | 0, HEAP32[($11 + 720 | 0) >> 2] | 0 | 0); $230 = 8; i64toi32_i32$2 = ($11 + 504 | 0) + $230 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1360 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 528 | 0) + $230 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1360; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 504 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 508 | 0) >> 2] | 0; $1364 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 528 | 0) >> 2] = $1364; HEAP32[($11 + 532 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 704 | 0) >> 2] | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0, $11 + 528 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 524 | 0) >> 2] = wasm2js_f32$0; } label$13 : { if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$13 } operator__28btVector3_20const__29($11 + 472 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 80 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($11 + 488 | 0 | 0, $11 + 472 | 0 | 0, HEAP32[($11 + 716 | 0) >> 2] | 0 | 0); $269 = 8; i64toi32_i32$2 = ($11 + 488 | 0) + $269 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1437 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 528 | 0) + $269 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1437; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 488 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 492 | 0) >> 2] | 0; $1441 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 528 | 0) >> 2] = $1441; HEAP32[($11 + 532 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 700 | 0) >> 2] | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0, $11 + 528 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 520 | 0) >> 2] = wasm2js_f32$0; } HEAPF32[($11 + 468 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($11 + 724 | 0) >> 2] | 0) >> 2]) / Math_fround(Math_fround(Math_fround(HEAPF32[($11 + 524 | 0) >> 2]) + Math_fround(HEAPF32[($11 + 520 | 0) >> 2])) + Math_fround(HEAPF32[($11 + 692 | 0) >> 2]))); HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 108 | 0) >> 2] = Math_fround(HEAPF32[($11 + 468 | 0) >> 2]); label$14 : { label$15 : { if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$15 } $310 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$2 = (HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1515 = i64toi32_i32$0; i64toi32_i32$0 = $310; HEAP32[i64toi32_i32$0 >> 2] = $1515; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $312 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $312 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1525 = i64toi32_i32$1; i64toi32_i32$1 = $310 + $312 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1525; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $316 = HEAP32[($11 + 744 | 0) >> 2] | 0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[($11 + 668 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($11 + 672 | 0) >> 2] | 0; $1531 = i64toi32_i32$0; i64toi32_i32$0 = $316; HEAP32[i64toi32_i32$0 >> 2] = $1531; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $318 = 8; i64toi32_i32$2 = ($11 + 668 | 0) + $318 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1544 = i64toi32_i32$1; i64toi32_i32$1 = $316 + $318 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1544; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$14; } btVector3__setZero_28_29((HEAP32[($11 + 744 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__setZero_28_29(HEAP32[($11 + 744 | 0) >> 2] | 0 | 0); } label$16 : { label$17 : { if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$17 } operator__28btVector3_20const__29($11 + 452 | 0 | 0, (HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0); $343 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 48 | 0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[($11 + 452 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($11 + 456 | 0) >> 2] | 0; $1585 = i64toi32_i32$0; i64toi32_i32$0 = $343; HEAP32[i64toi32_i32$0 >> 2] = $1585; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $345 = 8; i64toi32_i32$2 = ($11 + 452 | 0) + $345 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1598 = i64toi32_i32$1; i64toi32_i32$1 = $343 + $345 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1598; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__29($11 + 436 | 0 | 0, $11 + 608 | 0 | 0); $359 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[($11 + 436 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($11 + 440 | 0) >> 2] | 0; $1617 = i64toi32_i32$0; i64toi32_i32$0 = $359; HEAP32[i64toi32_i32$0 >> 2] = $1617; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $361 = 8; i64toi32_i32$2 = ($11 + 436 | 0) + $361 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1630 = i64toi32_i32$1; i64toi32_i32$1 = $359 + $361 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1630; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$16; } btVector3__setZero_28_29((HEAP32[($11 + 744 | 0) >> 2] | 0) + 48 | 0 | 0); btVector3__setZero_28_29((HEAP32[($11 + 744 | 0) >> 2] | 0) + 32 | 0 | 0); } HEAPF32[($11 + 432 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($11 + 732 | 0) >> 2] | 0 | 0)) + Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 64 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($11 + 408 | 0 | 0) | 0; btVector3__btVector3_28_29($11 + 392 | 0 | 0) | 0; label$18 : { label$19 : { if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$19 } btRigidBody__getVelocityInLocalPoint_28btVector3_20const__29_20const($11 + 376 | 0 | 0, HEAP32[($11 + 704 | 0) >> 2] | 0 | 0, HEAP32[($11 + 720 | 0) >> 2] | 0 | 0); break label$18; } HEAPF32[($11 + 372 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 368 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 364 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 376 | 0 | 0, $11 + 372 | 0 | 0, $11 + 368 | 0 | 0, $11 + 364 | 0 | 0) | 0; } $416 = 8; i64toi32_i32$2 = ($11 + 376 | 0) + $416 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1743 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 408 | 0) + $416 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1743; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 376 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 380 | 0) >> 2] | 0; $1747 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 408 | 0) >> 2] = $1747; HEAP32[($11 + 412 | 0) >> 2] = i64toi32_i32$0; label$20 : { label$21 : { if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$21 } btRigidBody__getVelocityInLocalPoint_28btVector3_20const__29_20const($11 + 348 | 0 | 0, HEAP32[($11 + 700 | 0) >> 2] | 0 | 0, HEAP32[($11 + 716 | 0) >> 2] | 0 | 0); break label$20; } HEAPF32[($11 + 344 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 340 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 336 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 348 | 0 | 0, $11 + 344 | 0 | 0, $11 + 340 | 0 | 0, $11 + 336 | 0 | 0) | 0; } $455 = 8; i64toi32_i32$2 = ($11 + 348 | 0) + $455 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1819 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 392 | 0) + $455 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1819; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 348 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 352 | 0) >> 2] | 0; $1823 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 392 | 0) >> 2] = $1823; HEAP32[($11 + 396 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($11 + 320 | 0 | 0, $11 + 408 | 0 | 0, $11 + 392 | 0 | 0); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0, $11 + 320 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 316 | 0) >> 2] = wasm2js_f32$0; HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 104 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 84 | 0) >> 2]); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__restitutionCurve_28float_2c_20float_2c_20float_29($12 | 0, Math_fround(Math_fround(HEAPF32[($11 + 316 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 96 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 96 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_f32$0; label$22 : { if (!(Math_fround(HEAPF32[($11 + 432 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$22 } HEAPF32[($11 + 432 | 0) >> 2] = Math_fround(0 | 0); } label$23 : { label$24 : { if (!((HEAP32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 4 | 0)) { break label$24 } HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 132 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 68 | 0) >> 2])); label$25 : { if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$25 } $514 = HEAP32[($11 + 712 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 284 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($11 + 712 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 300 | 0 | 0, $11 + 284 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($514 | 0, $11 + 300 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 100 | 0) >> 2]))); } label$26 : { if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$26 } $546 = HEAP32[($11 + 708 | 0) >> 2] | 0; operator__28btVector3_20const__29($11 + 236 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 48 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 252 | 0 | 0, $11 + 236 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($11 + 708 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 268 | 0 | 0, $11 + 252 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__29($11 + 220 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 80 | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($546 | 0, $11 + 268 | 0 | 0, $11 + 220 | 0 | 0, Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 100 | 0) >> 2])))); } break label$23; } HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); } HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); label$27 : { label$28 : { if (!((HEAP32[((HEAP32[($11 + 712 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$28 } $600 = (HEAP32[($11 + 712 | 0) >> 2] | 0) + 208 | 0; $601 = 8; i64toi32_i32$2 = $600 + $601 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2107 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 200 | 0) + $601 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2107; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $600; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2111 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 200 | 0) >> 2] = $2111; HEAP32[($11 + 204 | 0) >> 2] = i64toi32_i32$0; break label$27; } HEAPF32[($11 + 196 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 192 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 188 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 200 | 0 | 0, $11 + 196 | 0 | 0, $11 + 192 | 0 | 0, $11 + 188 | 0 | 0) | 0; } label$29 : { label$30 : { if (!((HEAP32[((HEAP32[($11 + 712 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$30 } $636 = (HEAP32[($11 + 712 | 0) >> 2] | 0) + 224 | 0; $637 = 8; i64toi32_i32$2 = $636 + $637 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2176 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 168 | 0) + $637 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2176; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $636; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2180 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 168 | 0) >> 2] = $2180; HEAP32[($11 + 172 | 0) >> 2] = i64toi32_i32$0; break label$29; } HEAPF32[($11 + 164 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 160 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 156 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 168 | 0 | 0, $11 + 164 | 0 | 0, $11 + 160 | 0 | 0, $11 + 156 | 0 | 0) | 0; } label$31 : { label$32 : { if (!((HEAP32[((HEAP32[($11 + 708 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$32 } $672 = (HEAP32[($11 + 708 | 0) >> 2] | 0) + 208 | 0; $673 = 8; i64toi32_i32$2 = $672 + $673 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2245 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 136 | 0) + $673 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2245; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $672; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2249 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 136 | 0) >> 2] = $2249; HEAP32[($11 + 140 | 0) >> 2] = i64toi32_i32$0; break label$31; } HEAPF32[($11 + 132 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 128 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 124 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 136 | 0 | 0, $11 + 132 | 0 | 0, $11 + 128 | 0 | 0, $11 + 124 | 0 | 0) | 0; } label$33 : { label$34 : { if (!((HEAP32[((HEAP32[($11 + 708 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$34 } $708 = (HEAP32[($11 + 708 | 0) >> 2] | 0) + 224 | 0; $709 = 8; i64toi32_i32$2 = $708 + $709 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2314 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 104 | 0) + $709 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2314; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $708; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2318 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 104 | 0) >> 2] = $2318; HEAP32[($11 + 108 | 0) >> 2] = i64toi32_i32$0; break label$33; } HEAPF32[($11 + 100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 96 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 92 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 104 | 0 | 0, $11 + 100 | 0 | 0, $11 + 96 | 0 | 0, $11 + 92 | 0 | 0) | 0; } $736 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 16 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 72 | 0 | 0, (HEAP32[($11 + 712 | 0) >> 2] | 0) + 176 | 0 | 0, $11 + 200 | 0 | 0); $749 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($736 | 0, $11 + 72 | 0 | 0)); $750 = HEAP32[($11 + 744 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 56 | 0 | 0, (HEAP32[($11 + 712 | 0) >> 2] | 0) + 192 | 0 | 0, $11 + 168 | 0 | 0); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround($749 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($750 | 0, $11 + 56 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; $767 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 48 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 36 | 0 | 0, (HEAP32[($11 + 708 | 0) >> 2] | 0) + 176 | 0 | 0, $11 + 136 | 0 | 0); $780 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($767 | 0, $11 + 36 | 0 | 0)); $783 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 32 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 20 | 0 | 0, (HEAP32[($11 + 708 | 0) >> 2] | 0) + 192 | 0 | 0, $11 + 104 | 0 | 0); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround($780 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($783 | 0, $11 + 20 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($11 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 88 | 0) >> 2]) + Math_fround(HEAPF32[($11 + 52 | 0) >> 2])); HEAPF32[($11 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 432 | 0) >> 2]) - Math_fround(HEAPF32[($11 + 16 | 0) >> 2])); label$35 : { label$36 : { if (!(Math_fround(HEAPF32[($11 + 428 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$36 } HEAPF32[($11 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($11 + 428 | 0) >> 2])) * Math_fround(HEAPF32[($11 + 696 | 0) >> 2])) + Math_fround(HEAPF32[($11 + 8 | 0) >> 2])); break label$35; } HEAPF32[($11 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($11 + 428 | 0) >> 2])) * Math_fround(HEAPF32[($11 + 688 | 0) >> 2])) * Math_fround(HEAPF32[($11 + 696 | 0) >> 2])); } HEAPF32[($11 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 108 | 0) >> 2])); HEAPF32[$11 >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 108 | 0) >> 2])); label$37 : { label$38 : { label$39 : { if (!(HEAP32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { break label$39 } if (!(Math_fround(HEAPF32[($11 + 428 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 56 | 0) >> 2]) & 1 | 0)) { break label$38 } } HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 4 | 0) >> 2]) + Math_fround(HEAPF32[$11 >> 2])); HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 128 | 0) >> 2] = Math_fround(0 | 0); break label$37; } HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(HEAPF32[$11 >> 2]); HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 128 | 0) >> 2] = Math_fround(HEAPF32[($11 + 4 | 0) >> 2]); } HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 116 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 692 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 108 | 0) >> 2])); HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(1.0e10); __stack_pointer = $11 + 752 | 0; return; } function btRigidBody__getVelocityInLocalPoint_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $1; HEAP32[($5 + 24 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; btVector3__cross_28btVector3_20const__29_20const($5 + 8 | 0 | 0, $6 + 388 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($0 | 0, $6 + 372 | 0 | 0, $5 + 8 | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btSequentialImpulseConstraintSolver__setFrictionConstraintImpulse_28btSolverConstraint__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btContactSolverInfo_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $44 = 0, $47 = 0, $79 = 0, $151 = 0, $154 = 0, $178 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 224 | 0; __stack_pointer = $8; HEAP32[($8 + 220 | 0) >> 2] = $0; HEAP32[($8 + 216 | 0) >> 2] = $1; HEAP32[($8 + 212 | 0) >> 2] = $2; HEAP32[($8 + 208 | 0) >> 2] = $3; HEAP32[($8 + 204 | 0) >> 2] = $4; HEAP32[($8 + 200 | 0) >> 2] = $5; $9 = HEAP32[($8 + 220 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($9 + 4 | 0 | 0, HEAP32[($8 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($9 + 4 | 0 | 0, HEAP32[($8 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; HEAP32[($8 + 188 | 0) >> 2] = HEAP32[((HEAP32[($8 + 196 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; HEAP32[($8 + 184 | 0) >> 2] = HEAP32[((HEAP32[($8 + 192 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($9 + 64 | 0 | 0, HEAP32[((HEAP32[($8 + 216 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 4 | 0)) { break label$2 } HEAPF32[((HEAP32[($8 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 204 | 0) >> 2] | 0) + 136 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 68 | 0) >> 2])); label$3 : { if (!((HEAP32[($8 + 188 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } $44 = HEAP32[($8 + 196 | 0) >> 2] | 0; $47 = (HEAP32[($8 + 180 | 0) >> 2] | 0) + 16 | 0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($8 + 188 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($8 + 148 | 0 | 0, $47 | 0, $8 + 144 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($8 + 164 | 0 | 0, $8 + 148 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($8 + 188 | 0) >> 2] | 0 | 0) | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($44 | 0, $8 + 164 | 0 | 0, (HEAP32[($8 + 180 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2]))); } label$4 : { if (!((HEAP32[($8 + 184 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } $79 = HEAP32[($8 + 192 | 0) >> 2] | 0; operator__28btVector3_20const__29($8 + 96 | 0 | 0, (HEAP32[($8 + 180 | 0) >> 2] | 0) + 48 | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($8 + 184 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($8 + 112 | 0 | 0, $8 + 96 | 0 | 0, $8 + 92 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($8 + 128 | 0 | 0, $8 + 112 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($8 + 184 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__29($8 + 76 | 0 | 0, (HEAP32[($8 + 180 | 0) >> 2] | 0) + 80 | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($79 | 0, $8 + 128 | 0 | 0, $8 + 76 | 0 | 0, Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($8 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2])))); } break label$1; } HEAPF32[((HEAP32[($8 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); } label$5 : { if (!((HEAP32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { break label$5 } (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($9 + 64 | 0 | 0, (HEAP32[((HEAP32[($8 + 216 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; label$6 : { label$7 : { if (!((HEAP32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 4 | 0)) { break label$7 } HEAPF32[((HEAP32[($8 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 204 | 0) >> 2] | 0) + 140 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 68 | 0) >> 2])); label$8 : { if (!((HEAP32[($8 + 188 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } $151 = HEAP32[($8 + 196 | 0) >> 2] | 0; $154 = (HEAP32[($8 + 72 | 0) >> 2] | 0) + 16 | 0; (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($8 + 188 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($8 + 56 | 0 | 0, $154 | 0, $8 + 52 | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($151 | 0, $8 + 56 | 0 | 0, (HEAP32[($8 + 72 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2]))); } label$9 : { if (!((HEAP32[($8 + 184 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } $178 = HEAP32[($8 + 192 | 0) >> 2] | 0; operator__28btVector3_20const__29($8 + 20 | 0 | 0, (HEAP32[($8 + 72 | 0) >> 2] | 0) + 48 | 0 | 0); (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($8 + 184 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($8 + 36 | 0 | 0, $8 + 20 | 0 | 0, $8 + 16 | 0 | 0); operator__28btVector3_20const__29($8 | 0, (HEAP32[($8 + 72 | 0) >> 2] | 0) + 80 | 0 | 0); btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($178 | 0, $8 + 36 | 0 | 0, $8 | 0, Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($8 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2])))); } break label$6; } HEAPF32[((HEAP32[($8 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); } } __stack_pointer = $8 + 224 | 0; return; } function btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverConstraint___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 152) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btSequentialImpulseConstraintSolver__convertContact_28btPersistentManifold__2c_20btContactSolverInfo_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $227 = 0, $197 = 0, $104 = 0, $120 = 0, $198 = 0, $207 = Math_fround(0), $266 = Math_fround(0), $294 = Math_fround(0), $323 = 0, $325 = 0, $382 = Math_fround(0), $396 = 0, $398 = 0, $433 = Math_fround(0), $471 = Math_fround(0), $504 = Math_fround(0), $513 = 0, $825 = 0, $829 = 0, $860 = 0, $864 = 0, $181 = 0, $1284 = 0, $1297 = 0, $1443 = 0, $1453 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 272 | 0; __stack_pointer = $5; HEAP32[($5 + 268 | 0) >> 2] = $0; HEAP32[($5 + 264 | 0) >> 2] = $1; HEAP32[($5 + 260 | 0) >> 2] = $2; $6 = HEAP32[($5 + 268 | 0) >> 2] | 0; HEAP32[($5 + 256 | 0) >> 2] = 0; HEAP32[($5 + 252 | 0) >> 2] = 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($6 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($6 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { label$3 : { if (!((HEAP32[($5 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } if (!((btVector3__fuzzyZero_28_29_20const((HEAP32[($5 + 240 | 0) >> 2] | 0) + 128 | 0 | 0) | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[($5 + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } if (!((btVector3__fuzzyZero_28_29_20const((HEAP32[($5 + 236 | 0) >> 2] | 0) + 128 | 0 | 0) | 0) & 1 | 0)) { break label$2 } } break label$1; } HEAP32[($5 + 232 | 0) >> 2] = 1; HEAP32[($5 + 228 | 0) >> 2] = 0; label$4 : while (1) { if (!((HEAP32[($5 + 228 | 0) >> 2] | 0 | 0) < (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5 + 228 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; label$5 : { if (!(Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($5 + 224 | 0) >> 2] | 0 | 0)) <= Math_fround(btPersistentManifold__getContactProcessingThreshold_28_29_20const(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0)) & 1 | 0)) { break label$5 } btVector3__btVector3_28_29($5 + 208 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 192 | 0 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($6 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___expandNonInitializing_28_29($6 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; HEAP32[((HEAP32[($5 + 180 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($5 + 248 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 180 | 0) >> 2] | 0) + 148 | 0) >> 2] = HEAP32[($5 + 244 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 180 | 0) >> 2] | 0) + 132 | 0) >> 2] = HEAP32[($5 + 224 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldPoint__getPositionWorldOnA_28_29_20const(HEAP32[($5 + 224 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldPoint__getPositionWorldOnB_28_29_20const(HEAP32[($5 + 224 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 156 | 0 | 0, HEAP32[($5 + 176 | 0) >> 2] | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); $104 = 8; i64toi32_i32$2 = ($5 + 156 | 0) + $104 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $825 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 208 | 0) + $104 | 0; HEAP32[i64toi32_i32$0 >> 2] = $825; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 156 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 160 | 0) >> 2] | 0; $829 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 208 | 0) >> 2] = $829; HEAP32[($5 + 212 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 140 | 0 | 0, HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); $120 = 8; i64toi32_i32$2 = ($5 + 140 | 0) + $120 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $860 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 192 | 0) + $120 | 0; HEAP32[i64toi32_i32$0 >> 2] = $860; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 140 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 144 | 0) >> 2] | 0; $864 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 192 | 0) >> 2] = $864; HEAP32[($5 + 196 | 0) >> 2] = i64toi32_i32$0; btVector3__btVector3_28_29($5 + 124 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 108 | 0 | 0) | 0; btSolverBody__getVelocityInLocalPointNoDelta_28btVector3_20const__2c_20btVector3__29_20const(HEAP32[($5 + 240 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 124 | 0 | 0); btSolverBody__getVelocityInLocalPointNoDelta_28btVector3_20const__2c_20btVector3__29_20const(HEAP32[($5 + 236 | 0) >> 2] | 0 | 0, $5 + 192 | 0 | 0, $5 + 108 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 92 | 0 | 0, $5 + 124 | 0 | 0, $5 + 108 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 224 | 0) >> 2] | 0) + 64 | 0 | 0, $5 + 92 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; btSequentialImpulseConstraintSolver__setupContactConstraint_28btSolverConstraint__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btContactSolverInfo_20const__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, $5 + 188 | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0); $181 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($6 + 64 | 0 | 0) | 0; HEAP32[((HEAP32[($5 + 180 | 0) >> 2] | 0) + 140 | 0) >> 2] = $181; label$6 : { if (!(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 88 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$6 } if (!((HEAP32[($5 + 232 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$6 } $197 = HEAP32[($5 + 224 | 0) >> 2] | 0; $198 = 64; $207 = Math_fround(0.0); btSequentialImpulseConstraintSolver__addTorsionalFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($6 | 0, $197 + $198 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, $197 | 0, Math_fround(Math_fround(HEAPF32[($197 + 92 | 0) >> 2])), $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), Math_fround($207), Math_fround($207)) | 0; btVector3__btVector3_28_29($5 + 72 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 56 | 0 | 0) | 0; void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29((HEAP32[($5 + 224 | 0) >> 2] | 0) + $198 | 0 | 0, $5 + 72 | 0 | 0, $5 + 56 | 0 | 0); btVector3__normalize_28_29($5 + 72 | 0 | 0) | 0; btVector3__normalize_28_29($5 + 56 | 0 | 0) | 0; $227 = 2; btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, $5 + 72 | 0 | 0, $227 | 0); btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, $5 + 72 | 0 | 0, $227 | 0); btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, $5 + 56 | 0 | 0, $227 | 0); btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, $5 + 56 | 0 | 0, $227 | 0); label$7 : { if (!(+Math_fround(btVector3__length_28_29_20const($5 + 72 | 0 | 0)) > .001 & 1 | 0)) { break label$7 } $266 = Math_fround(0 | 0); btSequentialImpulseConstraintSolver__addTorsionalFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($6 | 0, $5 + 72 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 88 | 0) >> 2])), $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), Math_fround($266), Math_fround($266)) | 0; } label$8 : { if (!(+Math_fround(btVector3__length_28_29_20const($5 + 56 | 0 | 0)) > .001 & 1 | 0)) { break label$8 } $294 = Math_fround(0 | 0); btSequentialImpulseConstraintSolver__addTorsionalFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($6 | 0, $5 + 56 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 88 | 0) >> 2])), $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), Math_fround($294), Math_fround($294)) | 0; } } label$9 : { label$10 : { label$11 : { if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 32 | 0)) { break label$11 } if ((HEAP32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 1 | 0) { break label$10 } } operator__28btVector3_20const__2c_20float_20const__29($5 + 24 | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 64 | 0 | 0, $5 + 88 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 40 | 0 | 0, $5 + 92 | 0 | 0, $5 + 24 | 0 | 0); $323 = (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 40 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 44 | 0) >> 2] | 0; $1284 = i64toi32_i32$0; i64toi32_i32$0 = $323; HEAP32[i64toi32_i32$0 >> 2] = $1284; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $325 = 8; i64toi32_i32$2 = ($5 + 40 | 0) + $325 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1297 = i64toi32_i32$1; i64toi32_i32$1 = $323 + $325 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1297; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const((HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; label$12 : { label$13 : { if ((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 64 | 0) { break label$13 } if (!(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$13 } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1((HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, $5 + 16 | 0 | 0) | 0; btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, 1 | 0); btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, 1 | 0); $382 = Math_fround(0 | 0); btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround($382), Math_fround($382)) | 0; label$14 : { if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { break label$14 } btVector3__cross_28btVector3_20const__29_20const($5 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 64 | 0 | 0); $396 = (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[$5 >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; $1443 = i64toi32_i32$0; i64toi32_i32$0 = $396; HEAP32[i64toi32_i32$0 >> 2] = $1443; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $398 = 8; i64toi32_i32$2 = $5 + $398 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1453 = i64toi32_i32$1; i64toi32_i32$1 = $396 + $398 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1453; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__normalize_28_29((HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0) | 0; btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, 1 | 0); btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, 1 | 0); $433 = Math_fround(0 | 0); btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround($433), Math_fround($433)) | 0; } break label$12; } void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29((HEAP32[($5 + 224 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0); btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, 1 | 0); btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, 1 | 0); $471 = Math_fround(0 | 0); btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround($471), Math_fround($471)) | 0; label$15 : { if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { break label$15 } btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, 1 | 0); btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, 1 | 0); $504 = Math_fround(0 | 0); btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround($504), Math_fround($504)) | 0; } label$16 : { if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { break label$16 } if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 64 | 0)) { break label$16 } $513 = HEAP32[($5 + 224 | 0) >> 2] | 0; HEAP32[($513 + 128 | 0) >> 2] = HEAP32[($513 + 128 | 0) >> 2] | 0 | 1 | 0; } } break label$9; } btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 144 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 160 | 0) >> 2]))) | 0; label$17 : { if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { break label$17 } btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 148 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 160 | 0) >> 2]))) | 0; } } btSequentialImpulseConstraintSolver__setFrictionConstraintImpulse_28btSolverConstraint__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btContactSolverInfo_20const__29($6 | 0, HEAP32[($5 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5 + 260 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 228 | 0) >> 2] = (HEAP32[($5 + 228 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } __stack_pointer = $5 + 272 | 0; return; } function btPersistentManifold__getContactProcessingThreshold_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 852 | 0) >> 2])); } function btSolverBody__getVelocityInLocalPointNoDelta_28btVector3_20const__2c_20btVector3__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $44 = 0, $46 = 0, $154 = 0, $167 = 0, $52 = 0; $5 = __stack_pointer - 96 | 0; __stack_pointer = $5; HEAP32[($5 + 92 | 0) >> 2] = $0; HEAP32[($5 + 88 | 0) >> 2] = $1; HEAP32[($5 + 84 | 0) >> 2] = $2; $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($6 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 52 | 0 | 0, $6 + 176 | 0 | 0, $6 + 208 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 20 | 0 | 0, $6 + 192 | 0 | 0, $6 + 224 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($5 + 36 | 0 | 0, $5 + 20 | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 68 | 0 | 0, $5 + 52 | 0 | 0, $5 + 36 | 0 | 0); $44 = HEAP32[($5 + 84 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 68 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 72 | 0) >> 2] | 0; $154 = i64toi32_i32$0; i64toi32_i32$0 = $44; HEAP32[i64toi32_i32$0 >> 2] = $154; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $46 = 8; i64toi32_i32$2 = ($5 + 68 | 0) + $46 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $167 = i64toi32_i32$1; i64toi32_i32$1 = $44 + $46 | 0; HEAP32[i64toi32_i32$1 >> 2] = $167; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; break label$1; } $52 = HEAP32[($5 + 84 | 0) >> 2] | 0; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($52 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0); } __stack_pointer = $5 + 96 | 0; return; } function btSequentialImpulseConstraintSolver__convertContacts_28btPersistentManifold___2c_20int_2c_20btContactSolverInfo_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = 0; HEAP32[($6 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[($6 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; btSequentialImpulseConstraintSolver__convertContact_28btPersistentManifold__2c_20btContactSolverInfo_20const__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btSequentialImpulseConstraintSolver__solveGroupCacheFriendlySetup_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $152 = 0, $194 = 0, $219 = 0, $251 = 0, $323 = 0, $407 = 0, $676 = 0, $759 = 0, $761 = 0, $788 = 0, $790 = 0, $884 = Math_fround(0), $899 = 0, $900 = 0, $935 = 0, $936 = 0, $971 = 0, $972 = 0, $1007 = 0, $1008 = 0, $1539 = 0, $1543 = 0, $1624 = 0, $1628 = 0, $1678 = 0, $1682 = 0, $483 = 0, $500 = 0, $517 = 0, $534 = 0, $551 = 0, $568 = 0, $585 = 0, $602 = 0, $714 = Math_fround(0), $736 = Math_fround(0), $2805 = 0, $2818 = 0, $2866 = 0, $2879 = 0, $798 = 0, $815 = 0, $843 = Math_fround(0), $852 = Math_fround(0), $861 = Math_fround(0), $3099 = 0, $3103 = 0, $3168 = 0, $3172 = 0, $3237 = 0, $3241 = 0, $3306 = 0, $3310 = 0, $1035 = 0, $1047 = Math_fround(0), $1048 = 0, $1064 = 0, $1076 = Math_fround(0), $1079 = 0, $1128 = 0, $1174 = 0, $1190 = 0, $1206 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $11 = __stack_pointer - 1040 | 0; __stack_pointer = $11; HEAP32[($11 + 1036 | 0) >> 2] = $0; HEAP32[($11 + 1032 | 0) >> 2] = $1; HEAP32[($11 + 1028 | 0) >> 2] = $2; HEAP32[($11 + 1024 | 0) >> 2] = $3; HEAP32[($11 + 1020 | 0) >> 2] = $4; HEAP32[($11 + 1016 | 0) >> 2] = $5; HEAP32[($11 + 1012 | 0) >> 2] = $6; HEAP32[($11 + 1008 | 0) >> 2] = $7; HEAP32[($11 + 1004 | 0) >> 2] = $8; $12 = HEAP32[($11 + 1036 | 0) >> 2] | 0; HEAP32[($12 + 188 | 0) >> 2] = -1; CProfileSample__CProfileSample_28char_20const__29($11 + 1003 | 0 | 0, 71285 | 0) | 0; label$1 : { if (!((HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($12 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP8[($11 + 1002 | 0) >> 0] = ((((HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 256 | 0 | 0) != (0 | 0) ^ -1 | 0) ^ -1 | 0) & 1 | 0; btSequentialImpulseConstraintSolver__setupSolverFunctions_28bool_29($12 | 0, (HEAPU8[($11 + 1002 | 0) >> 0] | 0) & 1 | 0 | 0); HEAP32[($12 + 224 | 0) >> 2] = HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; } HEAP32[($12 + 184 | 0) >> 2] = 0; HEAP32[($11 + 996 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($11 + 996 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1028 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } btCollisionObject__setCompanionId_28int_29(HEAP32[((HEAP32[($11 + 1032 | 0) >> 2] | 0) + ((HEAP32[($11 + 996 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0); HEAP32[($11 + 996 | 0) >> 2] = (HEAP32[($11 + 996 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } btAlignedObjectArray_btSolverBody___reserve_28int_29($12 + 4 | 0 | 0, (HEAP32[($11 + 1028 | 0) >> 2] | 0) + 1 | 0 | 0); __memset($11 + 752 | 0 | 0, 0 | 0, 244 | 0) | 0; btSolverBody__btSolverBody_28_29($11 + 752 | 0 | 0) | 0; btAlignedObjectArray_btSolverBody___resize_28int_2c_20btSolverBody_20const__29($12 + 4 | 0 | 0, 0 | 0, $11 + 752 | 0 | 0); HEAP32[($11 + 748 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($11 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1028 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $11, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($12 | 0, HEAP32[((HEAP32[($11 + 1032 | 0) >> 2] | 0) + ((HEAP32[($11 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[((HEAP32[($11 + 1032 | 0) >> 2] | 0) + ((HEAP32[($11 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 740 | 0) >> 2] = wasm2js_i32$1; label$6 : { if (!((HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } if (!(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 744 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 736 | 0) >> 2] = wasm2js_i32$1; HEAPF32[($11 + 716 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 712 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 708 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 720 | 0 | 0, $11 + 716 | 0 | 0, $11 + 712 | 0 | 0, $11 + 708 | 0 | 0) | 0; label$7 : { if (!((btRigidBody__getFlags_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0) & 2 | 0)) { break label$7 } btRigidBody__computeGyroscopicForceExplicit_28float_29_20const($11 + 692 | 0 | 0, HEAP32[($11 + 740 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 84 | 0) >> 2]))); $152 = 8; i64toi32_i32$2 = ($11 + 692 | 0) + $152 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1539 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 720 | 0) + $152 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1539; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 692 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 696 | 0) >> 2] | 0; $1543 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 720 | 0) >> 2] = $1543; HEAP32[($11 + 724 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($11 + 660 | 0 | 0, $11 + 720 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($11 + 676 | 0 | 0, $11 + 660 | 0 | 0, (HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0 | 0); btVector3__operator___28btVector3_20const__29((HEAP32[($11 + 736 | 0) >> 2] | 0) + 224 | 0 | 0, $11 + 676 | 0 | 0) | 0; } label$8 : { if (!((btRigidBody__getFlags_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0) & 4 | 0)) { break label$8 } btRigidBody__computeGyroscopicImpulseImplicit_World_28float_29_20const($11 + 644 | 0 | 0, HEAP32[($11 + 740 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))); $194 = 8; i64toi32_i32$2 = ($11 + 644 | 0) + $194 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1624 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 720 | 0) + $194 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1624; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 644 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 648 | 0) >> 2] | 0; $1628 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 720 | 0) >> 2] = $1628; HEAP32[($11 + 724 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29_1((HEAP32[($11 + 736 | 0) >> 2] | 0) + 224 | 0 | 0, $11 + 720 | 0 | 0) | 0; } label$9 : { if (!((btRigidBody__getFlags_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0) & 8 | 0)) { break label$9 } btRigidBody__computeGyroscopicImpulseImplicit_Body_28float_29_20const($11 + 628 | 0 | 0, HEAP32[($11 + 740 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))); $219 = 8; i64toi32_i32$2 = ($11 + 628 | 0) + $219 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1678 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 720 | 0) + $219 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1678; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $11; i64toi32_i32$1 = HEAP32[($11 + 628 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($11 + 632 | 0) >> 2] | 0; $1682 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 720 | 0) >> 2] = $1682; HEAP32[($11 + 724 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29_1((HEAP32[($11 + 736 | 0) >> 2] | 0) + 224 | 0 | 0, $11 + 720 | 0 | 0) | 0; } } HEAP32[($11 + 748 | 0) >> 2] = (HEAP32[($11 + 748 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } HEAP32[($11 + 624 | 0) >> 2] = 0; label$10 : { label$11 : while (1) { if (!((HEAP32[($11 + 624 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1012 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } HEAP32[($11 + 620 | 0) >> 2] = HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 624 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; $251 = HEAP32[($11 + 620 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$251 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($251); btTypedConstraint__internalSetAppliedImpulse_28float_29(HEAP32[($11 + 620 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(0 | 0))); HEAP32[($11 + 624 | 0) >> 2] = (HEAP32[($11 + 624 | 0) >> 2] | 0) + 1 | 0; continue label$11; }; } HEAP32[($11 + 616 | 0) >> 2] = 0; btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___resizeNoInitialize_28int_29($12 + 164 | 0 | 0, HEAP32[($11 + 1012 | 0) >> 2] | 0 | 0); HEAP32[($11 + 612 | 0) >> 2] = 0; label$12 : { label$13 : while (1) { if (!((HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1012 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$12 } (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___operator_5b_5d_28int_29($12 + 164 | 0 | 0, HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btTypedConstraint__getJointFeedback_28_29(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 604 | 0) >> 2] = wasm2js_i32$1; label$14 : { if (!((HEAP32[($11 + 604 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$14 } btVector3__setZero_28_29(HEAP32[($11 + 604 | 0) >> 2] | 0 | 0); btVector3__setZero_28_29((HEAP32[($11 + 604 | 0) >> 2] | 0) + 16 | 0 | 0); btVector3__setZero_28_29((HEAP32[($11 + 604 | 0) >> 2] | 0) + 32 | 0 | 0); btVector3__setZero_28_29((HEAP32[($11 + 604 | 0) >> 2] | 0) + 48 | 0 | 0); } label$15 : { if (!((btTypedConstraint__isEnabled_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$15 } } label$16 : { label$17 : { if (!((btTypedConstraint__isEnabled_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$17 } $323 = HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$323 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($323, HEAP32[($11 + 608 | 0) >> 2] | 0); break label$16; } HEAP32[(HEAP32[($11 + 608 | 0) >> 2] | 0) >> 2] = 0; HEAP32[((HEAP32[($11 + 608 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; } HEAP32[($11 + 616 | 0) >> 2] = (HEAP32[($11 + 616 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($11 + 608 | 0) >> 2] | 0) >> 2] | 0) | 0; HEAP32[($11 + 612 | 0) >> 2] = (HEAP32[($11 + 612 | 0) >> 2] | 0) + 1 | 0; continue label$13; }; } btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($12 + 44 | 0 | 0, HEAP32[($11 + 616 | 0) >> 2] | 0 | 0); HEAP32[($11 + 600 | 0) >> 2] = 0; HEAP32[($11 + 612 | 0) >> 2] = 0; label$18 : { label$19 : while (1) { if (!((HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1012 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$18 } (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___operator_5b_5d_28int_29($12 + 164 | 0 | 0, HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; label$20 : { if (!(HEAP32[(HEAP32[($11 + 596 | 0) >> 2] | 0) >> 2] | 0)) { break label$20 } label$21 : { if ((HEAP32[($11 + 600 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 616 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$21 } __assert_fail(68995 | 0, 72591 | 0, 1455 | 0, 71285 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($12 + 44 | 0 | 0, HEAP32[($11 + 600 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_i32$1; HEAP32[($11 + 588 | 0) >> 2] = HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btTypedConstraint__getRigidBodyA_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 584 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btTypedConstraint__getRigidBodyB_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 580 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($12 | 0, HEAP32[($11 + 584 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($12 | 0, HEAP32[($11 + 580 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 572 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 576 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 568 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 572 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 564 | 0) >> 2] = wasm2js_i32$1; label$22 : { label$23 : { if (!((btTypedConstraint__getOverrideNumSolverIterations_28_29_20const(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { break label$23 } $407 = btTypedConstraint__getOverrideNumSolverIterations_28_29_20const(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0; break label$22; } $407 = HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; } HEAP32[($11 + 560 | 0) >> 2] = $407; label$24 : { if (!((HEAP32[($11 + 560 | 0) >> 2] | 0 | 0) > (HEAP32[($12 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$24 } HEAP32[($12 + 184 | 0) >> 2] = HEAP32[($11 + 560 | 0) >> 2] | 0; } HEAP32[($11 + 556 | 0) >> 2] = 0; label$25 : { label$26 : while (1) { if (!((HEAP32[($11 + 556 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($11 + 596 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$25 } __memset((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0 | 0, 0 | 0, 152 | 0) | 0; HEAPF32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 120 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); HEAPF32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 124 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAPF32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); HEAP32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 144 | 0) >> 2] = HEAP32[($11 + 576 | 0) >> 2] | 0; HEAP32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 148 | 0) >> 2] = HEAP32[($11 + 572 | 0) >> 2] | 0; HEAP32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 136 | 0) >> 2] = HEAP32[($11 + 560 | 0) >> 2] | 0; HEAP32[($11 + 556 | 0) >> 2] = (HEAP32[($11 + 556 | 0) >> 2] | 0) + 1 | 0; continue label$26; }; } $483 = btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($11 + 568 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($11 + 552 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 548 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 544 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($483 | 0, $11 + 552 | 0 | 0, $11 + 548 | 0 | 0, $11 + 544 | 0 | 0); $500 = btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($11 + 568 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($11 + 540 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 536 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 532 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($500 | 0, $11 + 540 | 0 | 0, $11 + 536 | 0 | 0, $11 + 532 | 0 | 0); $517 = btSolverBody__internalGetPushVelocity_28_29(HEAP32[($11 + 568 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($11 + 528 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 524 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 520 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($517 | 0, $11 + 528 | 0 | 0, $11 + 524 | 0 | 0, $11 + 520 | 0 | 0); $534 = btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($11 + 568 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($11 + 516 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 512 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 508 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($534 | 0, $11 + 516 | 0 | 0, $11 + 512 | 0 | 0, $11 + 508 | 0 | 0); $551 = btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($11 + 564 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($11 + 504 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 500 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 496 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($551 | 0, $11 + 504 | 0 | 0, $11 + 500 | 0 | 0, $11 + 496 | 0 | 0); $568 = btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($11 + 564 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($11 + 492 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 488 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 484 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($568 | 0, $11 + 492 | 0 | 0, $11 + 488 | 0 | 0, $11 + 484 | 0 | 0); $585 = btSolverBody__internalGetPushVelocity_28_29(HEAP32[($11 + 564 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($11 + 480 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 476 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 472 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($585 | 0, $11 + 480 | 0 | 0, $11 + 476 | 0 | 0, $11 + 472 | 0 | 0); $602 = btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($11 + 564 | 0) >> 2] | 0 | 0) | 0; HEAPF32[($11 + 468 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 464 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 460 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($602 | 0, $11 + 468 | 0 | 0, $11 + 464 | 0 | 0, $11 + 460 | 0 | 0); HEAPF32[($11 + 408 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2])); HEAPF32[($11 + 412 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 32 | 0) >> 2]); (wasm2js_i32$0 = $11, wasm2js_i32$1 = btVector3__operator_20float__28_29((HEAP32[($11 + 592 | 0) >> 2] | 0) + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btVector3__operator_20float__28_29(HEAP32[($11 + 592 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btVector3__operator_20float__28_29((HEAP32[($11 + 592 | 0) >> 2] | 0) + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btVector3__operator_20float__28_29((HEAP32[($11 + 592 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_i32$1; HEAP32[($11 + 432 | 0) >> 2] = 38; label$27 : { if (((HEAP32[($11 + 432 | 0) >> 2] | 0) << 2 | 0 | 0) == (152 | 0) & 1 | 0) { break label$27 } __assert_fail(86267 | 0, 72591 | 0, 1508 | 0, 71285 | 0); wasm2js_trap(); } HEAP32[($11 + 436 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + 112 | 0; HEAPF32[((HEAP32[($11 + 592 | 0) >> 2] | 0) + 116 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 40 | 0) >> 2]); HEAPF32[($11 + 456 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 4 | 0) >> 2]); HEAP32[($11 + 440 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + 116 | 0; HEAP32[($11 + 444 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + 120 | 0; HEAP32[($11 + 448 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + 124 | 0; HEAP32[($11 + 452 | 0) >> 2] = HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; $676 = HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$676 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($676, $11 + 408 | 0); HEAP32[($11 + 556 | 0) >> 2] = 0; label$28 : { label$29 : while (1) { if (!((HEAP32[($11 + 556 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($11 + 596 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$28 } HEAP32[($11 + 404 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0; label$30 : { if (!(Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 124 | 0) >> 2]) >= Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0)) & 1 | 0)) { break label$30 } $714 = Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0)); HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 124 | 0) >> 2] = $714; } label$31 : { if (!(Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 120 | 0) >> 2]) <= Math_fround(-Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0))) & 1 | 0)) { break label$31 } $736 = Math_fround(-Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0))); HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 120 | 0) >> 2] = $736; } HEAP32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 132 | 0) >> 2] = HEAP32[($11 + 588 | 0) >> 2] | 0; HEAP32[($11 + 400 | 0) >> 2] = HEAP32[($11 + 404 | 0) >> 2] | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 368 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($11 + 400 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 384 | 0 | 0, $11 + 368 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); $759 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 64 | 0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[($11 + 384 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($11 + 388 | 0) >> 2] | 0; $2805 = i64toi32_i32$0; i64toi32_i32$0 = $759; HEAP32[i64toi32_i32$0 >> 2] = $2805; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $761 = 8; i64toi32_i32$2 = ($11 + 384 | 0) + $761 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2818 = i64toi32_i32$1; i64toi32_i32$1 = $759 + $761 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2818; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($11 + 364 | 0) >> 2] = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 32 | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 332 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($11 + 364 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 348 | 0 | 0, $11 + 332 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); $788 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 80 | 0; i64toi32_i32$2 = $11; i64toi32_i32$0 = HEAP32[($11 + 348 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($11 + 352 | 0) >> 2] | 0; $2866 = i64toi32_i32$0; i64toi32_i32$0 = $788; HEAP32[i64toi32_i32$0 >> 2] = $2866; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $790 = 8; i64toi32_i32$2 = ($11 + 348 | 0) + $790 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2879 = i64toi32_i32$1; i64toi32_i32$1 = $788 + $790 | 0; HEAP32[i64toi32_i32$1 >> 2] = $2879; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $798 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 16 | 0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 584 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($11 + 316 | 0 | 0, $798 | 0, $11 + 312 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 296 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 584 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11 + 404 | 0) >> 2] | 0 | 0); $815 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 48 | 0; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 580 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($11 + 280 | 0 | 0, $815 | 0, $11 + 276 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 260 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 580 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($11 + 404 | 0) >> 2] | 0) + 32 | 0 | 0); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($11 + 316 | 0 | 0, (HEAP32[($11 + 404 | 0) >> 2] | 0) + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_f32$0; $843 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($11 + 296 | 0 | 0, HEAP32[($11 + 404 | 0) >> 2] | 0 | 0)); HEAPF32[($11 + 256 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 256 | 0) >> 2]) + $843); $852 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($11 + 280 | 0 | 0, (HEAP32[($11 + 404 | 0) >> 2] | 0) + 48 | 0 | 0)); HEAPF32[($11 + 256 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 256 | 0) >> 2]) + $852); $861 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($11 + 260 | 0 | 0, (HEAP32[($11 + 404 | 0) >> 2] | 0) + 32 | 0 | 0)); HEAPF32[($11 + 256 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 256 | 0) >> 2]) + $861); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 256 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_f32$0; label$32 : { if (Math_fround(HEAPF32[($11 + 252 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0) { break label$32 } __assert_fail(84262 | 0, 72591 | 0, 1555 | 0, 71285 | 0); wasm2js_trap(); } HEAPF32[($11 + 248 | 0) >> 2] = Math_fround(1.0); label$33 : { label$34 : { if (!(Math_fround(HEAPF32[($11 + 252 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$34 } $884 = Math_fround(Math_fround(HEAPF32[($11 + 248 | 0) >> 2]) / Math_fround(HEAPF32[($11 + 256 | 0) >> 2])); break label$33; } $884 = Math_fround(0 | 0); } HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 108 | 0) >> 2] = $884; label$35 : { label$36 : { if (!((HEAP32[((HEAP32[($11 + 568 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$36 } $899 = (HEAP32[($11 + 568 | 0) >> 2] | 0) + 208 | 0; $900 = 8; i64toi32_i32$2 = $899 + $900 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3099 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 224 | 0) + $900 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3099; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $899; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3103 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 224 | 0) >> 2] = $3103; HEAP32[($11 + 228 | 0) >> 2] = i64toi32_i32$0; break label$35; } HEAPF32[($11 + 220 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 216 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 212 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 224 | 0 | 0, $11 + 220 | 0 | 0, $11 + 216 | 0 | 0, $11 + 212 | 0 | 0) | 0; } label$37 : { label$38 : { if (!((HEAP32[((HEAP32[($11 + 568 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$38 } $935 = (HEAP32[($11 + 568 | 0) >> 2] | 0) + 224 | 0; $936 = 8; i64toi32_i32$2 = $935 + $936 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3168 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 192 | 0) + $936 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3168; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $935; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3172 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 192 | 0) >> 2] = $3172; HEAP32[($11 + 196 | 0) >> 2] = i64toi32_i32$0; break label$37; } HEAPF32[($11 + 188 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 184 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 180 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 192 | 0 | 0, $11 + 188 | 0 | 0, $11 + 184 | 0 | 0, $11 + 180 | 0 | 0) | 0; } label$39 : { label$40 : { if (!((HEAP32[((HEAP32[($11 + 564 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$40 } $971 = (HEAP32[($11 + 564 | 0) >> 2] | 0) + 208 | 0; $972 = 8; i64toi32_i32$2 = $971 + $972 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3237 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 160 | 0) + $972 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3237; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $971; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3241 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 160 | 0) >> 2] = $3241; HEAP32[($11 + 164 | 0) >> 2] = i64toi32_i32$0; break label$39; } HEAPF32[($11 + 156 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 152 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 148 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 160 | 0 | 0, $11 + 156 | 0 | 0, $11 + 152 | 0 | 0, $11 + 148 | 0 | 0) | 0; } label$41 : { label$42 : { if (!((HEAP32[((HEAP32[($11 + 564 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$42 } $1007 = (HEAP32[($11 + 564 | 0) >> 2] | 0) + 224 | 0; $1008 = 8; i64toi32_i32$2 = $1007 + $1008 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3306 = i64toi32_i32$0; i64toi32_i32$0 = ($11 + 128 | 0) + $1008 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3306; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $1007; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3310 = i64toi32_i32$1; i64toi32_i32$1 = $11; HEAP32[($11 + 128 | 0) >> 2] = $3310; HEAP32[($11 + 132 | 0) >> 2] = i64toi32_i32$0; break label$41; } HEAPF32[($11 + 124 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 120 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 116 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 128 | 0 | 0, $11 + 124 | 0 | 0, $11 + 120 | 0 | 0, $11 + 116 | 0 | 0) | 0; } $1035 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 16 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 96 | 0 | 0, btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($11 + 584 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 224 | 0 | 0); $1047 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($1035 | 0, $11 + 96 | 0 | 0)); $1048 = HEAP32[($11 + 404 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 80 | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($11 + 584 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 192 | 0 | 0); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround($1047 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($1048 | 0, $11 + 80 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; $1064 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 48 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 60 | 0 | 0, btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($11 + 580 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 160 | 0 | 0); $1076 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($1064 | 0, $11 + 60 | 0 | 0)); $1079 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 32 | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 44 | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($11 + 580 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 128 | 0 | 0); (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround($1076 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($1079 | 0, $11 + 44 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($11 + 244 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 112 | 0) >> 2]) + Math_fround(HEAPF32[($11 + 76 | 0) >> 2])); HEAPF32[($11 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($11 + 36 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 112 | 0) >> 2]); HEAPF32[($11 + 32 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($11 + 244 | 0) >> 2])) * Math_fround(HEAPF32[($11 + 456 | 0) >> 2])) + Math_fround(HEAPF32[($11 + 40 | 0) >> 2])); HEAPF32[($11 + 28 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 36 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 108 | 0) >> 2])); HEAPF32[($11 + 24 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 32 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 108 | 0) >> 2])); HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 28 | 0) >> 2]) + Math_fround(HEAPF32[($11 + 24 | 0) >> 2])); HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($11 + 556 | 0) >> 2] = (HEAP32[($11 + 556 | 0) >> 2] | 0) + 1 | 0; continue label$29; }; } } $1128 = HEAP32[(btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___operator_5b_5d_28int_29($12 + 164 | 0 | 0, HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; HEAP32[($11 + 600 | 0) >> 2] = (HEAP32[($11 + 600 | 0) >> 2] | 0) + $1128 | 0; HEAP32[($11 + 612 | 0) >> 2] = (HEAP32[($11 + 612 | 0) >> 2] | 0) + 1 | 0; continue label$19; }; } FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($12, HEAP32[($11 + 1024 | 0) >> 2] | 0, HEAP32[($11 + 1020 | 0) >> 2] | 0, HEAP32[($11 + 1008 | 0) >> 2] | 0); (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($12 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($12 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($12 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_int___resizeNoInitialize_28int_29($12 + 124 | 0 | 0, HEAP32[($11 + 20 | 0) >> 2] | 0 | 0); label$43 : { label$44 : { if (!((HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { break label$44 } btAlignedObjectArray_int___resizeNoInitialize_28int_29($12 + 104 | 0 | 0, (HEAP32[($11 + 16 | 0) >> 2] | 0) << 1 | 0 | 0); break label$43; } btAlignedObjectArray_int___resizeNoInitialize_28int_29($12 + 104 | 0 | 0, HEAP32[($11 + 16 | 0) >> 2] | 0 | 0); } btAlignedObjectArray_int___resizeNoInitialize_28int_29($12 + 144 | 0 | 0, HEAP32[($11 + 12 | 0) >> 2] | 0 | 0); HEAP32[($11 + 8 | 0) >> 2] = 0; label$45 : { label$46 : while (1) { if (!((HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$45 } $1174 = HEAP32[($11 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($12 + 124 | 0 | 0, HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $1174), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($11 + 8 | 0) >> 2] = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$46; }; } HEAP32[($11 + 8 | 0) >> 2] = 0; label$47 : { label$48 : while (1) { if (!((HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$47 } $1190 = HEAP32[($11 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($12 + 104 | 0 | 0, HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $1190), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($11 + 8 | 0) >> 2] = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$48; }; } HEAP32[($11 + 8 | 0) >> 2] = 0; label$49 : { label$50 : while (1) { if (!((HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$49 } $1206 = HEAP32[($11 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($12 + 144 | 0 | 0, HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $1206), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($11 + 8 | 0) >> 2] = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$50; }; } CProfileSample___CProfileSample_28_29($11 + 1003 | 0 | 0) | 0; __stack_pointer = $11 + 1040 | 0; return Math_fround(Math_fround(0 | 0)); } function btAlignedObjectArray_btSolverBody___resize_28int_2c_20btSolverBody_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btSolverBody___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btSolverBody__btSolverBody_28btSolverBody_20const__29(btSolverBody__operator_20new_28unsigned_20long_2c_20void__29(244 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 244) | 0 | 0) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btTypedConstraint__internalSetAppliedImpulse_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___resizeNoInitialize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___reserve_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btTypedConstraint__getJointFeedback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0; } function btTypedConstraint__isEnabled_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAPU8[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 1 | 0 | 0; } function btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (btAlignedObjectArray_btSolverConstraint___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btSolverConstraint___reserve_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return; } function btTypedConstraint__getOverrideNumSolverIterations_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0; } function btTypedConstraint__getBreakingImpulseThreshold_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2])); } function btAlignedObjectArray_int___resizeNoInitialize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_int___reserve_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btSolverBody___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btSolverBody_2c_2016u___allocate_28int_2c_20btSolverBody_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btSolverBody___copy_28int_2c_20int_2c_20btSolverBody__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } btSolverBody__btSolverBody_28btSolverBody_20const__29(btSolverBody__operator_20new_28unsigned_20long_2c_20void__29(244 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 244) | 0 | 0) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 244) | 0 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedObjectArray_btSolverBody___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btSolverBody___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btSolverBody_2c_2016u___deallocate_28btSolverBody__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___copy_28int_2c_20int_2c_20btTypedConstraint__btConstraintInfo1__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btSequentialImpulseConstraintSolver__solveSingleIteration_28int_2c_20btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, $13 = 0, $243 = 0, $50 = 0, $55 = 0, $92 = 0, $97 = 0, $126 = 0, $131 = 0, $570 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $12 = __stack_pointer - 224 | 0; __stack_pointer = $12; HEAP32[($12 + 220 | 0) >> 2] = $0; HEAP32[($12 + 216 | 0) >> 2] = $1; HEAP32[($12 + 212 | 0) >> 2] = $2; HEAP32[($12 + 208 | 0) >> 2] = $3; HEAP32[($12 + 204 | 0) >> 2] = $4; HEAP32[($12 + 200 | 0) >> 2] = $5; HEAP32[($12 + 196 | 0) >> 2] = $6; HEAP32[($12 + 192 | 0) >> 2] = $7; HEAP32[($12 + 188 | 0) >> 2] = $8; HEAP32[($12 + 184 | 0) >> 2] = $9; $13 = HEAP32[($12 + 220 | 0) >> 2] | 0; HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 1 | 0)) { break label$1 } HEAP32[($12 + 164 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($12 + 164 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 176 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 164 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__btRandInt2_28int_29($13 | 0, (HEAP32[($12 + 164 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; $50 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 156 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 164 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $50), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $55 = HEAP32[($12 + 160 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 156 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $55), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($12 + 164 | 0) >> 2] = (HEAP32[($12 + 164 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } label$4 : { if (!((HEAP32[($12 + 216 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } HEAP32[($12 + 152 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($12 + 152 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 152 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__btRandInt2_28int_29($13 | 0, (HEAP32[($12 + 152 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; $92 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 144 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 152 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $92), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $97 = HEAP32[($12 + 148 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 144 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $97), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($12 + 152 | 0) >> 2] = (HEAP32[($12 + 152 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } HEAP32[($12 + 140 | 0) >> 2] = 0; label$7 : { label$8 : while (1) { if (!((HEAP32[($12 + 140 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 140 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__btRandInt2_28int_29($13 | 0, (HEAP32[($12 + 140 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; $126 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 132 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 140 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $126), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $131 = HEAP32[($12 + 136 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 132 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $131), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($12 + 140 | 0) >> 2] = (HEAP32[($12 + 140 | 0) >> 2] | 0) + 1 | 0; continue label$8; }; } } } HEAP32[($12 + 128 | 0) >> 2] = 0; label$9 : { label$10 : while (1) { if (!((HEAP32[($12 + 128 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 44 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$9 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 44 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 128 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; label$11 : { if (!((HEAP32[($12 + 216 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($12 + 124 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$11 } (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 124 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 124 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 124 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 120 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 120 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); } HEAP32[($12 + 128 | 0) >> 2] = (HEAP32[($12 + 128 | 0) >> 2] | 0) + 1 | 0; continue label$10; }; } label$12 : { if (!((HEAP32[($12 + 216 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$12 } HEAP32[($12 + 116 | 0) >> 2] = 0; label$13 : { label$14 : while (1) { if (!((HEAP32[($12 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 192 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$13 } label$15 : { if (!((btTypedConstraint__isEnabled_28_29_20const(HEAP32[((HEAP32[($12 + 196 | 0) >> 2] | 0) + ((HEAP32[($12 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$15 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($13 | 0, btTypedConstraint__getRigidBodyA_28_29(HEAP32[((HEAP32[($12 + 196 | 0) >> 2] | 0) + ((HEAP32[($12 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($13 | 0, btTypedConstraint__getRigidBodyB_28_29(HEAP32[((HEAP32[($12 + 196 | 0) >> 2] | 0) + ((HEAP32[($12 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[($12 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; $243 = HEAP32[((HEAP32[($12 + 196 | 0) >> 2] | 0) + ((HEAP32[($12 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$243 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($243, HEAP32[($12 + 104 | 0) >> 2] | 0, HEAP32[($12 + 100 | 0) >> 2] | 0, Math_fround(HEAPF32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2])); } HEAP32[($12 + 116 | 0) >> 2] = (HEAP32[($12 + 116 | 0) >> 2] | 0) + 1 | 0; continue label$14; }; } label$16 : { label$17 : { if (!((HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 512 | 0)) { break label$17 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; HEAP32[($12 + 92 | 0) >> 2] = (HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0 ? 2 : 1; HEAP32[($12 + 88 | 0) >> 2] = 0; label$18 : { label$19 : while (1) { if (!((HEAP32[($12 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$18 } HEAPF32[($12 + 84 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 24 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 88 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowLowerLimit_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 80 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 80 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 80 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 76 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 76 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); HEAPF32[($12 + 84 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($12 + 80 | 0) >> 2] | 0) + 100 | 0) >> 2]); HEAP8[($12 + 75 | 0) >> 0] = 1; label$20 : { if (!((HEAPU8[($12 + 75 | 0) >> 0] | 0) & 1 | 0)) { break label$20 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 64 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, Math_imul(HEAP32[($12 + 88 | 0) >> 2] | 0, HEAP32[($12 + 92 | 0) >> 2] | 0) | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; label$21 : { if (!(Math_fround(HEAPF32[($12 + 84 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$21 } HEAPF32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2]))); HEAPF32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])); (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 68 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 64 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); } label$22 : { if (!((HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { break label$22 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 64 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, Math_imul(HEAP32[($12 + 88 | 0) >> 2] | 0, HEAP32[($12 + 92 | 0) >> 2] | 0) + 1 | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; label$23 : { if (!(Math_fround(HEAPF32[($12 + 84 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$23 } HEAPF32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2]))); HEAPF32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])); (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 60 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 56 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 56 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); } } } HEAP32[($12 + 88 | 0) >> 2] = (HEAP32[($12 + 88 | 0) >> 2] | 0) + 1 | 0; continue label$19; }; } break label$16; } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; HEAP32[($12 + 48 | 0) >> 2] = 0; label$24 : { label$25 : while (1) { if (!((HEAP32[($12 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$24 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 24 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 48 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowLowerLimit_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 44 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 44 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 40 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 40 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); HEAP32[($12 + 48 | 0) >> 2] = (HEAP32[($12 + 48 | 0) >> 2] | 0) + 1 | 0; continue label$25; }; } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; HEAP32[($12 + 48 | 0) >> 2] = 0; label$26 : { label$27 : while (1) { if (!((HEAP32[($12 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$26 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 64 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 48 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(HEAPF32[((btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 24 | 0 | 0, HEAP32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) | 0) + 100 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; label$28 : { if (!(Math_fround(HEAPF32[($12 + 28 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$28 } HEAPF32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 28 | 0) >> 2]))); HEAPF32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 28 | 0) >> 2])); (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 32 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 24 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); } HEAP32[($12 + 48 | 0) >> 2] = (HEAP32[($12 + 48 | 0) >> 2] | 0) + 1 | 0; continue label$27; }; } } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 84 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; HEAP32[($12 + 16 | 0) >> 2] = 0; label$29 : { label$30 : while (1) { if (!((HEAP32[($12 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$29 } (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 84 | 0 | 0, HEAP32[($12 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(HEAPF32[((btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 24 | 0 | 0, HEAP32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) | 0) + 100 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; label$31 : { if (!(Math_fround(HEAPF32[($12 + 8 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$31 } HEAPF32[($12 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 8 | 0) >> 2])); label$32 : { if (!(Math_fround(HEAPF32[($12 + 4 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2]) & 1 | 0)) { break label$32 } HEAPF32[($12 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2]); } HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 4 | 0) >> 2])); HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(HEAPF32[($12 + 4 | 0) >> 2]); (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 12 | 0) >> 2] | 0 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[$12 >> 2]) * Math_fround(HEAPF32[$12 >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); } HEAP32[($12 + 16 | 0) >> 2] = (HEAP32[($12 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$30; }; } } $570 = Math_fround(HEAPF32[($12 + 180 | 0) >> 2]); __stack_pointer = $12 + 224 | 0; return Math_fround($570); } function btSequentialImpulseConstraintSolver__solveGroupCacheFriendlySplitImpulseIterations_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $11 = __stack_pointer - 64 | 0; __stack_pointer = $11; HEAP32[($11 + 60 | 0) >> 2] = $0; HEAP32[($11 + 56 | 0) >> 2] = $1; HEAP32[($11 + 52 | 0) >> 2] = $2; HEAP32[($11 + 48 | 0) >> 2] = $3; HEAP32[($11 + 44 | 0) >> 2] = $4; HEAP32[($11 + 40 | 0) >> 2] = $5; HEAP32[($11 + 36 | 0) >> 2] = $6; HEAP32[($11 + 32 | 0) >> 2] = $7; HEAP32[($11 + 28 | 0) >> 2] = $8; $12 = HEAP32[($11 + 60 | 0) >> 2] | 0; label$1 : { if (!(HEAP32[((HEAP32[($11 + 32 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { break label$1 } HEAP32[($11 + 24 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($11 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($11 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAPF32[($11 + 20 | 0) >> 2] = Math_fround(0 | 0); (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($12 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($11 + 12 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($12 + 24 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($12 + 104 | 0 | 0, HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSplitPenetrationImpulse_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($12 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11 + 8 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($11 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($11 + 4 | 0) >> 2]) * Math_fround(HEAPF32[($11 + 4 | 0) >> 2])) + Math_fround(HEAPF32[($11 + 20 | 0) >> 2])); HEAP32[($11 + 12 | 0) >> 2] = (HEAP32[($11 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } label$6 : { label$7 : { if (Math_fround(HEAPF32[($11 + 20 | 0) >> 2]) <= Math_fround(HEAPF32[((HEAP32[($11 + 32 | 0) >> 2] | 0) + 92 | 0) >> 2]) & 1 | 0) { break label$7 } if (!((HEAP32[($11 + 24 | 0) >> 2] | 0 | 0) >= ((HEAP32[((HEAP32[($11 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { break label$6 } } break label$2; } HEAP32[($11 + 24 | 0) >> 2] = (HEAP32[($11 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } } __stack_pointer = $11 + 64 | 0; return; } function btSequentialImpulseConstraintSolver__resolveSplitPenetrationImpulse_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $12 = Math_fround(0); $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $12 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0](HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0)); __stack_pointer = $6 + 16 | 0; return Math_fround($12); } function btSequentialImpulseConstraintSolver__solveGroupCacheFriendlyIterations_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; var $11 = 0, $12 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $11 = __stack_pointer - 48 | 0; __stack_pointer = $11; HEAP32[($11 + 44 | 0) >> 2] = $0; HEAP32[($11 + 40 | 0) >> 2] = $1; HEAP32[($11 + 36 | 0) >> 2] = $2; HEAP32[($11 + 32 | 0) >> 2] = $3; HEAP32[($11 + 28 | 0) >> 2] = $4; HEAP32[($11 + 24 | 0) >> 2] = $5; HEAP32[($11 + 20 | 0) >> 2] = $6; HEAP32[($11 + 16 | 0) >> 2] = $7; HEAP32[($11 + 12 | 0) >> 2] = $8; $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($11 + 11 | 0 | 0, 69692 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($12, HEAP32[($11 + 40 | 0) >> 2] | 0, HEAP32[($11 + 36 | 0) >> 2] | 0, HEAP32[($11 + 32 | 0) >> 2] | 0, HEAP32[($11 + 28 | 0) >> 2] | 0, HEAP32[($11 + 24 | 0) >> 2] | 0, HEAP32[($11 + 20 | 0) >> 2] | 0, HEAP32[($11 + 16 | 0) >> 2] | 0, HEAP32[($11 + 12 | 0) >> 2] | 0); label$1 : { label$2 : { if (!((HEAP32[($12 + 184 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($11 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } $36 = HEAP32[($12 + 184 | 0) >> 2] | 0; break label$1; } $36 = HEAP32[((HEAP32[($11 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; } HEAP32[($11 + 4 | 0) >> 2] = $36; HEAP32[$11 >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[$11 >> 2] | 0 | 0) < (HEAP32[($11 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($12, HEAP32[$11 >> 2] | 0, HEAP32[($11 + 40 | 0) >> 2] | 0, HEAP32[($11 + 36 | 0) >> 2] | 0, HEAP32[($11 + 32 | 0) >> 2] | 0, HEAP32[($11 + 28 | 0) >> 2] | 0, HEAP32[($11 + 24 | 0) >> 2] | 0, HEAP32[($11 + 20 | 0) >> 2] | 0, HEAP32[($11 + 16 | 0) >> 2] | 0, HEAP32[($11 + 12 | 0) >> 2] | 0))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; label$5 : { label$6 : { if (Math_fround(HEAPF32[($12 + 228 | 0) >> 2]) <= Math_fround(HEAPF32[((HEAP32[($11 + 16 | 0) >> 2] | 0) + 92 | 0) >> 2]) & 1 | 0) { break label$6 } if (!((HEAP32[$11 >> 2] | 0 | 0) >= ((HEAP32[($11 + 4 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { break label$5 } } break label$3; } HEAP32[$11 >> 2] = (HEAP32[$11 >> 2] | 0) + 1 | 0; continue label$4; }; } CProfileSample___CProfileSample_28_29($11 + 11 | 0 | 0) | 0; __stack_pointer = $11 + 48 | 0; return Math_fround(Math_fround(0 | 0)); } function btSequentialImpulseConstraintSolver__solveGroupCacheFriendlyFinish_28btCollisionObject___2c_20int_2c_20btContactSolverInfo_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $48 = Math_fround(0), $61 = Math_fround(0), $278 = 0, $301 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 288 | 0; __stack_pointer = $6; HEAP32[($6 + 284 | 0) >> 2] = $0; HEAP32[($6 + 280 | 0) >> 2] = $1; HEAP32[($6 + 276 | 0) >> 2] = $2; HEAP32[($6 + 272 | 0) >> 2] = $3; $7 = HEAP32[($6 + 284 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($7 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 4 | 0)) { break label$1 } HEAP32[($6 + 260 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($6 + 260 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 252 | 0) >> 2] = HEAP32[((HEAP32[($6 + 256 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0; label$4 : { if ((HEAP32[($6 + 252 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$4 } __assert_fail(67541 | 0, 72591 | 0, 1882 | 0, 77922 | 0); wasm2js_trap(); } HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 132 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 256 | 0) >> 2] | 0) + 100 | 0) >> 2]); $48 = Math_fround(HEAPF32[((btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($7 + 64 | 0 | 0, HEAP32[((HEAP32[($6 + 256 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) | 0) + 100 | 0) >> 2]); HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 136 | 0) >> 2] = $48; label$5 : { if (!((HEAP32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { break label$5 } $61 = Math_fround(HEAPF32[((btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($7 + 64 | 0 | 0, (HEAP32[((HEAP32[($6 + 256 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0) + 1 | 0 | 0) | 0) + 100 | 0) >> 2]); HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 140 | 0) >> 2] = $61; } HEAP32[($6 + 260 | 0) >> 2] = (HEAP32[($6 + 260 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($7 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 260 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($6 + 260 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($7 + 44 | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; HEAP32[($6 + 244 | 0) >> 2] = HEAP32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btTypedConstraint__getJointFeedback_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; label$8 : { if (!((HEAP32[($6 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } operator__28btVector3_20const__2c_20float_20const__29($6 + 192 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 208 | 0 | 0, $6 + 192 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29_1($6 + 224 | 0 | 0, $6 + 208 | 0 | 0, (HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0 | 0); btVector3__operator___28btVector3_20const__29_1(HEAP32[($6 + 240 | 0) >> 2] | 0 | 0, $6 + 224 | 0 | 0) | 0; operator__28btVector3_20const__2c_20float_20const__29($6 + 144 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 48 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 160 | 0 | 0, $6 + 144 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29_1($6 + 176 | 0 | 0, $6 + 160 | 0 | 0, (HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0 | 0); btVector3__operator___28btVector3_20const__29_1((HEAP32[($6 + 240 | 0) >> 2] | 0) + 32 | 0 | 0, $6 + 176 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 96 | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 112 | 0 | 0, $6 + 96 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29_1($6 + 128 | 0 | 0, $6 + 112 | 0 | 0, (HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0 | 0); btVector3__operator___28btVector3_20const__29_1((HEAP32[($6 + 240 | 0) >> 2] | 0) + 16 | 0 | 0, $6 + 128 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 48 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 32 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 64 | 0 | 0, $6 + 48 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29_1($6 + 80 | 0 | 0, $6 + 64 | 0 | 0, (HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0 | 0); btVector3__operator___28btVector3_20const__29_1((HEAP32[($6 + 240 | 0) >> 2] | 0) + 48 | 0 | 0, $6 + 80 | 0 | 0) | 0; } btTypedConstraint__internalSetAppliedImpulse_28float_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0) >> 2]))); label$9 : { if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0) >> 2])))) >= Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0)) & 1 | 0)) { break label$9 } btTypedConstraint__setEnabled_28bool_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); } HEAP32[($6 + 260 | 0) >> 2] = (HEAP32[($6 + 260 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } HEAP32[($6 + 264 | 0) >> 2] = 0; label$10 : { label$11 : while (1) { if (!((HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverBody___size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$10 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; label$12 : { if (!((HEAP32[($6 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$12 } label$13 : { label$14 : { if (!(HEAP32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { break label$14 } btSolverBody__writebackVelocityAndTransform_28float_2c_20float_29(btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 60 | 0) >> 2]))); break label$13; } btSolverBody__writebackVelocity_28_29(btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0); } $278 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 28 | 0 | 0, (btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 176 | 0 | 0, (btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 208 | 0 | 0); btRigidBody__setLinearVelocity_28btVector3_20const__29($278 | 0, $6 + 28 | 0 | 0); $301 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 12 | 0 | 0, (btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 192 | 0 | 0, (btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 224 | 0 | 0); btRigidBody__setAngularVelocity_28btVector3_20const__29($301 | 0, $6 + 12 | 0 | 0); label$15 : { if (!(HEAP32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { break label$15 } btCollisionObject__setWorldTransform_28btTransform_20const__29(HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0); } btCollisionObject__setCompanionId_28int_29(HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0 | 0, -1 | 0); } HEAP32[($6 + 264 | 0) >> 2] = (HEAP32[($6 + 264 | 0) >> 2] | 0) + 1 | 0; continue label$11; }; } btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($7 + 24 | 0 | 0, 0 | 0); btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($7 + 44 | 0 | 0, 0 | 0); btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($7 + 64 | 0 | 0, 0 | 0); btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($7 + 84 | 0 | 0, 0 | 0); btAlignedObjectArray_btSolverBody___resizeNoInitialize_28int_29($7 + 4 | 0 | 0, 0 | 0); __stack_pointer = $6 + 288 | 0; return Math_fround(Math_fround(0 | 0)); } function btTypedConstraint__setEnabled_28bool_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP8[($4 + 11 | 0) >> 0] = $1; HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; return; } function btSolverBody__writebackVelocityAndTransform_28float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $6 = 0, $5 = 0; $5 = __stack_pointer - 96 | 0; __stack_pointer = $5; HEAP32[($5 + 92 | 0) >> 2] = $0; HEAPF32[($5 + 88 | 0) >> 2] = $1; HEAPF32[($5 + 84 | 0) >> 2] = $2; $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($6 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } btVector3__operator___28btVector3_20const__29_1($6 + 176 | 0 | 0, $6 + 64 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($6 + 192 | 0 | 0, $6 + 80 | 0 | 0) | 0; btTransform__btTransform_28_29($5 + 20 | 0 | 0) | 0; label$2 : { label$3 : { if (Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { break label$3 } if (Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 4 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { break label$3 } if (Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { break label$3 } if (Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 160 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { break label$3 } if (Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 160 | 0 | 0) | 0) + 4 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { break label$3 } if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 160 | 0 | 0) | 0) + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$2 } } operator__28btVector3_20const__2c_20float_20const__29($5 + 4 | 0 | 0, $6 + 160 | 0 | 0, $5 + 84 | 0 | 0); btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29($6 | 0, $6 + 144 | 0 | 0, $5 + 4 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 88 | 0) >> 2])), $5 + 20 | 0 | 0); btTransform__operator__28btTransform_20const__29($6 | 0, $5 + 20 | 0 | 0) | 0; } } __stack_pointer = $5 + 96 | 0; return; } function btSolverBody__writebackVelocity_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } btVector3__operator___28btVector3_20const__29_1($4 + 176 | 0 | 0, $4 + 64 | 0 | 0) | 0; btVector3__operator___28btVector3_20const__29_1($4 + 192 | 0 | 0, $4 + 80 | 0 | 0) | 0; } __stack_pointer = $3 + 16 | 0; return; } function btCollisionObject__setWorldTransform_28btTransform_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; btTransform__operator__28btTransform_20const__29($5 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btSolverBody___resizeNoInitialize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btSolverBody___reserve_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return; } function btSequentialImpulseConstraintSolver__solveGroup_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__2c_20btDispatcher__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; $7 = $7 | 0; $8 = $8 | 0; $9 = $9 | 0; var $12 = 0, $13 = 0; $12 = __stack_pointer - 48 | 0; __stack_pointer = $12; HEAP32[($12 + 44 | 0) >> 2] = $0; HEAP32[($12 + 40 | 0) >> 2] = $1; HEAP32[($12 + 36 | 0) >> 2] = $2; HEAP32[($12 + 32 | 0) >> 2] = $3; HEAP32[($12 + 28 | 0) >> 2] = $4; HEAP32[($12 + 24 | 0) >> 2] = $5; HEAP32[($12 + 20 | 0) >> 2] = $6; HEAP32[($12 + 16 | 0) >> 2] = $7; HEAP32[($12 + 12 | 0) >> 2] = $8; HEAP32[($12 + 8 | 0) >> 2] = $9; $13 = HEAP32[($12 + 44 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($12 + 7 | 0 | 0, 71314 | 0) | 0; Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($13, HEAP32[($12 + 40 | 0) >> 2] | 0, HEAP32[($12 + 36 | 0) >> 2] | 0, HEAP32[($12 + 32 | 0) >> 2] | 0, HEAP32[($12 + 28 | 0) >> 2] | 0, HEAP32[($12 + 24 | 0) >> 2] | 0, HEAP32[($12 + 20 | 0) >> 2] | 0, HEAP32[($12 + 16 | 0) >> 2] | 0, HEAP32[($12 + 12 | 0) >> 2] | 0)); Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($13, HEAP32[($12 + 40 | 0) >> 2] | 0, HEAP32[($12 + 36 | 0) >> 2] | 0, HEAP32[($12 + 32 | 0) >> 2] | 0, HEAP32[($12 + 28 | 0) >> 2] | 0, HEAP32[($12 + 24 | 0) >> 2] | 0, HEAP32[($12 + 20 | 0) >> 2] | 0, HEAP32[($12 + 16 | 0) >> 2] | 0, HEAP32[($12 + 12 | 0) >> 2] | 0)); Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($13, HEAP32[($12 + 40 | 0) >> 2] | 0, HEAP32[($12 + 36 | 0) >> 2] | 0, HEAP32[($12 + 16 | 0) >> 2] | 0)); CProfileSample___CProfileSample_28_29($12 + 7 | 0 | 0) | 0; __stack_pointer = $12 + 48 | 0; return Math_fround(Math_fround(0 | 0)); } function btSequentialImpulseConstraintSolver__reset_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] = 0; return; } function btConstraintSolver__prepareSolve_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btConstraintSolver__allSolved_28btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return; } function btSequentialImpulseConstraintSolver__getSolverType_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 1 | 0; } function btConstraintSolver___btConstraintSolver_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btAlignedAllocator_btSolverBody_2c_2016u___deallocate_28btSolverBody__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btSolverConstraint___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btSolverConstraint___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btSolverConstraint_2c_2016u___deallocate_28btSolverConstraint__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btSolverConstraint_2c_2016u___deallocate_28btSolverConstraint__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___deallocate_28btTypedConstraint__btConstraintInfo1__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___deallocate_28btTypedConstraint__btConstraintInfo1__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btSolverConstraint___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btSolverConstraint_2c_2016u___allocate_28int_2c_20btSolverConstraint_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btSolverConstraint___copy_28int_2c_20int_2c_20btSolverConstraint__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } __memcpy(btSolverConstraint__operator_20new_28unsigned_20long_2c_20void__29(152 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 152) | 0 | 0) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 152) | 0 | 0, 152 | 0) | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function btAlignedAllocator_btSolverConstraint_2c_2016u___allocate_28int_2c_20btSolverConstraint_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 152) | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btSolverConstraint__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function btAlignedAllocator_btSolverBody_2c_2016u___allocate_28int_2c_20btSolverBody_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 244) | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___allocate_28int_2c_20btTypedConstraint__btConstraintInfo1_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___copy_28int_2c_20int_2c_20btTypedConstraint__btConstraintInfo1__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $85 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$0 >> 2] = $85; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___allocate_28int_2c_20btTypedConstraint__btConstraintInfo1_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function _GLOBAL__sub_I_btSequentialImpulseConstraintSolver_cpp() { __cxx_global_var_init_72(); return; } function __cxx_global_var_init_73() { btInfMaskConverter__btInfMaskConverter_28int_29(115436 | 0, 2139095040 | 0) | 0; return; } function btTypedConstraint__getFixedBody_28_29() { var $2 = 0, $32 = 0; $2 = __stack_pointer - 64 | 0; __stack_pointer = $2; label$1 : { if (!(((HEAPU8[(0 + 116116 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { break label$1 } HEAPF32[($2 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 36 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($2 + 48 | 0 | 0, $2 + 44 | 0 | 0, $2 + 40 | 0 | 0, $2 + 36 | 0 | 0) | 0; $32 = 0; btRigidBody__btRigidBody_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29(115440 | 0, Math_fround(Math_fround($32 | 0)), $32 | 0, $32 | 0, $2 + 48 | 0 | 0) | 0; __cxa_atexit(1099 | 0, 0 | 0, 65536 | 0) | 0; HEAP8[(0 + 116116 | 0) >> 0] = 1; } HEAPF32[($2 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($2 + 20 | 0 | 0, $2 + 16 | 0 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0) | 0; btRigidBody__setMassProps_28float_2c_20btVector3_20const__29(115440 | 0, Math_fround(Math_fround(0 | 0)), $2 + 20 | 0 | 0); __stack_pointer = $2 + 64 | 0; return 115440 | 0; } function __cxx_global_array_dtor_1($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btRigidBody___btRigidBody_28_29(115440 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function btTypedConstraint__btTypedConstraint_28btTypedConstraintType_2c_20btRigidBody__2c_20btRigidBody__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $7 = 0, $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btTypedObject__btTypedObject_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; HEAP32[$7 >> 2] = 102548 + 8 | 0; HEAP32[($7 + 8 | 0) >> 2] = -1; HEAP32[($7 + 12 | 0) >> 2] = -1; HEAPF32[($7 + 16 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); HEAP8[($7 + 20 | 0) >> 0] = 1; HEAP8[($7 + 21 | 0) >> 0] = 0; HEAP32[($7 + 24 | 0) >> 2] = -1; HEAP32[($7 + 28 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[($7 + 32 | 0) >> 2] = HEAP32[$6 >> 2] | 0; HEAPF32[($7 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 40 | 0) >> 2] = Math_fround(.05000000074505806); HEAP32[($7 + 44 | 0) >> 2] = 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0; $8 = __stack_pointer - 48 | 0; HEAP32[($8 + 40 | 0) >> 2] = $0; HEAPF32[($8 + 36 | 0) >> 2] = $1; HEAPF32[($8 + 32 | 0) >> 2] = $2; HEAPF32[($8 + 28 | 0) >> 2] = $3; HEAPF32[($8 + 24 | 0) >> 2] = $4; HEAPF32[($8 + 20 | 0) >> 2] = $5; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { break label$2 } HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(1.0); break label$1; } label$3 : { if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(0 | 0); break label$1; } HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(1.0); HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 24 | 0) >> 2]) / Math_fround(HEAPF32[($8 + 20 | 0) >> 2])); label$4 : { label$5 : { if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { break label$5 } label$6 : { label$7 : { if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) >= Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) & 1 | 0)) { break label$7 } if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) < Math_fround(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 12 | 0) >> 2])) & 1 | 0)) { break label$7 } HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 36 | 0) >> 2])) / Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); break label$6; } label$8 : { label$9 : { if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) & 1 | 0)) { break label$9 } HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(0 | 0); break label$8; } HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(1.0); } } break label$4; } label$10 : { label$11 : { if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$11 } label$12 : { label$13 : { if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { break label$13 } if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) > Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 12 | 0) >> 2])) & 1 | 0)) { break label$13 } HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 36 | 0) >> 2])) / Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); break label$12; } label$14 : { label$15 : { if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { break label$15 } HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(0 | 0); break label$14; } HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(1.0); } } break label$10; } HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(0 | 0); } } HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(HEAPF32[($8 + 16 | 0) >> 2]); } return Math_fround(Math_fround(HEAPF32[($8 + 44 | 0) >> 2])); } function btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $8 = 0, $14 = 0, $20 = 0, $24 = 0, $38 = 0, $12 = 0, $18 = 0, $28 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; $8 = HEAP32[($5 + 20 | 0) >> 2] | 0; $12 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 28 | 0) >> 2] | 0) | 0; HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] = $12; $14 = HEAP32[($5 + 20 | 0) >> 2] | 0; $18 = FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($14, HEAP32[($6 + 32 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $18; $20 = HEAP32[($5 + 20 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$20 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($20, $6) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $24 = HEAP32[($5 + 20 | 0) >> 2] | 0; $28 = FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($24, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $28; label$1 : { if (!((HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $38 = HEAP32[($5 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$38 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($38, HEAP32[($5 + 12 | 0) >> 2] | 0); } HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAPU8[($6 + 21 | 0) >> 0] | 0) & 1 | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] = Math_fround(HEAPF32[($6 + 16 | 0) >> 2]); HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAPU8[($6 + 20 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6 + 12 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = Math_fround(HEAPF32[($6 + 36 | 0) >> 2]); HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] = Math_fround(HEAPF32[($6 + 40 | 0) >> 2]); HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; HEAP32[($5 + 8 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (btRigidBody__getNumConstraintRefs_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$2 } label$4 : { if (!((btRigidBody__getConstraintRef_28int_29(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == ($6 | 0) & 1 | 0)) { break label$4 } HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; } HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } HEAP32[($5 + 8 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (btRigidBody__getNumConstraintRefs_28_29_20const(HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } label$7 : { if (!((btRigidBody__getConstraintRef_28int_29(HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == ($6 | 0) & 1 | 0)) { break label$7 } HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; } HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } __stack_pointer = $5 + 32 | 0; return 83291 | 0; } function btRigidBody__getNumConstraintRefs_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 544 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btRigidBody__getConstraintRef_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $10 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $10 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 544 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btTypedConstraint____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btRigidBody___btRigidBody_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $17 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 102668 + 8 | 0; label$1 : { if (!(btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 + 544 | 0 | 0) | 0)) { break label$1 } __assert_fail(86019 | 0, 78085 | 0, 189 | 0, 66084 | 0); wasm2js_trap(); } btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($4 + 544 | 0 | 0) | 0; btCollisionObject___btCollisionObject_28_29($4 | 0) | 0; $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $17 | 0; } function btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btTypedConstraint____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAngularLimit__set_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); $3 = Math_fround($3); $4 = Math_fround($4); $5 = Math_fround($5); var $8 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAPF32[($8 + 24 | 0) >> 2] = $1; HEAPF32[($8 + 20 | 0) >> 2] = $2; HEAPF32[($8 + 16 | 0) >> 2] = $3; HEAPF32[($8 + 12 | 0) >> 2] = $4; HEAPF32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; HEAPF32[($9 + 4 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 24 | 0) >> 2])) / Math_fround(2.0)); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 24 | 0) >> 2]) + Math_fround(HEAPF32[($9 + 4 | 0) >> 2])))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; HEAPF32[($9 + 8 | 0) >> 2] = Math_fround(HEAPF32[($8 + 16 | 0) >> 2]); HEAPF32[($9 + 12 | 0) >> 2] = Math_fround(HEAPF32[($8 + 12 | 0) >> 2]); HEAPF32[($9 + 16 | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); __stack_pointer = $8 + 32 | 0; return; } function btAngularLimit__test_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAP8[($5 + 28 | 0) >> 0] = 0; label$1 : { if (!(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) - Math_fround(HEAPF32[$5 >> 2])))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$2 : { label$3 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($5 + 4 | 0) >> 2])) & 1 | 0)) { break label$3 } HEAP8[($5 + 28 | 0) >> 0] = 1; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(1.0); break label$2; } label$4 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { break label$4 } HEAP8[($5 + 28 | 0) >> 0] = 1; HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 4 | 0) >> 2])); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(-1.0); } } } __stack_pointer = $4 + 16 | 0; return; } function btAngularLimit__fit_28float__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $28 = Math_fround(0), $30 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) - Math_fround(HEAPF32[$5 >> 2])))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$2 : { if ((btEqual_28float_2c_20float_29(Math_fround(Math_fround(HEAPF32[($4 + 4 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))) | 0) & 1 | 0) { break label$2 } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$4 } $28 = Math_fround(btAngularLimit__getHigh_28_29_20const($5 | 0)); HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = $28; break label$3; } $30 = Math_fround(btAngularLimit__getLow_28_29_20const($5 | 0)); HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = $30; } } } __stack_pointer = $4 + 16 | 0; return; } function btEqual_28float_2c_20float_29($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $4 = 0, $11 = 0; $4 = __stack_pointer - 16 | 0; HEAPF32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $11 = 0; label$1 : { if (!(Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) <= Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0)) { break label$1 } $11 = Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($4 + 8 | 0) >> 2])) ^ -1 | 0; } return $11 & 1 | 0 | 0; } function btAngularLimit__getHigh_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $8 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $8 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[$4 >> 2]) + Math_fround(HEAPF32[($4 + 4 | 0) >> 2]))))); __stack_pointer = $3 + 16 | 0; return Math_fround($8); } function btAngularLimit__getLow_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $8 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; $8 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[$4 >> 2]) - Math_fround(HEAPF32[($4 + 4 | 0) >> 2]))))); __stack_pointer = $3 + 16 | 0; return Math_fround($8); } function btTypedConstraint___btTypedConstraint_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btTypedConstraint__buildJacobian_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btTypedConstraint__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 52 | 0; } function btAlignedObjectArray_btTypedConstraint____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btTypedConstraint____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btTypedConstraint____deallocate_28_29($4 | 0); btAlignedObjectArray_btTypedConstraint____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btTypedConstraint____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btTypedConstraint____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btTypedConstraint__2c_2016u___deallocate_28btTypedConstraint___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btTypedConstraint____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btTypedConstraint__2c_2016u___deallocate_28btTypedConstraint___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function _GLOBAL__sub_I_btTypedConstraint_cpp() { __cxx_global_var_init_73(); return; } function __cxx_global_var_init_74() { btInfMaskConverter__btInfMaskConverter_28int_29(116120 | 0, 2139095040 | 0) | 0; return; } function btRigidBody__btRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btCollisionObject__btCollisionObject_28_29($5 | 0) | 0; HEAP32[$5 >> 2] = 102668 + 8 | 0; btMatrix3x3__btMatrix3x3_28_29($5 + 324 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 372 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 388 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 408 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 424 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 440 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 456 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 472 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 488 | 0 | 0) | 0; btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($5 + 544 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 572 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 588 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 604 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 620 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 636 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 652 | 0 | 0) | 0; btRigidBody__setupRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return $5 | 0; } function btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btTypedConstraint__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btTypedConstraint____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btRigidBody__setupRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $168 = 0, $229 = 0, $249 = 0, $251 = 0, $765 = 0, $775 = 0; $4 = __stack_pointer - 144 | 0; __stack_pointer = $4; HEAP32[($4 + 140 | 0) >> 2] = $0; HEAP32[($4 + 136 | 0) >> 2] = $1; $5 = HEAP32[($4 + 140 | 0) >> 2] | 0; HEAP32[($5 + 252 | 0) >> 2] = 2; HEAPF32[($4 + 132 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 128 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 124 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 372 | 0 | 0, $4 + 132 | 0 | 0, $4 + 128 | 0 | 0, $4 + 124 | 0 | 0); HEAPF32[($4 + 120 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 116 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 112 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 388 | 0 | 0, $4 + 120 | 0 | 0, $4 + 116 | 0 | 0, $4 + 112 | 0 | 0); HEAPF32[($4 + 108 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 104 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 100 | 0) >> 2] = Math_fround(1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 604 | 0 | 0, $4 + 108 | 0 | 0, $4 + 104 | 0 | 0, $4 + 100 | 0 | 0); HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 92 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 88 | 0) >> 2] = Math_fround(1.0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 408 | 0 | 0, $4 + 96 | 0 | 0, $4 + 92 | 0 | 0, $4 + 88 | 0 | 0); HEAPF32[($4 + 84 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 80 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 76 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 424 | 0 | 0, $4 + 84 | 0 | 0, $4 + 80 | 0 | 0, $4 + 76 | 0 | 0); HEAPF32[($4 + 72 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 68 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 64 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 440 | 0 | 0, $4 + 72 | 0 | 0, $4 + 68 | 0 | 0, $4 + 64 | 0 | 0); HEAPF32[($4 + 60 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 472 | 0 | 0, $4 + 60 | 0 | 0, $4 + 56 | 0 | 0, $4 + 52 | 0 | 0); HEAPF32[($4 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 40 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 488 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0, $4 + 40 | 0 | 0); btRigidBody__setDamping_28float_2c_20float_29($5 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 92 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 96 | 0) >> 2]))); HEAPF32[($5 + 532 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 116 | 0) >> 2]); HEAPF32[($5 + 536 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 120 | 0) >> 2]); HEAP32[($5 + 540 | 0) >> 2] = HEAP32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; HEAP32[($5 + 668 | 0) >> 2] = 0; HEAP32[($5 + 672 | 0) >> 2] = 0; HEAP8[($5 + 512 | 0) >> 0] = (HEAPU8[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 124 | 0) >> 0] | 0) & 1 | 0; HEAPF32[($5 + 516 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 128 | 0) >> 2]); HEAPF32[($5 + 520 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 132 | 0) >> 2]); HEAPF32[($5 + 524 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 136 | 0) >> 2]); HEAPF32[($5 + 528 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 140 | 0) >> 2]); label$1 : { label$2 : { if (!((HEAP32[($5 + 540 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $168 = HEAP32[($5 + 540 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$168 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($168, $5 + 4 | 0); break label$1; } btTransform__operator__28btTransform_20const__29($5 + 4 | 0 | 0, (HEAP32[($4 + 136 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; } btTransform__operator__28btTransform_20const__29($5 + 68 | 0 | 0, $5 + 4 | 0 | 0) | 0; HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 132 | 0 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0); HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 148 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0); HEAPF32[($5 + 228 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 100 | 0) >> 2]); HEAPF32[($5 + 236 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 104 | 0) >> 2]); HEAPF32[($5 + 240 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 108 | 0) >> 2]); HEAPF32[($5 + 232 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 112 | 0) >> 2]); FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($5, HEAP32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0); $229 = HEAP32[(0 + 116128 | 0) >> 2] | 0; HEAP32[(0 + 116128 | 0) >> 2] = $229 + 1 | 0; HEAP32[($5 + 568 | 0) >> 2] = $229; btRigidBody__setMassProps_28float_2c_20btVector3_20const__29($5 | 0, Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 136 | 0) >> 2] | 0) >> 2])), (HEAP32[($4 + 136 | 0) >> 2] | 0) + 76 | 0 | 0); btRigidBody__updateInertiaTensor_28_29($5 | 0); HEAP32[($5 + 564 | 0) >> 2] = 8; btVector3__setZero_28_29($5 + 572 | 0 | 0); btVector3__setZero_28_29($5 + 588 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($4 | 0, $5 + 404 | 0 | 0, $5 + 408 | 0 | 0); $249 = $5 + 620 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[$4 >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 4 | 0) >> 2] | 0; $765 = i64toi32_i32$0; i64toi32_i32$0 = $249; HEAP32[i64toi32_i32$0 >> 2] = $765; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $251 = 8; i64toi32_i32$2 = $4 + $251 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $775 = i64toi32_i32$1; i64toi32_i32$1 = $249 + $251 | 0; HEAP32[i64toi32_i32$1 >> 2] = $775; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__setZero_28_29($5 + 636 | 0 | 0); btVector3__setZero_28_29($5 + 652 | 0 | 0); __stack_pointer = $4 + 144 | 0; return; } function btAlignedAllocator_btTypedConstraint__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btRigidBody__setDamping_28float_2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = Math_fround($2); var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAPF32[($5 + 24 | 0) >> 2] = $1; HEAPF32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(1.0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btClamped_float__28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 24 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 504 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(1.0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btClamped_float__28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_f32$0; __stack_pointer = $5 + 32 | 0; return; } function btRigidBody__setMassProps_28float_2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $33 = 0, $35 = 0, $56 = Math_fround(0), $73 = Math_fround(0), $90 = Math_fround(0), $111 = 0, $113 = 0, $191 = 0, $204 = 0, $42 = 0, $339 = 0, $352 = 0; $5 = __stack_pointer - 64 | 0; __stack_pointer = $5; HEAP32[($5 + 60 | 0) >> 2] = $0; HEAPF32[($5 + 56 | 0) >> 2] = $1; HEAP32[($5 + 52 | 0) >> 2] = $2; $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 204 | 0) >> 2] = HEAP32[($6 + 204 | 0) >> 2] | 0 | 1 | 0; HEAPF32[($6 + 404 | 0) >> 2] = Math_fround(0 | 0); break label$1; } HEAP32[($6 + 204 | 0) >> 2] = (HEAP32[($6 + 204 | 0) >> 2] | 0) & -2 | 0; HEAPF32[($6 + 404 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($5 + 56 | 0) >> 2])); } operator__28float_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $5 + 56 | 0 | 0, $6 + 440 | 0 | 0); $33 = $6 + 424 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 36 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 40 | 0) >> 2] | 0; $191 = i64toi32_i32$0; i64toi32_i32$0 = $33; HEAP32[i64toi32_i32$0 >> 2] = $191; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $35 = 8; i64toi32_i32$2 = ($5 + 36 | 0) + $35 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $204 = i64toi32_i32$1; i64toi32_i32$1 = $33 + $35 | 0; HEAP32[i64toi32_i32$1 >> 2] = $204; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $42 = $6 + 456 | 0; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$4 } $56 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2])); break label$3; } $56 = Math_fround(0 | 0); } HEAPF32[($5 + 32 | 0) >> 2] = $56; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$6 } $73 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2])); break label$5; } $73 = Math_fround(0 | 0); } HEAPF32[($5 + 28 | 0) >> 2] = $73; label$7 : { label$8 : { if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$8 } $90 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2])); break label$7; } $90 = Math_fround(0 | 0); } HEAPF32[($5 + 24 | 0) >> 2] = $90; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($42 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($5 + 8 | 0 | 0, $6 + 408 | 0 | 0, $6 + 404 | 0 | 0); $111 = $6 + 620 | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; $339 = i64toi32_i32$0; i64toi32_i32$0 = $111; HEAP32[i64toi32_i32$0 >> 2] = $339; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $113 = 8; i64toi32_i32$2 = ($5 + 8 | 0) + $113 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $352 = i64toi32_i32$1; i64toi32_i32$1 = $111 + $113 | 0; HEAP32[i64toi32_i32$1 >> 2] = $352; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 64 | 0; return; } function btRigidBody__updateInertiaTensor_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 160 | 0; __stack_pointer = $3; HEAP32[($3 + 156 | 0) >> 2] = $0; $4 = HEAP32[($3 + 156 | 0) >> 2] | 0; btMatrix3x3__scaled_28btVector3_20const__29_20const($3 + 60 | 0 | 0, btTransform__getBasis_28_29($4 + 4 | 0 | 0) | 0 | 0, $4 + 456 | 0 | 0); btMatrix3x3__transpose_28_29_20const($3 + 12 | 0 | 0, btTransform__getBasis_28_29($4 + 4 | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($3 + 108 | 0 | 0, $3 + 60 | 0 | 0, $3 + 12 | 0 | 0); btMatrix3x3__operator__28btMatrix3x3_20const__29($4 + 324 | 0 | 0, $3 + 108 | 0 | 0) | 0; __stack_pointer = $3 + 160 | 0; return; } function btRigidBody__btRigidBody_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $8 = 0, $7 = 0; $7 = __stack_pointer - 176 | 0; __stack_pointer = $7; HEAP32[($7 + 172 | 0) >> 2] = $0; HEAPF32[($7 + 168 | 0) >> 2] = $1; HEAP32[($7 + 164 | 0) >> 2] = $2; HEAP32[($7 + 160 | 0) >> 2] = $3; HEAP32[($7 + 156 | 0) >> 2] = $4; $8 = HEAP32[($7 + 172 | 0) >> 2] | 0; btCollisionObject__btCollisionObject_28_29($8 | 0) | 0; HEAP32[$8 >> 2] = 102668 + 8 | 0; btMatrix3x3__btMatrix3x3_28_29($8 + 324 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 372 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 388 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 408 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 424 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 440 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 456 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 472 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 488 | 0 | 0) | 0; btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($8 + 544 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 572 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 588 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 604 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 620 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 636 | 0 | 0) | 0; btVector3__btVector3_28_29($8 + 652 | 0 | 0) | 0; btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29($7 + 12 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 168 | 0) >> 2])), HEAP32[($7 + 164 | 0) >> 2] | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7 + 156 | 0) >> 2] | 0 | 0) | 0; btRigidBody__setupRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($8 | 0, $7 + 12 | 0 | 0); __stack_pointer = $7 + 176 | 0; return $8 | 0; } function float_20const__20btClamped_float__28float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $14 = 0, $23 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$2 } $14 = HEAP32[($5 + 8 | 0) >> 2] | 0; break label$1; } label$3 : { label$4 : { if (!(Math_fround(HEAPF32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { break label$4 } $23 = HEAP32[($5 + 4 | 0) >> 2] | 0; break label$3; } $23 = HEAP32[($5 + 12 | 0) >> 2] | 0; } $14 = $23; } return $14 | 0; } function btMatrix3x3__scaled_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; __stack_pointer = $5 + 48 | 0; return; } function btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29($0, $1, $2) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAPF32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29($6 + 4 | 0 | 0, $6 + 372 | 0 | 0, $6 + 388 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])), HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 16 | 0; return; } function btRigidBody__saveKinematicState_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $19 = 0, $42 = 0, $44 = 0, $51 = 0, $53 = 0, $150 = 0, $160 = 0, $170 = 0, $180 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAPF32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; label$1 : { if (!(Math_fround(HEAPF32[($4 + 40 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((btRigidBody__getMotionState_28_29($5 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $19 = btRigidBody__getMotionState_28_29($5 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$19 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($19, $5 + 4 | 0); } btVector3__btVector3_28_29($4 + 24 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 8 | 0 | 0) | 0; btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29($5 + 68 | 0 | 0, $5 + 4 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 40 | 0) >> 2])), $5 + 372 | 0 | 0, $5 + 388 | 0 | 0); $42 = $5 + 132 | 0; i64toi32_i32$2 = $5 + 372 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $150 = i64toi32_i32$0; i64toi32_i32$0 = $42; HEAP32[i64toi32_i32$0 >> 2] = $150; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $44 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $44 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $160 = i64toi32_i32$1; i64toi32_i32$1 = $42 + $44 | 0; HEAP32[i64toi32_i32$1 >> 2] = $160; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $51 = $5 + 148 | 0; i64toi32_i32$2 = $5 + 388 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $170 = i64toi32_i32$0; i64toi32_i32$0 = $51; HEAP32[i64toi32_i32$0 >> 2] = $170; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $53 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $53 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $180 = i64toi32_i32$1; i64toi32_i32$1 = $51 + $53 | 0; HEAP32[i64toi32_i32$1 >> 2] = $180; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btTransform__operator__28btTransform_20const__29($5 + 68 | 0 | 0, $5 + 4 | 0 | 0) | 0; } __stack_pointer = $4 + 48 | 0; return; } function btRigidBody__setGravity_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $23 = 0, $25 = 0, $33 = 0, $35 = 0, $12 = 0, $90 = 0, $103 = 0, $112 = 0, $122 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; label$1 : { if (!(Math_fround(HEAPF32[($5 + 404 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } $12 = HEAP32[($4 + 24 | 0) >> 2] | 0; HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($5 + 404 | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($4 + 8 | 0 | 0, $12 | 0, $4 + 4 | 0 | 0); $23 = $5 + 424 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 12 | 0) >> 2] | 0; $90 = i64toi32_i32$0; i64toi32_i32$0 = $23; HEAP32[i64toi32_i32$0 >> 2] = $90; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $25 = 8; i64toi32_i32$2 = ($4 + 8 | 0) + $25 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $103 = i64toi32_i32$1; i64toi32_i32$1 = $23 + $25 | 0; HEAP32[i64toi32_i32$1 >> 2] = $103; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } $33 = $5 + 440 | 0; i64toi32_i32$2 = HEAP32[($4 + 24 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $112 = i64toi32_i32$0; i64toi32_i32$0 = $33; HEAP32[i64toi32_i32$0 >> 2] = $112; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $35 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $35 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $122 = i64toi32_i32$1; i64toi32_i32$1 = $33 + $35 | 0; HEAP32[i64toi32_i32$1 >> 2] = $122; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $4 + 32 | 0; return; } function btRigidBody__applyDamping_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 128 | 0; __stack_pointer = $4; HEAP32[($4 + 124 | 0) >> 2] = $0; HEAPF32[($4 + 120 | 0) >> 2] = $1; $5 = HEAP32[($4 + 124 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btPow_28float_2c_20float_29(Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($5 + 504 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($4 + 120 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1($5 + 372 | 0 | 0, $4 + 116 | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btPow_28float_2c_20float_29(Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($5 + 508 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($4 + 120 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1($5 + 388 | 0 | 0, $4 + 112 | 0 | 0) | 0; label$1 : { if (!((HEAPU8[($5 + 512 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } label$2 : { if (!(Math_fround(btVector3__length2_28_29_20const($5 + 388 | 0 | 0)) < Math_fround(HEAPF32[($5 + 524 | 0) >> 2]) & 1 | 0)) { break label$2 } if (!(Math_fround(btVector3__length2_28_29_20const($5 + 372 | 0 | 0)) < Math_fround(HEAPF32[($5 + 520 | 0) >> 2]) & 1 | 0)) { break label$2 } btVector3__operator___28float_20const__29_1($5 + 388 | 0 | 0, $5 + 516 | 0 | 0) | 0; btVector3__operator___28float_20const__29_1($5 + 372 | 0 | 0, $5 + 516 | 0 | 0) | 0; } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 372 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; label$3 : { if (!(Math_fround(HEAPF32[($4 + 108 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 504 | 0) >> 2]) & 1 | 0)) { break label$3 } HEAPF32[($4 + 104 | 0) >> 2] = Math_fround(.004999999888241291); label$4 : { label$5 : { if (!(Math_fround(HEAPF32[($4 + 108 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 104 | 0) >> 2]) & 1 | 0)) { break label$5 } btVector3__normalized_28_29_20const($4 + 88 | 0 | 0, $5 + 372 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($4 + 72 | 0 | 0, $4 + 88 | 0 | 0, $4 + 104 | 0 | 0); btVector3__operator___28btVector3_20const__29($5 + 372 | 0 | 0, $4 + 72 | 0 | 0) | 0; break label$4; } HEAPF32[($4 + 68 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 64 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 60 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 372 | 0 | 0, $4 + 68 | 0 | 0, $4 + 64 | 0 | 0, $4 + 60 | 0 | 0); } } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 388 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; label$6 : { if (!(Math_fround(HEAPF32[($4 + 56 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 508 | 0) >> 2]) & 1 | 0)) { break label$6 } HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(.004999999888241291); label$7 : { label$8 : { if (!(Math_fround(HEAPF32[($4 + 56 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) & 1 | 0)) { break label$8 } btVector3__normalized_28_29_20const($4 + 36 | 0 | 0, $5 + 388 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($4 + 20 | 0 | 0, $4 + 36 | 0 | 0, $4 + 52 | 0 | 0); btVector3__operator___28btVector3_20const__29($5 + 388 | 0 | 0, $4 + 20 | 0 | 0) | 0; break label$7; } HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 388 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0); } } } __stack_pointer = $4 + 128 | 0; return; } function btPow_28float_2c_20float_29($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $4 = 0, $7 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAPF32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $7 = Math_fround(powf(Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2])))); __stack_pointer = $4 + 16 | 0; return Math_fround($7); } function btRigidBody__applyGravity_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const($4 | 0) | 0) & 1 | 0)) { break label$2 } break label$1; } btRigidBody__applyCentralForce_28btVector3_20const__29($4 | 0, $4 + 424 | 0 | 0); } __stack_pointer = $3 + 16 | 0; return; } function btRigidBody__proceedToTransform_28btTransform_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btRigidBody__setCenterOfMassTransform_28btTransform_20const__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__setCenterOfMassTransform_28btTransform_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $4 = 0, $18 = 0, $20 = 0, $26 = 0, $28 = 0, $80 = 0, $90 = 0, $99 = 0, $109 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((btCollisionObject__isKinematicObject_28_29_20const($5 | 0) | 0) & 1 | 0)) { break label$2 } btTransform__operator__28btTransform_20const__29($5 + 68 | 0 | 0, $5 + 4 | 0 | 0) | 0; break label$1; } btTransform__operator__28btTransform_20const__29($5 + 68 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; } $18 = $5 + 132 | 0; i64toi32_i32$2 = btRigidBody__getLinearVelocity_28_29_20const($5 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $80 = i64toi32_i32$0; i64toi32_i32$0 = $18; HEAP32[i64toi32_i32$0 >> 2] = $80; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $20 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $20 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $90 = i64toi32_i32$1; i64toi32_i32$1 = $18 + $20 | 0; HEAP32[i64toi32_i32$1 >> 2] = $90; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $26 = $5 + 148 | 0; i64toi32_i32$2 = btRigidBody__getAngularVelocity_28_29_20const($5 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $99 = i64toi32_i32$0; i64toi32_i32$0 = $26; HEAP32[i64toi32_i32$0 >> 2] = $99; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $28 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $109 = i64toi32_i32$1; i64toi32_i32$1 = $26 + $28 | 0; HEAP32[i64toi32_i32$1 >> 2] = $109; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btTransform__operator__28btTransform_20const__29($5 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; btRigidBody__updateInertiaTensor_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__getLocalInertia_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $32 = Math_fround(0), $53 = Math_fround(0), $74 = Math_fround(0), $5 = 0, $115 = 0, $119 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; btVector3__btVector3_28_29($0 | 0) | 0; $7 = $5 + 456 | 0; $8 = 8; i64toi32_i32$2 = $7 + $8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $115 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 24 | 0) + $8 | 0; HEAP32[i64toi32_i32$0 >> 2] = $115; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $119 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 24 | 0) >> 2] = $119; HEAP32[($4 + 28 | 0) >> 2] = i64toi32_i32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$2 } $32 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__x_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2])); break label$1; } $32 = Math_fround(0 | 0); } HEAPF32[($4 + 20 | 0) >> 2] = $32; label$3 : { label$4 : { if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$4 } $53 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__y_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2])); break label$3; } $53 = Math_fround(0 | 0); } HEAPF32[($4 + 16 | 0) >> 2] = $53; label$5 : { label$6 : { if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$6 } $74 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__z_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2])); break label$5; } $74 = Math_fround(0 | 0); } HEAPF32[($4 + 12 | 0) >> 2] = $74; btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0); __stack_pointer = $4 + 48 | 0; return; } function btRigidBody__computeGyroscopicForceExplicit_28float_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 192 | 0; __stack_pointer = $5; HEAP32[($5 + 188 | 0) >> 2] = $1; HEAPF32[($5 + 184 | 0) >> 2] = $2; $6 = HEAP32[($5 + 188 | 0) >> 2] | 0; btRigidBody__getLocalInertia_28_29_20const($5 + 168 | 0 | 0, $6 | 0); btMatrix3x3__scaled_28btVector3_20const__29_20const($5 + 72 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const($6 | 0) | 0 | 0) | 0 | 0, $5 + 168 | 0 | 0); btMatrix3x3__transpose_28_29_20const($5 + 24 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const($6 | 0) | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($5 + 120 | 0 | 0, $5 + 72 | 0 | 0, $5 + 24 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, $5 + 120 | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const($6 | 0) | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($0 | 0, btRigidBody__getAngularVelocity_28_29_20const($6 | 0) | 0 | 0, $5 + 8 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; label$1 : { if (!(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) > Math_fround(Math_fround(HEAPF32[($5 + 184 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 184 | 0) >> 2])) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))) * Math_fround(HEAPF32[($5 + 184 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btVector3__operator___28float_20const__29_1($0 | 0, $5 | 0) | 0; } __stack_pointer = $5 + 192 | 0; return; } function btRigidBody__computeGyroscopicImpulseImplicit_Body_28float_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6 = 0, $10 = 0, $11 = 0, $217 = 0, $270 = 0, $274 = 0, $43 = 0, $53 = 0, $629 = 0, $633 = 0; $5 = __stack_pointer - 560 | 0; __stack_pointer = $5; HEAP32[($5 + 556 | 0) >> 2] = $1; HEAPF32[($5 + 552 | 0) >> 2] = $2; $6 = HEAP32[($5 + 556 | 0) >> 2] | 0; btRigidBody__getLocalInertia_28_29_20const($5 + 536 | 0 | 0, $6 | 0); $10 = btRigidBody__getAngularVelocity_28_29_20const($6 | 0) | 0; $11 = 8; i64toi32_i32$2 = $10 + $11 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $270 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 520 | 0) + $11 | 0; HEAP32[i64toi32_i32$0 >> 2] = $270; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $10; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $274 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 520 | 0) >> 2] = $274; HEAP32[($5 + 524 | 0) >> 2] = i64toi32_i32$0; btTransform__getRotation_28_29_20const($5 + 504 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const($6 | 0) | 0 | 0); btQuaternion__inverse_28_29_20const($5 + 472 | 0 | 0, $5 + 504 | 0 | 0); quatRotate_28btQuaternion_20const__2c_20btVector3_20const__29($5 + 488 | 0 | 0, $5 + 472 | 0 | 0, $5 + 520 | 0 | 0); btMatrix3x3__btMatrix3x3_28_29($5 + 424 | 0 | 0) | 0; $43 = btVector3__x_28_29_20const($5 + 536 | 0 | 0) | 0; HEAPF32[($5 + 420 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 416 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 412 | 0) >> 2] = Math_fround(0 | 0); $53 = btVector3__y_28_29_20const($5 + 536 | 0 | 0) | 0; HEAPF32[($5 + 408 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 404 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 400 | 0) >> 2] = Math_fround(0 | 0); btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($5 + 424 | 0 | 0, $43 | 0, $5 + 420 | 0 | 0, $5 + 416 | 0 | 0, $5 + 412 | 0 | 0, $53 | 0, $5 + 408 | 0 | 0, $5 + 404 | 0 | 0, $5 + 400 | 0 | 0, btVector3__z_28_29_20const($5 + 536 | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 384 | 0 | 0, $5 + 424 | 0 | 0, $5 + 488 | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($5 + 352 | 0 | 0, $5 + 488 | 0 | 0, $5 + 384 | 0 | 0); operator__28float_20const__2c_20btVector3_20const__29($5 + 368 | 0 | 0, $5 + 552 | 0 | 0, $5 + 352 | 0 | 0); btMatrix3x3__btMatrix3x3_28_29($5 + 304 | 0 | 0) | 0; btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($5 + 488 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 304 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 304 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 304 | 0 | 0, 2 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 288 | 0 | 0, $5 + 424 | 0 | 0, $5 + 488 | 0 | 0); btMatrix3x3__btMatrix3x3_28_29($5 + 240 | 0 | 0) | 0; btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($5 + 288 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 240 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 240 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 240 | 0 | 0, 2 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($5 + 48 | 0 | 0, $5 + 304 | 0 | 0, $5 + 424 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_1($5 + 96 | 0 | 0, $5 + 48 | 0 | 0, $5 + 240 | 0 | 0); operator__28btMatrix3x3_20const__2c_20float_20const__29($5 + 144 | 0 | 0, $5 + 96 | 0 | 0, $5 + 552 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_2($5 + 192 | 0 | 0, $5 + 424 | 0 | 0, $5 + 144 | 0 | 0); btMatrix3x3__solve33_28btVector3_20const__29_20const($5 + 32 | 0 | 0, $5 + 192 | 0 | 0, $5 + 368 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 16 | 0 | 0, $5 + 488 | 0 | 0, $5 + 32 | 0 | 0); $217 = 8; i64toi32_i32$2 = ($5 + 16 | 0) + $217 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $629 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 488 | 0) + $217 | 0; HEAP32[i64toi32_i32$0 >> 2] = $629; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; $633 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 488 | 0) >> 2] = $633; HEAP32[($5 + 492 | 0) >> 2] = i64toi32_i32$0; quatRotate_28btQuaternion_20const__2c_20btVector3_20const__29($5 | 0, $5 + 504 | 0 | 0, $5 + 488 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $5 | 0, $5 + 520 | 0 | 0); __stack_pointer = $5 + 560 | 0; return; } function operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_1($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; __stack_pointer = $5 + 48 | 0; return; } function operator__28btMatrix3x3_20const__2c_20float_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; __stack_pointer = $5 + 48 | 0; return; } function operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_2($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; __stack_pointer = $5 + 48 | 0; return; } function btMatrix3x3__solve33_28btVector3_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $44 = Math_fround(0), $45 = 0, $59 = Math_fround(0), $61 = Math_fround(0), $76 = Math_fround(0), $78 = Math_fround(0), $93 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 128 | 0; __stack_pointer = $5; HEAP32[($5 + 124 | 0) >> 2] = $1; HEAP32[($5 + 120 | 0) >> 2] = $2; $6 = HEAP32[($5 + 124 | 0) >> 2] | 0; btMatrix3x3__getColumn_28int_29_20const($5 + 104 | 0 | 0, $6 | 0, 0 | 0); btMatrix3x3__getColumn_28int_29_20const($5 + 88 | 0 | 0, $6 | 0, 1 | 0); btMatrix3x3__getColumn_28int_29_20const($5 + 72 | 0 | 0, $6 | 0, 2 | 0); btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 52 | 0 | 0, $5 + 88 | 0 | 0, $5 + 72 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($5 + 104 | 0 | 0, $5 + 52 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; label$1 : { if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2])))) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$1 } HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($5 + 68 | 0) >> 2])); } btVector3__btVector3_28_29($0 | 0) | 0; $44 = Math_fround(HEAPF32[($5 + 68 | 0) >> 2]); $45 = HEAP32[($5 + 120 | 0) >> 2] | 0; btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $5 + 88 | 0 | 0, $5 + 72 | 0 | 0); $59 = Math_fround($44 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($45 | 0, $5 + 36 | 0 | 0))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $59), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $61 = Math_fround(HEAPF32[($5 + 68 | 0) >> 2]); btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 20 | 0 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0 | 0, $5 + 72 | 0 | 0); $76 = Math_fround($61 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($5 + 104 | 0 | 0, $5 + 20 | 0 | 0))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $76), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $78 = Math_fround(HEAPF32[($5 + 68 | 0) >> 2]); btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, $5 + 88 | 0 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0 | 0); $93 = Math_fround($78 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($5 + 104 | 0 | 0, $5 + 4 | 0 | 0))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $93), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; __stack_pointer = $5 + 128 | 0; return; } function btRigidBody__computeGyroscopicImpulseImplicit_World_28float_29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $10 = 0, $11 = 0, $51 = 0, $119 = 0, $173 = 0, $177 = 0, $252 = 0, $256 = 0, $377 = 0, $381 = 0; $5 = __stack_pointer - 384 | 0; __stack_pointer = $5; HEAP32[($5 + 380 | 0) >> 2] = $1; HEAPF32[($5 + 376 | 0) >> 2] = $2; $6 = HEAP32[($5 + 380 | 0) >> 2] | 0; btRigidBody__getLocalInertia_28_29_20const($5 + 360 | 0 | 0, $6 | 0); $10 = btRigidBody__getAngularVelocity_28_29_20const($6 | 0) | 0; $11 = 8; i64toi32_i32$2 = $10 + $11 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $173 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 344 | 0) + $11 | 0; HEAP32[i64toi32_i32$0 >> 2] = $173; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $10; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $177 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 344 | 0) >> 2] = $177; HEAP32[($5 + 348 | 0) >> 2] = i64toi32_i32$0; btMatrix3x3__btMatrix3x3_28_29($5 + 296 | 0 | 0) | 0; btMatrix3x3__scaled_28btVector3_20const__29_20const($5 + 200 | 0 | 0, btTransform__getBasis_28_29_20const($6 + 4 | 0 | 0) | 0 | 0, $5 + 360 | 0 | 0); btMatrix3x3__transpose_28_29_20const($5 + 152 | 0 | 0, btTransform__getBasis_28_29_20const($6 + 4 | 0 | 0) | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($5 + 248 | 0 | 0, $5 + 200 | 0 | 0, $5 + 152 | 0 | 0); btMatrix3x3__operator__28btMatrix3x3_20const__29($5 + 296 | 0 | 0, $5 + 248 | 0 | 0) | 0; $51 = 8; i64toi32_i32$2 = ($5 + 344 | 0) + $51 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $252 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 136 | 0) + $51 | 0; HEAP32[i64toi32_i32$0 >> 2] = $252; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 344 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 348 | 0) >> 2] | 0; $256 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 136 | 0) >> 2] = $256; HEAP32[($5 + 140 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($5 + 100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 96 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 104 | 0 | 0, $5 + 100 | 0 | 0, $5 + 96 | 0 | 0, $5 + 92 | 0 | 0) | 0; evalEulerEqn_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btMatrix3x3_20const__29($5 + 120 | 0 | 0, $5 + 136 | 0 | 0, $5 + 344 | 0 | 0, $5 + 104 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 376 | 0) >> 2])), $5 + 296 | 0 | 0); evalEulerEqnDeriv_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btMatrix3x3_20const__29($5 + 44 | 0 | 0, $5 + 136 | 0 | 0, $5 + 344 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 376 | 0) >> 2])), $5 + 296 | 0 | 0); btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; btMatrix3x3__solve33_28btVector3_20const__29_20const($5 + 8 | 0 | 0, $5 + 44 | 0 | 0, $5 + 120 | 0 | 0); $119 = 8; i64toi32_i32$2 = ($5 + 8 | 0) + $119 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $377 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 24 | 0) + $119 | 0; HEAP32[i64toi32_i32$0 >> 2] = $377; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; $381 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 24 | 0) >> 2] = $381; HEAP32[($5 + 28 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29($5 + 136 | 0 | 0, $5 + 24 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 136 | 0 | 0, $5 + 344 | 0 | 0); __stack_pointer = $5 + 384 | 0; return; } function evalEulerEqn_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btMatrix3x3_20const__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = Math_fround($4); $5 = $5 | 0; var $8 = 0, $14 = 0; $8 = __stack_pointer - 160 | 0; __stack_pointer = $8; HEAP32[($8 + 156 | 0) >> 2] = $1; HEAP32[($8 + 152 | 0) >> 2] = $2; HEAP32[($8 + 148 | 0) >> 2] = $3; HEAPF32[($8 + 144 | 0) >> 2] = $4; HEAP32[($8 + 140 | 0) >> 2] = $5; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 108 | 0 | 0, HEAP32[($8 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8 + 156 | 0) >> 2] | 0 | 0); $14 = HEAP32[($8 + 156 | 0) >> 2] | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 60 | 0 | 0, HEAP32[($8 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8 + 156 | 0) >> 2] | 0 | 0); btVector3__cross_28btVector3_20const__29_20const($8 + 76 | 0 | 0, $14 | 0, $8 + 60 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 92 | 0 | 0, $8 + 76 | 0 | 0, $8 + 144 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 124 | 0 | 0, $8 + 108 | 0 | 0, $8 + 92 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($8 + 28 | 0 | 0, HEAP32[($8 + 148 | 0) >> 2] | 0 | 0, $8 + 144 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 12 | 0 | 0, HEAP32[($8 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8 + 152 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 44 | 0 | 0, $8 + 28 | 0 | 0, $8 + 12 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $8 + 124 | 0 | 0, $8 + 44 | 0 | 0); __stack_pointer = $8 + 160 | 0; return; } function evalEulerEqnDeriv_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btMatrix3x3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); $4 = $4 | 0; var $7 = 0, $53 = 0; $7 = __stack_pointer - 288 | 0; __stack_pointer = $7; HEAP32[($7 + 284 | 0) >> 2] = $0; HEAP32[($7 + 280 | 0) >> 2] = $1; HEAP32[($7 + 276 | 0) >> 2] = $2; HEAPF32[($7 + 272 | 0) >> 2] = $3; HEAP32[($7 + 268 | 0) >> 2] = $4; btMatrix3x3__btMatrix3x3_28_29($7 + 220 | 0 | 0) | 0; btMatrix3x3__btMatrix3x3_28_29($7 + 172 | 0 | 0) | 0; operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 156 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7 + 280 | 0) >> 2] | 0 | 0); btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($7 + 280 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 220 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 220 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 220 | 0 | 0, 2 | 0) | 0 | 0); btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($7 + 156 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 172 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 172 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 172 | 0 | 0, 2 | 0) | 0 | 0); $53 = HEAP32[($7 + 268 | 0) >> 2] | 0; operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($7 + 12 | 0 | 0, $7 + 220 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_1($7 + 60 | 0 | 0, $7 + 12 | 0 | 0, $7 + 172 | 0 | 0); operator__28btMatrix3x3_20const__2c_20float_20const__29($7 + 108 | 0 | 0, $7 + 60 | 0 | 0, $7 + 272 | 0 | 0); operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_2($0 | 0, $53 | 0, $7 + 108 | 0 | 0); __stack_pointer = $7 + 288 | 0; return; } function btRigidBody__addConstraintRef_28btTypedConstraint__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____findLinearSearch_28btTypedConstraint__20const__29_20const($5 + 544 | 0 | 0, $4 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 544 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btTypedConstraint____push_back_28btTypedConstraint__20const__29($5 + 544 | 0 | 0, $4 + 24 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTypedConstraint__getRigidBodyA_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTypedConstraint__getRigidBodyB_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$2 : { label$3 : { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) == ($5 | 0) & 1 | 0)) { break label$3 } btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); break label$2; } btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); } } __stack_pointer = $4 + 32 | 0; return; } function btAlignedObjectArray_btTypedConstraint____findLinearSearch_28btTypedConstraint__20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[$4 >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; break label$1; } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; continue label$2; }; } $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btTypedConstraint____push_back_28btTypedConstraint__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btTypedConstraint____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btTypedConstraint____reserve_28int_29($5 | 0, btAlignedObjectArray_btTypedConstraint____allocSize_28int_29($5 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btTypedConstraint____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btTypedConstraint____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btTypedConstraint____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btTypedConstraint____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btTypedConstraint____copy_28int_2c_20int_2c_20btTypedConstraint___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btTypedConstraint____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btTypedConstraint____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__removeConstraintRef_28btTypedConstraint__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____findLinearSearch_28btTypedConstraint__20const__29_20const($5 + 544 | 0 | 0, $4 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 544 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btTypedConstraint____remove_28btTypedConstraint__20const__29($5 + 544 | 0 | 0, $4 + 24 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTypedConstraint__getRigidBodyA_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTypedConstraint__getRigidBodyB_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$2 : { label$3 : { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) == ($5 | 0) & 1 | 0)) { break label$3 } btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); break label$2; } btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); } } __stack_pointer = $4 + 32 | 0; return; } function btAlignedObjectArray_btTypedConstraint____remove_28btTypedConstraint__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____findLinearSearch_28btTypedConstraint__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btTypedConstraint____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btTypedConstraint____removeAtIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btTypedConstraint____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); btAlignedObjectArray_btTypedConstraint____pop_back_28_29($5 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btRigidBody__calculateSerializeBufferSize_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = 496; return HEAP32[($3 + 8 | 0) >> 2] | 0 | 0; } function btRigidBody__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; btCollisionObject__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; btMatrix3x3__serialize_28btMatrix3x3FloatData__29_20const($6 + 324 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 264 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 372 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 312 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 388 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 328 | 0 | 0); HEAPF32[((HEAP32[$5 >> 2] | 0) + 456 | 0) >> 2] = Math_fround(HEAPF32[($6 + 404 | 0) >> 2]); btVector3__serialize_28btVector3FloatData__29_20const($6 + 604 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 344 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 408 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 360 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 424 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 376 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 440 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 392 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 456 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 408 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 472 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 424 | 0 | 0); btVector3__serialize_28btVector3FloatData__29_20const($6 + 488 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 440 | 0 | 0); HEAPF32[((HEAP32[$5 >> 2] | 0) + 460 | 0) >> 2] = Math_fround(HEAPF32[($6 + 504 | 0) >> 2]); HEAPF32[((HEAP32[$5 >> 2] | 0) + 464 | 0) >> 2] = Math_fround(HEAPF32[($6 + 508 | 0) >> 2]); HEAP32[((HEAP32[$5 >> 2] | 0) + 492 | 0) >> 2] = (HEAPU8[($6 + 512 | 0) >> 0] | 0) & 1 | 0; HEAPF32[((HEAP32[$5 >> 2] | 0) + 468 | 0) >> 2] = Math_fround(HEAPF32[($6 + 516 | 0) >> 2]); HEAPF32[((HEAP32[$5 >> 2] | 0) + 472 | 0) >> 2] = Math_fround(HEAPF32[($6 + 520 | 0) >> 2]); HEAPF32[((HEAP32[$5 >> 2] | 0) + 476 | 0) >> 2] = Math_fround(HEAPF32[($6 + 524 | 0) >> 2]); HEAPF32[((HEAP32[$5 >> 2] | 0) + 480 | 0) >> 2] = Math_fround(HEAPF32[($6 + 528 | 0) >> 2]); HEAPF32[((HEAP32[$5 >> 2] | 0) + 484 | 0) >> 2] = Math_fround(HEAPF32[($6 + 532 | 0) >> 2]); HEAPF32[((HEAP32[$5 >> 2] | 0) + 488 | 0) >> 2] = Math_fround(HEAPF32[($6 + 536 | 0) >> 2]); __stack_pointer = $5 + 16 | 0; return 83210 | 0; } function btRigidBody__serializeSingleObject_28btSerializer__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0, $20 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = ((((wasm2js_i32$3 = $6, wasm2js_i32$4 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5) | 0), wasm2js_i32$5 = 1), wasm2js_i32$2 = HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5, HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $20 = HEAP32[($4 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$20 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($20, HEAP32[($4 + 4 | 0) >> 2] | 0, HEAP32[$4 >> 2] | 0, 1497645650, $5); __stack_pointer = $4 + 16 | 0; return; } function btRigidBody___btRigidBody_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btRigidBody___btRigidBody_28_29($4 | 0) | 0; btCollisionObject__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btTypedConstraint____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btTypedConstraint__2c_2016u___allocate_28int_2c_20btTypedConstraint__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btTypedConstraint____copy_28int_2c_20int_2c_20btTypedConstraint___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btTypedConstraint__2c_2016u___allocate_28int_2c_20btTypedConstraint__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btTypedConstraint____swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; return; } function btAlignedObjectArray_btTypedConstraint____pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function _GLOBAL__sub_I_btRigidBody_cpp() { __cxx_global_var_init_74(); return; } function __cxx_global_var_init_75() { btInfMaskConverter__btInfMaskConverter_28int_29(116132 | 0, 2139095040 | 0) | 0; return; } function btUnionFind___btUnionFind_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btUnionFind__Free_28_29($4 | 0); btAlignedObjectArray_btElement____btAlignedObjectArray_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btUnionFind__Free_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedObjectArray_btElement___clear_28_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btElement____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btElement___clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btElement___clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btElement___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btElement___size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btElement___deallocate_28_29($4 | 0); btAlignedObjectArray_btElement___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btUnionFind__btUnionFind_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btElement___btAlignedObjectArray_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btElement___btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btElement_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btElement___init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedAllocator_btElement_2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btElement___init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btUnionFind__allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0, i64toi32_i32$0 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = 0; HEAP32[$4 >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = i64toi32_i32$0; btAlignedObjectArray_btElement___resize_28int_2c_20btElement_20const__29($5 | 0, $6 | 0, $4 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btElement___resize_28int_2c_20btElement_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $162 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btElement___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btElement___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $162 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$0 >> 2] = $162; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btAlignedObjectArray_btElement___reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btElement___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btElement___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btElement___copy_28int_2c_20int_2c_20btElement__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btElement___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btElement___deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btElement___destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btElement___deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btElement_2c_2016u___deallocate_28btElement__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btUnionFind__reset_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btUnionFind__allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $15 = HEAP32[($4 + 4 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $15), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 1), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btUnionFind__sortIslands_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btElement___size_28_29_20const($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; HEAP32[($3 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } $15 = btUnionFind__find_28int_29($4 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($4 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $15), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } void_20btAlignedObjectArray_btElement___quickSort_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__29($4 | 0, $3 + 3 | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function void_20btAlignedObjectArray_btElement___quickSort_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { break label$1 } void_20btAlignedObjectArray_btElement___quickSortInternal_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function void_20btAlignedObjectArray_btElement___quickSortInternal_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 20 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 20 | 0) >> 2] | 0) + (HEAP32[($6 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 3 | 0) | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; HEAP32[$6 >> 2] = HEAP32[i64toi32_i32$2 >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$1; label$1 : while (1) { label$2 : { label$3 : while (1) { if (!((btUnionFindElementSortPredicate__operator_28_29_28btElement_20const__2c_20btElement_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, $6 | 0) | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } label$4 : { label$5 : while (1) { if (!((btUnionFindElementSortPredicate__operator_28_29_28btElement_20const__2c_20btElement_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 3 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; continue label$5; }; } label$6 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btAlignedObjectArray_btElement___swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; } if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$1 } break label$1; }; label$7 : { if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } void_20btAlignedObjectArray_btElement___quickSortInternal_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); } label$8 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } void_20btAlignedObjectArray_btElement___quickSortInternal_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 32 | 0; return; } function btAlignedObjectArray_btElement___capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btElement___allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btElement_2c_2016u___allocate_28int_2c_20btElement_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btElement___copy_28int_2c_20int_2c_20btElement__29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $85 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $85 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$0 >> 2] = $85; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btElement_2c_2016u___allocate_28int_2c_20btElement_20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedAllocator_btElement_2c_2016u___deallocate_28btElement__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btUnionFindElementSortPredicate__operator_28_29_28btElement_20const__2c_20btElement_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; return (HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0 | 0; } function btAlignedObjectArray_btElement___swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $55 = 0, $79 = 0, $93 = 0; $5 = __stack_pointer - 32 | 0; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $55 = i64toi32_i32$0; i64toi32_i32$0 = $5; HEAP32[($5 + 8 | 0) >> 2] = $55; HEAP32[($5 + 12 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $79 = i64toi32_i32$1; i64toi32_i32$1 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$1 >> 2] = $79; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; $93 = i64toi32_i32$0; i64toi32_i32$0 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; HEAP32[i64toi32_i32$0 >> 2] = $93; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; } function _GLOBAL__sub_I_btUnionFind_cpp() { __cxx_global_var_init_75(); return; } function __cxx_global_var_init_76() { btInfMaskConverter__btInfMaskConverter_28int_29(116136 | 0, 2139095040 | 0) | 0; return; } function btSimulationIslandManager__btSimulationIslandManager_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 102732 + 8 | 0; btUnionFind__btUnionFind_28_29($4 + 4 | 0 | 0) | 0; btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; HEAP8[($4 + 64 | 0) >> 0] = 1; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSimulationIslandManager___btSimulationIslandManager_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 102732 + 8 | 0; btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; btUnionFind___btUnionFind_28_29($4 + 4 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSimulationIslandManager___btSimulationIslandManager_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[1110 | 0]($4) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btSimulationIslandManager__initUnionFind_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btUnionFind__reset_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btSimulationIslandManager__findUnions_28btDispatcher__2c_20btCollisionWorld__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $9 = 0, $14 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 44 | 0) >> 2] = $0; HEAP32[($5 + 40 | 0) >> 2] = $1; HEAP32[($5 + 36 | 0) >> 2] = $2; $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionWorld__getPairCache_28_29(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; $9 = HEAP32[($5 + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($9) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!(HEAP32[($5 + 28 | 0) >> 2] | 0)) { break label$1 } $14 = HEAP32[($5 + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($14) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 20 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; label$4 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } if (!((btCollisionObject__mergesSimulationIslands_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$4 } if (!((btCollisionObject__mergesSimulationIslands_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } btUnionFind__unite_28int_2c_20int_29($6 + 4 | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); } HEAP32[($5 + 20 | 0) >> 2] = (HEAP32[($5 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } } __stack_pointer = $5 + 48 | 0; return; } function btCollisionObject__mergesSimulationIslands_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 7 | 0 | 0) == (0 | 0) & 1 | 0 | 0; } function btSimulationIslandManager__updateActivationState_28btCollisionWorld__2c_20btDispatcher__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $28 = 0, $27 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = 0; HEAP32[($5 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const(btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$3 : { if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } $27 = HEAP32[($5 + 8 | 0) >> 2] | 0; $28 = HEAP32[($5 + 16 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = $28 + 1 | 0; btCollisionObject__setIslandTag_28int_29($27 | 0, $28 | 0); } btCollisionObject__setCompanionId_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, -1 | 0); btCollisionObject__setHitFraction_28float_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } btSimulationIslandManager__initUnionFind_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); btSimulationIslandManager__findUnions_28btDispatcher__2c_20btCollisionWorld__29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); __stack_pointer = $5 + 32 | 0; return; } function btCollisionWorld__getCollisionObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btCollisionObject__setIslandTag_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btSimulationIslandManager__storeIslandActivationState_28btCollisionWorld__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $31 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; HEAP32[($4 + 20 | 0) >> 2] = 0; HEAP32[($4 + 16 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const(btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$3 : { label$4 : { if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$4 } btCollisionObject__setIslandTag_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, btUnionFind__find_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); $31 = HEAP32[($4 + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = btUnionFind__getElement_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $31), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btCollisionObject__setCompanionId_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, -1 | 0); HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + 1 | 0; break label$3; } btCollisionObject__setIslandTag_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, -1 | 0); btCollisionObject__setCompanionId_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, -2 | 0); } HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 32 | 0; return; } function btUnionFind__getElement_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $7 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $7 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $7 | 0; } function btSimulationIslandManager__buildIslands_28btDispatcher__2c_20btCollisionWorld__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $47 = 0, $289 = 0, $301 = 0, $383 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 112 | 0; __stack_pointer = $5; HEAP32[($5 + 108 | 0) >> 2] = $0; HEAP32[($5 + 104 | 0) >> 2] = $1; HEAP32[($5 + 100 | 0) >> 2] = $2; $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($5 + 99 | 0 | 0, 67513 | 0) | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 88 | 0) >> 2] = 0; btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($6 + 24 | 0 | 0, 0 | 0, $5 + 88 | 0 | 0); btUnionFind__sortIslands_28_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_i32$1 = btUnionFind__getNumElements_28_29_20const(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 80 | 0) >> 2] = 1; HEAP32[($5 + 76 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 80 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; label$3 : while (1) { $47 = 0; label$4 : { if (!((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } $47 = (HEAP32[(btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0); } label$5 : { if (!($47 & 1 | 0)) { break label$5 } HEAP32[($5 + 80 | 0) >> 2] = (HEAP32[($5 + 80 | 0) >> 2] | 0) + 1 | 0; continue label$3; } break label$3; }; HEAP8[($5 + 71 | 0) >> 0] = 1; HEAP32[($5 + 64 | 0) >> 2] = HEAP32[($5 + 76 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[((btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 64 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; label$8 : { if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$8 } } label$9 : { if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$9 } if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (-1 | 0) & 1 | 0) { break label$9 } __assert_fail(86552 | 0, 72966 | 0, 245 | 0, 70353 | 0); wasm2js_trap(); } label$10 : { if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } label$11 : { if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$11 } HEAP8[($5 + 71 | 0) >> 0] = 0; } label$12 : { if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { break label$12 } HEAP8[($5 + 71 | 0) >> 0] = 0; } } HEAP32[($5 + 64 | 0) >> 2] = (HEAP32[($5 + 64 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } label$13 : { label$14 : { if (!((HEAPU8[($5 + 71 | 0) >> 0] | 0) & 1 | 0)) { break label$14 } HEAP32[($5 + 52 | 0) >> 2] = HEAP32[($5 + 76 | 0) >> 2] | 0; label$15 : { label$16 : while (1) { if (!((HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$15 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[((btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; label$17 : { if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$17 } if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$17 } } label$18 : { if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$18 } if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (-1 | 0) & 1 | 0) { break label$18 } __assert_fail(86552 | 0, 72966 | 0, 272 | 0, 70353 | 0); wasm2js_trap(); } label$19 : { if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$19 } btCollisionObject__setActivationState_28int_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, 2 | 0); } HEAP32[($5 + 52 | 0) >> 2] = (HEAP32[($5 + 52 | 0) >> 2] | 0) + 1 | 0; continue label$16; }; } break label$13; } HEAP32[($5 + 40 | 0) >> 2] = HEAP32[($5 + 76 | 0) >> 2] | 0; label$20 : { label$21 : while (1) { if (!((HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$20 } (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[((btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; label$22 : { if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$22 } if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (-1 | 0) & 1 | 0)) { break label$22 } } label$23 : { if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { break label$23 } if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == (-1 | 0) & 1 | 0) { break label$23 } __assert_fail(86552 | 0, 72966 | 0, 293 | 0, 70353 | 0); wasm2js_trap(); } label$24 : { if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$24 } label$25 : { if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { break label$25 } btCollisionObject__setActivationState_28int_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, 3 | 0); btCollisionObject__setDeactivationTime_28float_29(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(0 | 0))); } } HEAP32[($5 + 40 | 0) >> 2] = (HEAP32[($5 + 40 | 0) >> 2] | 0) + 1 | 0; continue label$21; }; } } HEAP32[($5 + 76 | 0) >> 2] = HEAP32[($5 + 80 | 0) >> 2] | 0; continue label$2; }; } $289 = HEAP32[($5 + 104 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$289 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($289) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; HEAP32[($5 + 28 | 0) >> 2] = 0; label$26 : { label$27 : while (1) { if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$26 } $301 = HEAP32[($5 + 104 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$301 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($301, HEAP32[($5 + 28 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$28 : { label$29 : { label$30 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$30 } if ((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0) { break label$29 } } if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$28 } if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { break label$28 } } label$31 : { if (!((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$31 } if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { break label$31 } label$32 : { if (!((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$32 } btCollisionObject__activate_28bool_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); } } label$33 : { if (!((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$33 } if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { break label$33 } label$34 : { if (!((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$34 } btCollisionObject__activate_28bool_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); } } label$35 : { if (!((HEAPU8[($6 + 64 | 0) >> 0] | 0) & 1 | 0)) { break label$35 } $383 = HEAP32[($5 + 104 | 0) >> 2] | 0; label$36 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$383 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($383, HEAP32[($5 + 16 | 0) >> 2] | 0, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) & 1 | 0)) { break label$36 } btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($6 + 24 | 0 | 0, $5 + 20 | 0 | 0); } } } HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 28 | 0) >> 2] | 0) + 1 | 0; continue label$27; }; } CProfileSample___CProfileSample_28_29($5 + 99 | 0 | 0) | 0; __stack_pointer = $5 + 112 | 0; return; } function btUnionFind__getNumElements_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $5 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = btAlignedObjectArray_btElement___size_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $5 | 0; } function btCollisionObject__setDeactivationTime_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 224 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btSimulationIslandManager__buildAndProcessIslands_28btDispatcher__2c_20btCollisionWorld__2c_20btSimulationIslandManager__IslandCallback__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $22 = 0, $26 = 0, $30 = 0, $73 = 0, $143 = 0, $166 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_i32$6 = 0; $6 = __stack_pointer - 96 | 0; __stack_pointer = $6; HEAP32[($6 + 92 | 0) >> 2] = $0; HEAP32[($6 + 88 | 0) >> 2] = $1; HEAP32[($6 + 84 | 0) >> 2] = $2; HEAP32[($6 + 80 | 0) >> 2] = $3; $7 = HEAP32[($6 + 92 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; btSimulationIslandManager__buildIslands_28btDispatcher__2c_20btCollisionWorld__29($7 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6 + 84 | 0) >> 2] | 0 | 0); HEAP32[($6 + 72 | 0) >> 2] = 1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btUnionFind__getNumElements_28_29_20const(btSimulationIslandManager__getUnionFind_28_29($7 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; CProfileSample__CProfileSample_28char_20const__29($6 + 63 | 0 | 0, 70311 | 0) | 0; label$1 : { label$2 : { if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { break label$2 } $22 = HEAP32[($6 + 88 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$22 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($22) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; $26 = HEAP32[($6 + 88 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($26) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; $30 = HEAP32[($6 + 80 | 0) >> 2] | 0; ((((((wasm2js_i32$1 = $30, wasm2js_i32$2 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($6 + 76 | 0) >> 2] | 0 | 0, 0 | 0) | 0), wasm2js_i32$3 = btAlignedObjectArray_btCollisionObject____size_28_29_20const(HEAP32[($6 + 76 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$4 = HEAP32[($6 + 56 | 0) >> 2] | 0), wasm2js_i32$5 = HEAP32[($6 + 52 | 0) >> 2] | 0), wasm2js_i32$6 = -1), wasm2js_i32$0 = HEAP32[((HEAP32[$30 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0); break label$1; } (wasm2js_i32$0 = $6, wasm2js_i32$6 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($7 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$6; void_20btAlignedObjectArray_btPersistentManifold____quickSort_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__29($7 + 24 | 0 | 0, $6 + 47 | 0 | 0); HEAP32[($6 + 40 | 0) >> 2] = 0; HEAP32[($6 + 36 | 0) >> 2] = 1; HEAP32[($6 + 68 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $6, wasm2js_i32$6 = HEAP32[(btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($7 | 0) | 0 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$6; HEAP8[($6 + 31 | 0) >> 0] = 1; HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; label$5 : while (1) { $73 = 0; label$6 : { if (!((HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } $73 = (HEAP32[(btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($7 | 0) | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); } label$7 : { if (!($73 & 1 | 0)) { break label$7 } (wasm2js_i32$0 = $6, wasm2js_i32$6 = HEAP32[((btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($7 | 0) | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$6; (wasm2js_i32$0 = $6, wasm2js_i32$6 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($6 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$6; btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($7 + 44 | 0 | 0, $6 + 20 | 0 | 0); label$8 : { if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } HEAP8[($6 + 31 | 0) >> 0] = 0; } HEAP32[($6 + 72 | 0) >> 2] = (HEAP32[($6 + 72 | 0) >> 2] | 0) + 1 | 0; continue label$5; } break label$5; }; HEAP32[($6 + 16 | 0) >> 2] = 0; HEAP32[($6 + 12 | 0) >> 2] = 0; label$9 : { if (!((HEAP32[($6 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$9 } (wasm2js_i32$0 = $6, wasm2js_i32$6 = getIslandId_28btPersistentManifold_20const__29(HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$6; label$10 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$10 } (wasm2js_i32$0 = $6, wasm2js_i32$6 = btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$6; HEAP32[($6 + 36 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + 1 | 0; label$11 : while (1) { $143 = 0; label$12 : { if (!((HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$12 } $143 = (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) == (getIslandId_28btPersistentManifold_20const__29(HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0 | 0); } label$13 : { if (!($143 & 1 | 0)) { break label$13 } HEAP32[($6 + 36 | 0) >> 2] = (HEAP32[($6 + 36 | 0) >> 2] | 0) + 1 | 0; continue label$11; } break label$11; }; HEAP32[($6 + 16 | 0) >> 2] = (HEAP32[($6 + 36 | 0) >> 2] | 0) - (HEAP32[($6 + 40 | 0) >> 2] | 0) | 0; } } label$14 : { if ((HEAPU8[($6 + 31 | 0) >> 0] | 0) & 1 | 0) { break label$14 } $166 = HEAP32[($6 + 80 | 0) >> 2] | 0; ((((((wasm2js_i32$6 = $166, wasm2js_i32$5 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 44 | 0 | 0, 0 | 0) | 0), wasm2js_i32$4 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 44 | 0 | 0) | 0), wasm2js_i32$3 = HEAP32[($6 + 12 | 0) >> 2] | 0), wasm2js_i32$2 = HEAP32[($6 + 16 | 0) >> 2] | 0), wasm2js_i32$1 = HEAP32[($6 + 32 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$166 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$6 | 0, wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0, wasm2js_i32$1 | 0); } label$15 : { if (!(HEAP32[($6 + 16 | 0) >> 2] | 0)) { break label$15 } HEAP32[($6 + 40 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; } HEAP32[($6 + 4 | 0) >> 2] = 0; btAlignedObjectArray_btCollisionObject____resize_28int_2c_20btCollisionObject__20const__29($7 + 44 | 0 | 0, 0 | 0, $6 + 4 | 0 | 0); HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; continue label$4; }; } } CProfileSample___CProfileSample_28_29($6 + 63 | 0 | 0) | 0; __stack_pointer = $6 + 96 | 0; return; } function void_20btAlignedObjectArray_btPersistentManifold____quickSort_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { break label$1 } void_20btAlignedObjectArray_btPersistentManifold____quickSortInternal_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function getIslandId_28btPersistentManifold_20const__29($0) { $0 = $0 | 0; var $3 = 0, $18 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } $18 = btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; break label$1; } $18 = btCollisionObject__getIslandTag_28_29_20const(HEAP32[$3 >> 2] | 0 | 0) | 0; } HEAP32[($3 + 8 | 0) >> 2] = $18; $22 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function void_20btAlignedObjectArray_btPersistentManifold____quickSortInternal_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 20 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 20 | 0) >> 2] | 0) + (HEAP32[($6 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; label$1 : while (1) { label$2 : { label$3 : while (1) { if (!((btPersistentManifoldSortPredicate__operator_28_29_28btPersistentManifold_20const__2c_20btPersistentManifold_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } label$4 : { label$5 : while (1) { if (!((btPersistentManifoldSortPredicate__operator_28_29_28btPersistentManifold_20const__2c_20btPersistentManifold_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; continue label$5; }; } label$6 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btAlignedObjectArray_btPersistentManifold____swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; } if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$1 } break label$1; }; label$7 : { if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } void_20btAlignedObjectArray_btPersistentManifold____quickSortInternal_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); } label$8 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } void_20btAlignedObjectArray_btPersistentManifold____quickSortInternal_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 32 | 0; return; } function btPersistentManifoldSortPredicate__operator_28_29_28btPersistentManifold_20const__2c_20btPersistentManifold_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $14 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $14 = (getIslandId_28btPersistentManifold_20const__29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) < (getIslandId_28btPersistentManifold_20const__29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0; __stack_pointer = $5 + 16 | 0; return $14 | 0; } function _GLOBAL__sub_I_btSimulationIslandManager_cpp() { __cxx_global_var_init_76(); return; } function __cxx_global_var_init_77() { btInfMaskConverter__btInfMaskConverter_28int_29(116140 | 0, 2139095040 | 0) | 0; return; } function __cxx_global_var_init_2_2() { var $2 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(1.0); HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($2 + 4 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(116144 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0, $2 + 4 | 0 | 0) | 0; __stack_pointer = $2 + 16 | 0; return; } function fabs_5babi_v160004_5d_28float_29($0) { $0 = Math_fround($0); var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAPF32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(Math_abs(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); } function btConeTwistConstraint__GetPointForAngle_28float_2c_20float_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 112 | 0; __stack_pointer = $6; HEAP32[($6 + 108 | 0) >> 2] = $1; HEAPF32[($6 + 104 | 0) >> 2] = $2; HEAPF32[($6 + 100 | 0) >> 2] = $3; $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 104 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 104 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(HEAPF32[($7 + 444 | 0) >> 2]); label$1 : { if (!(Math_fround(fabs_5babi_v160004_5d_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 96 | 0) >> 2])))) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { break label$1 } HEAPF32[($6 + 84 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 92 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 92 | 0) >> 2])) / Math_fround(Math_fround(HEAPF32[($6 + 96 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 96 | 0) >> 2]))); HEAPF32[($6 + 80 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(HEAPF32[($7 + 448 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 448 | 0) >> 2]))); HEAPF32[($6 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 80 | 0) >> 2]) + Math_fround(Math_fround(HEAPF32[($6 + 84 | 0) >> 2]) / Math_fround(Math_fround(HEAPF32[($7 + 444 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 444 | 0) >> 2])))); HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(Math_fround(Math_fround(1.0) + Math_fround(HEAPF32[($6 + 84 | 0) >> 2])) / Math_fround(HEAPF32[($6 + 80 | 0) >> 2])); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(sqrt_5babi_v160004_5d_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 76 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; } HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 52 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($6 + 92 | 0) >> 2])); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 60 | 0 | 0, $6 + 56 | 0 | 0, $6 + 96 | 0 | 0, $6 + 52 | 0 | 0) | 0; btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($6 + 36 | 0 | 0, $6 + 60 | 0 | 0, $6 + 88 | 0 | 0) | 0; HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 20 | 0 | 0, $6 + 100 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0) | 0; quatRotate_28btQuaternion_20const__2c_20btVector3_20const__29($0 | 0, $6 + 36 | 0 | 0, $6 + 20 | 0 | 0); __stack_pointer = $6 + 112 | 0; return; } function _GLOBAL__sub_I_btConeTwistConstraint_cpp() { __cxx_global_var_init_77(); __cxx_global_var_init_2_2(); return; } function __cxx_global_var_init_78() { btInfMaskConverter__btInfMaskConverter_28int_29(116160 | 0, 2139095040 | 0) | 0; return; } function btGeneric6DofConstraint__getAngle_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $13 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $13 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 1192 | 0 | 0) | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); __stack_pointer = $4 + 16 | 0; return Math_fround($13); } function _GLOBAL__sub_I_btGeneric6DofConstraint_cpp() { __cxx_global_var_init_78(); return; } function __cxx_global_var_init_79() { btInfMaskConverter__btInfMaskConverter_28int_29(116164 | 0, 2139095040 | 0) | 0; return; } function btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btConstraintSolver__2c_20btCollisionConfiguration__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $65 = 0, $71 = 0, $76 = 0, $80 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 48 | 0; __stack_pointer = $7; HEAP32[($7 + 40 | 0) >> 2] = $0; HEAP32[($7 + 36 | 0) >> 2] = $1; HEAP32[($7 + 32 | 0) >> 2] = $2; HEAP32[($7 + 28 | 0) >> 2] = $3; HEAP32[($7 + 24 | 0) >> 2] = $4; $8 = HEAP32[($7 + 40 | 0) >> 2] | 0; HEAP32[($7 + 44 | 0) >> 2] = $8; btDynamicsWorld__btDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btCollisionConfiguration__29($8 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0; HEAP32[$8 >> 2] = 102792 + 8 | 0; btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($8 + 192 | 0 | 0) | 0; HEAP32[($8 + 212 | 0) >> 2] = 0; HEAP32[($8 + 216 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($8 + 224 | 0 | 0) | 0; btAlignedObjectArray_btRigidBody____btAlignedObjectArray_28_29($8 + 244 | 0 | 0) | 0; HEAPF32[($7 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($7 + 16 | 0) >> 2] = Math_fround(-10.0); HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 264 | 0 | 0, $7 + 20 | 0 | 0, $7 + 16 | 0 | 0, $7 + 12 | 0 | 0) | 0; HEAPF32[($8 + 280 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($8 + 284 | 0) >> 2] = Math_fround(0 | 0); HEAP8[($8 + 290 | 0) >> 0] = 0; HEAP8[($8 + 291 | 0) >> 0] = 0; btAlignedObjectArray_btActionInterface____btAlignedObjectArray_28_29($8 + 292 | 0 | 0) | 0; HEAP32[($8 + 312 | 0) >> 2] = 0; HEAP8[($8 + 316 | 0) >> 0] = 1; btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($8 + 320 | 0 | 0) | 0; btSpinMutex__btSpinMutex_28_29($8 + 340 | 0 | 0) | 0; label$1 : { label$2 : { if ((HEAP32[($8 + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(236 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $65 = btSequentialImpulseConstraintSolver__operator_20new_28unsigned_20long_2c_20void__29(236 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0; btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_28_29($65 | 0) | 0; HEAP32[($8 + 216 | 0) >> 2] = $65; HEAP8[($8 + 289 | 0) >> 0] = 1; break label$1; } HEAP8[($8 + 289 | 0) >> 0] = 0; } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(68 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $71 = HEAP32[($7 + 4 | 0) >> 2] | 0; btSimulationIslandManager__btSimulationIslandManager_28_29($71 | 0) | 0; HEAP32[($8 + 220 | 0) >> 2] = $71; HEAP8[($8 + 288 | 0) >> 0] = 1; (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(88 | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $76 = HEAP32[$7 >> 2] | 0; InplaceSolverIslandCallback__InplaceSolverIslandCallback_28btConstraintSolver__2c_20btStackAlloc__2c_20btDispatcher__29($76 | 0, HEAP32[($8 + 216 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0) | 0; HEAP32[($8 + 212 | 0) >> 2] = $76; $80 = HEAP32[($7 + 44 | 0) >> 2] | 0; __stack_pointer = $7 + 48 | 0; return $80 | 0; } function btDynamicsWorld__btDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btCollisionConfiguration__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCollisionWorld__btCollisionWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btCollisionConfiguration__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0; HEAP32[$7 >> 2] = 103056 + 8 | 0; HEAP32[($7 + 80 | 0) >> 2] = 0; HEAP32[($7 + 84 | 0) >> 2] = 0; HEAP32[($7 + 88 | 0) >> 2] = 0; btContactSolverInfo__btContactSolverInfo_28_29($7 + 92 | 0 | 0) | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btAlignedObjectArray_btRigidBody____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btRigidBody__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btRigidBody____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btActionInterface____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedAllocator_btActionInterface__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; btAlignedObjectArray_btActionInterface____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSequentialImpulseConstraintSolver__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; } function InplaceSolverIslandCallback__InplaceSolverIslandCallback_28btConstraintSolver__2c_20btStackAlloc__2c_20btDispatcher__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $7 = 0, $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btSimulationIslandManager__IslandCallback__IslandCallback_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 103204 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = 0; HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 12 | 0) >> 2] = 0; HEAP32[($7 + 16 | 0) >> 2] = 0; HEAP32[($7 + 20 | 0) >> 2] = 0; HEAP32[($7 + 24 | 0) >> 2] = HEAP32[$6 >> 2] | 0; btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($7 + 28 | 0 | 0) | 0; btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($7 + 48 | 0 | 0) | 0; btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($7 + 68 | 0 | 0) | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btContactSolverInfo__btContactSolverInfo_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAPF32[$4 >> 2] = Math_fround(.6000000238418579); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(.30000001192092896); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(.01666666753590107); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(20.0); HEAP32[($4 + 20 | 0) >> 2] = 10; HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(.20000000298023224); HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(.20000000298023224); HEAPF32[($4 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(.20000000298023224); HEAPF32[($4 + 48 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(1.0); HEAP32[($4 + 52 | 0) >> 2] = 1; HEAPF32[($4 + 56 | 0) >> 2] = Math_fround(-.03999999910593033); HEAPF32[($4 + 60 | 0) >> 2] = Math_fround(.10000000149011612); HEAPF32[($4 + 64 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 68 | 0) >> 2] = Math_fround(.8500000238418579); HEAP32[($4 + 72 | 0) >> 2] = 260; HEAP32[($4 + 76 | 0) >> 2] = 2; HEAP32[($4 + 80 | 0) >> 2] = 128; HEAPF32[($4 + 84 | 0) >> 2] = Math_fround(100.0); HEAPF32[($4 + 88 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); HEAPF32[($4 + 92 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(.20000000298023224); return $4 | 0; } function btAlignedAllocator_btRigidBody__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btRigidBody____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btAlignedAllocator_btActionInterface__2c_2016u___btAlignedAllocator_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btActionInterface____init_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP8[($4 + 16 | 0) >> 0] = 1; HEAP32[($4 + 12 | 0) >> 2] = 0; HEAP32[($4 + 4 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 0; return; } function btSimulationIslandManager__IslandCallback__IslandCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 103320 + 8 | 0; return $4 | 0; } function btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $11 = 0, $22 = 0, $29 = 0, $43 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 102792 + 8 | 0; label$1 : { if (!((HEAPU8[($4 + 288 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $11 = HEAP32[($4 + 220 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$11 >> 2] | 0) >> 2] | 0 | 0]($11) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 220 | 0) >> 2] | 0 | 0); } label$2 : { if (!((HEAP32[($4 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $22 = HEAP32[($4 + 212 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$22 >> 2] | 0) >> 2] | 0 | 0]($22) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 212 | 0) >> 2] | 0 | 0); } label$3 : { if (!((HEAPU8[($4 + 289 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } $29 = HEAP32[($4 + 216 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$29 >> 2] | 0) >> 2] | 0 | 0]($29) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 216 | 0) >> 2] | 0 | 0); } btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 320 | 0 | 0) | 0; btAlignedObjectArray_btActionInterface_____btAlignedObjectArray_28_29($4 + 292 | 0 | 0) | 0; btAlignedObjectArray_btRigidBody_____btAlignedObjectArray_28_29($4 + 244 | 0 | 0) | 0; btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($4 + 224 | 0 | 0) | 0; btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($4 + 192 | 0 | 0) | 0; btDynamicsWorld___btDynamicsWorld_28_29($4 | 0) | 0; $43 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $43 | 0; } function btAlignedObjectArray_btActionInterface_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btActionInterface____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btRigidBody_____btAlignedObjectArray_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btRigidBody____clear_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btDynamicsWorld___btDynamicsWorld_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld___btCollisionWorld_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btAlignedObjectArray_btActionInterface____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btActionInterface____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btActionInterface____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btActionInterface____deallocate_28_29($4 | 0); btAlignedObjectArray_btActionInterface____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btRigidBody____clear_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btRigidBody____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($4 | 0) | 0 | 0); btAlignedObjectArray_btRigidBody____deallocate_28_29($4 | 0); btAlignedObjectArray_btRigidBody____init_28_29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[1114 | 0]($4) | 0; btDiscreteDynamicsWorld__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDiscreteDynamicsWorld__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDiscreteDynamicsWorld__saveKinematicState_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAPF32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; HEAP32[($4 + 20 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { break label$3 } label$4 : { if (!((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } btRigidBody__saveKinematicState_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]))); } } HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 32 | 0; return; } function btDiscreteDynamicsWorld__debugDrawWorld_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $21 = 0, $65 = 0, $82 = 0, $100 = 0, $118 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($3 + 27 | 0 | 0, 82255 | 0) | 0; btCollisionWorld__debugDrawWorld_28_29($4 | 0); HEAP8[($3 + 26 | 0) >> 0] = 0; label$1 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $21 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($21) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; label$2 : { if (!((HEAP32[($3 + 20 | 0) >> 2] | 0) & 6144 | 0)) { break label$2 } HEAP8[($3 + 26 | 0) >> 0] = 1; } } label$3 : { if (!((HEAPU8[($3 + 26 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($4) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$4 : { label$5 : while (1) { if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($4, HEAP32[($3 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 172 | 0) >> 2] | 0 | 0]($4, HEAP32[($3 + 12 | 0) >> 2] | 0); HEAP32[($3 + 16 | 0) >> 2] = (HEAP32[($3 + 16 | 0) >> 2] | 0) + -1 | 0; continue label$5; }; } } label$6 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } $65 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$65 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($65) | 0) & 16387 | 0)) { break label$6 } label$7 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$7 } $82 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; if (!(FUNCTION_TABLE[HEAP32[((HEAP32[$82 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($82) | 0)) { break label$7 } HEAP32[($3 + 8 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($4 + 292 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$8 } $100 = HEAP32[(btAlignedObjectArray_btActionInterface____operator_5b_5d_28int_29($4 + 292 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$100 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($100, HEAP32[($4 + 72 | 0) >> 2] | 0); HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$9; }; } } } label$10 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$10 } $118 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$118 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($118); } CProfileSample___CProfileSample_28_29($3 + 27 | 0 | 0) | 0; __stack_pointer = $3 + 32 | 0; return; } function btAlignedObjectArray_btActionInterface____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btActionInterface____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btDiscreteDynamicsWorld__clearForces_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($4 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($4 + 244 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btRigidBody__clearForces_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 16 | 0; return; } function btDiscreteDynamicsWorld__applyGravity_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($4 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($4 + 244 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$3 } btRigidBody__applyGravity_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); } HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 16 | 0; return; } function btDiscreteDynamicsWorld__synchronizeSingleMotionState_28btRigidBody__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $50 = Math_fround(0), $60 = 0, $33 = 0, $35 = 0, $37 = 0; $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAP32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } __assert_fail(66059 | 0, 75653 | 0, 355 | 0, 81262 | 0); wasm2js_trap(); } label$2 : { if (!((btRigidBody__getMotionState_28_29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$2 } btTransform__btTransform_28_29($4 + 8 | 0 | 0) | 0; $33 = btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; $35 = btCollisionObject__getInterpolationLinearVelocity_28_29_20const(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; $37 = btCollisionObject__getInterpolationAngularVelocity_28_29_20const(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; label$3 : { label$4 : { if (!((HEAPU8[($5 + 316 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } if (!(Math_fround(HEAPF32[($5 + 284 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$4 } $50 = Math_fround(Math_fround(HEAPF32[($5 + 280 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 284 | 0) >> 2])); break label$3; } $50 = Math_fround(Math_fround(HEAPF32[($5 + 280 | 0) >> 2]) * Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0))); } btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29($33 | 0, $35 | 0, $37 | 0, Math_fround($50), $4 + 8 | 0 | 0); $60 = btRigidBody__getMotionState_28_29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$60 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($60, $4 + 8 | 0); } __stack_pointer = $4 + 80 | 0; return; } function btCollisionObject__getInterpolationLinearVelocity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 132 | 0 | 0; } function btCollisionObject__getInterpolationAngularVelocity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 148 | 0 | 0; } function btDiscreteDynamicsWorld__synchronizeMotionStates_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($4 + 290 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAP32[($3 + 24 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$5 : { if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } btDiscreteDynamicsWorld__synchronizeSingleMotionState_28btRigidBody__29($4 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0); } HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } HEAP32[($3 + 12 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($4 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($4 + 244 | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$8 : { if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$8 } btDiscreteDynamicsWorld__synchronizeSingleMotionState_28btRigidBody__29($4 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); } HEAP32[($3 + 12 | 0) >> 2] = (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } __stack_pointer = $3 + 32 | 0; return; } function btDiscreteDynamicsWorld__stepSimulation_28float_2c_20int_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = Math_fround($1); $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0, $22 = Math_fround(0), $28 = 0, $44 = Math_fround(0), $69 = 0, $91 = 0, $122 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAPF32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAPF32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; btDiscreteDynamicsWorld__startProfiling_28float_29($7 | 0, Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2]))); HEAP32[($6 + 12 | 0) >> 2] = 0; label$1 : { label$2 : { if (!(HEAP32[($6 + 20 | 0) >> 2] | 0)) { break label$2 } HEAPF32[($7 + 284 | 0) >> 2] = Math_fround(HEAPF32[($6 + 16 | 0) >> 2]); HEAPF32[($7 + 280 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 280 | 0) >> 2]) + Math_fround(HEAPF32[($6 + 24 | 0) >> 2])); label$3 : { if (!(Math_fround(HEAPF32[($7 + 280 | 0) >> 2]) >= Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) & 1 | 0)) { break label$3 } $22 = Math_fround(Math_fround(HEAPF32[($7 + 280 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 16 | 0) >> 2])); label$4 : { label$5 : { if (!(Math_fround(Math_abs($22)) < Math_fround(2147483648.0))) { break label$5 } $28 = ~~$22; break label$4; } $28 = -2147483648; } HEAP32[($6 + 12 | 0) >> 2] = $28; HEAPF32[($7 + 280 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(HEAPF32[($6 + 16 | 0) >> 2])) + Math_fround(HEAPF32[($7 + 280 | 0) >> 2])); } break label$1; } HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(HEAPF32[($6 + 24 | 0) >> 2]); label$6 : { label$7 : { if (!((HEAPU8[($7 + 316 | 0) >> 0] | 0) & 1 | 0)) { break label$7 } $44 = Math_fround(0 | 0); break label$6; } $44 = Math_fround(HEAPF32[($6 + 24 | 0) >> 2]); } HEAPF32[($7 + 280 | 0) >> 2] = $44; HEAPF32[($7 + 284 | 0) >> 2] = Math_fround(0 | 0); label$8 : { label$9 : { if (!((btFuzzyZero_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2]))) | 0) & 1 | 0)) { break label$9 } HEAP32[($6 + 12 | 0) >> 2] = 0; HEAP32[($6 + 20 | 0) >> 2] = 0; break label$8; } HEAP32[($6 + 12 | 0) >> 2] = 1; HEAP32[($6 + 20 | 0) >> 2] = 1; } } label$10 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$10 } (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $69 = HEAP32[($6 + 8 | 0) >> 2] | 0; (wasm2js_i32$0 = 0, wasm2js_i32$1 = ((FUNCTION_TABLE[HEAP32[((HEAP32[$69 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($69) | 0) & 16 | 0 | 0) != (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 116124 | 0) >> 0] = wasm2js_i32$1; } label$11 : { label$12 : { if (!(HEAP32[($6 + 12 | 0) >> 2] | 0)) { break label$12 } label$13 : { label$14 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$14 } $91 = HEAP32[($6 + 20 | 0) >> 2] | 0; break label$13; } $91 = HEAP32[($6 + 12 | 0) >> 2] | 0; } HEAP32[($6 + 4 | 0) >> 2] = $91; FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 168 | 0) >> 2] | 0 | 0]($7, Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0))); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 176 | 0) >> 2] | 0 | 0]($7); HEAP32[$6 >> 2] = 0; label$15 : { label$16 : while (1) { if (!((HEAP32[$6 >> 2] | 0 | 0) < (HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$15 } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 160 | 0) >> 2] | 0 | 0]($7, Math_fround(HEAPF32[($6 + 16 | 0) >> 2])); FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($7); HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 1 | 0; continue label$16; }; } break label$11; } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($7); } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 120 | 0) >> 2] | 0 | 0]($7); $122 = HEAP32[($6 + 12 | 0) >> 2] | 0; __stack_pointer = $6 + 32 | 0; return $122 | 0; } function btDiscreteDynamicsWorld__startProfiling_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; return; } function btFuzzyZero_28float_29($0) { $0 = Math_fround($0); var $3 = 0, $9 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAPF32[($3 + 12 | 0) >> 2] = $0; $9 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))) < Math_fround(1.1920928955078125e-07) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $9 | 0; } function btDiscreteDynamicsWorld__internalSingleStepSimulation_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $5 = 0, $4 = 0, $29 = 0, $38 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$2 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($4 + 7 | 0 | 0, 76760 | 0) | 0; label$1 : { if (!((0 | 0) != (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } FUNCTION_TABLE[HEAP32[($5 + 84 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); } FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 140 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionWorld__getDispatchInfo_28_29($5 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAPF32[(HEAP32[$4 >> 2] | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] = 0; $29 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] = $29; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 164 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($5); FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 148 | 0) >> 2] | 0 | 0]($5); $38 = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); (wasm2js_i32$0 = btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0, wasm2js_f32$0 = $38), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; ((wasm2js_i32$1 = $5, wasm2js_i32$2 = btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$5 >> 2] | 0) + 152 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0); FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 144 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); btDiscreteDynamicsWorld__updateActions_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 156 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); label$2 : { if (!((0 | 0) != (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } FUNCTION_TABLE[HEAP32[($5 + 80 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); } CProfileSample___CProfileSample_28_29($4 + 7 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__updateActions_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, $24 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($4 + 7 | 0 | 0, 69678 | 0) | 0; HEAP32[$4 >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 + 292 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } $24 = HEAP32[(btAlignedObjectArray_btActionInterface____operator_5b_5d_28int_29($5 + 292 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($24, $5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; continue label$2; }; } CProfileSample___CProfileSample_28_29($4 + 7 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__setGravity_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $10 = 0, $63 = 0, $73 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $8 = $5 + 264 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $63 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $63; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $73 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $73; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAP32[($4 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$3 : { if (!((btCollisionObject__isActive_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$3 } if ((btRigidBody__getFlags_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } btRigidBody__setGravity_28btVector3_20const__29(HEAP32[$4 >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__getGravity_28_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $9 = 0, $27 = 0, $37 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $1; i64toi32_i32$2 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 264 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $27 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $27; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $9 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $9 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $37 = i64toi32_i32$1; i64toi32_i32$1 = $0 + $9 | 0; HEAP32[i64toi32_i32$1 >> 2] = $37; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btDiscreteDynamicsWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; btCollisionWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); __stack_pointer = $6 + 16 | 0; return; } function btDiscreteDynamicsWorld__removeCollisionObject_28btCollisionObject__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 92 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 4 | 0) >> 2] | 0); break label$1; } btCollisionWorld__removeCollisionObject_28btCollisionObject__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__removeRigidBody_28btRigidBody__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; btAlignedObjectArray_btRigidBody____remove_28btRigidBody__20const__29($5 + 244 | 0 | 0, $4 + 8 | 0 | 0); btCollisionWorld__removeCollisionObject_28btCollisionObject__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btRigidBody____remove_28btRigidBody__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____findLinearSearch_28btRigidBody__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btRigidBody____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btRigidBody____findLinearSearch_28btRigidBody__20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[$4 >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; break label$1; } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; continue label$2; }; } $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btRigidBody____removeAtIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btRigidBody____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); btAlignedObjectArray_btRigidBody____pop_back_28_29($5 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__addRigidBody_28btRigidBody__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $41 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; label$1 : { if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } if ((btRigidBody__getFlags_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } btRigidBody__setGravity_28btVector3_20const__29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, $5 + 264 | 0 | 0); } label$2 : { if (!((btRigidBody__getCollisionShape_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } label$3 : { label$4 : { if ((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$4 } btAlignedObjectArray_btRigidBody____push_back_28btRigidBody__20const__29($5 + 244 | 0 | 0, $4 + 24 | 0 | 0); break label$3; } btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, 2 | 0); } $41 = 1; label$5 : { if ((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$5 } $41 = btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0; } HEAP8[($4 + 23 | 0) >> 0] = ($41 ^ -1 | 0) & 1 | 0; HEAP32[($4 + 16 | 0) >> 2] = (HEAPU8[($4 + 23 | 0) >> 0] | 0) & 1 | 0 ? 1 : 2; HEAP32[($4 + 12 | 0) >> 2] = (HEAPU8[($4 + 23 | 0) >> 0] | 0) & 1 | 0 ? -1 : -3; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 24 | 0) >> 2] | 0, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0); } __stack_pointer = $4 + 32 | 0; return; } function btAlignedObjectArray_btRigidBody____push_back_28btRigidBody__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btRigidBody____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btRigidBody____reserve_28int_29($5 | 0, btAlignedObjectArray_btRigidBody____allocSize_28int_29($5 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btRigidBody____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btRigidBody____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btRigidBody____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btRigidBody____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btRigidBody____copy_28int_2c_20int_2c_20btRigidBody___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btRigidBody____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btRigidBody____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__addRigidBody_28btRigidBody__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; label$1 : { if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } if ((btRigidBody__getFlags_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } btRigidBody__setGravity_28btVector3_20const__29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, $7 + 264 | 0 | 0); } label$2 : { if (!((btRigidBody__getCollisionShape_28_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } label$3 : { label$4 : { if ((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$4 } btAlignedObjectArray_btRigidBody____push_back_28btRigidBody__20const__29($7 + 244 | 0 | 0, $6 + 8 | 0 | 0); break label$3; } btCollisionObject__setActivationState_28int_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, 2 | 0); } FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); } __stack_pointer = $6 + 16 | 0; return; } function btDiscreteDynamicsWorld__updateActivationState_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, $62 = 0, $84 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 80 | 0; __stack_pointer = $4; HEAP32[($4 + 76 | 0) >> 2] = $0; HEAPF32[($4 + 72 | 0) >> 2] = $1; $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($4 + 71 | 0 | 0, 81326 | 0) | 0; HEAP32[($4 + 64 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 64 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, HEAP32[($4 + 64 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } btRigidBody__updateDeactivation_28float_29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 72 | 0) >> 2]))); label$4 : { label$5 : { if (!((btRigidBody__wantsSleeping_28_29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$5 } label$6 : { label$7 : { if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, 2 | 0); break label$6; } label$8 : { if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$8 } btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, 3 | 0); } label$9 : { if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { break label$9 } $62 = HEAP32[($4 + 60 | 0) >> 2] | 0; HEAPF32[($4 + 40 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 44 | 0 | 0, $4 + 40 | 0 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0) | 0; btRigidBody__setAngularVelocity_28btVector3_20const__29($62 | 0, $4 + 44 | 0 | 0); $84 = HEAP32[($4 + 60 | 0) >> 2] | 0; HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0) | 0; btRigidBody__setLinearVelocity_28btVector3_20const__29($84 | 0, $4 + 16 | 0 | 0); } } break label$4; } label$10 : { if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0)) { break label$10 } btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, 1 | 0); } } } HEAP32[($4 + 64 | 0) >> 2] = (HEAP32[($4 + 64 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } CProfileSample___CProfileSample_28_29($4 + 71 | 0 | 0) | 0; __stack_pointer = $4 + 80 | 0; return; } function btRigidBody__updateDeactivation_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $5 = 0, $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : { label$3 : { if ((btCollisionObject__getActivationState_28_29_20const($5 | 0) | 0 | 0) == (2 | 0) & 1 | 0) { break label$3 } if (!((btCollisionObject__getActivationState_28_29_20const($5 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { break label$2 } } break label$1; } label$4 : { if (!(Math_fround(btVector3__length2_28_29_20const(btRigidBody__getLinearVelocity_28_29_20const($5 | 0) | 0 | 0)) < Math_fround(Math_fround(HEAPF32[($5 + 532 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 532 | 0) >> 2])) & 1 | 0)) { break label$4 } if (!(Math_fround(btVector3__length2_28_29_20const(btRigidBody__getAngularVelocity_28_29_20const($5 | 0) | 0 | 0)) < Math_fround(Math_fround(HEAPF32[($5 + 536 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 536 | 0) >> 2])) & 1 | 0)) { break label$4 } HEAPF32[($5 + 224 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 224 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); break label$1; } HEAPF32[($5 + 224 | 0) >> 2] = Math_fround(0 | 0); btCollisionObject__setActivationState_28int_29_20const($5 | 0, 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__addConstraint_28btTypedConstraint__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; btAlignedObjectArray_btTypedConstraint____push_back_28btTypedConstraint__20const__29((HEAP32[($5 + 12 | 0) >> 2] | 0) + 224 | 0 | 0, $5 + 8 | 0 | 0); label$1 : { if ((btTypedConstraint__getRigidBodyA_28_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (btTypedConstraint__getRigidBodyB_28_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { break label$1 } __assert_fail(88204 | 0, 75653 | 0, 660 | 0, 67767 | 0); wasm2js_trap(); } label$2 : { if (!((HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btRigidBody__addConstraintRef_28btTypedConstraint__29(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); btRigidBody__addConstraintRef_28btTypedConstraint__29(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); } __stack_pointer = $5 + 16 | 0; return; } function btDiscreteDynamicsWorld__removeConstraint_28btTypedConstraint__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedObjectArray_btTypedConstraint____remove_28btTypedConstraint__20const__29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 224 | 0 | 0, $4 + 8 | 0 | 0); btRigidBody__removeConstraintRef_28btTypedConstraint__29(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btRigidBody__removeConstraintRef_28btTypedConstraint__29(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__addAction_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedObjectArray_btActionInterface____push_back_28btActionInterface__20const__29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 292 | 0 | 0, $4 + 8 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btActionInterface____push_back_28btActionInterface__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btActionInterface____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btActionInterface____reserve_28int_29($5 | 0, btAlignedObjectArray_btActionInterface____allocSize_28int_29($5 | 0, btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); } HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btActionInterface____capacity_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btActionInterface____allocSize_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $9 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; label$1 : { label$2 : { if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { break label$2 } $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; break label$1; } $9 = 1; } return $9 | 0; } function btAlignedObjectArray_btActionInterface____reserve_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btActionInterface____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btActionInterface____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btActionInterface____copy_28int_2c_20int_2c_20btActionInterface___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); btAlignedObjectArray_btActionInterface____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0); btAlignedObjectArray_btActionInterface____deallocate_28_29($5 | 0); HEAP8[($5 + 16 | 0) >> 0] = 1; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; } __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__removeAction_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedObjectArray_btActionInterface____remove_28btActionInterface__20const__29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 292 | 0 | 0, $4 + 8 | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btActionInterface____remove_28btActionInterface__20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btActionInterface____findLinearSearch_28btActionInterface__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; btAlignedObjectArray_btActionInterface____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btActionInterface____findLinearSearch_28btActionInterface__20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAP32[$4 >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; break label$1; } HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; continue label$2; }; } $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btAlignedObjectArray_btActionInterface____removeAtIndex_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { break label$1 } btAlignedObjectArray_btActionInterface____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); btAlignedObjectArray_btActionInterface____pop_back_28_29($5 | 0); } __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__addVehicle_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__removeVehicle_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__addCharacter_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__removeCharacter_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__solveConstraints_28btContactSolverInfo__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $5 = 0, $4 = 0, $53 = 0, $65 = 0, $69 = 0, $81 = 0, $14 = 0, $33 = 0, $67 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($4 + 23 | 0 | 0, 69190 | 0) | 0; $14 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 224 | 0 | 0) | 0; HEAP32[($4 + 16 | 0) >> 2] = 0; btAlignedObjectArray_btTypedConstraint____resize_28int_2c_20btTypedConstraint__20const__29($5 + 192 | 0 | 0, $14 | 0, $4 + 16 | 0 | 0); HEAP32[($4 + 12 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($5) | 0 | 0) & 1 | 0)) { break label$1 } $33 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($5 + 224 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($5 + 192 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $33), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } void_20btAlignedObjectArray_btTypedConstraint____quickSort_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__29($5 + 192 | 0 | 0, $4 + 11 | 0 | 0); label$3 : { label$4 : { if (!(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($5) | 0)) { break label$4 } $53 = btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($5 + 192 | 0 | 0, 0 | 0) | 0; break label$3; } $53 = 0; } HEAP32[($4 + 4 | 0) >> 2] = $53; InplaceSolverIslandCallback__setup_28btContactSolverInfo__2c_20btTypedConstraint___2c_20int_2c_20btIDebugDraw__29(HEAP32[($5 + 212 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 192 | 0 | 0) | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0 | 0); $65 = HEAP32[($5 + 216 | 0) >> 2] | 0; $67 = btCollisionWorld__getNumCollisionObjects_28_29_20const(btDiscreteDynamicsWorld__getCollisionWorld_28_29($5 | 0) | 0 | 0) | 0; $69 = btCollisionWorld__getDispatcher_28_29(btDiscreteDynamicsWorld__getCollisionWorld_28_29($5 | 0) | 0 | 0) | 0; (((wasm2js_i32$1 = $65, wasm2js_i32$2 = $67), wasm2js_i32$3 = FUNCTION_TABLE[HEAP32[((HEAP32[$69 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($69) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$65 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); btSimulationIslandManager__buildAndProcessIslands_28btDispatcher__2c_20btCollisionWorld__2c_20btSimulationIslandManager__IslandCallback__29(HEAP32[($5 + 220 | 0) >> 2] | 0 | 0, btCollisionWorld__getDispatcher_28_29(btDiscreteDynamicsWorld__getCollisionWorld_28_29($5 | 0) | 0 | 0) | 0 | 0, btDiscreteDynamicsWorld__getCollisionWorld_28_29($5 | 0) | 0 | 0, HEAP32[($5 + 212 | 0) >> 2] | 0 | 0); InplaceSolverIslandCallback__processConstraints_28_29(HEAP32[($5 + 212 | 0) >> 2] | 0 | 0); $81 = HEAP32[($5 + 216 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$81 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($81, HEAP32[($4 + 24 | 0) >> 2] | 0, HEAP32[($5 + 72 | 0) >> 2] | 0); CProfileSample___CProfileSample_28_29($4 + 23 | 0 | 0) | 0; __stack_pointer = $4 + 32 | 0; return; } function btAlignedObjectArray_btTypedConstraint____resize_28int_2c_20btTypedConstraint__20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btTypedConstraint____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function void_20btAlignedObjectArray_btTypedConstraint____quickSort_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { break label$1 } void_20btAlignedObjectArray_btTypedConstraint____quickSortInternal_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); } __stack_pointer = $4 + 16 | 0; return; } function InplaceSolverIslandCallback__setup_28btContactSolverInfo__2c_20btTypedConstraint___2c_20int_2c_20btIDebugDraw__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } __assert_fail(76208 | 0, 75653 | 0, 121 | 0, 71279 | 0); wasm2js_trap(); } HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($8 + 12 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; HEAP32[($8 + 16 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; HEAP32[($8 + 20 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = 0; btAlignedObjectArray_btCollisionObject____resize_28int_2c_20btCollisionObject__20const__29($8 + 28 | 0 | 0, 0 | 0, $7 + 8 | 0 | 0); HEAP32[($7 + 4 | 0) >> 2] = 0; btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($8 + 48 | 0 | 0, 0 | 0, $7 + 4 | 0 | 0); HEAP32[$7 >> 2] = 0; btAlignedObjectArray_btTypedConstraint____resize_28int_2c_20btTypedConstraint__20const__29($8 + 68 | 0 | 0, 0 | 0, $7 | 0); __stack_pointer = $7 + 32 | 0; return; } function btDiscreteDynamicsWorld__getCollisionWorld_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btCollisionWorld__getNumCollisionObjects_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btCollisionObject____size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function InplaceSolverIslandCallback__processConstraints_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $12 = 0, $22 = 0, $32 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_i32$6 = 0, wasm2js_i32$7 = 0, wasm2js_i32$8 = 0, wasm2js_i32$9 = 0, wasm2js_i32$10 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 28 | 0 | 0) | 0)) { break label$2 } $12 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 28 | 0 | 0, 0 | 0) | 0; break label$1; } $12 = 0; } HEAP32[($3 + 24 | 0) >> 2] = $12; label$3 : { label$4 : { if (!(btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 48 | 0 | 0) | 0)) { break label$4 } $22 = btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($4 + 48 | 0 | 0, 0 | 0) | 0; break label$3; } $22 = 0; } HEAP32[($3 + 20 | 0) >> 2] = $22; label$5 : { label$6 : { if (!(btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 + 68 | 0 | 0) | 0)) { break label$6 } $32 = btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($4 + 68 | 0 | 0, 0 | 0) | 0; break label$5; } $32 = 0; } HEAP32[($3 + 16 | 0) >> 2] = $32; $35 = HEAP32[($4 + 8 | 0) >> 2] | 0; ((((((((((wasm2js_i32$1 = $35, wasm2js_i32$2 = HEAP32[($3 + 24 | 0) >> 2] | 0), wasm2js_i32$3 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 28 | 0 | 0) | 0), wasm2js_i32$4 = HEAP32[($3 + 20 | 0) >> 2] | 0), wasm2js_i32$5 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 48 | 0 | 0) | 0), wasm2js_i32$6 = HEAP32[($3 + 16 | 0) >> 2] | 0), wasm2js_i32$7 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 + 68 | 0 | 0) | 0), wasm2js_i32$8 = HEAP32[($4 + 4 | 0) >> 2] | 0), wasm2js_i32$9 = HEAP32[($4 + 20 | 0) >> 2] | 0), wasm2js_i32$10 = HEAP32[($4 + 24 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$35 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), Math_fround(FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0, wasm2js_i32$7 | 0, wasm2js_i32$8 | 0, wasm2js_i32$9 | 0, wasm2js_i32$10 | 0)); HEAP32[($3 + 12 | 0) >> 2] = 0; btAlignedObjectArray_btCollisionObject____resize_28int_2c_20btCollisionObject__20const__29($4 + 28 | 0 | 0, 0 | 0, $3 + 12 | 0 | 0); HEAP32[($3 + 8 | 0) >> 2] = 0; btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($4 + 48 | 0 | 0, 0 | 0, $3 + 8 | 0 | 0); HEAP32[($3 + 4 | 0) >> 2] = 0; btAlignedObjectArray_btTypedConstraint____resize_28int_2c_20btTypedConstraint__20const__29($4 + 68 | 0 | 0, 0 | 0, $3 + 4 | 0 | 0); __stack_pointer = $3 + 32 | 0; return; } function void_20btAlignedObjectArray_btTypedConstraint____quickSortInternal_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 20 | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 20 | 0) >> 2] | 0) + (HEAP32[($6 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; label$1 : while (1) { label$2 : { label$3 : while (1) { if (!((btSortConstraintOnIslandPredicate__operator_28_29_28btTypedConstraint_20const__2c_20btTypedConstraint_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } label$4 : { label$5 : while (1) { if (!((btSortConstraintOnIslandPredicate__operator_28_29_28btTypedConstraint_20const__2c_20btTypedConstraint_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; continue label$5; }; } label$6 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } btAlignedObjectArray_btTypedConstraint____swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; } if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { continue label$1 } break label$1; }; label$7 : { if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$7 } void_20btAlignedObjectArray_btTypedConstraint____quickSortInternal_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); } label$8 : { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } void_20btAlignedObjectArray_btTypedConstraint____quickSortInternal_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); } __stack_pointer = $6 + 32 | 0; return; } function btAlignedObjectArray_btCollisionObject____resize_28int_2c_20btCollisionObject__20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } break label$1; } label$5 : { if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btCollisionObject____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; __stack_pointer = $5 + 32 | 0; return; } function btDiscreteDynamicsWorld__calculateSimulationIslands_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $9 = 0, $120 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; $3 = __stack_pointer - 48 | 0; __stack_pointer = $3; HEAP32[($3 + 44 | 0) >> 2] = $0; $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($3 + 43 | 0 | 0, 70326 | 0) | 0; $9 = btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($4 | 0) | 0; (((wasm2js_i32$1 = $9, wasm2js_i32$2 = btDiscreteDynamicsWorld__getCollisionWorld_28_29($4 | 0) | 0), wasm2js_i32$3 = btCollisionWorld__getDispatcher_28_29(btDiscreteDynamicsWorld__getCollisionWorld_28_29($4 | 0) | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$9 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); HEAP32[($3 + 36 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 36 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 320 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($4 + 320 | 0 | 0, HEAP32[($3 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$3; (wasm2js_i32$0 = $3, wasm2js_i32$3 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($3 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$3; (wasm2js_i32$0 = $3, wasm2js_i32$3 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($3 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$3; label$3 : { if (!((HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } btUnionFind__unite_28int_2c_20int_29(btSimulationIslandManager__getUnionFind_28_29(btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($4 | 0) | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0 | 0); } HEAP32[($3 + 36 | 0) >> 2] = (HEAP32[($3 + 36 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } (wasm2js_i32$0 = $3, wasm2js_i32$3 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 + 224 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$3; HEAP32[($3 + 20 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $3, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($4 + 224 | 0 | 0, HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$3; label$6 : { if (!((btTypedConstraint__isEnabled_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $3, wasm2js_i32$3 = btTypedConstraint__getRigidBodyA_28_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$3; (wasm2js_i32$0 = $3, wasm2js_i32$3 = btTypedConstraint__getRigidBodyB_28_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$3; label$7 : { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$7 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$7 } if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$7 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$7 } btUnionFind__unite_28int_2c_20int_29(btSimulationIslandManager__getUnionFind_28_29(btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($4 | 0) | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0); } } HEAP32[($3 + 20 | 0) >> 2] = (HEAP32[($3 + 20 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } $120 = btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($4 | 0) | 0; ((wasm2js_i32$3 = $120, wasm2js_i32$2 = btDiscreteDynamicsWorld__getCollisionWorld_28_29($4 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$120 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$3 | 0, wasm2js_i32$2 | 0); CProfileSample___CProfileSample_28_29($3 + 43 | 0 | 0) | 0; __stack_pointer = $3 + 48 | 0; return; } function btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0; } function btSimulationIslandManager__getUnionFind_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; } function btCollisionObject__getIslandTag_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0; } function btUnionFind__unite_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $25 = 0, $18 = 0, $23 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btUnionFind__find_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btUnionFind__find_28int_29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } break label$1; } $18 = HEAP32[($5 + 12 | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $18), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $23 = HEAP32[((btAlignedObjectArray_btElement___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0; $25 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[($25 + 4 | 0) >> 2] = (HEAP32[($25 + 4 | 0) >> 2] | 0) + $23 | 0; } __stack_pointer = $5 + 32 | 0; return; } function btUnionFind__find_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $20 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[(btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[(btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $20 = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $20), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAP32[($4 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; continue label$2; }; } $25 = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $25 | 0; } function btAlignedObjectArray_btElement___operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btDiscreteDynamicsWorld__createPredictiveContactsInternal_28btRigidBody___2c_20int_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $93 = 0, $186 = 0, $281 = 0, $283 = 0, $289 = 0, $291 = 0, $85 = 0, $88 = 0, $92 = 0, $274 = Math_fround(0), $278 = 0, $878 = 0, $888 = 0, $897 = 0, $910 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $6 = __stack_pointer - 736 | 0; __stack_pointer = $6; HEAP32[($6 + 732 | 0) >> 2] = $0; HEAP32[($6 + 728 | 0) >> 2] = $1; HEAP32[($6 + 724 | 0) >> 2] = $2; HEAPF32[($6 + 720 | 0) >> 2] = $3; $7 = HEAP32[($6 + 732 | 0) >> 2] | 0; btTransform__btTransform_28_29($6 + 656 | 0 | 0) | 0; HEAP32[($6 + 652 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 652 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 724 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[($6 + 648 | 0) >> 2] = HEAP32[((HEAP32[($6 + 728 | 0) >> 2] | 0) + ((HEAP32[($6 + 652 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; btCollisionObject__setHitFraction_28float_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); label$3 : { if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$3 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2])), $6 + 656 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 628 | 0 | 0, btTransform__getOrigin_28_29($6 + 656 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 628 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 644 | 0) >> 2] = wasm2js_f32$0; label$4 : { if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($7 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$4 } if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0)) { break label$4 } if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0)) < Math_fround(HEAPF32[($6 + 644 | 0) >> 2]) & 1 | 0)) { break label$4 } CProfileSample__CProfileSample_28char_20const__29($6 + 627 | 0 | 0, 67428 | 0) | 0; label$5 : { if (!((btCollisionShape__isConvex_28_29_20const(btRigidBody__getCollisionShape_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$5 } HEAP32[(0 + 116168 | 0) >> 2] = (HEAP32[(0 + 116168 | 0) >> 2] | 0) + 1 | 0; $85 = HEAP32[($6 + 648 | 0) >> 2] | 0; $88 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $92 = btTransform__getOrigin_28_29($6 + 656 | 0 | 0) | 0; $93 = btCollisionWorld__getBroadphase_28_29($7 | 0) | 0; btClosestNotMeConvexResultCallback__btClosestNotMeConvexResultCallback_28btCollisionObject__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btOverlappingPairCache__2c_20btDispatcher__29($6 + 524 | 0 | 0, $85 | 0, $88 | 0, $92 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$93 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($93) | 0 | 0, btCollisionWorld__getDispatcher_28_29($7 | 0) | 0 | 0) | 0; btSphereShape__btSphereShape_28float_29($6 + 464 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0)))) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[((btCollisionWorld__getDispatchInfo_28_29($7 | 0) | 0) + 28 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 612 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 536 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28btTransform_20const__29($6 + 400 | 0 | 0, $6 + 656 | 0 | 0) | 0; btTransform__setBasis_28btMatrix3x3_20const__29($6 + 400 | 0 | 0, btTransform__getBasis_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const($7 | 0, $6 + 464 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 400 | 0 | 0, $6 + 524 | 0 | 0, Math_fround(Math_fround(0 | 0))); label$6 : { if (!((btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($6 + 524 | 0 | 0) | 0) & 1 | 0)) { break label$6 } if (!(Math_fround(HEAPF32[($6 + 528 | 0) >> 2]) < Math_fround(1.0) & 1 | 0)) { break label$6 } operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 368 | 0 | 0, btTransform__getOrigin_28_29($6 + 656 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 384 | 0 | 0, $6 + 368 | 0 | 0, ($6 + 524 | 0) + 4 | 0 | 0); operator__28btVector3_20const__29($6 + 348 | 0 | 0, ($6 + 524 | 0) + 52 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 384 | 0 | 0, $6 + 348 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_f32$0; $186 = HEAP32[($7 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$186 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($186, HEAP32[($6 + 648 | 0) >> 2] | 0, HEAP32[($6 + 540 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; btMutexLock_28btSpinMutex__29($7 + 340 | 0 | 0); btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($7 + 320 | 0 | 0, $6 + 344 | 0 | 0); btMutexUnlock_28btSpinMutex__29($7 + 340 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 328 | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $6 + 384 | 0 | 0); btTransform__inverse_28_29_20const($6 + 248 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($6 + 540 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($6 + 312 | 0 | 0, $6 + 248 | 0 | 0, $6 + 328 | 0 | 0); HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0) | 0; btManifoldPoint__btManifoldPoint_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($6 + 40 | 0 | 0, $6 + 24 | 0 | 0, $6 + 312 | 0 | 0, ($6 + 524 | 0) + 52 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 364 | 0) >> 2]))) | 0; HEAP8[($6 + 11 | 0) >> 0] = 1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPersistentManifold__addManifoldPoint_28btManifoldPoint_20const__2c_20bool_29(HEAP32[($6 + 344 | 0) >> 2] | 0 | 0, $6 + 40 | 0 | 0, (HEAPU8[($6 + 11 | 0) >> 0] | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($6 + 344 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; HEAPF32[((HEAP32[$6 >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); $274 = Math_fround(btManifoldResult__calculateCombinedFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0, HEAP32[($6 + 540 | 0) >> 2] | 0 | 0)); HEAPF32[((HEAP32[$6 >> 2] | 0) + 84 | 0) >> 2] = $274; $278 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $281 = (HEAP32[$6 >> 2] | 0) + 48 | 0; i64toi32_i32$2 = $278; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $878 = i64toi32_i32$0; i64toi32_i32$0 = $281; HEAP32[i64toi32_i32$0 >> 2] = $878; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $283 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $283 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $888 = i64toi32_i32$1; i64toi32_i32$1 = $281 + $283 | 0; HEAP32[i64toi32_i32$1 >> 2] = $888; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $289 = (HEAP32[$6 >> 2] | 0) + 32 | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 328 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 332 | 0) >> 2] | 0; $897 = i64toi32_i32$0; i64toi32_i32$0 = $289; HEAP32[i64toi32_i32$0 >> 2] = $897; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $291 = 8; i64toi32_i32$2 = ($6 + 328 | 0) + $291 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $910 = i64toi32_i32$1; i64toi32_i32$1 = $289 + $291 | 0; HEAP32[i64toi32_i32$1 >> 2] = $910; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } btSphereShape___btSphereShape_28_29($6 + 464 | 0 | 0) | 0; btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29($6 + 524 | 0 | 0) | 0; } CProfileSample___CProfileSample_28_29($6 + 627 | 0 | 0) | 0; } } HEAP32[($6 + 652 | 0) >> 2] = (HEAP32[($6 + 652 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $6 + 736 | 0; return; } function btClosestNotMeConvexResultCallback__btClosestNotMeConvexResultCallback_28btCollisionObject__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btOverlappingPairCache__2c_20btDispatcher__29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0; $8 = __stack_pointer - 32 | 0; __stack_pointer = $8; HEAP32[($8 + 28 | 0) >> 2] = $0; HEAP32[($8 + 24 | 0) >> 2] = $1; HEAP32[($8 + 20 | 0) >> 2] = $2; HEAP32[($8 + 16 | 0) >> 2] = $3; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAP32[($8 + 8 | 0) >> 2] = $5; $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($9 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0; HEAP32[$9 >> 2] = 103340 + 8 | 0; HEAP32[($9 + 84 | 0) >> 2] = HEAP32[($8 + 24 | 0) >> 2] | 0; HEAPF32[($9 + 88 | 0) >> 2] = Math_fround(0 | 0); HEAP32[($9 + 92 | 0) >> 2] = HEAP32[($8 + 12 | 0) >> 2] | 0; HEAP32[($9 + 96 | 0) >> 2] = HEAP32[($8 + 8 | 0) >> 2] | 0; __stack_pointer = $8 + 32 | 0; return $9 | 0; } function btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btDiscreteDynamicsWorld__releasePredictiveContacts_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $24 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($3 + 11 | 0 | 0, 70398 | 0) | 0; HEAP32[($3 + 4 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 320 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($4 + 320 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $24 = HEAP32[($4 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($24, HEAP32[$3 >> 2] | 0); HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } btAlignedObjectArray_btPersistentManifold____clear_28_29($4 + 320 | 0 | 0); CProfileSample___CProfileSample_28_29($3 + 11 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return; } function btDiscreteDynamicsWorld__createPredictiveContacts_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($4 + 7 | 0 | 0, 69290 | 0) | 0; btDiscreteDynamicsWorld__releasePredictiveContacts_28_29($5 | 0); label$1 : { if (!((btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { break label$1 } btDiscreteDynamicsWorld__createPredictiveContactsInternal_28btRigidBody___2c_20int_2c_20float_29($5 | 0, btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, 0 | 0) | 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); } CProfileSample___CProfileSample_28_29($4 + 7 | 0 | 0) | 0; __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__integrateTransformsInternal_28btRigidBody___2c_20int_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = Math_fround($3); var $6 = 0, $7 = 0, $93 = 0, $85 = 0, $88 = 0, $92 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $6 = __stack_pointer - 352 | 0; __stack_pointer = $6; HEAP32[($6 + 348 | 0) >> 2] = $0; HEAP32[($6 + 344 | 0) >> 2] = $1; HEAP32[($6 + 340 | 0) >> 2] = $2; HEAPF32[($6 + 336 | 0) >> 2] = $3; $7 = HEAP32[($6 + 348 | 0) >> 2] | 0; btTransform__btTransform_28_29($6 + 272 | 0 | 0) | 0; HEAP32[($6 + 268 | 0) >> 2] = 0; label$1 : { label$2 : { label$3 : while (1) { if (!((HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 340 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 264 | 0) >> 2] = HEAP32[((HEAP32[($6 + 344 | 0) >> 2] | 0) + ((HEAP32[($6 + 268 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; btCollisionObject__setHitFraction_28float_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); label$4 : { label$5 : { if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$5 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$5 } btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 336 | 0) >> 2])), $6 + 272 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 244 | 0 | 0, btTransform__getOrigin_28_29($6 + 272 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 244 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_f32$0; label$6 : { if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($7 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$6 } if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0)) { break label$6 } if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0)) < Math_fround(HEAPF32[($6 + 260 | 0) >> 2]) & 1 | 0)) { break label$6 } CProfileSample__CProfileSample_28char_20const__29($6 + 243 | 0 | 0, 80605 | 0) | 0; label$7 : { label$8 : { if (!((btCollisionShape__isConvex_28_29_20const(btRigidBody__getCollisionShape_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$8 } HEAP32[(0 + 116168 | 0) >> 2] = (HEAP32[(0 + 116168 | 0) >> 2] | 0) + 1 | 0; $85 = HEAP32[($6 + 264 | 0) >> 2] | 0; $88 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $92 = btTransform__getOrigin_28_29($6 + 272 | 0 | 0) | 0; $93 = btCollisionWorld__getBroadphase_28_29($7 | 0) | 0; btClosestNotMeConvexResultCallback__btClosestNotMeConvexResultCallback_28btCollisionObject__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btOverlappingPairCache__2c_20btDispatcher__29($6 + 140 | 0 | 0, $85 | 0, $88 | 0, $92 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$93 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($93) | 0 | 0, btCollisionWorld__getDispatcher_28_29($7 | 0) | 0 | 0) | 0; btSphereShape__btSphereShape_28float_29($6 + 80 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0)))) | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[((btCollisionWorld__getDispatchInfo_28_29($7 | 0) | 0) + 28 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28btTransform_20const__29($6 + 16 | 0 | 0, $6 + 272 | 0 | 0) | 0; btTransform__setBasis_28btMatrix3x3_20const__29($6 + 16 | 0 | 0, btTransform__getBasis_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const($7 | 0, $6 + 80 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 16 | 0 | 0, $6 + 140 | 0 | 0, Math_fround(Math_fround(0 | 0))); label$9 : { label$10 : { if (!((btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($6 + 140 | 0 | 0) | 0) & 1 | 0)) { break label$10 } if (!(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]) < Math_fround(1.0) & 1 | 0)) { break label$10 } btCollisionObject__setHitFraction_28float_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 336 | 0) >> 2]) * Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0)))), $6 + 272 | 0 | 0); btCollisionObject__setHitFraction_28float_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(0 | 0))); btRigidBody__proceedToTransform_28btTransform_20const__29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, $6 + 272 | 0 | 0); HEAP32[($6 + 12 | 0) >> 2] = 4; break label$9; } HEAP32[($6 + 12 | 0) >> 2] = 0; } btSphereShape___btSphereShape_28_29($6 + 80 | 0 | 0) | 0; btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29($6 + 140 | 0 | 0) | 0; if (HEAP32[($6 + 12 | 0) >> 2] | 0) { break label$7 } } HEAP32[($6 + 12 | 0) >> 2] = 0; } CProfileSample___CProfileSample_28_29($6 + 243 | 0 | 0) | 0; label$11 : { switch (HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) { case 1: case 2: case 3: break label$1; case 4: break label$4; default: break label$11; }; } } btRigidBody__proceedToTransform_28btTransform_20const__29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, $6 + 272 | 0 | 0); } } HEAP32[($6 + 268 | 0) >> 2] = (HEAP32[($6 + 268 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } __stack_pointer = $6 + 352 | 0; return; } wasm2js_trap(); } function btDiscreteDynamicsWorld__integrateTransforms_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, $146 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 144 | 0; __stack_pointer = $4; HEAP32[($4 + 140 | 0) >> 2] = $0; HEAPF32[($4 + 136 | 0) >> 2] = $1; $5 = HEAP32[($4 + 140 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($4 + 135 | 0 | 0, 69773 | 0) | 0; label$1 : { if (!((btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { break label$1 } btDiscreteDynamicsWorld__integrateTransformsInternal_28btRigidBody___2c_20int_2c_20float_29($5 | 0, btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, 0 | 0) | 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 136 | 0) >> 2]))); } label$2 : { if (!((HEAPU8[($5 + 291 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } CProfileSample__CProfileSample_28char_20const__29($4 + 134 | 0 | 0, 76238 | 0) | 0; HEAP32[($4 + 128 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 + 320 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$3 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($5 + 320 | 0 | 0, HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(btPersistentManifold__getBody0_28_29_20const(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(btPersistentManifold__getBody1_28_29_20const(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 112 | 0) >> 2] = 0; label$5 : { label$6 : while (1) { if (!((HEAP32[($4 + 112 | 0) >> 2] | 0 | 0) < (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedRestitution_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($4 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4 + 116 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; label$7 : { if (!(Math_fround(HEAPF32[($4 + 104 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { break label$7 } if (!(Math_fround(HEAPF32[((HEAP32[($4 + 108 | 0) >> 2] | 0) + 132 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$7 } operator__28btVector3_20const__29($4 + 56 | 0 | 0, (HEAP32[($4 + 108 | 0) >> 2] | 0) + 64 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($4 + 72 | 0 | 0, $4 + 56 | 0 | 0, (HEAP32[($4 + 108 | 0) >> 2] | 0) + 132 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($4 + 88 | 0 | 0, $4 + 72 | 0 | 0, $4 + 104 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btManifoldPoint__getPositionWorldOnA_28_29_20const(HEAP32[($4 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btManifoldPoint__getPositionWorldOnB_28_29_20const(HEAP32[($4 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 32 | 0 | 0, HEAP32[($4 + 52 | 0) >> 2] | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 120 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 16 | 0 | 0, HEAP32[($4 + 48 | 0) >> 2] | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); label$8 : { if (!((HEAP32[($4 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } btRigidBody__applyImpulse_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 120 | 0) >> 2] | 0 | 0, $4 + 88 | 0 | 0, $4 + 32 | 0 | 0); } label$9 : { if (!((HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } $146 = HEAP32[($4 + 116 | 0) >> 2] | 0; operator__28btVector3_20const__29($4 | 0, $4 + 88 | 0 | 0); btRigidBody__applyImpulse_28btVector3_20const__2c_20btVector3_20const__29($146 | 0, $4 | 0, $4 + 16 | 0 | 0); } } HEAP32[($4 + 112 | 0) >> 2] = (HEAP32[($4 + 112 | 0) >> 2] | 0) + 1 | 0; continue label$6; }; } HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 128 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } CProfileSample___CProfileSample_28_29($4 + 134 | 0 | 0) | 0; } CProfileSample___CProfileSample_28_29($4 + 135 | 0 | 0) | 0; __stack_pointer = $4 + 144 | 0; return; } function btDiscreteDynamicsWorld__predictUnconstraintMotion_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAPF32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($4 + 23 | 0 | 0, 76276 | 0) | 0; HEAP32[($4 + 16 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$3 : { if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } btRigidBody__applyDamping_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]))); btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2])), btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0); } HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } CProfileSample___CProfileSample_28_29($4 + 23 | 0 | 0) | 0; __stack_pointer = $4 + 32 | 0; return; } function btDiscreteDynamicsWorld__debugDrawConstraint_28btTypedConstraint__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $18 = 0, $19 = 0, $28 = 0, $42 = 0, $65 = 0, $75 = 0, $76 = 0, $92 = 0, $109 = 0, $117 = 0, $118 = 0, $134 = 0, $154 = 0, $175 = 0, $201 = 0, $251 = 0, $286 = 0, $312 = 0, $349 = 0, $390 = 0, $401 = 0, $421 = 0, $434 = 0, $492 = 0, $493 = 0, $518 = 0, $558 = 0, $575 = 0, $627 = 0, $659 = 0, $802 = 0, $830 = 0, $857 = 0, $858 = 0, $868 = 0, $869 = 0, $878 = 0, $904 = 0, $921 = 0, $973 = 0, $1005 = 0, $1148 = 0, $1176 = 0, $1203 = 0, $1204 = 0, $1214 = 0, $1215 = 0, $1224 = 0, $1250 = 0, $1267 = 0, $1283 = 0, $1346 = 0, $1383 = 0, $1454 = 0, $1458 = 0, $1573 = 0, $1577 = 0, $1610 = 0, $1614 = 0, $1662 = 0, $1666 = 0, $1699 = 0, $1703 = 0, $2159 = 0, $2163 = 0, $2240 = 0, $2244 = 0, $2329 = 0, $2333 = 0, $2450 = 0, $2454 = 0, $2797 = 0, $2801 = 0, $703 = Math_fround(0), $712 = Math_fround(0), $732 = Math_fround(0), $755 = Math_fround(0), $763 = Math_fround(0), $3208 = 0, $3212 = 0, $3232 = 0, $3236 = 0, $3522 = 0, $3526 = 0, $1049 = Math_fround(0), $1058 = Math_fround(0), $1078 = Math_fround(0), $1101 = Math_fround(0), $1109 = Math_fround(0), $3933 = 0, $3937 = 0, $3957 = 0, $3961 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; $4 = __stack_pointer - 1632 | 0; __stack_pointer = $4; HEAP32[($4 + 1628 | 0) >> 2] = $0; HEAP32[($4 + 1624 | 0) >> 2] = $1; $5 = HEAP32[($4 + 1628 | 0) >> 2] | 0; $8 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($4 + 1496 | 0, $8); $18 = ($4 + 1496 | 0) + 112 | 0; $19 = 8; i64toi32_i32$2 = $18 + $19 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1454 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 1480 | 0) + $19 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1454; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $18; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1458 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 1480 | 0) >> 2] = $1458; HEAP32[($4 + 1484 | 0) >> 2] = i64toi32_i32$0; $28 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = ((FUNCTION_TABLE[HEAP32[((HEAP32[$28 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($28) | 0) & 2048 | 0 | 0) != (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 1479 | 0) >> 0] = wasm2js_i32$1; $42 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = ((FUNCTION_TABLE[HEAP32[((HEAP32[$42 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($42) | 0) & 4096 | 0 | 0) != (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 1478 | 0) >> 0] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btTypedConstraint__getDbgDrawSize_28_29(HEAP32[($4 + 1624 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1472 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$2 } break label$1; } $65 = (btTypedConstraint__getConstraintType_28_29_20const(HEAP32[($4 + 1624 | 0) >> 2] | 0 | 0) | 0) + -3 | 0; label$3 : { label$4 : { switch ($65 | 0) { case 0: HEAP32[($4 + 1468 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; btTransform__btTransform_28_29($4 + 1404 | 0 | 0) | 0; btTransform__setIdentity_28_29($4 + 1404 | 0 | 0); $75 = btPoint2PointConstraint__getPivotInA_28_29_20const(HEAP32[($4 + 1468 | 0) >> 2] | 0 | 0) | 0; $76 = 8; i64toi32_i32$2 = $75 + $76 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1573 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 1384 | 0) + $76 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1573; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $75; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1577 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 1384 | 0) >> 2] = $1577; HEAP32[($4 + 1388 | 0) >> 2] = i64toi32_i32$0; btTransform__operator__28btVector3_20const__29_20const($4 + 1368 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($4 + 1468 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $4 + 1384 | 0 | 0); $92 = 8; i64toi32_i32$2 = ($4 + 1368 | 0) + $92 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1610 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 1384 | 0) + $92 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1610; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 1368 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 1372 | 0) >> 2] | 0; $1614 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 1384 | 0) >> 2] = $1614; HEAP32[($4 + 1388 | 0) >> 2] = i64toi32_i32$0; btTransform__setOrigin_28btVector3_20const__29($4 + 1404 | 0 | 0, $4 + 1384 | 0 | 0); $109 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$109 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($109, $4 + 1404 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); $117 = btPoint2PointConstraint__getPivotInB_28_29_20const(HEAP32[($4 + 1468 | 0) >> 2] | 0 | 0) | 0; $118 = 8; i64toi32_i32$2 = $117 + $118 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1662 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 1384 | 0) + $118 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1662; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $117; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1666 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 1384 | 0) >> 2] = $1666; HEAP32[($4 + 1388 | 0) >> 2] = i64toi32_i32$0; btTransform__operator__28btVector3_20const__29_20const($4 + 1352 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($4 + 1468 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $4 + 1384 | 0 | 0); $134 = 8; i64toi32_i32$2 = ($4 + 1352 | 0) + $134 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1699 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 1384 | 0) + $134 | 0; HEAP32[i64toi32_i32$0 >> 2] = $1699; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 1352 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 1356 | 0) >> 2] | 0; $1703 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 1384 | 0) >> 2] = $1703; HEAP32[($4 + 1388 | 0) >> 2] = i64toi32_i32$0; btTransform__setOrigin_28btVector3_20const__29($4 + 1404 | 0 | 0, $4 + 1384 | 0 | 0); label$11 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$11 } $154 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$154 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($154, $4 + 1404 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } break label$3; case 1: HEAP32[($4 + 1348 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29_20const($4 + 1284 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btHingeConstraint__getAFrame_28_29(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0 | 0); label$12 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$12 } $175 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$175 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($175, $4 + 1284 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } btTransform__operator__28btTransform_20const__29_20const($4 + 1220 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyB_28_29(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btHingeConstraint__getBFrame_28_29(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($4 + 1284 | 0 | 0, $4 + 1220 | 0 | 0) | 0; label$13 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$13 } $201 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$201 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($201, $4 + 1284 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btHingeConstraint__getLowerLimit_28_29_20const(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1216 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btHingeConstraint__getUpperLimit_28_29_20const(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1212 | 0) >> 2] = wasm2js_f32$0; label$14 : { if (!(Math_fround(HEAPF32[($4 + 1216 | 0) >> 2]) == Math_fround(HEAPF32[($4 + 1212 | 0) >> 2]) & 1 | 0)) { break label$14 } break label$3; } HEAP8[($4 + 1211 | 0) >> 0] = 1; label$15 : { if ((btHingeConstraint__hasLimit_28_29_20const(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$15 } HEAPF32[($4 + 1216 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 1212 | 0) >> 2] = Math_fround(6.2831854820251465); HEAP8[($4 + 1211 | 0) >> 0] = 0; } label$16 : { if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { break label$16 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTransform__getOrigin_28_29($4 + 1284 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1204 | 0) >> 2] = wasm2js_i32$1; btMatrix3x3__getColumn_28int_29_20const($4 + 1188 | 0 | 0, btTransform__getBasis_28_29($4 + 1284 | 0 | 0) | 0 | 0, 2 | 0); btMatrix3x3__getColumn_28int_29_20const($4 + 1172 | 0 | 0, btTransform__getBasis_28_29($4 + 1284 | 0 | 0) | 0 | 0, 0 | 0); $251 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$251 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($251, HEAP32[($4 + 1204 | 0) >> 2] | 0, $4 + 1188 | 0, $4 + 1172 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1216 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1212 | 0) >> 2]), $4 + 1480 | 0, (HEAPU8[($4 + 1211 | 0) >> 0] | 0) & 1 | 0, Math_fround(10.0)); } break label$3; case 2: HEAP32[($4 + 1168 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; btTransform__operator__28btTransform_20const__29_20const($4 + 1104 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btConeTwistConstraint__getRigidBodyA_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btConeTwistConstraint__getAFrame_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0); label$17 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$17 } $286 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$286 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($286, $4 + 1104 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } btTransform__operator__28btTransform_20const__29_20const($4 + 1040 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btConeTwistConstraint__getRigidBodyB_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btConeTwistConstraint__getBFrame_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($4 + 1104 | 0 | 0, $4 + 1040 | 0 | 0) | 0; label$18 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$18 } $312 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$312 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($312, $4 + 1104 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } label$19 : { if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { break label$19 } HEAPF32[($4 + 1036 | 0) >> 2] = Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]); HEAPF32[($4 + 1032 | 0) >> 2] = Math_fround(Math_fround(Math_fround(6.283185005187988) * Math_fround((HEAP32[(0 + 112852 | 0) >> 2] | 0) - 1 | 0 | 0)) / Math_fround(HEAP32[(0 + 112852 | 0) >> 2] | 0 | 0)); btConeTwistConstraint__GetPointForAngle_28float_2c_20float_29_20const($4 + 1016 | 0 | 0, HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 1032 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 1036 | 0) >> 2]))); btTransform__operator__28btVector3_20const__29_20const($4 + 1e3 | 0 | 0, $4 + 1104 | 0 | 0, $4 + 1016 | 0 | 0); $349 = 8; i64toi32_i32$2 = ($4 + 1e3 | 0) + $349 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2159 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 1016 | 0) + $349 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2159; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 1e3 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 1004 | 0) >> 2] | 0; $2163 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 1016 | 0) >> 2] = $2163; HEAP32[($4 + 1020 | 0) >> 2] = i64toi32_i32$0; HEAP32[($4 + 996 | 0) >> 2] = 0; label$20 : { label$21 : while (1) { if (!((HEAP32[($4 + 996 | 0) >> 2] | 0 | 0) < (HEAP32[(0 + 112852 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$20 } HEAPF32[($4 + 1032 | 0) >> 2] = Math_fround(Math_fround(Math_fround(6.283185005187988) * Math_fround(HEAP32[($4 + 996 | 0) >> 2] | 0 | 0)) / Math_fround(HEAP32[(0 + 112852 | 0) >> 2] | 0 | 0)); btConeTwistConstraint__GetPointForAngle_28float_2c_20float_29_20const($4 + 976 | 0 | 0, HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 1032 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 1036 | 0) >> 2]))); btTransform__operator__28btVector3_20const__29_20const($4 + 960 | 0 | 0, $4 + 1104 | 0 | 0, $4 + 976 | 0 | 0); $390 = 8; i64toi32_i32$2 = ($4 + 960 | 0) + $390 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2240 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 976 | 0) + $390 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2240; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 960 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 964 | 0) >> 2] | 0; $2244 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 976 | 0) >> 2] = $2244; HEAP32[($4 + 980 | 0) >> 2] = i64toi32_i32$0; $401 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$401 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($401, $4 + 1016 | 0, $4 + 976 | 0, $4 + 1480 | 0); label$22 : { if ((HEAP32[($4 + 996 | 0) >> 2] | 0 | 0) % ((HEAP32[(0 + 112852 | 0) >> 2] | 0 | 0) / (8 | 0) | 0 | 0) | 0) { break label$22 } $421 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; ((((wasm2js_i32$1 = $421, wasm2js_i32$2 = btTransform__getOrigin_28_29($4 + 1104 | 0 | 0) | 0), wasm2js_i32$3 = $4 + 976 | 0), wasm2js_i32$4 = $4 + 1480 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$421 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); } $434 = 8; i64toi32_i32$2 = ($4 + 976 | 0) + $434 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2329 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 1016 | 0) + $434 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2329; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 976 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 980 | 0) >> 2] | 0; $2333 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 1016 | 0) >> 2] = $2333; HEAP32[($4 + 1020 | 0) >> 2] = i64toi32_i32$0; HEAP32[($4 + 996 | 0) >> 2] = (HEAP32[($4 + 996 | 0) >> 2] | 0) + 1 | 0; continue label$21; }; } (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btConeTwistConstraint__getTwistSpan_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 956 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btConeTwistConstraint__getTwistAngle_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 952 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_i32$4 = Math_fround(btRigidBody__getInvMass_28_29_20const(btConeTwistConstraint__getRigidBodyB_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0)) > Math_fround(0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 951 | 0) >> 0] = wasm2js_i32$4; label$23 : { label$24 : { if (!((HEAPU8[($4 + 951 | 0) >> 0] | 0) & 1 | 0)) { break label$24 } btTransform__operator__28btTransform_20const__29_20const($4 + 884 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btConeTwistConstraint__getRigidBodyB_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btConeTwistConstraint__getBFrame_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($4 + 1104 | 0 | 0, $4 + 884 | 0 | 0) | 0; break label$23; } btTransform__operator__28btTransform_20const__29_20const($4 + 820 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btConeTwistConstraint__getRigidBodyA_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btConeTwistConstraint__getAFrame_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btTransform_20const__29($4 + 1104 | 0 | 0, $4 + 820 | 0 | 0) | 0; } $492 = btTransform__getOrigin_28_29($4 + 1104 | 0 | 0) | 0; $493 = 8; i64toi32_i32$2 = $492 + $493 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2450 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 800 | 0) + $493 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2450; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $492; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2454 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 800 | 0) >> 2] = $2454; HEAP32[($4 + 804 | 0) >> 2] = i64toi32_i32$0; btMatrix3x3__getColumn_28int_29_20const($4 + 784 | 0 | 0, btTransform__getBasis_28_29($4 + 1104 | 0 | 0) | 0 | 0, 0 | 0); btMatrix3x3__getColumn_28int_29_20const($4 + 768 | 0 | 0, btTransform__getBasis_28_29($4 + 1104 | 0 | 0) | 0 | 0, 1 | 0); $518 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$518 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($518, $4 + 800 | 0, $4 + 784 | 0, $4 + 768 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 952 | 0) >> 2])) - Math_fround(HEAPF32[($4 + 956 | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 952 | 0) >> 2])) + Math_fround(HEAPF32[($4 + 956 | 0) >> 2])), $4 + 1480 | 0, 1 & 1 | 0, Math_fround(10.0)); } break label$3; case 3: case 6: HEAP32[($4 + 764 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; btTransform__btTransform_28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; label$25 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$25 } $558 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$558 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($558, $4 + 700 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } btTransform__operator__28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; label$26 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$26 } $575 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$575 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($575, $4 + 700 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } label$27 : { if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { break label$27 } btTransform__operator__28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$4 = btTransform__getOrigin_28_29_20const(btGeneric6DofConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 696 | 0) >> 2] = wasm2js_i32$4; btMatrix3x3__getColumn_28int_29_20const($4 + 680 | 0 | 0, btTransform__getBasis_28_29($4 + 700 | 0 | 0) | 0 | 0, 2 | 0); btMatrix3x3__getColumn_28int_29_20const($4 + 664 | 0 | 0, btTransform__getBasis_28_29($4 + 700 | 0 | 0) | 0 | 0, 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 1 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 660 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 1 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 652 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 2 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 648 | 0) >> 2] = wasm2js_f32$0; $627 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$627 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($627, HEAP32[($4 + 696 | 0) >> 2] | 0, $4 + 680 | 0, $4 + 664 | 0, Math_fround(Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]) * Math_fround(.8999999761581421)), Math_fround(HEAPF32[($4 + 660 | 0) >> 2]), Math_fround(HEAPF32[($4 + 656 | 0) >> 2]), Math_fround(HEAPF32[($4 + 652 | 0) >> 2]), Math_fround(HEAPF32[($4 + 648 | 0) >> 2]), $4 + 1480 | 0, Math_fround(10.0), 1 & 1 | 0); btMatrix3x3__getColumn_28int_29_20const($4 + 632 | 0 | 0, btTransform__getBasis_28_29($4 + 700 | 0 | 0) | 0 | 0, 1 | 0); $659 = 8; i64toi32_i32$2 = ($4 + 632 | 0) + $659 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $2797 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 664 | 0) + $659 | 0; HEAP32[i64toi32_i32$0 >> 2] = $2797; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 632 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 636 | 0) >> 2] | 0; $2801 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 664 | 0) >> 2] = $2801; HEAP32[($4 + 668 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofConstraint__getAngle_28int_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 1 | 0))), HEAPF32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofConstraint__getAngle_28int_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 2 | 0))), HEAPF32[(wasm2js_i32$0 + 624 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 628 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 620 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 628 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 616 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 624 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 612 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 624 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($4 + 592 | 0 | 0) | 0; $703 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 620 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 612 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 620 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 608 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 4 | 0) >> 2]))); $712 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 616 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 8 | 0) >> 2])) + $703); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 592 | 0 | 0) | 0, wasm2js_f32$0 = $712), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $732 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 608 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($4 + 612 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 4 | 0) >> 2]))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 592 | 0 | 0) | 0, wasm2js_f32$0 = $732), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $755 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 612 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 616 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 608 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 616 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 4 | 0) >> 2]))); $763 = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 620 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 8 | 0) >> 2])) + $755); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 592 | 0 | 0) | 0, wasm2js_f32$0 = $763), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btTransform__operator__28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btMatrix3x3__getColumn_28int_29_20const($4 + 560 | 0 | 0, btTransform__getBasis_28_29($4 + 700 | 0 | 0) | 0 | 0, 0 | 0); operator__28btVector3_20const__29($4 + 576 | 0 | 0, $4 + 560 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 556 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 0 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_f32$0; label$28 : { label$29 : { if (!(Math_fround(HEAPF32[($4 + 556 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 552 | 0) >> 2]) & 1 | 0)) { break label$29 } $802 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$802 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($802, HEAP32[($4 + 696 | 0) >> 2] | 0, $4 + 576 | 0, $4 + 592 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(-3.1415927410125732), Math_fround(3.1415927410125732), $4 + 1480 | 0, 0 & 1 | 0, Math_fround(10.0)); break label$28; } label$30 : { if (!(Math_fround(HEAPF32[($4 + 556 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 552 | 0) >> 2]) & 1 | 0)) { break label$30 } $830 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$830 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($830, HEAP32[($4 + 696 | 0) >> 2] | 0, $4 + 576 | 0, $4 + 592 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 556 | 0) >> 2]), Math_fround(HEAPF32[($4 + 552 | 0) >> 2]), $4 + 1480 | 0, 1 & 1 | 0, Math_fround(10.0)); } } btTransform__operator__28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $857 = btGeneric6DofConstraint__getTranslationalLimitMotor_28_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0; $858 = 8; i64toi32_i32$2 = $857 + $858 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3208 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 536 | 0) + $858 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3208; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $857; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3212 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 536 | 0) >> 2] = $3212; HEAP32[($4 + 540 | 0) >> 2] = i64toi32_i32$0; $868 = (btGeneric6DofConstraint__getTranslationalLimitMotor_28_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; $869 = 8; i64toi32_i32$2 = $868 + $869 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3232 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 520 | 0) + $869 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3232; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $868; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3236 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 520 | 0) >> 2] = $3236; HEAP32[($4 + 524 | 0) >> 2] = i64toi32_i32$0; $878 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$878 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($878, $4 + 536 | 0, $4 + 520 | 0, $4 + 700 | 0, $4 + 1480 | 0); } break label$3; case 9: HEAP32[($4 + 516 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; btTransform__btTransform_28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; label$31 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$31 } $904 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$904 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($904, $4 + 452 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } btTransform__operator__28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; label$32 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$32 } $921 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$921 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($921, $4 + 452 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } label$33 : { if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { break label$33 } btTransform__operator__28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$4 = btTransform__getOrigin_28_29_20const(btGeneric6DofSpring2Constraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 448 | 0) >> 2] = wasm2js_i32$4; btMatrix3x3__getColumn_28int_29_20const($4 + 432 | 0 | 0, btTransform__getBasis_28_29($4 + 452 | 0 | 0) | 0 | 0, 2 | 0); btMatrix3x3__getColumn_28int_29_20const($4 + 416 | 0 | 0, btTransform__getBasis_28_29($4 + 452 | 0 | 0) | 0 | 0, 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 1 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 1 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 408 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 404 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 2 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 400 | 0) >> 2] = wasm2js_f32$0; $973 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$973 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($973, HEAP32[($4 + 448 | 0) >> 2] | 0, $4 + 432 | 0, $4 + 416 | 0, Math_fround(Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]) * Math_fround(.8999999761581421)), Math_fround(HEAPF32[($4 + 412 | 0) >> 2]), Math_fround(HEAPF32[($4 + 408 | 0) >> 2]), Math_fround(HEAPF32[($4 + 404 | 0) >> 2]), Math_fround(HEAPF32[($4 + 400 | 0) >> 2]), $4 + 1480 | 0, Math_fround(10.0), 1 & 1 | 0); btMatrix3x3__getColumn_28int_29_20const($4 + 384 | 0 | 0, btTransform__getBasis_28_29($4 + 452 | 0 | 0) | 0 | 0, 1 | 0); $1005 = 8; i64toi32_i32$2 = ($4 + 384 | 0) + $1005 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3522 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 416 | 0) + $1005 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3522; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $4; i64toi32_i32$1 = HEAP32[($4 + 384 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4 + 388 | 0) >> 2] | 0; $3526 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 416 | 0) >> 2] = $3526; HEAP32[($4 + 420 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__getAngle_28int_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 1 | 0))), HEAPF32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__getAngle_28int_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 2 | 0))), HEAPF32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 380 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 380 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 376 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 376 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 360 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28_29($4 + 344 | 0 | 0) | 0; $1049 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 372 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 364 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 372 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 360 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 4 | 0) >> 2]))); $1058 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 368 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 8 | 0) >> 2])) + $1049); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 344 | 0 | 0) | 0, wasm2js_f32$0 = $1058), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $1078 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 360 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($4 + 364 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 4 | 0) >> 2]))); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 344 | 0 | 0) | 0, wasm2js_f32$0 = $1078), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; $1101 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 364 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 368 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 360 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 368 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 4 | 0) >> 2]))); $1109 = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 372 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 8 | 0) >> 2])) + $1101); (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 344 | 0 | 0) | 0, wasm2js_f32$0 = $1109), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btTransform__operator__28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; btMatrix3x3__getColumn_28int_29_20const($4 + 312 | 0 | 0, btTransform__getBasis_28_29($4 + 452 | 0 | 0) | 0 | 0, 0 | 0); operator__28btVector3_20const__29($4 + 328 | 0 | 0, $4 + 312 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 308 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 0 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 304 | 0) >> 2] = wasm2js_f32$0; label$34 : { label$35 : { if (!(Math_fround(HEAPF32[($4 + 308 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 304 | 0) >> 2]) & 1 | 0)) { break label$35 } $1148 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$1148 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($1148, HEAP32[($4 + 448 | 0) >> 2] | 0, $4 + 328 | 0, $4 + 344 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(-3.1415927410125732), Math_fround(3.1415927410125732), $4 + 1480 | 0, 0 & 1 | 0, Math_fround(10.0)); break label$34; } label$36 : { if (!(Math_fround(HEAPF32[($4 + 308 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 304 | 0) >> 2]) & 1 | 0)) { break label$36 } $1176 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$1176 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($1176, HEAP32[($4 + 448 | 0) >> 2] | 0, $4 + 328 | 0, $4 + 344 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 308 | 0) >> 2]), Math_fround(HEAPF32[($4 + 304 | 0) >> 2]), $4 + 1480 | 0, 1 & 1 | 0, Math_fround(10.0)); } } btTransform__operator__28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $1203 = btGeneric6DofSpring2Constraint__getTranslationalLimitMotor_28_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0; $1204 = 8; i64toi32_i32$2 = $1203 + $1204 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3933 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 288 | 0) + $1204 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3933; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $1203; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3937 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 288 | 0) >> 2] = $3937; HEAP32[($4 + 292 | 0) >> 2] = i64toi32_i32$0; $1214 = (btGeneric6DofSpring2Constraint__getTranslationalLimitMotor_28_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; $1215 = 8; i64toi32_i32$2 = $1214 + $1215 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3957 = i64toi32_i32$0; i64toi32_i32$0 = ($4 + 272 | 0) + $1215 | 0; HEAP32[i64toi32_i32$0 >> 2] = $3957; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $1214; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $3961 = i64toi32_i32$1; i64toi32_i32$1 = $4; HEAP32[($4 + 272 | 0) >> 2] = $3961; HEAP32[($4 + 276 | 0) >> 2] = i64toi32_i32$0; $1224 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$1224 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($1224, $4 + 288 | 0, $4 + 272 | 0, $4 + 452 | 0, $4 + 1480 | 0); } break label$3; case 4: HEAP32[($4 + 268 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; btTransform__btTransform_28btTransform_20const__29($4 + 204 | 0 | 0, btSliderConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; label$37 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$37 } $1250 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$1250 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($1250, $4 + 204 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } btTransform__operator__28btTransform_20const__29($4 + 204 | 0 | 0, btSliderConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; label$38 : { if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { break label$38 } $1267 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$1267 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($1267, $4 + 204 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); } label$39 : { if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { break label$39 } label$40 : { label$41 : { if (!((btSliderConstraint__getUseLinearReferenceFrameA_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$41 } $1283 = btSliderConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0; break label$40; } $1283 = btSliderConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0; } btTransform__btTransform_28btTransform_20const__29($4 + 140 | 0 | 0, $1283 | 0) | 0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSliderConstraint__getLowerLinLimit_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($4 + 100 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 108 | 0 | 0, $4 + 104 | 0 | 0, $4 + 100 | 0 | 0, $4 + 96 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($4 + 124 | 0 | 0, $4 + 140 | 0 | 0, $4 + 108 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSliderConstraint__getUpperLinLimit_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; HEAPF32[($4 + 56 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $4 + 60 | 0 | 0, $4 + 56 | 0 | 0, $4 + 52 | 0 | 0) | 0; btTransform__operator__28btVector3_20const__29_20const($4 + 80 | 0 | 0, $4 + 140 | 0 | 0, $4 + 64 | 0 | 0); $1346 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$1346 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($1346, $4 + 124 | 0, $4 + 80 | 0, $4 + 1480 | 0); btMatrix3x3__getColumn_28int_29_20const($4 + 36 | 0 | 0, btTransform__getBasis_28_29($4 + 140 | 0 | 0) | 0 | 0, 0 | 0); btMatrix3x3__getColumn_28int_29_20const($4 + 20 | 0 | 0, btTransform__getBasis_28_29($4 + 140 | 0 | 0) | 0 | 0, 1 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSliderConstraint__getLowerAngLimit_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSliderConstraint__getUpperAngLimit_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; (wasm2js_i32$0 = $4, wasm2js_i32$4 = btTransform__getOrigin_28_29_20const(btSliderConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$4; $1383 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$1383 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($1383, HEAP32[($4 + 8 | 0) >> 2] | 0, $4 + 36 | 0, $4 + 20 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 16 | 0) >> 2]), Math_fround(HEAPF32[($4 + 12 | 0) >> 2]), $4 + 1480 | 0, 1 & 1 | 0, Math_fround(10.0)); } break label$3; default: break label$4; }; } } } __stack_pointer = $4 + 1632 | 0; return; } function btTypedConstraint__getConstraintType_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btHingeConstraint__getAFrame_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 552 | 0 | 0; } function btHingeConstraint__getBFrame_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 616 | 0 | 0; } function btHingeConstraint__hasLimit_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $12 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $12 = Math_fround(btAngularLimit__getHalfRange_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 688 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0; __stack_pointer = $3 + 16 | 0; return $12 | 0; } function btConeTwistConstraint__getRigidBodyA_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; } function btConeTwistConstraint__getAFrame_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 300 | 0 | 0; } function btConeTwistConstraint__getRigidBodyB_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; } function btConeTwistConstraint__getBFrame_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 364 | 0 | 0; } function btConeTwistConstraint__getTwistSpan_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 452 | 0) >> 2])); } function btConeTwistConstraint__getTwistAngle_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 512 | 0) >> 2])); } function btGeneric6DofConstraint__getCalculatedTransformA_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1064 | 0 | 0; } function btGeneric6DofConstraint__getCalculatedTransformB_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1128 | 0 | 0; } function btGeneric6DofConstraint__getRotationalLimitMotor_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return ((HEAP32[($4 + 12 | 0) >> 2] | 0) + 868 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 6 | 0) | 0 | 0; } function btGeneric6DofConstraint__getTranslationalLimitMotor_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 680 | 0 | 0; } function btGeneric6DofSpring2Constraint__getCalculatedTransformA_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1236 | 0 | 0; } function btGeneric6DofSpring2Constraint__getCalculatedTransformB_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1300 | 0 | 0; } function btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return ((HEAP32[($4 + 12 | 0) >> 2] | 0) + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0 | 0; } function btGeneric6DofSpring2Constraint__getAngle_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $13 = Math_fround(0); $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $13 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 1364 | 0 | 0) | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); __stack_pointer = $4 + 16 | 0; return Math_fround($13); } function btGeneric6DofSpring2Constraint__getTranslationalLimitMotor_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 680 | 0 | 0; } function btSliderConstraint__getCalculatedTransformA_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 824 | 0 | 0; } function btSliderConstraint__getCalculatedTransformB_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 888 | 0 | 0; } function btSliderConstraint__getUseLinearReferenceFrameA_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return (HEAPU8[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 180 | 0) >> 0] | 0) & 1 | 0 | 0; } function btSliderConstraint__getLowerLinLimit_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2])); } function btSliderConstraint__getUpperLinLimit_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2])); } function btSliderConstraint__getLowerAngLimit_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 192 | 0) >> 2])); } function btSliderConstraint__getUpperAngLimit_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 196 | 0) >> 2])); } function btAngularLimit__getHalfRange_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2])); } function btDiscreteDynamicsWorld__setConstraintSolver_28btConstraintSolver__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($5 + 289 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } btAlignedFreeInternal_28void__29(HEAP32[($5 + 216 | 0) >> 2] | 0 | 0); } HEAP8[($5 + 289 | 0) >> 0] = 0; HEAP32[($5 + 216 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[((HEAP32[($5 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return; } function btDiscreteDynamicsWorld__getConstraintSolver_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0; } function btDiscreteDynamicsWorld__getNumConstraints_28_29_20const($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 224 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btDiscreteDynamicsWorld__getConstraint_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $10 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $10 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 224 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $10 | 0; } function btDiscreteDynamicsWorld__getConstraint_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $10 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $10 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 224 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btDiscreteDynamicsWorld__serializeRigidBodies_28btSerializer__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $25 = 0, $29 = 0, $35 = 0, $42 = 0, $67 = 0, $71 = 0, $77 = 0, $84 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 48 | 0; __stack_pointer = $4; HEAP32[($4 + 44 | 0) >> 2] = $0; HEAP32[($4 + 40 | 0) >> 2] = $1; $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; HEAP32[($4 + 36 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0) & 2 | 0)) { break label$3 } $25 = HEAP32[($4 + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($25) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; $29 = HEAP32[($4 + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$29 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($29, HEAP32[($4 + 28 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; $35 = HEAP32[($4 + 32 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$35 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($35, HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 40 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; $42 = HEAP32[($4 + 40 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$42 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($42, HEAP32[($4 + 24 | 0) >> 2] | 0, HEAP32[($4 + 20 | 0) >> 2] | 0, 1497645650, HEAP32[($4 + 32 | 0) >> 2] | 0); } HEAP32[($4 + 36 | 0) >> 2] = (HEAP32[($4 + 36 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } HEAP32[($4 + 36 | 0) >> 2] = 0; label$4 : { label$5 : while (1) { if (!((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 224 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$4 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($5 + 224 | 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; $67 = HEAP32[($4 + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$67 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($67) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $71 = HEAP32[($4 + 40 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$71 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($71, HEAP32[($4 + 12 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; $77 = HEAP32[($4 + 16 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$77 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($77, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 40 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; $84 = HEAP32[($4 + 40 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$84 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($84, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[($4 + 4 | 0) >> 2] | 0, 1397641027, HEAP32[($4 + 16 | 0) >> 2] | 0); HEAP32[($4 + 36 | 0) >> 2] = (HEAP32[($4 + 36 | 0) >> 2] | 0) + 1 | 0; continue label$5; }; } __stack_pointer = $4 + 48 | 0; return; } function btDiscreteDynamicsWorld__serializeDynamicsWorldInfo_28btSerializer__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $7 = 0, $91 = 0, $24 = Math_fround(0), $27 = Math_fround(0), $30 = Math_fround(0), $33 = Math_fround(0), $36 = Math_fround(0), $39 = Math_fround(0), $42 = Math_fround(0), $45 = Math_fround(0), $48 = Math_fround(0), $51 = Math_fround(0), $54 = Math_fround(0), $57 = Math_fround(0), $60 = Math_fround(0), $63 = Math_fround(0), $66 = Math_fround(0), $69 = Math_fround(0), $72 = 0, $75 = 0, $78 = 0, $81 = 0, $84 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; HEAP32[($4 + 28 | 0) >> 2] = $0; HEAP32[($4 + 24 | 0) >> 2] = $1; $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; HEAP32[($4 + 20 | 0) >> 2] = 104; $7 = HEAP32[($4 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; __memset(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0; btVector3__serialize_28btVector3FloatData__29_20const($5 + 264 | 0 | 0, (HEAP32[($4 + 12 | 0) >> 2] | 0) + 88 | 0 | 0); $24 = Math_fround(HEAPF32[(btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) >> 2]); HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = $24; $27 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 4 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $27; $30 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 8 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $30; $33 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 12 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $33; $36 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 16 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $36; $39 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 24 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $39; $42 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 28 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $42; $45 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 32 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $45; $48 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 36 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $48; $51 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 40 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $51; $54 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 56 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = $54; $57 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 60 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = $57; $60 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 64 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $60; $63 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 68 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = $63; $66 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 84 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = $66; $69 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 88 | 0) >> 2]); HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = $69; $72 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 20 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $72; $75 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 72 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = $75; $78 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 76 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = $78; $81 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 80 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] = $81; $84 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 52 | 0) >> 2] | 0; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = $84; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] = 0; HEAP32[($4 + 8 | 0) >> 2] = 83369; $91 = HEAP32[($4 + 24 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$91 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($91, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 8 | 0) >> 2] | 0, 1145853764, HEAP32[($4 + 12 | 0) >> 2] | 0); __stack_pointer = $4 + 32 | 0; return; } function btDiscreteDynamicsWorld__serialize_28btSerializer__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $6 = 0, $12 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($6); btDiscreteDynamicsWorld__serializeDynamicsWorldInfo_28btSerializer__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btCollisionWorld__serializeCollisionObjects_28btSerializer__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); btDiscreteDynamicsWorld__serializeRigidBodies_28btSerializer__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); $12 = HEAP32[($4 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($12); __stack_pointer = $4 + 16 | 0; return; } function btDynamicsWorld___btDynamicsWorld_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btDynamicsWorld__addConstraint_28btTypedConstraint__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; return; } function btDynamicsWorld__removeConstraint_28btTypedConstraint__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btDynamicsWorld__getNumConstraints_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 0 | 0; } function btDynamicsWorld__getConstraint_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return 0 | 0; } function btDynamicsWorld__getConstraint_28int_29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return 0 | 0; } function btDynamicsWorld__addVehicle_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btDynamicsWorld__removeVehicle_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btDynamicsWorld__addCharacter_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btDynamicsWorld__removeCharacter_28btActionInterface__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 103204 + 8 | 0; btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($4 + 68 | 0 | 0) | 0; btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 48 | 0 | 0) | 0; btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($4 + 28 | 0 | 0) | 0; btSimulationIslandManager__IslandCallback___IslandCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btSimulationIslandManager__IslandCallback___IslandCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function InplaceSolverIslandCallback__processIsland_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $8 = 0, $9 = 0, $17 = 0, $94 = 0; $8 = __stack_pointer - 48 | 0; __stack_pointer = $8; HEAP32[($8 + 44 | 0) >> 2] = $0; HEAP32[($8 + 40 | 0) >> 2] = $1; HEAP32[($8 + 36 | 0) >> 2] = $2; HEAP32[($8 + 32 | 0) >> 2] = $3; HEAP32[($8 + 28 | 0) >> 2] = $4; HEAP32[($8 + 24 | 0) >> 2] = $5; $9 = HEAP32[($8 + 44 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { break label$2 } $17 = HEAP32[($9 + 8 | 0) >> 2] | 0; Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$17 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($17, HEAP32[($8 + 40 | 0) >> 2] | 0, HEAP32[($8 + 36 | 0) >> 2] | 0, HEAP32[($8 + 32 | 0) >> 2] | 0, HEAP32[($8 + 28 | 0) >> 2] | 0, HEAP32[($9 + 12 | 0) >> 2] | 0, HEAP32[($9 + 16 | 0) >> 2] | 0, HEAP32[($9 + 4 | 0) >> 2] | 0, HEAP32[($9 + 20 | 0) >> 2] | 0, HEAP32[($9 + 24 | 0) >> 2] | 0)); break label$1; } HEAP32[($8 + 20 | 0) >> 2] = 0; HEAP32[($8 + 16 | 0) >> 2] = 0; HEAP32[($8 + 12 | 0) >> 2] = 0; label$3 : { label$4 : while (1) { if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } label$5 : { if (!((btGetConstraintIslandId_28btTypedConstraint_20const__29(HEAP32[((HEAP32[($9 + 12 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$5 } HEAP32[($8 + 20 | 0) >> 2] = (HEAP32[($9 + 12 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; break label$3; } HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$4; }; } label$6 : { label$7 : while (1) { if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$6 } label$8 : { if (!((btGetConstraintIslandId_28btTypedConstraint_20const__29(HEAP32[((HEAP32[($9 + 12 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$8 } HEAP32[($8 + 16 | 0) >> 2] = (HEAP32[($8 + 16 | 0) >> 2] | 0) + 1 | 0; } HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } label$9 : { label$10 : { if (!((HEAP32[((HEAP32[($9 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { break label$10 } $94 = HEAP32[($9 + 8 | 0) >> 2] | 0; Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$94 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($94, HEAP32[($8 + 40 | 0) >> 2] | 0, HEAP32[($8 + 36 | 0) >> 2] | 0, HEAP32[($8 + 32 | 0) >> 2] | 0, HEAP32[($8 + 28 | 0) >> 2] | 0, HEAP32[($8 + 20 | 0) >> 2] | 0, HEAP32[($8 + 16 | 0) >> 2] | 0, HEAP32[($9 + 4 | 0) >> 2] | 0, HEAP32[($9 + 20 | 0) >> 2] | 0, HEAP32[($9 + 24 | 0) >> 2] | 0)); break label$9; } HEAP32[($8 + 12 | 0) >> 2] = 0; label$11 : { label$12 : while (1) { if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$11 } btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($9 + 28 | 0 | 0, (HEAP32[($8 + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$12; }; } HEAP32[($8 + 12 | 0) >> 2] = 0; label$13 : { label$14 : while (1) { if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$13 } btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($9 + 48 | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$14; }; } HEAP32[($8 + 12 | 0) >> 2] = 0; label$15 : { label$16 : while (1) { if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$15 } btAlignedObjectArray_btTypedConstraint____push_back_28btTypedConstraint__20const__29($9 + 68 | 0 | 0, (HEAP32[($8 + 20 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$16; }; } label$17 : { label$18 : { if (!(((btAlignedObjectArray_btTypedConstraint____size_28_29_20const($9 + 68 | 0 | 0) | 0) + (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($9 + 48 | 0 | 0) | 0) | 0 | 0) > (HEAP32[((HEAP32[($9 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$18 } InplaceSolverIslandCallback__processConstraints_28_29($9 | 0); break label$17; } } } } __stack_pointer = $8 + 48 | 0; return; } function btGetConstraintIslandId_28btTypedConstraint_20const__29($0) { $0 = $0 | 0; var $3 = 0, $18 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btTypedConstraint__getRigidBodyA_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btTypedConstraint__getRigidBodyB_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { label$2 : { if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$2 } $18 = btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; break label$1; } $18 = btCollisionObject__getIslandTag_28_29_20const(HEAP32[$3 >> 2] | 0 | 0) | 0; } HEAP32[($3 + 8 | 0) >> 2] = $18; $22 = HEAP32[($3 + 8 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $22 | 0; } function btSimulationIslandManager__IslandCallback___IslandCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btTypedConstraint__getRigidBodyA_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; } function btTypedConstraint__getRigidBodyB_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btElement___size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btClosestNotMeConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $26 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$3 : { if ((btCollisionWorld__ConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; $26 = HEAP32[($5 + 96 | 0) >> 2] | 0; label$4 : { if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($26, HEAP32[($5 + 84 | 0) >> 2] | 0, HEAP32[$4 >> 2] | 0) | 0) & 1 | 0)) { break label$4 } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; } $42 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $42 | 0; } function btClosestNotMeConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $36 = 0, $63 = 0, $186 = 0, $190 = 0, $239 = 0, $243 = 0, $99 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 112 | 0; __stack_pointer = $5; HEAP32[($5 + 104 | 0) >> 2] = $0; HEAP32[($5 + 100 | 0) >> 2] = $1; HEAP8[($5 + 99 | 0) >> 0] = $2; $7 = HEAP32[($5 + 104 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[(HEAP32[($5 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(1.0); break label$1; } label$3 : { if ((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[(HEAP32[($5 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(1.0); break label$1; } btVector3__btVector3_28_29($5 + 80 | 0 | 0) | 0; btVector3__btVector3_28_29($5 + 64 | 0 | 0) | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 48 | 0 | 0, $7 + 36 | 0 | 0, $7 + 20 | 0 | 0); $36 = 8; i64toi32_i32$2 = ($5 + 48 | 0) + $36 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $186 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 80 | 0) + $36 | 0; HEAP32[i64toi32_i32$0 >> 2] = $186; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 52 | 0) >> 2] | 0; $190 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 80 | 0) >> 2] = $190; HEAP32[($5 + 84 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0) | 0; $63 = 8; i64toi32_i32$2 = ($5 + 32 | 0) + $63 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $239 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 64 | 0) + $63 | 0; HEAP32[i64toi32_i32$0 >> 2] = $239; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[($5 + 32 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 36 | 0) >> 2] | 0; $243 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 64 | 0) >> 2] = $243; HEAP32[($5 + 68 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, $5 + 80 | 0 | 0, $5 + 64 | 0 | 0); label$4 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 100 | 0) >> 2] | 0) + 8 | 0 | 0, $5 + 4 | 0 | 0)) >= Math_fround(-Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) & 1 | 0)) { break label$4 } HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(1.0); break label$1; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 99 | 0) >> 0] | 0) & 1 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; } $99 = Math_fround(HEAPF32[($5 + 108 | 0) >> 2]); __stack_pointer = $5 + 112 | 0; return Math_fround($99); } function btAlignedObjectArray_btRigidBody____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btRigidBody____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btRigidBody__2c_2016u___deallocate_28btRigidBody___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btRigidBody__2c_2016u___deallocate_28btRigidBody___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btActionInterface____destroy_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedObjectArray_btActionInterface____deallocate_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btAlignedAllocator_btActionInterface__2c_2016u___deallocate_28btActionInterface___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); } HEAP32[($4 + 12 | 0) >> 2] = 0; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedAllocator_btActionInterface__2c_2016u___deallocate_28btActionInterface___29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); __stack_pointer = $4 + 16 | 0; return; } function btAlignedObjectArray_btRigidBody____swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; return; } function btAlignedObjectArray_btRigidBody____pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btRigidBody____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btRigidBody__2c_2016u___allocate_28int_2c_20btRigidBody__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btRigidBody____copy_28int_2c_20int_2c_20btRigidBody___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btRigidBody__2c_2016u___allocate_28int_2c_20btRigidBody__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btActionInterface____allocate_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btActionInterface__2c_2016u___allocate_28int_2c_20btActionInterface__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; break label$1; } HEAP32[($4 + 12 | 0) >> 2] = 0; } $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; __stack_pointer = $4 + 16 | 0; return $11 | 0; } function btAlignedObjectArray_btActionInterface____copy_28int_2c_20int_2c_20btActionInterface___29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 32 | 0; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } return; } function btAlignedAllocator_btActionInterface__2c_2016u___allocate_28int_2c_20btActionInterface__20const___29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $10 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; __stack_pointer = $5 + 16 | 0; return $10 | 0; } function btAlignedObjectArray_btActionInterface____swap_28int_2c_20int_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; return; } function btAlignedObjectArray_btActionInterface____pop_back_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); wasm2js_trap(); } HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; __stack_pointer = $3 + 16 | 0; return; } function btSortConstraintOnIslandPredicate__operator_28_29_28btTypedConstraint_20const__2c_20btTypedConstraint_20const__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btGetConstraintIslandId_28btTypedConstraint_20const__29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btGetConstraintIslandId_28btTypedConstraint_20const__29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; $16 = (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0; __stack_pointer = $5 + 32 | 0; return $16 | 0; } function _GLOBAL__sub_I_btDiscreteDynamicsWorld_cpp() { __cxx_global_var_init_79(); return; } function __cxx_global_var_init_80() { btInfMaskConverter__btInfMaskConverter_28int_29(116172 | 0, 2139095040 | 0) | 0; return; } function cc__ccDiscreteDynamicsWorld__ccDiscreteDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btConstraintSolver__2c_20btCollisionConfiguration__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0, $19 = 0, $24 = 0, $26 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btConstraintSolver__2c_20btCollisionConfiguration__29($8 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[$8 >> 2] = 103416 + 8 | 0; cc__ccOverlapFilterCallback__ccOverlapFilterCallback_28_29($8 + 344 | 0 | 0) | 0; HEAPF32[($8 + 56 | 0) >> 2] = Math_fround(.009999999776482582); $19 = btCollisionWorld__getPairCache_28_29($8 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$19 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($19, $8 + 344 | 0); $24 = btCollisionWorld__getPairCache_28_29($8 | 0) | 0; $26 = operator_20new_28unsigned_20long_29(4 | 0) | 0; btGhostPairCallback__btGhostPairCallback_28_29($26 | 0) | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($24, $26); __stack_pointer = $7 + 32 | 0; return $8 | 0; } function cc__ccOverlapFilterCallback__ccOverlapFilterCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlapFilterCallback__btOverlapFilterCallback_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 103656 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionWorld__getPairCache_28_29($0) { $0 = $0 | 0; var $3 = 0, $5 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $5 = HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; $8 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($5) | 0; __stack_pointer = $3 + 16 | 0; return $8 | 0; } function btGhostPairCallback__btGhostPairCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlappingPairCallback__btOverlappingPairCallback_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 103776 + 8 | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btOverlapFilterCallback__btOverlapFilterCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 103756 + 8 | 0; return $4 | 0; } function cc__ccDiscreteDynamicsWorld__applyGravity_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[($3 + 8 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($4 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$1 } (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($4 + 244 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$3 : { if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$3 } if ((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } label$4 : { label$5 : { if (!(+Math_fround(btRigidBody__getLinearDamping_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0)) == 1.0 & 1 | 0)) { break label$5 } btVector3__setZero_28_29(btRigidBody__getTotalForce_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0); break label$4; } btRigidBody__applyGravity_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); } label$6 : { if (!(+Math_fround(btRigidBody__getAngularDamping_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0)) == 1.0 & 1 | 0)) { break label$6 } btVector3__setZero_28_29(btRigidBody__getTotalTorque_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0); } } HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } __stack_pointer = $3 + 16 | 0; return; } function btAlignedObjectArray_btRigidBody____size_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; } function btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $32 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; label$1 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { break label$1 } __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { break label$2 } __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); wasm2js_trap(); } $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; __stack_pointer = $4 + 16 | 0; return $32 | 0; } function btRigidBody__getLinearDamping_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 504 | 0) >> 2])); } function btRigidBody__getAngularDamping_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 508 | 0) >> 2])); } function cc__ccDiscreteDynamicsWorld__createPredictiveContacts_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, i64toi32_i32$2 = 0, $177 = 0, $272 = 0, $274 = 0, $280 = 0, $282 = 0, $266 = Math_fround(0), $269 = 0, $856 = 0, $866 = 0, $875 = 0, $888 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); $4 = __stack_pointer - 736 | 0; __stack_pointer = $4; HEAP32[($4 + 732 | 0) >> 2] = $0; HEAPF32[($4 + 728 | 0) >> 2] = $1; $5 = HEAP32[($4 + 732 | 0) >> 2] | 0; CProfileSample__CProfileSample_28char_20const__29($4 + 727 | 0 | 0, 69290 | 0) | 0; btDiscreteDynamicsWorld__releasePredictiveContacts_28_29($5 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 720 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($4 + 720 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { break label$1 } btTransform__btTransform_28_29($4 + 656 | 0 | 0) | 0; HEAP32[($4 + 652 | 0) >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[($4 + 652 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 720 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, HEAP32[($4 + 652 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 648 | 0) >> 2] = wasm2js_i32$1; btCollisionObject__setHitFraction_28float_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); label$4 : { if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$4 } btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 728 | 0) >> 2])), $4 + 656 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 644 | 0) >> 2] = wasm2js_i32$1; operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 624 | 0 | 0, btTransform__getOrigin_28_29($4 + 656 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_f32$0; label$5 : { if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($5 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0)) { break label$5 } if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0)) < Math_fround(HEAPF32[($4 + 640 | 0) >> 2]) & 1 | 0)) { break label$5 } CProfileSample__CProfileSample_28char_20const__29($4 + 623 | 0 | 0, 67428 | 0) | 0; label$6 : { if (!((btCollisionShape__isConvex_28_29_20const(btRigidBody__getCollisionShape_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { break label$6 } cc__ccNotMeClosestConvexResultCallback__ccNotMeClosestConvexResultCallback_28btCollisionObject__2c_20cc__ccDiscreteDynamicsWorld__2c_20btVector3_20const__2c_20btVector3_20const__29($4 + 524 | 0 | 0, HEAP32[($4 + 648 | 0) >> 2] | 0 | 0, $5 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($4 + 656 | 0 | 0) | 0 | 0) | 0; btSphereShape__btSphereShape_28float_29($4 + 464 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0)))) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 536 | 0) >> 2] = wasm2js_i32$1; btTransform__btTransform_28btTransform_20const__29($4 + 400 | 0 | 0, $4 + 656 | 0 | 0) | 0; btTransform__setBasis_28btMatrix3x3_20const__29($4 + 400 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0); btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const($5 | 0, $4 + 464 | 0 | 0, HEAP32[($4 + 644 | 0) >> 2] | 0 | 0, $4 + 400 | 0 | 0, $4 + 524 | 0 | 0, Math_fround(Math_fround(0 | 0))); label$7 : { if (!((btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($4 + 524 | 0 | 0) | 0) & 1 | 0)) { break label$7 } operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 368 | 0 | 0, btTransform__getOrigin_28_29($4 + 656 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($4 + 384 | 0 | 0, $4 + 368 | 0 | 0, ($4 + 524 | 0) + 4 | 0 | 0); operator__28btVector3_20const__29($4 + 348 | 0 | 0, ($4 + 524 | 0) + 52 | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 + 384 | 0 | 0, $4 + 348 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_f32$0; $177 = HEAP32[($5 + 24 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$177 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($177, HEAP32[($4 + 648 | 0) >> 2] | 0, HEAP32[($4 + 540 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; btMutexLock_28btSpinMutex__29($5 + 340 | 0 | 0); btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($5 + 320 | 0 | 0, $4 + 344 | 0 | 0); btMutexUnlock_28btSpinMutex__29($5 + 340 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 328 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0, $4 + 384 | 0 | 0); btTransform__inverse_28_29_20const($4 + 248 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($4 + 540 | 0) >> 2] | 0 | 0) | 0 | 0); btTransform__operator__28btVector3_20const__29_20const($4 + 312 | 0 | 0, $4 + 248 | 0 | 0, $4 + 328 | 0 | 0); HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0) | 0; btManifoldPoint__btManifoldPoint_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($4 + 40 | 0 | 0, $4 + 24 | 0 | 0, $4 + 312 | 0 | 0, ($4 + 524 | 0) + 52 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 364 | 0) >> 2]))) | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getCollisionShape_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; HEAP32[($4 + 244 | 0) >> 2] = HEAP32[($4 + 608 | 0) >> 2] | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPersistentManifold__addManifoldPoint_28btManifoldPoint_20const__2c_20bool_29(HEAP32[($4 + 344 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($4 + 344 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; HEAPF32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); $266 = Math_fround(btManifoldResult__calculateCombinedFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0, HEAP32[($4 + 540 | 0) >> 2] | 0 | 0)); HEAPF32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 84 | 0) >> 2] = $266; $269 = btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0; $272 = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 48 | 0; i64toi32_i32$2 = $269; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $856 = i64toi32_i32$0; i64toi32_i32$0 = $272; HEAP32[i64toi32_i32$0 >> 2] = $856; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $274 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $274 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $866 = i64toi32_i32$1; i64toi32_i32$1 = $272 + $274 | 0; HEAP32[i64toi32_i32$1 >> 2] = $866; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $280 = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 32 | 0; i64toi32_i32$2 = $4; i64toi32_i32$0 = HEAP32[($4 + 328 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4 + 332 | 0) >> 2] | 0; $875 = i64toi32_i32$0; i64toi32_i32$0 = $280; HEAP32[i64toi32_i32$0 >> 2] = $875; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $282 = 8; i64toi32_i32$2 = ($4 + 328 | 0) + $282 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $888 = i64toi32_i32$1; i64toi32_i32$1 = $280 + $282 | 0; HEAP32[i64toi32_i32$1 >> 2] = $888; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; } btSphereShape___btSphereShape_28_29($4 + 464 | 0 | 0) | 0; cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29($4 + 524 | 0 | 0) | 0; } CProfileSample___CProfileSample_28_29($4 + 623 | 0 | 0) | 0; } } HEAP32[($4 + 652 | 0) >> 2] = (HEAP32[($4 + 652 | 0) >> 2] | 0) + 1 | 0; continue label$3; }; } } CProfileSample___CProfileSample_28_29($4 + 727 | 0 | 0) | 0; __stack_pointer = $4 + 736 | 0; return; } function cc__ccNotMeClosestConvexResultCallback__ccNotMeClosestConvexResultCallback_28btCollisionObject__2c_20cc__ccDiscreteDynamicsWorld__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, $8 = 0; $7 = __stack_pointer - 32 | 0; __stack_pointer = $7; HEAP32[($7 + 28 | 0) >> 2] = $0; HEAP32[($7 + 24 | 0) >> 2] = $1; HEAP32[($7 + 20 | 0) >> 2] = $2; HEAP32[($7 + 16 | 0) >> 2] = $3; HEAP32[($7 + 12 | 0) >> 2] = $4; $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; HEAP32[$8 >> 2] = 103840 + 8 | 0; HEAP32[($8 + 84 | 0) >> 2] = 0; HEAP32[($8 + 88 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; HEAP32[($8 + 92 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; __stack_pointer = $7 + 32 | 0; return $8 | 0; } function btRigidBody__getBroadphaseProxy_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0; } function cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29($4 + 344 | 0 | 0) | 0; btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlapFilterCallback___btOverlapFilterCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29($4 | 0) | 0; cc__ccDiscreteDynamicsWorld__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccDiscreteDynamicsWorld__operator_20delete_28void__29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } function btDiscreteDynamicsWorld__getWorldType_28_29_20const($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return 2 | 0; } function btDiscreteDynamicsWorld__setNumTasks_28int_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btDiscreteDynamicsWorld__updateVehicles_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; btDiscreteDynamicsWorld__updateActions_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); __stack_pointer = $4 + 16 | 0; return; } function btOverlapFilterCallback___btOverlapFilterCallback_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccOverlapFilterCallback__needBroadphaseCollision_28btBroadphaseProxy__2c_20btBroadphaseProxy__29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $21 = 0, $76 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 24 | 0) >> 2] = $0; HEAP32[($5 + 20 | 0) >> 2] = $1; HEAP32[($5 + 16 | 0) >> 2] = $2; HEAP8[($5 + 15 | 0) >> 0] = ((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0; $21 = 0; label$1 : { if (!((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $21 = ((HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); } HEAP8[($5 + 15 | 0) >> 0] = $21 & 1 | 0; label$2 : { label$3 : { if (!((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0)) { break label$3 } HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] | 0; label$4 : { if (!((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } if (!((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$4 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$2; } label$5 : { if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { break label$5 } if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { break label$5 } HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; break label$2; } } HEAP8[($5 + 31 | 0) >> 0] = (HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0; } $76 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $5 + 32 | 0; return $76 | 0; } function btOverlapFilterCallback___btOverlapFilterCallback_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btGhostPairCallback___btGhostPairCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btOverlappingPairCallback___btOverlappingPairCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btGhostPairCallback___btGhostPairCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btGhostPairCallback___btGhostPairCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btGhostPairCallback__addOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $21 = 0, $33 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btGhostObject__upcast_28btCollisionObject__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $5, wasm2js_i32$1 = btGhostObject__upcast_28btCollisionObject__29(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $21 = HEAP32[($5 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($21, HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 24 | 0) >> 2] | 0); } label$2 : { if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $33 = HEAP32[($5 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$33 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($33, HEAP32[($5 + 24 | 0) >> 2] | 0, HEAP32[($5 + 20 | 0) >> 2] | 0); } __stack_pointer = $5 + 32 | 0; return 0 | 0; } function btGhostObject__upcast_28btCollisionObject__29($0) { $0 = $0 | 0; var $3 = 0, $14 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; label$1 : { label$2 : { if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { break label$2 } HEAP32[($3 + 12 | 0) >> 2] = HEAP32[($3 + 8 | 0) >> 2] | 0; break label$1; } HEAP32[($3 + 12 | 0) >> 2] = 0; } $14 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $14 | 0; } function btGhostPairCallback__removeOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $22 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; HEAP32[($6 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btGhostObject__upcast_28btCollisionObject__29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btGhostObject__upcast_28btCollisionObject__29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; label$1 : { if (!((HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } $22 = HEAP32[($6 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$22 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($22, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0, HEAP32[($6 + 24 | 0) >> 2] | 0); } label$2 : { if (!((HEAP32[$6 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $35 = HEAP32[$6 >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$35 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($35, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0); } __stack_pointer = $6 + 32 | 0; return 0 | 0; } function btGhostPairCallback__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP32[($5 + 4 | 0) >> 2] = $2; __assert_fail(86177 | 0, 78520 | 0, 165 | 0, 65616 | 0); wasm2js_trap(); } function cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function cc__ccNotMeClosestConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $5 = 0, $27 = 0, $43 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($4 + 4 | 0) >> 2] = $1; $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } label$3 : { if ((btCollisionWorld__ConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; $27 = btCollisionWorld__getDispatcher_28_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) | 0; label$4 : { if ((FUNCTION_TABLE[HEAP32[((HEAP32[$27 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($27, HEAP32[($5 + 88 | 0) >> 2] | 0, HEAP32[$4 >> 2] | 0) | 0) & 1 | 0) { break label$4 } HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; } $43 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $43 | 0; } function cc__ccNotMeClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $7 = 0, $15 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAP8[($5 + 7 | 0) >> 0] = $2; $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; HEAP32[($7 + 84 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $15 = Math_fround(btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0)); __stack_pointer = $5 + 16 | 0; return Math_fround($15); } function _GLOBAL__sub_I_ccDiscreteDynamicsWorld_cpp() { __cxx_global_var_init_80(); return; } function __cxx_global_var_init_81() { btInfMaskConverter__btInfMaskConverter_28int_29(116176 | 0, 2139095040 | 0) | 0; return; } function cc__ccCompoundShape__updateChildTransform_28btCollisionShape__2c_20btTransform_20const__2c_20bool_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP8[($6 + 19 | 0) >> 0] = $3; $8 = HEAP32[($6 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($8 + 20 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$1 : { label$2 : while (1) { if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { break label$1 } label$3 : { if (!((HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($8 + 20 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$3 } btCompoundShape__updateChildTransform_28int_2c_20btTransform_20const__2c_20bool_29($8 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($6 + 19 | 0) >> 0] | 0) & 1 | 0 | 0); break label$1; } HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + -1 | 0; continue label$2; }; } __stack_pointer = $6 + 32 | 0; return; } function _GLOBAL__sub_I_ccCompoundShape_cpp() { __cxx_global_var_init_81(); return; } function __cxx_global_var_init_82() { btInfMaskConverter__btInfMaskConverter_28int_29(116180 | 0, 2139095040 | 0) | 0; return; } function btGhostObject__btGhostObject_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionObject__btCollisionObject_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 103920 + 8 | 0; btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($4 + 324 | 0 | 0) | 0; HEAP32[($4 + 252 | 0) >> 2] = 4; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btGhostObject___btGhostObject_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $17 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 8 | 0) >> 2] = $0; $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[$4 >> 2] = 103920 + 8 | 0; label$1 : { if (!(btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 324 | 0 | 0) | 0)) { break label$1 } __assert_fail(87492 | 0, 72085 | 0, 29 | 0, 68669 | 0); wasm2js_trap(); } btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($4 + 324 | 0 | 0) | 0; btCollisionObject___btCollisionObject_28_29($4 | 0) | 0; $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $17 | 0; } function btGhostObject___btGhostObject_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[1192 | 0]($4) | 0; btCollisionObject__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btGhostObject__addOverlappingObjectInternal_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; HEAP32[($5 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; label$1 : { if ((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } __assert_fail(68684 | 0, 72085 | 0, 36 | 0, 77471 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($6 + 324 | 0 | 0, $5 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; label$2 : { if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionObject____size_28_29_20const($6 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$2 } btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($6 + 324 | 0 | 0, $5 + 16 | 0 | 0); } __stack_pointer = $5 + 32 | 0; return; } function btGhostObject__removeOverlappingObjectInternal_28btBroadphaseProxy__2c_20btDispatcher__2c_20btBroadphaseProxy__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $44 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; label$1 : { if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } __assert_fail(68684 | 0, 72085 | 0, 49 | 0, 77439 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($7 + 324 | 0 | 0, $6 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$2 : { if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$2 } $44 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 324 | 0 | 0, (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 324 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 324 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $44), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionObject____pop_back_28_29($7 + 324 | 0 | 0); } __stack_pointer = $6 + 32 | 0; return; } function btPairCachingGhostObject__btPairCachingGhostObject_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $12 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btGhostObject__btGhostObject_28_29($4 | 0) | 0; HEAP32[$4 >> 2] = 103964 + 8 | 0; $12 = btHashedOverlappingPairCache__operator_20new_28unsigned_20long_2c_20void__29(72 | 0, btAlignedAllocInternal_28unsigned_20long_2c_20int_29(72 | 0, 16 | 0) | 0 | 0) | 0; btHashedOverlappingPairCache__btHashedOverlappingPairCache_28_29($12 | 0) | 0; HEAP32[($4 + 344 | 0) >> 2] = $12; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btPairCachingGhostObject___btPairCachingGhostObject_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $8 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 103964 + 8 | 0; $8 = HEAP32[($4 + 344 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$8 >> 2] | 0) >> 2] | 0 | 0]($8) | 0; btAlignedFreeInternal_28void__29(HEAP32[($4 + 344 | 0) >> 2] | 0 | 0); btGhostObject___btGhostObject_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btPairCachingGhostObject___btPairCachingGhostObject_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; FUNCTION_TABLE[1193 | 0]($4) | 0; btCollisionObject__operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btPairCachingGhostObject__addOverlappingObjectInternal_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, $6 = 0, $15 = 0, $62 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $5 = __stack_pointer - 32 | 0; __stack_pointer = $5; HEAP32[($5 + 28 | 0) >> 2] = $0; HEAP32[($5 + 24 | 0) >> 2] = $1; HEAP32[($5 + 20 | 0) >> 2] = $2; $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $15 = HEAP32[($5 + 20 | 0) >> 2] | 0; break label$1; } $15 = btCollisionObject__getBroadphaseHandle_28_29($6 | 0) | 0; } HEAP32[($5 + 16 | 0) >> 2] = $15; label$3 : { if ((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$3 } __assert_fail(65600 | 0, 72085 | 0, 73 | 0, 77471 | 0); wasm2js_trap(); } HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; label$4 : { if ((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$4 } __assert_fail(68684 | 0, 72085 | 0, 76 | 0, 77471 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($6 + 324 | 0 | 0, $5 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; label$5 : { if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionObject____size_28_29_20const($6 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($6 + 324 | 0 | 0, $5 + 12 | 0 | 0); $62 = HEAP32[($6 + 344 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$62 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($62, HEAP32[($5 + 16 | 0) >> 2] | 0, HEAP32[($5 + 24 | 0) >> 2] | 0) | 0; } __stack_pointer = $5 + 32 | 0; return; } function btPairCachingGhostObject__removeOverlappingObjectInternal_28btBroadphaseProxy__2c_20btDispatcher__2c_20btBroadphaseProxy__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $18 = 0, $73 = 0, $66 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; HEAP32[($6 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$2 } $18 = HEAP32[($6 + 16 | 0) >> 2] | 0; break label$1; } $18 = btCollisionObject__getBroadphaseHandle_28_29($7 | 0) | 0; } HEAP32[($6 + 8 | 0) >> 2] = $18; label$3 : { if ((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$3 } __assert_fail(65600 | 0, 72085 | 0, 89 | 0, 77439 | 0); wasm2js_trap(); } label$4 : { if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$4 } __assert_fail(68684 | 0, 72085 | 0, 91 | 0, 77439 | 0); wasm2js_trap(); } (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($7 + 324 | 0 | 0, $6 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; label$5 : { if (!((HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$5 } $66 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 324 | 0 | 0, (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 324 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0; (wasm2js_i32$0 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 324 | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $66), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; btAlignedObjectArray_btCollisionObject____pop_back_28_29($7 + 324 | 0 | 0); $73 = HEAP32[($7 + 344 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$73 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($73, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0) | 0; } __stack_pointer = $6 + 32 | 0; return; } function _GLOBAL__sub_I_btGhostObject_cpp() { __cxx_global_var_init_82(); return; } function __cxx_global_var_init_83() { btInfMaskConverter__btInfMaskConverter_28int_29(116184 | 0, 2139095040 | 0) | 0; return; } function __cxx_global_var_init_1_1() { var $2 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; HEAP32[($2 + 12 | 0) >> 2] = 116192; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(116192 | 0, 84159 | 0) | 0; HEAP32[($2 + 12 | 0) >> 2] = 116192 + 12 | 0; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(116192 + 12 | 0 | 0, 84426 | 0) | 0; HEAP32[($2 + 12 | 0) >> 2] = 116192 + 24 | 0; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(116192 + 24 | 0 | 0, 84257 | 0) | 0; HEAP32[($2 + 12 | 0) >> 2] = 116192 + 36 | 0; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(116192 + 36 | 0 | 0, 84028 | 0) | 0; __cxa_atexit(1200 | 0, 0 | 0, 65536 | 0) | 0; __stack_pointer = $2 + 16 | 0; return; } function __cxx_global_array_dtor_2($0) { $0 = $0 | 0; var $3 = 0, $10 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = 116192 + 48 | 0; label$1 : while (1) { $10 = $7 + -12 | 0; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($10 | 0) | 0; $7 = $10; if (!(($10 | 0) == (116192 | 0) & 1 | 0)) { continue label$1 } break label$1; }; __stack_pointer = $3 + 16 | 0; return; } function btCharacterController__logMovementChange_28_29($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; return; } function btCharacterController__move_28btVector3_20const__2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); var $7 = 0, $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $24 = 0, $26 = 0, $125 = 0, $135 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $6 = __stack_pointer - 32 | 0; __stack_pointer = $6; HEAP32[($6 + 28 | 0) >> 2] = $0; HEAP32[($6 + 24 | 0) >> 2] = $1; HEAPF32[($6 + 20 | 0) >> 2] = $2; HEAPF32[($6 + 16 | 0) >> 2] = $3; $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; HEAP8[($7 + 65 | 0) >> 0] = 0; HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(.009999999776482582); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $6 + 12 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; $24 = $7 + 136 | 0; i64toi32_i32$2 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $125 = i64toi32_i32$0; i64toi32_i32$0 = $24; HEAP32[i64toi32_i32$0 >> 2] = $125; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $26 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $135 = i64toi32_i32$1; i64toi32_i32$1 = $24 + $26 | 0; HEAP32[i64toi32_i32$1 >> 2] = $135; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCharacterController__moveCharacter_28btVector3_20const__2c_20float_2c_20float_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; btCharacterController__logMovementChange_28_29($7 | 0); label$1 : { if (!((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } HEAP8[($7 + 61 | 0) >> 0] = 1; btTransform__setOrigin_28btVector3_20const__29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 136 | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCharacterController__moveCharacter_28btVector3_20const__2c_20float_2c_20float_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; HEAP8[($7 + 61 | 0) >> 0] = 0; btCharacterController__logMovementChange_28_29($7 | 0); } label$2 : { if (!((HEAPU8[($7 + 65 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$2 } if (!((HEAP32[($6 + 8 | 0) >> 2] | 0) & 4 | 0)) { break label$2 } HEAP8[($7 + 64 | 0) >> 0] = 1; btCharacterController__moveCharacter_28btVector3_20const__2c_20float_2c_20float_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))) | 0; HEAP8[($7 + 64 | 0) >> 0] = 0; btCharacterController__logMovementChange_28_29($7 | 0); } HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; $68 = HEAP32[($6 + 8 | 0) >> 2] | 0; __stack_pointer = $6 + 32 | 0; return $68 | 0; } function btCharacterController__moveCharacter_28btVector3_20const__2c_20float_2c_20float_29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = Math_fround($3); var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $76 = 0, $85 = 0, $94 = 0, $107 = 0, $462 = 0, $466 = 0, $482 = 0, $486 = 0, $502 = 0, $506 = 0, $295 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 208 | 0; __stack_pointer = $6; HEAP32[($6 + 200 | 0) >> 2] = $0; HEAP32[($6 + 196 | 0) >> 2] = $1; HEAPF32[($6 + 192 | 0) >> 2] = $2; HEAPF32[($6 + 188 | 0) >> 2] = $3; $7 = HEAP32[($6 + 200 | 0) >> 2] | 0; HEAP8[($6 + 187 | 0) >> 0] = 0; HEAP8[($7 + 60 | 0) >> 0] = 0; HEAP32[($6 + 180 | 0) >> 2] = 0; HEAP32[($6 + 176 | 0) >> 2] = 10; HEAP32[($6 + 172 | 0) >> 2] = 10; HEAP32[($6 + 168 | 0) >> 2] = 10; HEAP32[($6 + 164 | 0) >> 2] = 1; HEAP32[($6 + 160 | 0) >> 2] = $7 + 40 | 0; HEAPF32[($6 + 140 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 136 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 132 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $6 + 140 | 0 | 0, $6 + 136 | 0 | 0, $6 + 132 | 0 | 0) | 0; HEAPF32[($6 + 108 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 104 | 0) >> 2] = Math_fround(0 | 0); HEAPF32[($6 + 100 | 0) >> 2] = Math_fround(0 | 0); btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 112 | 0 | 0, $6 + 108 | 0 | 0, $6 + 104 | 0 | 0, $6 + 100 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 84 | 0 | 0) | 0; btVector3__btVector3_28_29($6 + 68 | 0 | 0) | 0; decomposeVector_28btVector3__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 84 | 0 | 0, $6 + 68 | 0 | 0, HEAP32[($6 + 196 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 196 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; label$1 : { label$2 : { if (!(Math_fround(HEAPF32[($6 + 64 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { break label$2 } $76 = 8; i64toi32_i32$2 = ($6 + 84 | 0) + $76 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $462 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 112 | 0) + $76 | 0; HEAP32[i64toi32_i32$0 >> 2] = $462; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 84 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 88 | 0) >> 2] | 0; $466 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 112 | 0) >> 2] = $466; HEAP32[($6 + 116 | 0) >> 2] = i64toi32_i32$0; break label$1; } $85 = 8; i64toi32_i32$2 = ($6 + 84 | 0) + $85 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $482 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 144 | 0) + $85 | 0; HEAP32[i64toi32_i32$0 >> 2] = $482; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 84 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 88 | 0) >> 2] | 0; $486 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 144 | 0) >> 2] = $486; HEAP32[($6 + 148 | 0) >> 2] = i64toi32_i32$0; } $94 = 8; i64toi32_i32$2 = ($6 + 68 | 0) + $94 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $502 = i64toi32_i32$0; i64toi32_i32$0 = ($6 + 48 | 0) + $94 | 0; HEAP32[i64toi32_i32$0 >> 2] = $502; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $6; i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6 + 72 | 0) >> 2] | 0; $506 = i64toi32_i32$1; i64toi32_i32$1 = $6; HEAP32[($6 + 48 | 0) >> 2] = $506; HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$0; $107 = 0; label$3 : { if ((HEAPU8[($6 + 187 | 0) >> 0] | 0) & 1 | 0) { break label$3 } $107 = btVector3__fuzzyZero_28_29_20const($6 + 48 | 0 | 0) | 0; } HEAP8[($6 + 47 | 0) >> 0] = $107 & 1 | 0; label$4 : { label$5 : { if ((HEAPU8[($6 + 47 | 0) >> 0] | 0) & 1 | 0) { break label$5 } HEAP8[($7 + 65 | 0) >> 0] = 1; break label$4; } HEAP8[($7 + 65 | 0) >> 0] = 0; } label$6 : { if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { break label$6 } if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { break label$6 } label$7 : { if ((HEAPU8[($6 + 47 | 0) >> 0] | 0) & 1 | 0) { break label$7 } operator__28btVector3_20const__2c_20float_20const__29($6 + 28 | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0, $7 + 32 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($6 + 144 | 0 | 0, $6 + 28 | 0 | 0) | 0; } label$8 : { if ((btVector3__fuzzyZero_28_29_20const($6 + 144 | 0 | 0) | 0) & 1 | 0) { break label$8 } } HEAP8[($7 + 108 | 0) >> 0] = 0; label$9 : { if (!((btCharacterController__doSweepTest_28btVector3_20const__2c_20float_2c_20SweepPass_2c_20int_29($7 | 0, $6 + 144 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 192 | 0) >> 2])), 0 | 0, 10 | 0) | 0) & 1 | 0)) { break label$9 } HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0 | 2 | 0; } } label$10 : { if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { break label$10 } label$11 : { if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { break label$11 } if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$11 } HEAP8[($7 + 108 | 0) >> 0] = 1; } label$12 : { if (!((btCharacterController__doSweepTest_28btVector3_20const__2c_20float_2c_20SweepPass_2c_20int_29($7 | 0, $6 + 48 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 192 | 0) >> 2])), 1 | 0, 10 | 0) | 0) & 1 | 0)) { break label$12 } HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0 | 1 | 0; } label$13 : { if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { break label$13 } if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$13 } HEAP8[($7 + 108 | 0) >> 0] = 0; } } label$14 : { if ((HEAPU8[($6 + 47 | 0) >> 0] | 0) & 1 | 0) { break label$14 } operator__28btVector3_20const__2c_20float_20const__29($6 + 12 | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0, $7 + 32 | 0 | 0); btVector3__operator___28btVector3_20const__29($6 + 112 | 0 | 0, $6 + 12 | 0 | 0) | 0; } label$15 : { if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { break label$15 } if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$15 } HEAP8[($7 + 108 | 0) >> 0] = 1; } label$16 : { label$17 : { if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { break label$17 } if ((HEAPU8[($7 + 65 | 0) >> 0] | 0) & 1 | 0) { break label$16 } } HEAP8[($7 + 108 | 0) >> 0] = 0; } label$18 : { label$19 : { if (!((btCharacterController__doSweepTest_28btVector3_20const__2c_20float_2c_20SweepPass_2c_20int_29($7 | 0, $6 + 112 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 192 | 0) >> 2])), 2 | 0, 1 | 0) | 0) & 1 | 0)) { break label$19 } HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0 | 4 | 0; label$20 : { if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { break label$20 } label$21 : { if (!((testSlope_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($7 + 72 | 0 | 0, $7 + 40 | 0 | 0, Math_fround(Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 28 | 0) >> 2])))))) | 0) & 1 | 0)) { break label$21 } HEAP8[($7 + 60 | 0) >> 0] = 1; label$22 : { if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { break label$22 } label$23 : { if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { break label$23 } if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { break label$23 } if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$23 } HEAP8[($7 + 108 | 0) >> 0] = 0; } HEAP32[($6 + 204 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0; break label$18; } } } } label$24 : { if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { break label$24 } if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { break label$24 } HEAP8[($7 + 108 | 0) >> 0] = 0; } HEAP32[($6 + 204 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0; } $295 = HEAP32[($6 + 204 | 0) >> 2] | 0; __stack_pointer = $6 + 208 | 0; return $295 | 0; } function decomposeVector_28btVector3__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $17 = 0, $19 = 0, $30 = 0, $32 = 0, $7 = 0, $80 = 0, $93 = 0, $110 = 0, $123 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $6 = __stack_pointer - 64 | 0; __stack_pointer = $6; HEAP32[($6 + 60 | 0) >> 2] = $0; HEAP32[($6 + 56 | 0) >> 2] = $1; HEAP32[($6 + 52 | 0) >> 2] = $2; HEAP32[($6 + 48 | 0) >> 2] = $3; $7 = HEAP32[($6 + 48 | 0) >> 2] | 0; (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 48 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($6 + 32 | 0 | 0, $7 | 0, $6 + 28 | 0 | 0); $17 = HEAP32[($6 + 60 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; $80 = i64toi32_i32$0; i64toi32_i32$0 = $17; HEAP32[i64toi32_i32$0 >> 2] = $80; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $19 = 8; i64toi32_i32$2 = ($6 + 32 | 0) + $19 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $93 = i64toi32_i32$1; i64toi32_i32$1 = $17 + $19 | 0; HEAP32[i64toi32_i32$1 >> 2] = $93; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 12 | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 60 | 0) >> 2] | 0 | 0); $30 = HEAP32[($6 + 56 | 0) >> 2] | 0; i64toi32_i32$2 = $6; i64toi32_i32$0 = HEAP32[($6 + 12 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6 + 16 | 0) >> 2] | 0; $110 = i64toi32_i32$0; i64toi32_i32$0 = $30; HEAP32[i64toi32_i32$0 >> 2] = $110; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $32 = 8; i64toi32_i32$2 = ($6 + 12 | 0) + $32 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $123 = i64toi32_i32$1; i64toi32_i32$1 = $30 + $32 | 0; HEAP32[i64toi32_i32$1 >> 2] = $123; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $6 + 64 | 0; return; } function btCharacterController__doSweepTest_28btVector3_20const__2c_20float_2c_20SweepPass_2c_20int_29($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); $3 = $3 | 0; $4 = $4 | 0; var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8 = 0, $20 = 0, $21 = 0, $28 = 0, $41 = 0, $98 = 0, $133 = 0, $135 = 0, $146 = 0, $148 = 0, $156 = 0, $158 = 0, $172 = 0, $205 = 0, $207 = 0, $218 = 0, $220 = 0, $228 = 0, $230 = 0, $237 = 0, $305 = 0, $307 = 0, $317 = 0, $319 = 0, $352 = 0, $354 = 0, $444 = 0, $448 = 0, $464 = 0, $468 = 0, $607 = 0, $611 = 0, $668 = 0, $678 = 0, $693 = 0, $703 = 0, $714 = 0, $727 = 0, $817 = 0, $827 = 0, $842 = 0, $852 = 0, $863 = 0, $876 = 0, $1025 = 0, $1035 = 0, $1049 = 0, $1059 = 0, $1121 = 0, $1134 = 0, $388 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; $7 = __stack_pointer - 336 | 0; __stack_pointer = $7; HEAP32[($7 + 328 | 0) >> 2] = $0; HEAP32[($7 + 324 | 0) >> 2] = $1; HEAPF32[($7 + 320 | 0) >> 2] = $2; HEAP32[($7 + 316 | 0) >> 2] = $3; HEAP32[($7 + 312 | 0) >> 2] = $4; $8 = HEAP32[($7 + 328 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((btVector3__fuzzyZero_28_29_20const(HEAP32[($7 + 324 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$2 } HEAP8[($7 + 335 | 0) >> 0] = 0 & 1 | 0; break label$1; } HEAP8[($7 + 311 | 0) >> 0] = 0; HEAP8[($7 + 310 | 0) >> 0] = 0; $20 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; $21 = 8; i64toi32_i32$2 = $20 + $21 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $444 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 288 | 0) + $21 | 0; HEAP32[i64toi32_i32$0 >> 2] = $444; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $20; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $448 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 288 | 0) >> 2] = $448; HEAP32[($7 + 292 | 0) >> 2] = i64toi32_i32$0; $28 = 8; i64toi32_i32$2 = ($7 + 288 | 0) + $28 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $464 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 272 | 0) + $28 | 0; HEAP32[i64toi32_i32$0 >> 2] = $464; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 288 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 292 | 0) >> 2] | 0; $468 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 272 | 0) >> 2] = $468; HEAP32[($7 + 276 | 0) >> 2] = i64toi32_i32$0; btVector3__operator___28btVector3_20const__29_1($7 + 272 | 0 | 0, HEAP32[($7 + 324 | 0) >> 2] | 0 | 0) | 0; label$3 : { label$4 : while (1) { $41 = HEAP32[($7 + 312 | 0) >> 2] | 0; HEAP32[($7 + 312 | 0) >> 2] = $41 + -1 | 0; if (!$41) { break label$3 } operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 256 | 0 | 0, $7 + 272 | 0 | 0, $7 + 288 | 0 | 0); (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($7 + 256 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_f32$0; label$5 : { if (!(Math_fround(HEAPF32[($7 + 252 | 0) >> 2]) <= Math_fround(HEAPF32[($7 + 320 | 0) >> 2]) & 1 | 0)) { break label$5 } break label$3; } btVector3__operator___28float_20const__29($7 + 256 | 0 | 0, $7 + 252 | 0 | 0) | 0; label$6 : { if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 256 | 0 | 0, HEAP32[($7 + 324 | 0) >> 2] | 0 | 0)) <= Math_fround(0 | 0) & 1 | 0)) { break label$6 } break label$3; } HEAP8[($7 + 311 | 0) >> 0] = 1; btSweptContact__btSweptContact_28_29($7 + 208 | 0 | 0) | 0; HEAPF32[($7 + 240 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 252 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 36 | 0) >> 2])); label$7 : { if ((btCharacterController__collideGeoms_28btVector3_20const__2c_20btVector3_20const__2c_20btSweptContact__29($8 | 0, $7 + 288 | 0 | 0, $7 + 272 | 0 | 0, $7 + 208 | 0 | 0) | 0) & 1 | 0) { break label$7 } HEAP8[($7 + 310 | 0) >> 0] = 0; $98 = 8; i64toi32_i32$2 = ($7 + 272 | 0) + $98 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $607 = i64toi32_i32$0; i64toi32_i32$0 = ($7 + 288 | 0) + $98 | 0; HEAP32[i64toi32_i32$0 >> 2] = $607; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 272 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 276 | 0) >> 2] | 0; $611 = i64toi32_i32$1; i64toi32_i32$1 = $7; HEAP32[($7 + 288 | 0) >> 2] = $611; HEAP32[($7 + 292 | 0) >> 2] = i64toi32_i32$0; break label$3; } HEAP8[($7 + 310 | 0) >> 0] = 1; label$8 : { if (!((HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } label$9 : { label$10 : { if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($7 + 244 | 0) >> 2] | 0 | 0) | 0) & 2 | 0)) { break label$10 } btControllerShapeHit__btControllerShapeHit_28_29($7 + 144 | 0 | 0) | 0; HEAP32[($7 + 144 | 0) >> 2] = $8; HEAP32[($7 + 200 | 0) >> 2] = HEAP32[($7 + 248 | 0) >> 2] | 0; HEAP32[($7 + 204 | 0) >> 2] = HEAP32[($7 + 244 | 0) >> 2] | 0; $133 = ($7 + 144 | 0) + 20 | 0; i64toi32_i32$2 = ($7 + 208 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $668 = i64toi32_i32$0; i64toi32_i32$0 = $133; HEAP32[i64toi32_i32$0 >> 2] = $668; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $135 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $135 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $678 = i64toi32_i32$1; i64toi32_i32$1 = $133 + $135 | 0; HEAP32[i64toi32_i32$1 >> 2] = $678; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $146 = ($7 + 144 | 0) + 4 | 0; i64toi32_i32$2 = $7 + 208 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $693 = i64toi32_i32$0; i64toi32_i32$0 = $146; HEAP32[i64toi32_i32$0 >> 2] = $693; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $148 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $148 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $703 = i64toi32_i32$1; i64toi32_i32$1 = $146 + $148 | 0; HEAP32[i64toi32_i32$1 >> 2] = $703; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $156 = ($7 + 144 | 0) + 36 | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 256 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 260 | 0) >> 2] | 0; $714 = i64toi32_i32$0; i64toi32_i32$0 = $156; HEAP32[i64toi32_i32$0 >> 2] = $714; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $158 = 8; i64toi32_i32$2 = ($7 + 256 | 0) + $158 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $727 = i64toi32_i32$1; i64toi32_i32$1 = $156 + $158 | 0; HEAP32[i64toi32_i32$1 >> 2] = $727; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($7 + 196 | 0) >> 2] = Math_fround(HEAPF32[($7 + 252 | 0) >> 2]); label$11 : { label$12 : { if (!((HEAP32[($7 + 248 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$12 } $172 = HEAP32[($8 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[(HEAP32[$172 >> 2] | 0) >> 2] | 0 | 0]($172, $7 + 144 | 0); break label$11; } } break label$9; } label$13 : { if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($7 + 244 | 0) >> 2] | 0 | 0) | 0) & 4 | 0)) { break label$13 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObject__getUserPointer_28_29_20const(HEAP32[($7 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; label$14 : { if (!((HEAP32[($7 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$14 } HEAP32[($7 + 136 | 0) >> 2] = HEAP32[($7 + 140 | 0) >> 2] | 0; btControllersHit__btControllersHit_28_29($7 + 76 | 0 | 0) | 0; HEAP32[($7 + 76 | 0) >> 2] = $8; HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($7 + 136 | 0) >> 2] | 0; $205 = ($7 + 76 | 0) + 20 | 0; i64toi32_i32$2 = ($7 + 208 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $817 = i64toi32_i32$0; i64toi32_i32$0 = $205; HEAP32[i64toi32_i32$0 >> 2] = $817; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $207 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $207 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $827 = i64toi32_i32$1; i64toi32_i32$1 = $205 + $207 | 0; HEAP32[i64toi32_i32$1 >> 2] = $827; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $218 = ($7 + 76 | 0) + 4 | 0; i64toi32_i32$2 = $7 + 208 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $842 = i64toi32_i32$0; i64toi32_i32$0 = $218; HEAP32[i64toi32_i32$0 >> 2] = $842; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $220 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $220 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $852 = i64toi32_i32$1; i64toi32_i32$1 = $218 + $220 | 0; HEAP32[i64toi32_i32$1 >> 2] = $852; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $228 = ($7 + 76 | 0) + 36 | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 256 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 260 | 0) >> 2] | 0; $863 = i64toi32_i32$0; i64toi32_i32$0 = $228; HEAP32[i64toi32_i32$0 >> 2] = $863; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $230 = 8; i64toi32_i32$2 = ($7 + 256 | 0) + $230 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $876 = i64toi32_i32$1; i64toi32_i32$1 = $228 + $230 | 0; HEAP32[i64toi32_i32$1 >> 2] = $876; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; HEAPF32[($7 + 128 | 0) >> 2] = Math_fround(HEAPF32[($7 + 252 | 0) >> 2]); $237 = HEAP32[($8 + 20 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$237 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($237, $7 + 76 | 0); } } } } label$15 : { if (!((HEAPU8[($8 + 63 | 0) >> 0] | 0) & 1 | 0)) { break label$15 } if (!(Math_fround(HEAPF32[($7 + 240 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { break label$15 } (wasm2js_i32$0 = $7, wasm2js_i32$1 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; HEAP32[($7 + 68 | 0) >> 2] = 0; label$16 : { label$17 : while (1) { if (!((HEAP32[($7 + 68 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$16 } btCharacterController__recoverFromPenetration_28_29($8 | 0) | 0; HEAP32[($7 + 68 | 0) >> 2] = (HEAP32[($7 + 68 | 0) >> 2] | 0) + 1 | 0; continue label$17; }; } HEAP8[($7 + 335 | 0) >> 0] = (HEAPU8[($7 + 310 | 0) >> 0] | 0) & 1 | 0; break label$1; } label$18 : { if (!(Math_fround(Math_fround(HEAPF32[($7 + 240 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 36 | 0) >> 2])) > Math_fround(0 | 0) & 1 | 0)) { break label$18 } HEAPF32[($7 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 240 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 36 | 0) >> 2])); operator__28btVector3_20const__2c_20float_20const__29($7 + 52 | 0 | 0, $7 + 256 | 0 | 0, $7 + 48 | 0 | 0); btVector3__operator___28btVector3_20const__29_1($7 + 288 | 0 | 0, $7 + 52 | 0 | 0) | 0; } (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 208 | 0 | 0, $8 + 40 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; $305 = $8 + 88 | 0; i64toi32_i32$2 = $7 + 208 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1025 = i64toi32_i32$0; i64toi32_i32$0 = $305; HEAP32[i64toi32_i32$0 >> 2] = $1025; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $307 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $307 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1035 = i64toi32_i32$1; i64toi32_i32$1 = $305 + $307 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1035; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $317 = $8 + 72 | 0; i64toi32_i32$2 = ($7 + 208 | 0) + 16 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1049 = i64toi32_i32$0; i64toi32_i32$0 = $317; HEAP32[i64toi32_i32$0 >> 2] = $1049; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $319 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $319 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1059 = i64toi32_i32$1; i64toi32_i32$1 = $317 + $319 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1059; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$19 : { if (!((HEAPU8[($8 + 61 | 0) >> 0] | 0) & 1 | 0)) { break label$19 } btVector3__btVector3_28_29($7 + 32 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 16 | 0 | 0) | 0; decomposeVector_28btVector3__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($7 + 32 | 0 | 0, $7 + 16 | 0 | 0, $8 + 72 | 0 | 0, $8 + 40 | 0 | 0); label$20 : { if (!((btVector3__fuzzyZero_28_29_20const($7 + 16 | 0 | 0) | 0) & 1 | 0)) { break label$20 } HEAP8[($7 + 335 | 0) >> 0] = (HEAPU8[($7 + 310 | 0) >> 0] | 0) & 1 | 0; break label$1; } $352 = $8 + 72 | 0; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 16 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 20 | 0) >> 2] | 0; $1121 = i64toi32_i32$0; i64toi32_i32$0 = $352; HEAP32[i64toi32_i32$0 >> 2] = $1121; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $354 = 8; i64toi32_i32$2 = ($7 + 16 | 0) + $354 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $1134 = i64toi32_i32$1; i64toi32_i32$1 = $352 + $354 | 0; HEAP32[i64toi32_i32$1 >> 2] = $1134; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; btVector3__normalize_28_29($8 + 72 | 0 | 0) | 0; } HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(1.0); btCharacterController__collisionResponse_28btVector3_20const__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20bool_29($8 | 0, $7 + 288 | 0 | 0, $7 + 272 | 0 | 0, $7 + 256 | 0 | 0, $8 + 72 | 0 | 0, Math_fround(Math_fround(1.0)), 0 & 1 | 0 | 0); continue label$4; }; } btTransform__setOrigin_28btVector3_20const__29(btCollisionObject__getWorldTransform_28_29(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 288 | 0 | 0); HEAP8[($7 + 335 | 0) >> 0] = (HEAPU8[($7 + 310 | 0) >> 0] | 0) & 1 | 0; } $388 = (HEAPU8[($7 + 335 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $7 + 336 | 0; return $388 | 0; } function testSlope_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; $16 = 0; label$1 : { if (!(Math_fround(HEAPF32[$5 >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { break label$1 } $16 = Math_fround(HEAPF32[$5 >> 2]) < Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); } __stack_pointer = $5 + 16 | 0; return $16 & 1 | 0 | 0; } function btSweptContact__btSweptContact_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 | 0) | 0; btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCharacterController__collideGeoms_28btVector3_20const__2c_20btVector3_20const__2c_20btSweptContact__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $91 = 0, $93 = 0, $104 = 0, $106 = 0, $21 = 0, $22 = 0, $326 = 0, $336 = 0, $352 = 0, $362 = 0, $122 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $6 = __stack_pointer - 304 | 0; __stack_pointer = $6; HEAP32[($6 + 300 | 0) >> 2] = $0; HEAP32[($6 + 296 | 0) >> 2] = $1; HEAP32[($6 + 292 | 0) >> 2] = $2; HEAP32[($6 + 288 | 0) >> 2] = $3; $7 = HEAP32[($6 + 300 | 0) >> 2] | 0; HEAP8[($6 + 287 | 0) >> 0] = 0; HEAP32[($6 + 280 | 0) >> 2] = HEAP32[($7 + 8 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAPU8[($7 + 108 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } HEAP32[($6 + 280 | 0) >> 2] = HEAP32[($7 + 104 | 0) >> 2] | 0; break label$1; } } HEAPF32[($6 + 276 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 288 | 0) >> 2] | 0) + 32 | 0) >> 2]); btTransform__btTransform_28btQuaternion_20const__2c_20btVector3_20const__29($6 + 212 | 0 | 0, btQuaternion__getIdentity_28_29() | 0 | 0, HEAP32[($6 + 296 | 0) >> 2] | 0 | 0) | 0; $21 = btQuaternion__getIdentity_28_29() | 0; $22 = HEAP32[($6 + 296 | 0) >> 2] | 0; operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 100 | 0 | 0, HEAP32[($6 + 292 | 0) >> 2] | 0 | 0, HEAP32[($6 + 296 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($6 + 116 | 0 | 0, btVector3__normalize_28_29($6 + 100 | 0 | 0) | 0 | 0, $6 + 276 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 132 | 0 | 0, $22 | 0, $6 + 116 | 0 | 0); btTransform__btTransform_28btQuaternion_20const__2c_20btVector3_20const__29($6 + 148 | 0 | 0, $21 | 0, $6 + 132 | 0 | 0) | 0; btKinematicClosestNotMeConvexResultCallback__btKinematicClosestNotMeConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__29($6 + 8 | 0 | 0, HEAP32[($6 + 296 | 0) >> 2] | 0 | 0, HEAP32[($6 + 292 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 280 | 0) >> 2] | 0 | 0, $6 + 212 | 0 | 0, $6 + 148 | 0 | 0, $6 + 8 | 0 | 0, Math_fround(Math_fround(HEAPF32[((btCollisionWorld__getDispatchInfo_28_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0) + 28 | 0) >> 2]))); label$3 : { if (!((btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($6 + 8 | 0 | 0) | 0) & 1 | 0)) { break label$3 } HEAP8[($6 + 287 | 0) >> 0] = 1; HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 276 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 12 | 0) >> 2])); $91 = HEAP32[($6 + 288 | 0) >> 2] | 0; i64toi32_i32$2 = ($6 + 8 | 0) + 68 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $326 = i64toi32_i32$0; i64toi32_i32$0 = $91; HEAP32[i64toi32_i32$0 >> 2] = $326; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $93 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $93 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $336 = i64toi32_i32$1; i64toi32_i32$1 = $91 + $93 | 0; HEAP32[i64toi32_i32$1 >> 2] = $336; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $104 = (HEAP32[($6 + 288 | 0) >> 2] | 0) + 16 | 0; i64toi32_i32$2 = ($6 + 8 | 0) + 52 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $352 = i64toi32_i32$0; i64toi32_i32$0 = $104; HEAP32[i64toi32_i32$0 >> 2] = $352; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $106 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $106 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $362 = i64toi32_i32$1; i64toi32_i32$1 = $104 + $106 | 0; HEAP32[i64toi32_i32$1 >> 2] = $362; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$4 : { if (!((btVector3__fuzzyZero_28_29_20const((HEAP32[($6 + 288 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0)) { break label$4 } } HEAPF32[((HEAP32[($6 + 288 | 0) >> 2] | 0) + 32 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); HEAP32[((HEAP32[($6 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; HEAP32[((HEAP32[($6 + 288 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($6 + 92 | 0) >> 2] | 0; } $122 = HEAPU8[($6 + 287 | 0) >> 0] | 0; btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29($6 + 8 | 0 | 0) | 0; __stack_pointer = $6 + 304 | 0; return $122 & 1 | 0 | 0; } function btControllerShapeHit__btControllerShapeHit_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btControllerHit__btControllerHit_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCollisionObject__getUserPointer_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0; } function btControllersHit__btControllersHit_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btControllerHit__btControllerHit_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCharacterController__recoverFromPenetration_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0, $15 = 0, $27 = 0, $41 = 0, $56 = 0, $74 = 0, $100 = 0, $54 = 0, $180 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 144 | 0; __stack_pointer = $3; HEAP32[($3 + 140 | 0) >> 2] = $0; $4 = HEAP32[($3 + 140 | 0) >> 2] | 0; HEAP8[($3 + 139 | 0) >> 0] = 0; (wasm2js_i32$0 = $3, wasm2js_i32$1 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; btVector3__btVector3_28_29($3 + 116 | 0 | 0) | 0; btVector3__btVector3_28_29($3 + 100 | 0 | 0) | 0; $15 = HEAP32[($4 + 8 | 0) >> 2] | 0; ((((wasm2js_i32$1 = $15, wasm2js_i32$2 = btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $3 + 116 | 0), wasm2js_i32$4 = $3 + 100 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$15 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); $27 = btCollisionWorld__getBroadphase_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; (((((wasm2js_i32$4 = $27, wasm2js_i32$3 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = $3 + 116 | 0), wasm2js_i32$1 = $3 + 100 | 0), wasm2js_i32$5 = btCollisionWorld__getDispatcher_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$27 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0, wasm2js_i32$1 | 0, wasm2js_i32$5 | 0); $41 = btCollisionWorld__getDispatcher_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; ((((wasm2js_i32$5 = $41, wasm2js_i32$1 = btPairCachingGhostObject__getOverlappingPairCache_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = btCollisionWorld__getDispatchInfo_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btCollisionWorld__getDispatcher_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$41 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$5 | 0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($3 + 80 | 0 | 0) | 0; HEAP32[($3 + 76 | 0) >> 2] = 0; label$1 : { label$2 : while (1) { $54 = HEAP32[($3 + 76 | 0) >> 2] | 0; $56 = btPairCachingGhostObject__getOverlappingPairCache_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0; if (!(($54 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$56 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($56) | 0 | 0) & 1 | 0)) { break label$1 } HEAP32[($3 + 72 | 0) >> 2] = 0; btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($3 + 80 | 0 | 0, 0 | 0, $3 + 72 | 0 | 0); $74 = btPairCachingGhostObject__getOverlappingPairCache_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0; (wasm2js_i32$0 = $3, wasm2js_i32$3 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29(FUNCTION_TABLE[HEAP32[((HEAP32[$74 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($74) | 0 | 0, HEAP32[($3 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$3; HEAP32[($3 + 64 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($3 + 68 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; HEAP32[($3 + 60 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; label$3 : { label$4 : { if ((needsCollision_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($3 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$4 } break label$3; } label$5 : { if (!((HEAP32[((HEAP32[($3 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } $100 = HEAP32[((HEAP32[($3 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$100 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($100, $3 + 80 | 0); } HEAP32[($3 + 56 | 0) >> 2] = 0; label$6 : { label$7 : while (1) { if (!((HEAP32[($3 + 56 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($3 + 80 | 0 | 0) | 0 | 0) & 1 | 0)) { break label$6 } (wasm2js_i32$0 = $3, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($3 + 80 | 0 | 0, HEAP32[($3 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$3; (wasm2js_i32$0 = $3, wasm2js_f32$0 = (btPersistentManifold__getBody0_28_29_20const(HEAP32[($3 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0 ? Math_fround(-1.0) : Math_fround(1.0)), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; HEAP32[($3 + 44 | 0) >> 2] = 0; label$8 : { label$9 : while (1) { if (!((HEAP32[($3 + 44 | 0) >> 2] | 0 | 0) < (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($3 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { break label$8 } (wasm2js_i32$0 = $3, wasm2js_i32$3 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($3 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$3; (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($3 + 40 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($3 + 4 | 0 | 0, (HEAP32[($3 + 40 | 0) >> 2] | 0) + 64 | 0 | 0, $3 + 48 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($3 + 20 | 0 | 0, $3 + 4 | 0 | 0, $3 + 36 | 0 | 0); btVector3__operator___28btVector3_20const__29_1(HEAP32[($3 + 132 | 0) >> 2] | 0 | 0, $3 + 20 | 0 | 0) | 0; HEAP8[($3 + 139 | 0) >> 0] = 1; HEAP32[($3 + 44 | 0) >> 2] = (HEAP32[($3 + 44 | 0) >> 2] | 0) + 1 | 0; continue label$9; }; } HEAP32[($3 + 56 | 0) >> 2] = (HEAP32[($3 + 56 | 0) >> 2] | 0) + 1 | 0; continue label$7; }; } } HEAP32[($3 + 76 | 0) >> 2] = (HEAP32[($3 + 76 | 0) >> 2] | 0) + 1 | 0; continue label$2; }; } $180 = HEAPU8[($3 + 139 | 0) >> 0] | 0; btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($3 + 80 | 0 | 0) | 0; __stack_pointer = $3 + 144 | 0; return $180 & 1 | 0 | 0; } function btCharacterController__collisionResponse_28btVector3_20const__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20bool_29($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = Math_fround($5); $6 = $6 | 0; var $9 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $48 = 0, $50 = 0, $185 = 0, $195 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $9 = __stack_pointer - 128 | 0; __stack_pointer = $9; HEAP32[($9 + 124 | 0) >> 2] = $0; HEAP32[($9 + 120 | 0) >> 2] = $1; HEAP32[($9 + 116 | 0) >> 2] = $2; HEAP32[($9 + 112 | 0) >> 2] = $3; HEAP32[($9 + 108 | 0) >> 2] = $4; HEAPF32[($9 + 104 | 0) >> 2] = $5; HEAP8[($9 + 103 | 0) >> 0] = $6; btVector3__btVector3_28_29($9 + 84 | 0 | 0) | 0; computeReflexionVector_28btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($9 + 84 | 0 | 0, HEAP32[($9 + 112 | 0) >> 2] | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0); btVector3__normalize_28_29($9 + 84 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 68 | 0 | 0) | 0; btVector3__btVector3_28_29($9 + 52 | 0 | 0) | 0; decomposeVector_28btVector3__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($9 + 68 | 0 | 0, $9 + 52 | 0 | 0, $9 + 84 | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 32 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9 + 120 | 0) >> 2] | 0 | 0); (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($9 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; $48 = HEAP32[($9 + 116 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($9 + 120 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $185 = i64toi32_i32$0; i64toi32_i32$0 = $48; HEAP32[i64toi32_i32$0 >> 2] = $185; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $50 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $50 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $195 = i64toi32_i32$1; i64toi32_i32$1 = $48 + $50 | 0; HEAP32[i64toi32_i32$1 >> 2] = $195; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; label$1 : { if (!(Math_fround(HEAPF32[($9 + 104 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { break label$1 } label$2 : { if (!((HEAPU8[($9 + 103 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } btVector3__normalize_28_29($9 + 52 | 0 | 0) | 0; } operator__28btVector3_20const__2c_20float_20const__29($9 | 0, $9 + 52 | 0 | 0, $9 + 104 | 0 | 0); operator__28btVector3_20const__2c_20float_20const__29($9 + 16 | 0 | 0, $9 | 0, $9 + 48 | 0 | 0); btVector3__operator___28btVector3_20const__29_1(HEAP32[($9 + 116 | 0) >> 2] | 0 | 0, $9 + 16 | 0 | 0) | 0; } __stack_pointer = $9 + 128 | 0; return; } function btKinematicClosestNotMeConvexResultCallback__btKinematicClosestNotMeConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0; HEAP32[$7 >> 2] = 104320 + 8 | 0; HEAP32[($7 + 84 | 0) >> 2] = 0; HEAP32[($7 + 88 | 0) >> 2] = HEAP32[$6 >> 2] | 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btControllerHit__btControllerHit_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 20 | 0 | 0) | 0; btVector3__btVector3_28_29($4 + 36 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btPairCachingGhostObject__getOverlappingPairCache_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 344 | 0) >> 2] | 0 | 0; } function needsCollision_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0, $22 = 0, $39 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = ((HEAP32[((btCollisionObject__getBroadphaseHandle_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((btCollisionObject__getBroadphaseHandle_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; $22 = 0; label$1 : { if (!((HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $22 = ((HEAP32[((btCollisionObject__getBroadphaseHandle_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((btCollisionObject__getBroadphaseHandle_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); } HEAP8[($4 + 7 | 0) >> 0] = $22 & 1 | 0; $39 = (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0; __stack_pointer = $4 + 16 | 0; return $39 | 0; } function computeReflexionVector_28btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $33 = 0, $35 = 0, $6 = 0, $7 = 0, $111 = 0, $124 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 80 | 0; __stack_pointer = $5; HEAP32[($5 + 76 | 0) >> 2] = $0; HEAP32[($5 + 72 | 0) >> 2] = $1; HEAP32[($5 + 68 | 0) >> 2] = $2; $6 = HEAP32[($5 + 72 | 0) >> 2] | 0; $7 = HEAP32[($5 + 68 | 0) >> 2] | 0; HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(2.0); operator__28btVector3_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $7 | 0, $5 + 16 | 0 | 0); (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; operator__28btVector3_20const__2c_20float_20const__29($5 + 36 | 0 | 0, $5 + 20 | 0 | 0, $5 + 12 | 0 | 0); operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 52 | 0 | 0, $6 | 0, $5 + 36 | 0 | 0); $33 = HEAP32[($5 + 76 | 0) >> 2] | 0; i64toi32_i32$2 = $5; i64toi32_i32$0 = HEAP32[($5 + 52 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($5 + 56 | 0) >> 2] | 0; $111 = i64toi32_i32$0; i64toi32_i32$0 = $33; HEAP32[i64toi32_i32$0 >> 2] = $111; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $35 = 8; i64toi32_i32$2 = ($5 + 52 | 0) + $35 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $124 = i64toi32_i32$1; i64toi32_i32$1 = $33 + $35 | 0; HEAP32[i64toi32_i32$1 >> 2] = $124; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; __stack_pointer = $5 + 80 | 0; return; } function btCollisionObject__getBroadphaseHandle_28_29_20const($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0; } function btCharacterController__btCharacterController_28btCollisionWorld__2c_20btCharacterControllerDesc__2c_20void__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $7 = 0, $6 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btActionInterface__btActionInterface_28_29($7 | 0) | 0; HEAP32[$7 >> 2] = 104076 + 8 | 0; HEAP32[($7 + 4 | 0) >> 2] = 0; HEAP32[($7 + 8 | 0) >> 2] = 0; HEAP32[($7 + 20 | 0) >> 2] = 0; HEAP32[($7 + 24 | 0) >> 2] = 0; btVector3__btVector3_28_29($7 + 40 | 0 | 0) | 0; HEAP8[($7 + 61 | 0) >> 0] = 0; HEAP8[($7 + 62 | 0) >> 0] = 1; HEAP8[($7 + 63 | 0) >> 0] = 1; HEAP8[($7 + 64 | 0) >> 0] = 0; HEAP8[($7 + 65 | 0) >> 0] = 0; btVector3__btVector3_28_29($7 + 72 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 88 | 0 | 0) | 0; HEAP32[($7 + 104 | 0) >> 2] = 0; HEAP8[($7 + 108 | 0) >> 0] = 0; btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($7 + 112 | 0 | 0) | 0; btVector3__btVector3_28_29($7 + 136 | 0 | 0) | 0; HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; HEAP32[($7 + 24 | 0) >> 2] = HEAP32[$6 >> 2] | 0; HEAP32[($7 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; btCharacterController__setUp_28btVector3_20const__29($7 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) + 12 | 0 | 0); btCharacterController__setStepHeight_28float_29($7 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2]))); btCharacterController__setContactOffset_28float_29($7 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2]))); btCharacterController__setMaxSlope_28float_29($7 | 0, Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 2]))); HEAP32[($7 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; HEAP32[($7 + 132 | 0) >> 2] = 0; __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btActionInterface__btActionInterface_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 104404 + 8 | 0; return $4 | 0; } function btCharacterController__setUp_28btVector3_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 40 | 0; i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $32 = i64toi32_i32$0; i64toi32_i32$0 = $8; HEAP32[i64toi32_i32$0 >> 2] = $32; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $10 = 8; i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $42 = i64toi32_i32$1; i64toi32_i32$1 = $8 + $10 | 0; HEAP32[i64toi32_i32$1 >> 2] = $42; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; } function btCharacterController__setMaxSlope_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); return; } function btCharacterController___btCharacterController_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; HEAP32[$4 >> 2] = 104076 + 8 | 0; btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 112 | 0 | 0) | 0; btActionInterface___btActionInterface_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btActionInterface___btActionInterface_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; } function btCharacterController___btCharacterController_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function btCharacterController__updateAction_28btCollisionWorld__2c_20float_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = Math_fround($2); var $5 = 0, $6 = 0; $5 = __stack_pointer - 16 | 0; __stack_pointer = $5; HEAP32[($5 + 12 | 0) >> 2] = $0; HEAP32[($5 + 8 | 0) >> 2] = $1; HEAPF32[($5 + 4 | 0) >> 2] = $2; $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; label$1 : { if (!((HEAPU8[($6 + 62 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } HEAP32[$5 >> 2] = 0; label$2 : { label$3 : while (1) { if (!((HEAP32[$5 >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { break label$2 } btCharacterController__recoverFromPenetration_28_29($6 | 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; continue label$3; }; } } __stack_pointer = $5 + 16 | 0; return; } function btCharacterController__getPosition_28_29($0) { $0 = $0 | 0; var $3 = 0, $7 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $7 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $7 | 0; } function btCapsuleCharacterController__btCapsuleCharacterController_28btCollisionWorld__2c_20btCapsuleCharacterControllerDesc__2c_20void__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $6 = 0, $7 = 0, $21 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCharacterController__btCharacterController_28btCollisionWorld__2c_20btCharacterControllerDesc__2c_20void__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0; HEAP32[$7 >> 2] = 104108 + 8 | 0; HEAPF32[($7 + 152 | 0) >> 2] = Math_fround(.5); HEAPF32[($7 + 156 | 0) >> 2] = Math_fround(1.0); HEAPF32[($7 + 152 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2]); HEAPF32[($7 + 156 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2]); $21 = btCollisionObject__operator_20new_28unsigned_20long_29(348 | 0) | 0; btPairCachingGhostObject__btPairCachingGhostObject_28_29($21 | 0) | 0; HEAP32[($7 + 4 | 0) >> 2] = $21; btCollisionObject__setCollisionFlags_28int_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, 4 | 0); btTransform__setOrigin_28btVector3_20const__29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) + 28 | 0 | 0); btCollisionObject__setUserPointer_28void__29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $7 | 0); btCapsuleCharacterController__ResetShape_28_29($7 | 0); __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btCollisionObject__setUserPointer_28void__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; return; } function btCapsuleCharacterController__ResetShape_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $13 = 0, $24 = 0, $49 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; label$1 : { label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } $13 = btCapsuleShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; btCapsuleShape__btCapsuleShape_28float_2c_20float_29($13 | 0, Math_fround(Math_fround(HEAPF32[($4 + 152 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 156 | 0) >> 2]))) | 0; HEAP32[($4 + 8 | 0) >> 2] = $13; break label$1; } btCapsuleShape__updateProp_28float_2c_20float_2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 152 | 0) >> 2])), Math_fround(Math_fround(+Math_fround(HEAPF32[($4 + 156 | 0) >> 2]) * .5)), 1 | 0); } $24 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($24, HEAP32[($4 + 8 | 0) >> 2] | 0); (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, $4 + 152 | 0 | 0, $3 + 8 | 0 | 0, $4 + 152 | 0 | 0) | 0; label$3 : { label$4 : { if ((HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$4 } $49 = btBoxShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; btBoxShape__btBoxShape_28btVector3_20const__29($49 | 0, $3 + 12 | 0 | 0) | 0; HEAP32[($4 + 104 | 0) >> 2] = $49; break label$3; } btBoxShape__setUnscaledHalfExtents_28btVector3_20const__29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0, $3 + 12 | 0 | 0); } __stack_pointer = $3 + 32 | 0; return; } function btCapsuleCharacterController__getFullHalfHeight_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 156 | 0) >> 2]) * Math_fround(.5)) + Math_fround(HEAPF32[($4 + 152 | 0) >> 2]))); } function btCapsuleCharacterController__setRadius_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); btCapsuleCharacterController__ResetShape_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCapsuleCharacterController__setHeight_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($5 + 156 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); btCapsuleCharacterController__ResetShape_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btBoxCharacterController__btBoxCharacterController_28btCollisionWorld__2c_20btBoxCharacterControllerDesc__2c_20void__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $7 = 0, $6 = 0, $24 = 0; $6 = __stack_pointer - 16 | 0; __stack_pointer = $6; HEAP32[($6 + 12 | 0) >> 2] = $0; HEAP32[($6 + 8 | 0) >> 2] = $1; HEAP32[($6 + 4 | 0) >> 2] = $2; HEAP32[$6 >> 2] = $3; $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; btCharacterController__btCharacterController_28btCollisionWorld__2c_20btCharacterControllerDesc__2c_20void__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0; HEAP32[$7 >> 2] = 104140 + 8 | 0; HEAPF32[($7 + 152 | 0) >> 2] = Math_fround(.5); HEAPF32[($7 + 156 | 0) >> 2] = Math_fround(.5); HEAPF32[($7 + 160 | 0) >> 2] = Math_fround(.5); HEAPF32[($7 + 156 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2]); HEAPF32[($7 + 152 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2]); HEAPF32[($7 + 160 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2]); $24 = btCollisionObject__operator_20new_28unsigned_20long_29(348 | 0) | 0; btPairCachingGhostObject__btPairCachingGhostObject_28_29($24 | 0) | 0; HEAP32[($7 + 4 | 0) >> 2] = $24; btCollisionObject__setCollisionFlags_28int_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, 4 | 0); btTransform__setOrigin_28btVector3_20const__29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) + 28 | 0 | 0); btCollisionObject__setUserPointer_28void__29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $7 | 0); btBoxCharacterController__ResetShape_28_29($7 | 0); __stack_pointer = $6 + 16 | 0; return $7 | 0; } function btBoxCharacterController__ResetShape_28_29($0) { $0 = $0 | 0; var $4 = 0, $3 = 0, $22 = 0, $30 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; HEAP32[($3 + 28 | 0) >> 2] = $0; $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, $4 + 156 | 0 | 0, $4 + 152 | 0 | 0, $4 + 160 | 0 | 0) | 0; label$1 : { label$2 : { if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } $22 = btBoxShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; btBoxShape__btBoxShape_28btVector3_20const__29($22 | 0, $3 + 12 | 0 | 0) | 0; HEAP32[($4 + 8 | 0) >> 2] = $22; break label$1; } btBoxShape__setUnscaledHalfExtents_28btVector3_20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $3 + 12 | 0 | 0); } $30 = HEAP32[($4 + 4 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($30, HEAP32[($4 + 8 | 0) >> 2] | 0); __stack_pointer = $3 + 32 | 0; return; } function btBoxCharacterController__getFullHalfHeight_28_29($0) { $0 = $0 | 0; var $3 = 0, $9 = Math_fround(0); $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; $9 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); __stack_pointer = $3 + 16 | 0; return Math_fround($9); } function btBoxCharacterController__setHalfHeight_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); btBoxCharacterController__ResetShape_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btBoxCharacterController__setHalfSideExtent_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($5 + 156 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); btBoxCharacterController__ResetShape_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btBoxCharacterController__setHalfForwardExtent_28float_29($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); var $4 = 0, $5 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAPF32[($4 + 8 | 0) >> 2] = $1; $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; HEAPF32[($5 + 160 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); btBoxCharacterController__ResetShape_28_29($5 | 0); __stack_pointer = $4 + 16 | 0; return; } function btCharacterController__debugDraw_28btIDebugDraw__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $4 = 0; $4 = __stack_pointer - 16 | 0; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $1; return; } function btCharacterController__getType_28_29($0) { $0 = $0 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; HEAP32[($3 + 12 | 0) >> 2] = $0; return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0; } function btCapsuleCharacterController___btCapsuleCharacterController_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCharacterController___btCharacterController_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btCapsuleCharacterController___btCapsuleCharacterController_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCapsuleCharacterController___btCapsuleCharacterController_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btBoxCharacterController___btBoxCharacterController_28_29($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btCharacterController___btCharacterController_28_29($4 | 0) | 0; __stack_pointer = $3 + 16 | 0; return $4 | 0; } function btBoxCharacterController___btBoxCharacterController_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btBoxCharacterController___btBoxCharacterController_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29_1($0) { $0 = $0 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; HEAP32[($3 + 12 | 0) >> 2] = $0; $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29($4 | 0) | 0; operator_20delete_28void__29($4 | 0); __stack_pointer = $3 + 16 | 0; return; } function btKinematicClosestNotMeConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $34 = 0, $35 = 0, $50 = 0, $147 = 0, $151 = 0, $181 = 0, $185 = 0, $62 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); $5 = __stack_pointer - 48 | 0; __stack_pointer = $5; HEAP32[($5 + 40 | 0) >> 2] = $0; HEAP32[($5 + 36 | 0) >> 2] = $1; HEAP8[($5 + 35 | 0) >> 0] = $2; $7 = HEAP32[($5 + 40 | 0) >> 2] | 0; label$1 : { label$2 : { if (!((HEAP32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$2 } HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(1.0); break label$1; } label$3 : { if ((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$3 } HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(1.0); break label$1; } HEAP32[($7 + 84 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; btVector3__btVector3_28_29($5 + 16 | 0 | 0) | 0; label$4 : { label$5 : { if (!((HEAPU8[($5 + 35 | 0) >> 0] | 0) & 1 | 0)) { break label$5 } $34 = (HEAP32[($5 + 36 | 0) >> 2] | 0) + 8 | 0; $35 = 8; i64toi32_i32$2 = $34 + $35 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $147 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 16 | 0) + $35 | 0; HEAP32[i64toi32_i32$0 >> 2] = $147; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $34; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $151 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 16 | 0) >> 2] = $151; HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; break label$4; } operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 36 | 0) >> 2] | 0) + 8 | 0 | 0); $50 = 8; i64toi32_i32$2 = $5 + $50 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $181 = i64toi32_i32$0; i64toi32_i32$0 = ($5 + 16 | 0) + $50 | 0; HEAP32[i64toi32_i32$0 >> 2] = $181; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = $5; i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; $185 = i64toi32_i32$1; i64toi32_i32$1 = $5; HEAP32[($5 + 16 | 0) >> 2] = $185; HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; } (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 35 | 0) >> 0] | 0) & 1 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; } $62 = Math_fround(HEAPF32[($5 + 44 | 0) >> 2]); __stack_pointer = $5 + 48 | 0; return Math_fround($62); } function btActionInterface___btActionInterface_28_29_1($0) { $0 = $0 | 0; HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; wasm2js_trap(); } function _GLOBAL__sub_I_btCharacterController_cpp() { __cxx_global_var_init_83(); __cxx_global_var_init_1_1(); return; } function __getTypeName($0) { $0 = $0 | 0; return strdup(HEAP32[($0 + 4 | 0) >> 2] | 0 | 0) | 0 | 0; } function _embind_initialize_bindings() { var $0 = 0; label$1 : { $0 = HEAP32[(0 + 116240 | 0) >> 2] | 0; if (!$0) { break label$1 } label$2 : while (1) { FUNCTION_TABLE[HEAP32[$0 >> 2] | 0 | 0](); $0 = HEAP32[($0 + 4 | 0) >> 2] | 0; if ($0) { continue label$2 } break label$2; }; } } function _embind_register_bindings($0) { $0 = $0 | 0; HEAP32[($0 + 4 | 0) >> 2] = HEAP32[(0 + 116240 | 0) >> 2] | 0; HEAP32[(0 + 116240 | 0) >> 2] = $0; } function embind_init_builtin_28_29() { var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; _embind_register_void(109656 | 0, 82765 | 0); _embind_register_bool(109680 | 0, 77266 | 0, 1 | 0, 1 | 0, 0 | 0); _embind_register_integer(109692 | 0, 71260 | 0, 1 | 0, -128 | 0, 127 | 0); _embind_register_integer(109716 | 0, 71253 | 0, 1 | 0, -128 | 0, 127 | 0); _embind_register_integer(109704 | 0, 71251 | 0, 1 | 0, 0 | 0, 255 | 0); _embind_register_integer(109728 | 0, 67507 | 0, 2 | 0, -32768 | 0, 32767 | 0); _embind_register_integer(109740 | 0, 67498 | 0, 2 | 0, 0 | 0, 65535 | 0); _embind_register_integer(109752 | 0, 67790 | 0, 4 | 0, -2147483648 | 0, 2147483647 | 0); _embind_register_integer(109764 | 0, 67781 | 0, 4 | 0, 0 | 0, -1 | 0); _embind_register_integer(109776 | 0, 80490 | 0, 4 | 0, -2147483648 | 0, 2147483647 | 0); _embind_register_integer(109788 | 0, 80481 | 0, 4 | 0, 0 | 0, -1 | 0); i64toi32_i32$0 = -2147483648; i64toi32_i32$1 = 2147483647; legalfunc$_embind_register_bigint(109800 | 0, 68987 | 0, 8 | 0, 0 | 0, i64toi32_i32$0 | 0, -1 | 0, i64toi32_i32$1 | 0); i64toi32_i32$1 = 0; i64toi32_i32$0 = -1; legalfunc$_embind_register_bigint(109812 | 0, 68986 | 0, 8 | 0, 0 | 0, i64toi32_i32$1 | 0, -1 | 0, i64toi32_i32$0 | 0); _embind_register_float(109824 | 0, 68953 | 0, 4 | 0); _embind_register_float(109836 | 0, 81899 | 0, 8 | 0); _embind_register_std_string(111324 | 0, 80521 | 0); _embind_register_std_string(104492 | 0, 85168 | 0); _embind_register_std_wstring(104564 | 0, 4 | 0, 80495 | 0); _embind_register_std_wstring(104640 | 0, 2 | 0, 80533 | 0); _embind_register_std_wstring(104716 | 0, 4 | 0, 80548 | 0); _embind_register_emval(110808 | 0, 77294 | 0); _embind_register_memory_view(104756 | 0, 0 | 0, 85099 | 0); _embind_register_memory_view(104796 | 0, 0 | 0, 85201 | 0); _embind_register_memory_view(104836 | 0, 1 | 0, 85129 | 0); _embind_register_memory_view(104876 | 0, 2 | 0, 84664 | 0); _embind_register_memory_view(104916 | 0, 3 | 0, 84695 | 0); _embind_register_memory_view(104956 | 0, 4 | 0, 84735 | 0); _embind_register_memory_view(104996 | 0, 5 | 0, 84764 | 0); _embind_register_memory_view(105036 | 0, 4 | 0, 85238 | 0); _embind_register_memory_view(105076 | 0, 5 | 0, 85268 | 0); _embind_register_memory_view(104796 | 0, 0 | 0, 84866 | 0); _embind_register_memory_view(104836 | 0, 1 | 0, 84833 | 0); _embind_register_memory_view(104876 | 0, 2 | 0, 84932 | 0); _embind_register_memory_view(104916 | 0, 3 | 0, 84898 | 0); _embind_register_memory_view(104956 | 0, 4 | 0, 85066 | 0); _embind_register_memory_view(104996 | 0, 5 | 0, 85032 | 0); _embind_register_memory_view(105116 | 0, 8 | 0, 84999 | 0); _embind_register_memory_view(105156 | 0, 9 | 0, 84965 | 0); _embind_register_memory_view(105196 | 0, 6 | 0, 84802 | 0); _embind_register_memory_view(105236 | 0, 7 | 0, 85307 | 0); } function _GLOBAL__sub_I_bind_cpp() { HEAP32[(0 + 116244 | 0) >> 2] = 1217; HEAP32[(0 + 116248 | 0) >> 2] = 0; embind_init_builtin_28_29(); HEAP32[(0 + 116248 | 0) >> 2] = HEAP32[(0 + 116240 | 0) >> 2] | 0; HEAP32[(0 + 116240 | 0) >> 2] = 116244; } function __cxa_atexit($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; return 0 | 0; } function acosf($0) { $0 = Math_fround($0); var $3 = Math_fround(0), $2 = 0, $1 = 0, $4 = Math_fround(0); label$1 : { $1 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); $2 = $1 & 2147483647 | 0; if ($2 >>> 0 < 1065353216 >>> 0) { break label$1 } label$2 : { if (($2 | 0) != (1065353216 | 0)) { break label$2 } return Math_fround(($1 | 0) > (-1 | 0) ? Math_fround(0.0) : Math_fround(3.141592502593994)); } return Math_fround(Math_fround(Math_fround(0.0) / Math_fround($0 - $0))); } label$3 : { label$4 : { if ($2 >>> 0 > 1056964607 >>> 0) { break label$4 } $3 = Math_fround(1.570796251296997); if ($2 >>> 0 < 847249409 >>> 0) { break label$3 } return Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(7.549789415861596e-08) - Math_fround($0 * Math_fround(R(Math_fround(Math_fround($0 * $0)))))) - $0) + Math_fround(1.570796251296997))); } label$5 : { if (($1 | 0) > (-1 | 0)) { break label$5 } $0 = Math_fround(Math_fround($0 + Math_fround(1.0)) * Math_fround(.5)); $3 = Math_fround(sqrtf(Math_fround($0))); $0 = Math_fround(Math_fround(1.570796251296997) - Math_fround($3 + Math_fround(Math_fround($3 * Math_fround(R(Math_fround($0)))) + Math_fround(-7.549789415861596e-08)))); return Math_fround(Math_fround($0 + $0)); } $3 = Math_fround(Math_fround(Math_fround(1.0) - $0) * Math_fround(.5)); $4 = Math_fround(sqrtf(Math_fround($3))); $0 = (wasm2js_scratch_store_i32(2, (wasm2js_scratch_store_f32($4), wasm2js_scratch_load_i32(2)) & -4096 | 0), wasm2js_scratch_load_f32()); $0 = Math_fround(Math_fround(Math_fround($4 * Math_fround(R(Math_fround($3)))) + Math_fround(Math_fround($3 - Math_fround($0 * $0)) / Math_fround($4 + $0))) + $0); $3 = Math_fround($0 + $0); } return Math_fround($3); } function R($0) { $0 = Math_fround($0); return Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($0 * Math_fround(Math_fround($0 * Math_fround(-.008656363002955914)) + Math_fround(-.04274342209100723))) + Math_fround(.16666586697101593)) * $0) / Math_fround(Math_fround($0 * Math_fround(-.7066296339035034)) + Math_fround(1.0)))); } function asinf($0) { $0 = Math_fround($0); var $3 = 0.0, $2 = 0, $1 = 0; label$1 : { $1 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); $2 = $1 & 2147483647 | 0; if ($2 >>> 0 < 1065353216 >>> 0) { break label$1 } label$2 : { if (($2 | 0) != (1065353216 | 0)) { break label$2 } return Math_fround(Math_fround(+$0 * 1.5707963267948966 + 7.52316384526264e-37)); } return Math_fround(Math_fround(Math_fround(0.0) / Math_fround($0 - $0))); } label$3 : { label$4 : { if ($2 >>> 0 > 1056964607 >>> 0) { break label$4 } if (($2 + -8388608 | 0) >>> 0 < 956301312 >>> 0) { break label$3 } return Math_fround(Math_fround(Math_fround($0 * Math_fround(R_1(Math_fround(Math_fround($0 * $0))))) + $0)); } $0 = Math_fround(Math_fround(Math_fround(1.0) - Math_fround(fabsf(Math_fround($0)))) * Math_fround(.5)); $3 = +sqrt(+(+$0)); $3 = $3 + $3 * +Math_fround(R_1(Math_fround($0))); $0 = Math_fround(1.5707963267948966 - ($3 + $3)); $0 = ($1 | 0) < (0 | 0) ? Math_fround(-$0) : $0; } return Math_fround($0); } function R_1($0) { $0 = Math_fround($0); return Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($0 * Math_fround(Math_fround($0 * Math_fround(-.008656363002955914)) + Math_fround(-.04274342209100723))) + Math_fround(.16666586697101593)) * $0) / Math_fround(Math_fround($0 * Math_fround(-.7066296339035034)) + Math_fround(1.0)))); } function atan2f($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $2 = 0, $4 = 0, $6 = Math_fround(0), $5 = 0, $3 = 0; label$1 : { label$2 : { if (((__FLOAT_BITS(Math_fround($1)) | 0) & 2147483647 | 0) >>> 0 > 2139095040 >>> 0) { break label$2 } if (((__FLOAT_BITS(Math_fround($0)) | 0) & 2147483647 | 0) >>> 0 < 2139095041 >>> 0) { break label$1 } } return Math_fround(Math_fround($0 + $1)); } label$3 : { $2 = (wasm2js_scratch_store_f32($1), wasm2js_scratch_load_i32(2)); if (($2 | 0) != (1065353216 | 0)) { break label$3 } return Math_fround(Math_fround(atanf(Math_fround($0)))); } $3 = ($2 >>> 30 | 0) & 2 | 0; $4 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); $5 = $3 | ($4 >>> 31 | 0) | 0; label$4 : { label$5 : { label$6 : { $4 = $4 & 2147483647 | 0; if ($4) { break label$6 } $6 = $0; label$7 : { switch ($5 | 0) { case 2: return Math_fround(Math_fround(3.1415927410125732)); case 3: break label$7; default: break label$5; }; } return Math_fround(Math_fround(-3.1415927410125732)); } label$9 : { $2 = $2 & 2147483647 | 0; if (($2 | 0) == (2139095040 | 0)) { break label$9 } label$10 : { if ($2) { break label$10 } return Math_fround((wasm2js_scratch_store_i32(2, (wasm2js_scratch_store_f32(Math_fround(1.5707963705062866)), wasm2js_scratch_load_i32(2)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) & -2147483648 | 0) | 0), wasm2js_scratch_load_f32())); } label$11 : { label$12 : { if (($4 | 0) == (2139095040 | 0)) { break label$12 } if (($2 + 218103808 | 0) >>> 0 >= $4 >>> 0) { break label$11 } } return Math_fround((wasm2js_scratch_store_i32(2, (wasm2js_scratch_store_f32(Math_fround(1.5707963705062866)), wasm2js_scratch_load_i32(2)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) & -2147483648 | 0) | 0), wasm2js_scratch_load_f32())); } label$13 : { label$14 : { if (!$3) { break label$14 } $6 = Math_fround(0.0); if (($4 + 218103808 | 0) >>> 0 < $2 >>> 0) { break label$13 } } $6 = Math_fround(atanf(Math_fround(Math_fround(fabsf(Math_fround(Math_fround($0 / $1))))))); } label$15 : { switch ($5 | 0) { case 1: return Math_fround(Math_fround(-$6)); case 2: return Math_fround(Math_fround(Math_fround(3.1415927410125732) - Math_fround($6 + Math_fround(8.742277657347586e-08)))); case 0: break label$5; default: break label$15; }; } return Math_fround(Math_fround(Math_fround($6 + Math_fround(8.742277657347586e-08)) + Math_fround(-3.1415927410125732))); } if (($4 | 0) == (2139095040 | 0)) { break label$4 } $6 = Math_fround(HEAPF32[(($5 << 2 | 0) + 105260 | 0) >> 2]); } return Math_fround($6); } return Math_fround(Math_fround(HEAPF32[(($5 << 2 | 0) + 105244 | 0) >> 2])); } function __FLOAT_BITS($0) { $0 = Math_fround($0); return (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) | 0; } function atanf($0) { $0 = Math_fround($0); var $2 = 0, $5 = Math_fround(0), $3 = 0, $4 = Math_fround(0), $1 = 0, $6 = Math_fround(0); label$1 : { $1 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); $2 = $1 & 2147483647 | 0; if ($2 >>> 0 < 1283457024 >>> 0) { break label$1 } return Math_fround(((__FLOAT_BITS_1(Math_fround($0)) | 0) & 2147483647 | 0) >>> 0 > 2139095040 >>> 0 ? $0 : (wasm2js_scratch_store_i32(2, (wasm2js_scratch_store_f32(Math_fround(1.570796251296997)), wasm2js_scratch_load_i32(2)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) & -2147483648 | 0) | 0), wasm2js_scratch_load_f32())); } label$2 : { label$3 : { label$4 : { if ($2 >>> 0 > 1054867455 >>> 0) { break label$4 } $3 = -1; if ($2 >>> 0 >= 964689920 >>> 0) { break label$3 } break label$2; } $0 = Math_fround(fabsf(Math_fround($0))); label$5 : { if ($2 >>> 0 > 1066926079 >>> 0) { break label$5 } label$6 : { if ($2 >>> 0 > 1060110335 >>> 0) { break label$6 } $0 = Math_fround(Math_fround(Math_fround($0 + $0) + Math_fround(-1.0)) / Math_fround($0 + Math_fround(2.0))); $3 = 0; break label$3; } $0 = Math_fround(Math_fround($0 + Math_fround(-1.0)) / Math_fround($0 + Math_fround(1.0))); $3 = 1; break label$3; } label$7 : { if ($2 >>> 0 > 1075576831 >>> 0) { break label$7 } $0 = Math_fround(Math_fround($0 + Math_fround(-1.5)) / Math_fround(Math_fround($0 * Math_fround(1.5)) + Math_fround(1.0))); $3 = 2; break label$3; } $0 = Math_fround(Math_fround(-1.0) / $0); $3 = 3; } $4 = Math_fround($0 * $0); $5 = Math_fround($4 * $4); $6 = Math_fround($5 * Math_fround(Math_fround($5 * Math_fround(-.106480173766613)) + Math_fround(-.19999158382415771))); $5 = Math_fround($4 * Math_fround(Math_fround($5 * Math_fround(Math_fround($5 * Math_fround(.06168760731816292)) + Math_fround(.14253635704517365))) + Math_fround(.333333283662796))); label$8 : { if ($2 >>> 0 > 1054867455 >>> 0) { break label$8 } return Math_fround(Math_fround($0 - Math_fround($0 * Math_fround($6 + $5)))); } $2 = $3 << 2 | 0; $0 = Math_fround(Math_fround(HEAPF32[($2 + 105280 | 0) >> 2]) - Math_fround(Math_fround(Math_fround($0 * Math_fround($6 + $5)) - Math_fround(HEAPF32[($2 + 105296 | 0) >> 2])) - $0)); $0 = ($1 | 0) < (0 | 0) ? Math_fround(-$0) : $0; } return Math_fround($0); } function __FLOAT_BITS_1($0) { $0 = Math_fround($0); return (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) | 0; } function __cosdf($0) { $0 = +$0; var $1 = 0.0; $0 = $0 * $0; $1 = $0 * $0; return Math_fround(Math_fround($0 * $1 * ($0 * 2.439044879627741e-05 + -.001388676377460993) + ($1 * .04166662332373906 + ($0 * -.499999997251031 + 1.0)))); } function __sindf($0) { $0 = +$0; var $1 = 0.0, $2 = 0.0; $1 = $0 * $0; $2 = $1 * $0; return Math_fround(Math_fround($2 * ($1 * $1) * ($1 * 2.718311493989822e-06 + -1.9839334836096632e-04) + ($2 * ($1 * .008333329385889463 + -.16666666641626524) + $0))); } function __rem_pio2_large($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $12 = 0.0, $11 = 0, $6 = 0, $5 = 0, $19 = 0.0, $14 = 0, $15 = 0, $8 = 0, $9 = 0, $22 = 0, $10 = 0, $20 = 0, $13 = 0, $23 = 0.0, $7 = 0, $17 = 0, $21 = 0, $16 = 0, $18 = 0, $205 = 0, $208 = 0, $520 = 0.0, $558 = 0.0; $5 = __stack_pointer - 560 | 0; __stack_pointer = $5; $6 = ($2 + -3 | 0 | 0) / (24 | 0) | 0; $7 = ($6 | 0) > (0 | 0) ? $6 : 0; $8 = Math_imul($7, -24) + $2 | 0; label$1 : { $9 = HEAP32[(($4 << 2 | 0) + 105312 | 0) >> 2] | 0; $10 = $3 + -1 | 0; if (($9 + $10 | 0 | 0) < (0 | 0)) { break label$1 } $11 = $9 + $3 | 0; $2 = $7 - $10 | 0; $6 = 0; label$2 : while (1) { label$3 : { label$4 : { if (($2 | 0) >= (0 | 0)) { break label$4 } $12 = 0.0; break label$3; } $12 = +(HEAP32[(($2 << 2 | 0) + 105328 | 0) >> 2] | 0 | 0); } HEAPF64[(($5 + 320 | 0) + ($6 << 3 | 0) | 0) >> 3] = $12; $2 = $2 + 1 | 0; $6 = $6 + 1 | 0; if (($6 | 0) != ($11 | 0)) { continue label$2 } break label$2; }; } $13 = $8 + -24 | 0; $11 = 0; $14 = ($9 | 0) > (0 | 0) ? $9 : 0; $15 = ($3 | 0) < (1 | 0); label$5 : while (1) { label$6 : { label$7 : { if (!$15) { break label$7 } $12 = 0.0; break label$6; } $6 = $11 + $10 | 0; $2 = 0; $12 = 0.0; label$8 : while (1) { $12 = +HEAPF64[($0 + ($2 << 3 | 0) | 0) >> 3] * +HEAPF64[(($5 + 320 | 0) + (($6 - $2 | 0) << 3 | 0) | 0) >> 3] + $12; $2 = $2 + 1 | 0; if (($2 | 0) != ($3 | 0)) { continue label$8 } break label$8; }; } HEAPF64[($5 + ($11 << 3 | 0) | 0) >> 3] = $12; $2 = ($11 | 0) == ($14 | 0); $11 = $11 + 1 | 0; if (!$2) { continue label$5 } break label$5; }; $16 = 47 - $8 | 0; $17 = 48 - $8 | 0; $18 = $8 + -25 | 0; $11 = $9; label$9 : { label$10 : while (1) { $12 = +HEAPF64[($5 + ($11 << 3 | 0) | 0) >> 3]; $2 = 0; $6 = $11; label$11 : { $10 = ($11 | 0) < (1 | 0); if ($10) { break label$11 } label$12 : while (1) { label$13 : { label$14 : { $19 = $12 * 5.9604644775390625e-08; if (!(Math_abs($19) < 2147483648.0)) { break label$14 } $15 = ~~$19; break label$13; } $15 = -2147483648; } $14 = ($5 + 480 | 0) + ($2 << 2 | 0) | 0; label$15 : { label$16 : { $19 = +($15 | 0); $12 = $19 * -16777216.0 + $12; if (!(Math_abs($12) < 2147483648.0)) { break label$16 } $15 = ~~$12; break label$15; } $15 = -2147483648; } HEAP32[$14 >> 2] = $15; $6 = $6 + -1 | 0; $12 = +HEAPF64[($5 + ($6 << 3 | 0) | 0) >> 3] + $19; $2 = $2 + 1 | 0; if (($2 | 0) != ($11 | 0)) { continue label$12 } break label$12; }; } $12 = +scalbn(+$12, $13 | 0); label$17 : { label$18 : { $12 = $12 + +floor(+($12 * .125)) * -8.0; if (!(Math_abs($12) < 2147483648.0)) { break label$18 } $20 = ~~$12; break label$17; } $20 = -2147483648; } $12 = $12 - +($20 | 0); label$19 : { label$20 : { label$21 : { label$22 : { label$23 : { $21 = ($13 | 0) < (1 | 0); if ($21) { break label$23 } $2 = (($11 << 2 | 0) + ($5 + 480 | 0) | 0) + -4 | 0; $205 = $2; $2 = HEAP32[$2 >> 2] | 0; $208 = $2; $2 = $2 >> $17 | 0; $6 = $208 - ($2 << $17 | 0) | 0; HEAP32[$205 >> 2] = $6; $22 = $6 >> $16 | 0; $20 = $2 + $20 | 0; break label$22; } if ($13) { break label$21 } $22 = (HEAP32[((($11 << 2 | 0) + ($5 + 480 | 0) | 0) + -4 | 0) >> 2] | 0) >> 23 | 0; } if (($22 | 0) < (1 | 0)) { break label$19 } break label$20; } $22 = 2; if ($12 >= .5) { break label$20 } $22 = 0; break label$19; } $2 = 0; $15 = 0; label$24 : { if ($10) { break label$24 } label$25 : while (1) { $10 = ($5 + 480 | 0) + ($2 << 2 | 0) | 0; $6 = HEAP32[$10 >> 2] | 0; $14 = 16777215; label$26 : { label$27 : { if ($15) { break label$27 } $14 = 16777216; if ($6) { break label$27 } $15 = 0; break label$26; } HEAP32[$10 >> 2] = $14 - $6 | 0; $15 = 1; } $2 = $2 + 1 | 0; if (($2 | 0) != ($11 | 0)) { continue label$25 } break label$25; }; } label$28 : { if ($21) { break label$28 } $2 = 8388607; label$29 : { switch ($18 | 0) { case 1: $2 = 4194303; break; case 0: break label$29; default: break label$28; }; } $6 = (($11 << 2 | 0) + ($5 + 480 | 0) | 0) + -4 | 0; HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) & $2 | 0; } $20 = $20 + 1 | 0; if (($22 | 0) != (2 | 0)) { break label$19 } $12 = 1.0 - $12; $22 = 2; if (!$15) { break label$19 } $12 = $12 - +scalbn(+(1.0), $13 | 0); } label$31 : { if ($12 != 0.0) { break label$31 } $6 = 0; $2 = $11; label$32 : { if (($2 | 0) <= ($9 | 0)) { break label$32 } label$33 : while (1) { $2 = $2 + -1 | 0; $6 = HEAP32[(($5 + 480 | 0) + ($2 << 2 | 0) | 0) >> 2] | 0 | $6 | 0; if (($2 | 0) > ($9 | 0)) { continue label$33 } break label$33; }; if (!$6) { break label$32 } $8 = $13; label$34 : while (1) { $8 = $8 + -24 | 0; $11 = $11 + -1 | 0; if (!(HEAP32[(($5 + 480 | 0) + ($11 << 2 | 0) | 0) >> 2] | 0)) { continue label$34 } break label$9; }; } $2 = 1; label$35 : while (1) { $6 = $2; $2 = $2 + 1 | 0; if (!(HEAP32[(($5 + 480 | 0) + (($9 - $6 | 0) << 2 | 0) | 0) >> 2] | 0)) { continue label$35 } break label$35; }; $14 = $6 + $11 | 0; label$36 : while (1) { $6 = $11 + $3 | 0; $11 = $11 + 1 | 0; HEAPF64[(($5 + 320 | 0) + ($6 << 3 | 0) | 0) >> 3] = +(HEAP32[((($11 + $7 | 0) << 2 | 0) + 105328 | 0) >> 2] | 0 | 0); $2 = 0; $12 = 0.0; label$37 : { if (($3 | 0) < (1 | 0)) { break label$37 } label$38 : while (1) { $12 = +HEAPF64[($0 + ($2 << 3 | 0) | 0) >> 3] * +HEAPF64[(($5 + 320 | 0) + (($6 - $2 | 0) << 3 | 0) | 0) >> 3] + $12; $2 = $2 + 1 | 0; if (($2 | 0) != ($3 | 0)) { continue label$38 } break label$38; }; } HEAPF64[($5 + ($11 << 3 | 0) | 0) >> 3] = $12; if (($11 | 0) < ($14 | 0)) { continue label$36 } break label$36; }; $11 = $14; continue label$10; } break label$10; }; label$39 : { label$40 : { $12 = +scalbn(+$12, 24 - $8 | 0 | 0); if (!($12 >= 16777216.0)) { break label$40 } $3 = $11 << 2 | 0; label$41 : { label$42 : { $19 = $12 * 5.9604644775390625e-08; if (!(Math_abs($19) < 2147483648.0)) { break label$42 } $2 = ~~$19; break label$41; } $2 = -2147483648; } $3 = ($5 + 480 | 0) + $3 | 0; label$43 : { label$44 : { $12 = +($2 | 0) * -16777216.0 + $12; if (!(Math_abs($12) < 2147483648.0)) { break label$44 } $6 = ~~$12; break label$43; } $6 = -2147483648; } HEAP32[$3 >> 2] = $6; $11 = $11 + 1 | 0; break label$39; } label$45 : { label$46 : { if (!(Math_abs($12) < 2147483648.0)) { break label$46 } $2 = ~~$12; break label$45; } $2 = -2147483648; } $8 = $13; } HEAP32[(($5 + 480 | 0) + ($11 << 2 | 0) | 0) >> 2] = $2; } $12 = +scalbn(+(1.0), $8 | 0); label$47 : { if (($11 | 0) <= (-1 | 0)) { break label$47 } $3 = $11; label$48 : while (1) { $2 = $3; HEAPF64[($5 + ($2 << 3 | 0) | 0) >> 3] = $12 * +(HEAP32[(($5 + 480 | 0) + ($2 << 2 | 0) | 0) >> 2] | 0 | 0); $3 = $2 + -1 | 0; $12 = $12 * 5.9604644775390625e-08; if ($2) { continue label$48 } break label$48; }; if (($11 | 0) <= (-1 | 0)) { break label$47 } $6 = $11; label$49 : while (1) { $12 = 0.0; $2 = 0; label$50 : { $14 = $11 - $6 | 0; $0 = ($9 | 0) < ($14 | 0) ? $9 : $14; if (($0 | 0) < (0 | 0)) { break label$50 } label$51 : while (1) { $12 = +HEAPF64[(($2 << 3 | 0) + 108096 | 0) >> 3] * +HEAPF64[($5 + (($2 + $6 | 0) << 3 | 0) | 0) >> 3] + $12; $3 = ($2 | 0) != ($0 | 0); $2 = $2 + 1 | 0; if ($3) { continue label$51 } break label$51; }; } HEAPF64[(($5 + 160 | 0) + ($14 << 3 | 0) | 0) >> 3] = $12; $2 = ($6 | 0) > (0 | 0); $6 = $6 + -1 | 0; if ($2) { continue label$49 } break label$49; }; } label$52 : { label$53 : { label$54 : { switch ($4 | 0) { case 3: $23 = 0.0; label$57 : { if (($11 | 0) < (1 | 0)) { break label$57 } $12 = +HEAPF64[(($5 + 160 | 0) + ($11 << 3 | 0) | 0) >> 3]; $2 = $11; label$58 : while (1) { $3 = $2 + -1 | 0; $6 = ($5 + 160 | 0) + ($3 << 3 | 0) | 0; $19 = +HEAPF64[$6 >> 3]; $520 = $19; $19 = $19 + $12; HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3] = $12 + ($520 - $19); HEAPF64[$6 >> 3] = $19; $6 = $2 >>> 0 > 1 >>> 0; $12 = $19; $2 = $3; if ($6) { continue label$58 } break label$58; }; if (($11 | 0) < (2 | 0)) { break label$57 } $12 = +HEAPF64[(($5 + 160 | 0) + ($11 << 3 | 0) | 0) >> 3]; $2 = $11; label$59 : while (1) { $3 = $2 + -1 | 0; $6 = ($5 + 160 | 0) + ($3 << 3 | 0) | 0; $19 = +HEAPF64[$6 >> 3]; $558 = $19; $19 = $19 + $12; HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3] = $12 + ($558 - $19); HEAPF64[$6 >> 3] = $19; $6 = $2 >>> 0 > 2 >>> 0; $12 = $19; $2 = $3; if ($6) { continue label$59 } break label$59; }; $23 = 0.0; if (($11 | 0) <= (1 | 0)) { break label$57 } label$60 : while (1) { $23 = $23 + +HEAPF64[(($5 + 160 | 0) + ($11 << 3 | 0) | 0) >> 3]; $2 = ($11 | 0) > (2 | 0); $11 = $11 + -1 | 0; if ($2) { continue label$60 } break label$60; }; } $12 = +HEAPF64[($5 + 160 | 0) >> 3]; if ($22) { break label$53 } HEAPF64[$1 >> 3] = $12; $12 = +HEAPF64[($5 + 168 | 0) >> 3]; HEAPF64[($1 + 16 | 0) >> 3] = $23; HEAPF64[($1 + 8 | 0) >> 3] = $12; break label$52; case 0: $12 = 0.0; label$61 : { if (($11 | 0) < (0 | 0)) { break label$61 } label$62 : while (1) { $2 = $11; $11 = $2 + -1 | 0; $12 = $12 + +HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3]; if ($2) { continue label$62 } break label$62; }; } HEAPF64[$1 >> 3] = $22 ? -$12 : $12; break label$52; case 1: case 2: break label$54; default: break label$52; }; } $12 = 0.0; label$63 : { if (($11 | 0) < (0 | 0)) { break label$63 } $3 = $11; label$64 : while (1) { $2 = $3; $3 = $2 + -1 | 0; $12 = $12 + +HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3]; if ($2) { continue label$64 } break label$64; }; } HEAPF64[$1 >> 3] = $22 ? -$12 : $12; $12 = +HEAPF64[($5 + 160 | 0) >> 3] - $12; $2 = 1; label$65 : { if (($11 | 0) < (1 | 0)) { break label$65 } label$66 : while (1) { $12 = $12 + +HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3]; $3 = ($2 | 0) != ($11 | 0); $2 = $2 + 1 | 0; if ($3) { continue label$66 } break label$66; }; } HEAPF64[($1 + 8 | 0) >> 3] = $22 ? -$12 : $12; break label$52; } HEAPF64[$1 >> 3] = -$12; $12 = +HEAPF64[($5 + 168 | 0) >> 3]; HEAPF64[($1 + 16 | 0) >> 3] = -$23; HEAPF64[($1 + 8 | 0) >> 3] = -$12; } __stack_pointer = $5 + 560 | 0; return $20 & 7 | 0 | 0; } function __rem_pio2f($0, $1) { $0 = Math_fround($0); $1 = $1 | 0; var $4 = 0, $6 = 0.0, $2 = 0, $3 = 0, $5 = 0.0, $7 = 0.0, $8 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; label$1 : { label$2 : { $3 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); $4 = $3 & 2147483647 | 0; if ($4 >>> 0 > 1305022426 >>> 0) { break label$2 } $5 = +$0; $6 = $5 * .6366197723675814 + 6755399441055744.0 + -6755399441055744.0; $7 = $5 + $6 * -1.5707963109016418 + $6 * -1.5893254773528196e-08; HEAPF64[$1 >> 3] = $7; $3 = $7 < -.7853981852531433; label$3 : { label$4 : { if (!(Math_abs($6) < 2147483648.0)) { break label$4 } $4 = ~~$6; break label$3; } $4 = -2147483648; } label$5 : { if (!$3) { break label$5 } $6 = $6 + -1.0; HEAPF64[$1 >> 3] = $5 + $6 * -1.5707963109016418 + $6 * -1.5893254773528196e-08; $4 = $4 + -1 | 0; break label$1; } if (!($7 > .7853981852531433)) { break label$1 } $6 = $6 + 1.0; HEAPF64[$1 >> 3] = $5 + $6 * -1.5707963109016418 + $6 * -1.5893254773528196e-08; $4 = $4 + 1 | 0; break label$1; } label$6 : { if ($4 >>> 0 < 2139095040 >>> 0) { break label$6 } HEAPF64[$1 >> 3] = +Math_fround($0 - $0); $4 = 0; break label$1; } $8 = ($4 >>> 23 | 0) + -150 | 0; HEAPF64[($2 + 8 | 0) >> 3] = +(wasm2js_scratch_store_i32(2, $4 - ($8 << 23 | 0) | 0), wasm2js_scratch_load_f32()); $4 = __rem_pio2_large($2 + 8 | 0 | 0, $2 | 0, $8 | 0, 1 | 0, 0 | 0) | 0; $6 = +HEAPF64[$2 >> 3]; label$7 : { if (($3 | 0) > (-1 | 0)) { break label$7 } HEAPF64[$1 >> 3] = -$6; $4 = 0 - $4 | 0; break label$1; } HEAPF64[$1 >> 3] = $6; } __stack_pointer = $2 + 16 | 0; return $4 | 0; } function cosf($0) { $0 = Math_fround($0); var $4 = Math_fround(0), $1 = 0, $3 = 0, $2 = 0, $5 = 0.0; $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; label$1 : { label$2 : { $2 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); $3 = $2 & 2147483647 | 0; if ($3 >>> 0 > 1061752794 >>> 0) { break label$2 } $4 = Math_fround(1.0); if ($3 >>> 0 < 964689920 >>> 0) { break label$1 } $4 = Math_fround(__cosdf(+(+$0))); break label$1; } label$3 : { if ($3 >>> 0 > 1081824209 >>> 0) { break label$3 } label$4 : { if ($3 >>> 0 < 1075235812 >>> 0) { break label$4 } $4 = Math_fround(-Math_fround(__cosdf(+((($2 | 0) < (0 | 0) ? 3.141592653589793 : -3.141592653589793) + +$0)))); break label$1; } $5 = +$0; label$5 : { if (($2 | 0) > (-1 | 0)) { break label$5 } $4 = Math_fround(__sindf(+($5 + 1.5707963267948966))); break label$1; } $4 = Math_fround(__sindf(+(1.5707963267948966 - $5))); break label$1; } label$6 : { if ($3 >>> 0 > 1088565717 >>> 0) { break label$6 } label$7 : { if ($3 >>> 0 < 1085271520 >>> 0) { break label$7 } $4 = Math_fround(__cosdf(+((($2 | 0) < (0 | 0) ? 6.283185307179586 : -6.283185307179586) + +$0))); break label$1; } label$8 : { if (($2 | 0) > (-1 | 0)) { break label$8 } $4 = Math_fround(__sindf(+(-4.71238898038469 - +$0))); break label$1; } $4 = Math_fround(__sindf(+(+$0 + -4.71238898038469))); break label$1; } label$9 : { if ($3 >>> 0 < 2139095040 >>> 0) { break label$9 } $4 = Math_fround($0 - $0); break label$1; } label$10 : { switch ((__rem_pio2f(Math_fround($0), $1 + 8 | 0 | 0) | 0) & 3 | 0 | 0) { case 0: $4 = Math_fround(__cosdf(+(+HEAPF64[($1 + 8 | 0) >> 3]))); break label$1; case 1: $4 = Math_fround(__sindf(+-+HEAPF64[($1 + 8 | 0) >> 3])); break label$1; case 2: $4 = Math_fround(-Math_fround(__cosdf(+(+HEAPF64[($1 + 8 | 0) >> 3])))); break label$1; default: break label$10; }; } $4 = Math_fround(__sindf(+(+HEAPF64[($1 + 8 | 0) >> 3]))); } __stack_pointer = $1 + 16 | 0; return Math_fround($4); } function __memcpy($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $4 = 0, $3 = 0, $5 = 0; label$1 : { if ($2 >>> 0 < 512 >>> 0) { break label$1 } emscripten_memcpy_big($0 | 0, $1 | 0, $2 | 0); return $0 | 0; } $3 = $0 + $2 | 0; label$2 : { label$3 : { if (($1 ^ $0 | 0) & 3 | 0) { break label$3 } label$4 : { label$5 : { if ($0 & 3 | 0) { break label$5 } $2 = $0; break label$4; } label$6 : { if ($2) { break label$6 } $2 = $0; break label$4; } $2 = $0; label$7 : while (1) { HEAP8[$2 >> 0] = HEAPU8[$1 >> 0] | 0; $1 = $1 + 1 | 0; $2 = $2 + 1 | 0; if (!($2 & 3 | 0)) { break label$4 } if ($2 >>> 0 < $3 >>> 0) { continue label$7 } break label$7; }; } label$8 : { $4 = $3 & -4 | 0; if ($4 >>> 0 < 64 >>> 0) { break label$8 } $5 = $4 + -64 | 0; if ($2 >>> 0 > $5 >>> 0) { break label$8 } label$9 : while (1) { HEAP32[$2 >> 2] = HEAP32[$1 >> 2] | 0; HEAP32[($2 + 4 | 0) >> 2] = HEAP32[($1 + 4 | 0) >> 2] | 0; HEAP32[($2 + 8 | 0) >> 2] = HEAP32[($1 + 8 | 0) >> 2] | 0; HEAP32[($2 + 12 | 0) >> 2] = HEAP32[($1 + 12 | 0) >> 2] | 0; HEAP32[($2 + 16 | 0) >> 2] = HEAP32[($1 + 16 | 0) >> 2] | 0; HEAP32[($2 + 20 | 0) >> 2] = HEAP32[($1 + 20 | 0) >> 2] | 0; HEAP32[($2 + 24 | 0) >> 2] = HEAP32[($1 + 24 | 0) >> 2] | 0; HEAP32[($2 + 28 | 0) >> 2] = HEAP32[($1 + 28 | 0) >> 2] | 0; HEAP32[($2 + 32 | 0) >> 2] = HEAP32[($1 + 32 | 0) >> 2] | 0; HEAP32[($2 + 36 | 0) >> 2] = HEAP32[($1 + 36 | 0) >> 2] | 0; HEAP32[($2 + 40 | 0) >> 2] = HEAP32[($1 + 40 | 0) >> 2] | 0; HEAP32[($2 + 44 | 0) >> 2] = HEAP32[($1 + 44 | 0) >> 2] | 0; HEAP32[($2 + 48 | 0) >> 2] = HEAP32[($1 + 48 | 0) >> 2] | 0; HEAP32[($2 + 52 | 0) >> 2] = HEAP32[($1 + 52 | 0) >> 2] | 0; HEAP32[($2 + 56 | 0) >> 2] = HEAP32[($1 + 56 | 0) >> 2] | 0; HEAP32[($2 + 60 | 0) >> 2] = HEAP32[($1 + 60 | 0) >> 2] | 0; $1 = $1 + 64 | 0; $2 = $2 + 64 | 0; if ($2 >>> 0 <= $5 >>> 0) { continue label$9 } break label$9; }; } if ($2 >>> 0 >= $4 >>> 0) { break label$2 } label$10 : while (1) { HEAP32[$2 >> 2] = HEAP32[$1 >> 2] | 0; $1 = $1 + 4 | 0; $2 = $2 + 4 | 0; if ($2 >>> 0 < $4 >>> 0) { continue label$10 } break label$2; }; } label$11 : { if ($3 >>> 0 >= 4 >>> 0) { break label$11 } $2 = $0; break label$2; } label$12 : { $4 = $3 + -4 | 0; if ($4 >>> 0 >= $0 >>> 0) { break label$12 } $2 = $0; break label$2; } $2 = $0; label$13 : while (1) { HEAP8[$2 >> 0] = HEAPU8[$1 >> 0] | 0; HEAP8[($2 + 1 | 0) >> 0] = HEAPU8[($1 + 1 | 0) >> 0] | 0; HEAP8[($2 + 2 | 0) >> 0] = HEAPU8[($1 + 2 | 0) >> 0] | 0; HEAP8[($2 + 3 | 0) >> 0] = HEAPU8[($1 + 3 | 0) >> 0] | 0; $1 = $1 + 4 | 0; $2 = $2 + 4 | 0; if ($2 >>> 0 <= $4 >>> 0) { continue label$13 } break label$13; }; } label$14 : { if ($2 >>> 0 >= $3 >>> 0) { break label$14 } label$15 : while (1) { HEAP8[$2 >> 0] = HEAPU8[$1 >> 0] | 0; $1 = $1 + 1 | 0; $2 = $2 + 1 | 0; if (($2 | 0) != ($3 | 0)) { continue label$15 } break label$15; }; } return $0 | 0; } function __memset($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, i64toi32_i32$0 = 0, $4 = 0, i64toi32_i32$1 = 0, $6 = 0, $5 = 0, $6$hi = 0; label$1 : { if (!$2) { break label$1 } HEAP8[$0 >> 0] = $1; $3 = $2 + $0 | 0; HEAP8[($3 + -1 | 0) >> 0] = $1; if ($2 >>> 0 < 3 >>> 0) { break label$1 } HEAP8[($0 + 2 | 0) >> 0] = $1; HEAP8[($0 + 1 | 0) >> 0] = $1; HEAP8[($3 + -3 | 0) >> 0] = $1; HEAP8[($3 + -2 | 0) >> 0] = $1; if ($2 >>> 0 < 7 >>> 0) { break label$1 } HEAP8[($0 + 3 | 0) >> 0] = $1; HEAP8[($3 + -4 | 0) >> 0] = $1; if ($2 >>> 0 < 9 >>> 0) { break label$1 } $4 = (0 - $0 | 0) & 3 | 0; $3 = $0 + $4 | 0; $1 = Math_imul($1 & 255 | 0, 16843009); HEAP32[$3 >> 2] = $1; $4 = ($2 - $4 | 0) & -4 | 0; $2 = $3 + $4 | 0; HEAP32[($2 + -4 | 0) >> 2] = $1; if ($4 >>> 0 < 9 >>> 0) { break label$1 } HEAP32[($3 + 8 | 0) >> 2] = $1; HEAP32[($3 + 4 | 0) >> 2] = $1; HEAP32[($2 + -8 | 0) >> 2] = $1; HEAP32[($2 + -12 | 0) >> 2] = $1; if ($4 >>> 0 < 25 >>> 0) { break label$1 } HEAP32[($3 + 24 | 0) >> 2] = $1; HEAP32[($3 + 20 | 0) >> 2] = $1; HEAP32[($3 + 16 | 0) >> 2] = $1; HEAP32[($3 + 12 | 0) >> 2] = $1; HEAP32[($2 + -16 | 0) >> 2] = $1; HEAP32[($2 + -20 | 0) >> 2] = $1; HEAP32[($2 + -24 | 0) >> 2] = $1; HEAP32[($2 + -28 | 0) >> 2] = $1; $5 = $3 & 4 | 0 | 24 | 0; $2 = $4 - $5 | 0; if ($2 >>> 0 < 32 >>> 0) { break label$1 } i64toi32_i32$0 = 0; i64toi32_i32$1 = 1; i64toi32_i32$1 = __wasm_i64_mul($1 | 0, i64toi32_i32$0 | 0, 1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $6 = i64toi32_i32$1; $6$hi = i64toi32_i32$0; $1 = $3 + $5 | 0; label$2 : while (1) { i64toi32_i32$0 = $6$hi; i64toi32_i32$1 = $1; HEAP32[($1 + 24 | 0) >> 2] = $6; HEAP32[($1 + 28 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $1; HEAP32[($1 + 16 | 0) >> 2] = $6; HEAP32[($1 + 20 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $1; HEAP32[($1 + 8 | 0) >> 2] = $6; HEAP32[($1 + 12 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $1; HEAP32[$1 >> 2] = $6; HEAP32[($1 + 4 | 0) >> 2] = i64toi32_i32$0; $1 = $1 + 32 | 0; $2 = $2 + -32 | 0; if ($2 >>> 0 > 31 >>> 0) { continue label$2 } break label$2; }; } return $0 | 0; } function __errno_location() { return 116252 | 0; } function fabsf($0) { $0 = Math_fround($0); return Math_fround(Math_fround(Math_abs($0))); } function floor($0) { $0 = +$0; return +Math_floor($0); } function fmodf($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $3 = 0, $6 = 0, $4 = 0, $7 = 0, $2 = 0, $5 = 0; label$1 : { label$2 : { $2 = (wasm2js_scratch_store_f32($1), wasm2js_scratch_load_i32(2)); $3 = $2 << 1 | 0; if (!$3) { break label$2 } $4 = __FLOAT_BITS_2(Math_fround($1)) | 0; $5 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); $6 = ($5 >>> 23 | 0) & 255 | 0; if (($6 | 0) == (255 | 0)) { break label$2 } if (($4 & 2147483647 | 0) >>> 0 < 2139095041 >>> 0) { break label$1 } } $1 = Math_fround($0 * $1); return Math_fround(Math_fround($1 / $1)); } label$3 : { $4 = $5 << 1 | 0; if ($4 >>> 0 > $3 >>> 0) { break label$3 } return Math_fround(($4 | 0) == ($3 | 0) ? Math_fround($0 * Math_fround(0.0)) : $0); } $4 = ($2 >>> 23 | 0) & 255 | 0; label$4 : { label$5 : { if ($6) { break label$5 } $6 = 0; label$6 : { $3 = $5 << 9 | 0; if (($3 | 0) < (0 | 0)) { break label$6 } label$7 : while (1) { $6 = $6 + -1 | 0; $3 = $3 << 1 | 0; if (($3 | 0) > (-1 | 0)) { continue label$7 } break label$7; }; } $3 = $5 << (1 - $6 | 0) | 0; break label$4; } $3 = $5 & 8388607 | 0 | 8388608 | 0; } label$8 : { label$9 : { if ($4) { break label$9 } $4 = 0; label$10 : { $7 = $2 << 9 | 0; if (($7 | 0) < (0 | 0)) { break label$10 } label$11 : while (1) { $4 = $4 + -1 | 0; $7 = $7 << 1 | 0; if (($7 | 0) > (-1 | 0)) { continue label$11 } break label$11; }; } $2 = $2 << (1 - $4 | 0) | 0; break label$8; } $2 = $2 & 8388607 | 0 | 8388608 | 0; } label$12 : { if (($6 | 0) <= ($4 | 0)) { break label$12 } label$13 : while (1) { label$14 : { $7 = $3 - $2 | 0; if (($7 | 0) < (0 | 0)) { break label$14 } $3 = $7; if ($3) { break label$14 } return Math_fround(Math_fround($0 * Math_fround(0.0))); } $3 = $3 << 1 | 0; $6 = $6 + -1 | 0; if (($6 | 0) > ($4 | 0)) { continue label$13 } break label$13; }; $6 = $4; } label$15 : { $4 = $3 - $2 | 0; if (($4 | 0) < (0 | 0)) { break label$15 } $3 = $4; if ($3) { break label$15 } return Math_fround(Math_fround($0 * Math_fround(0.0))); } label$16 : { label$17 : { if ($3 >>> 0 <= 8388607 >>> 0) { break label$17 } $7 = $3; break label$16; } label$18 : while (1) { $6 = $6 + -1 | 0; $4 = $3 >>> 0 < 4194304 >>> 0; $7 = $3 << 1 | 0; $3 = $7; if ($4) { continue label$18 } break label$18; }; } $3 = $5 & -2147483648 | 0; label$19 : { label$20 : { if (($6 | 0) < (1 | 0)) { break label$20 } $6 = $7 + -8388608 | 0 | ($6 << 23 | 0) | 0; break label$19; } $6 = $7 >>> (1 - $6 | 0) | 0; } return Math_fround((wasm2js_scratch_store_i32(2, $6 | $3 | 0), wasm2js_scratch_load_f32())); } function __FLOAT_BITS_2($0) { $0 = Math_fround($0); return (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) | 0; } function __math_invalidf($0) { $0 = Math_fround($0); $0 = Math_fround($0 - $0); return Math_fround(Math_fround($0 / $0)); } function __math_xflowf($0, $1) { $0 = $0 | 0; $1 = Math_fround($1); return Math_fround(Math_fround(Math_fround(fp_barrierf(Math_fround($0 ? Math_fround(-$1) : $1))) * $1)); } function fp_barrierf($0) { $0 = Math_fround($0); var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAPF32[($1 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[($1 + 12 | 0) >> 2])); } function __math_oflowf($0) { $0 = $0 | 0; return Math_fround(Math_fround(__math_xflowf($0 | 0, Math_fround(Math_fround(1584563250285286751870879.0e5))))); } function __math_uflowf($0) { $0 = $0 | 0; return Math_fround(Math_fround(__math_xflowf($0 | 0, Math_fround(Math_fround(2.524354896707238e-29))))); } function powf($0, $1) { $0 = Math_fround($0); $1 = Math_fround($1); var $4 = 0, $3 = 0, $6 = Math_fround(0), $2 = 0, $5 = 0, $7 = 0.0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0; $2 = (wasm2js_scratch_store_f32($1), wasm2js_scratch_load_i32(2)); $3 = zeroinfnan($2 | 0) | 0; label$1 : { label$2 : { label$3 : { label$4 : { label$5 : { $4 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); if (($4 + -2139095040 | 0) >>> 0 < -2130706432 >>> 0) { break label$5 } $5 = 0; if ($3) { break label$4 } break label$2; } if (!$3) { break label$3 } } $6 = Math_fround(1.0); if (($4 | 0) == (1065353216 | 0)) { break label$1 } $3 = $2 << 1 | 0; if (!$3) { break label$1 } label$6 : { label$7 : { $4 = $4 << 1 | 0; if ($4 >>> 0 > -16777216 >>> 0) { break label$7 } if ($3 >>> 0 < -16777215 >>> 0) { break label$6 } } return Math_fround(Math_fround($0 + $1)); } if (($4 | 0) == (2130706432 | 0)) { break label$1 } return Math_fround($4 >>> 0 > 2130706431 >>> 0 ^ ($2 | 0) > (-1 | 0) | 0 ? Math_fround(0.0) : Math_fround($1 * $1)); } label$8 : { if (!(zeroinfnan($4 | 0) | 0)) { break label$8 } $6 = Math_fround($0 * $0); label$9 : { if (($4 | 0) > (-1 | 0)) { break label$9 } $6 = (checkint($2 | 0) | 0 | 0) == (1 | 0) ? Math_fround(-$6) : $6; } if (($2 | 0) > (-1 | 0)) { break label$1 } return Math_fround(Math_fround(fp_barrierf_1(Math_fround(Math_fround(Math_fround(1.0) / $6))))); } $5 = 0; label$10 : { if (($4 | 0) > (-1 | 0)) { break label$10 } label$11 : { $3 = checkint($2 | 0) | 0; if ($3) { break label$11 } return Math_fround(Math_fround(__math_invalidf(Math_fround($0)))); } $4 = $4 & 2147483647 | 0; $5 = (($3 | 0) == (1 | 0)) << 16 | 0; } if ($4 >>> 0 > 8388607 >>> 0) { break label$2 } $4 = ((wasm2js_scratch_store_f32(Math_fround($0 * Math_fround(8388608.0))), wasm2js_scratch_load_i32(2)) & 2147483647 | 0) + -192937984 | 0; } label$12 : { $7 = +log2_inline($4 | 0) * +$1; wasm2js_scratch_store_f64(+$7); i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; i64toi32_i32$1 = 2147450880; i64toi32_i32$3 = 0; i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; i64toi32_i32$2 = 1079967744; i64toi32_i32$3 = 1; if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) { break label$12 } label$13 : { if (!($7 > 127.99999995700433)) { break label$13 } return Math_fround(Math_fround(__math_oflowf($5 | 0))); } if (!($7 <= -150.0)) { break label$12 } return Math_fround(Math_fround(__math_uflowf($5 | 0))); } $6 = Math_fround(exp2_inline(+$7, $5 | 0)); } return Math_fround($6); } function zeroinfnan($0) { $0 = $0 | 0; return (($0 << 1 | 0) + 16777216 | 0) >>> 0 < 16777217 >>> 0 | 0; } function checkint($0) { $0 = $0 | 0; var $2 = 0, $1 = 0; $1 = 0; label$1 : { $2 = ($0 >>> 23 | 0) & 255 | 0; if ($2 >>> 0 < 127 >>> 0) { break label$1 } $1 = 2; if ($2 >>> 0 > 150 >>> 0) { break label$1 } $1 = 0; $2 = 1 << (150 - $2 | 0) | 0; if (($2 + -1 | 0) & $0 | 0) { break label$1 } $1 = $2 & $0 | 0 ? 1 : 2; } return $1 | 0; } function fp_barrierf_1($0) { $0 = Math_fround($0); var $1 = 0; $1 = __stack_pointer - 16 | 0; HEAPF32[($1 + 12 | 0) >> 2] = $0; return Math_fround(Math_fround(HEAPF32[($1 + 12 | 0) >> 2])); } function log2_inline($0) { $0 = $0 | 0; var $2 = 0.0, $1 = 0, $3 = 0.0, $12 = 0.0; $1 = $0 + -1060306944 | 0; $12 = +(wasm2js_scratch_store_i32(2, $0 - ($1 & -8388608 | 0) | 0), wasm2js_scratch_load_f32()); $0 = ($1 >>> 15 | 0) & 240 | 0; $2 = $12 * +HEAPF64[($0 + 108488 | 0) >> 3] + -1.0; $3 = $2 * $2; return +((+HEAPF64[(0 + 108744 | 0) >> 3] * $2 + +HEAPF64[(0 + 108752 | 0) >> 3]) * ($3 * $3) + ((+HEAPF64[(0 + 108760 | 0) >> 3] * $2 + +HEAPF64[(0 + 108768 | 0) >> 3]) * $3 + (+HEAPF64[(0 + 108776 | 0) >> 3] * $2 + (+HEAPF64[($0 + 108496 | 0) >> 3] + +($1 >> 23 | 0 | 0))))); } function exp2_inline($0, $1) { $0 = +$0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $4$hi = 0, $17 = 0, $27 = 0.0, $32$hi = 0, $34$hi = 0, $40 = 0, $40$hi = 0; $2 = +HEAPF64[(0 + 108416 | 0) >> 3]; $3 = $2 + $0; $0 = $0 - ($3 - $2); $27 = (+HEAPF64[(0 + 108424 | 0) >> 3] * $0 + +HEAPF64[(0 + 108432 | 0) >> 3]) * ($0 * $0) + (+HEAPF64[(0 + 108440 | 0) >> 3] * $0 + 1.0); wasm2js_scratch_store_f64(+$3); i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; $4 = wasm2js_scratch_load_i32(0 | 0) | 0; $4$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $32$hi = i64toi32_i32$0; i64toi32_i32$0 = $4$hi; i64toi32_i32$2 = $4; i64toi32_i32$1 = $32$hi; i64toi32_i32$3 = $1; i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } i64toi32_i32$0 = i64toi32_i32$4; i64toi32_i32$2 = 0; i64toi32_i32$3 = 47; i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; $17 = 0; } else { i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; $17 = i64toi32_i32$0 << i64toi32_i32$1 | 0; } $34$hi = i64toi32_i32$2; i64toi32_i32$2 = $4$hi; i64toi32_i32$5 = (($4 & 31 | 0) << 3 | 0) + 108160 | 0; i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; $40 = i64toi32_i32$2; $40$hi = i64toi32_i32$0; i64toi32_i32$0 = $34$hi; i64toi32_i32$5 = $17; i64toi32_i32$2 = $40$hi; i64toi32_i32$3 = $40; i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | 0); wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$4 | 0); return Math_fround(Math_fround($27 * +wasm2js_scratch_load_f64())); } function printf($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; HEAP32[($2 + 12 | 0) >> 2] = $1; $1 = vfprintf(112856 | 0, $0 | 0, $1 | 0) | 0; __stack_pointer = $2 + 16 | 0; return $1 | 0; } function scalbn($0, $1) { $0 = +$0; $1 = $1 | 0; var i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $32 = 0.0, i64toi32_i32$0 = 0; label$1 : { label$2 : { if (($1 | 0) < (1024 | 0)) { break label$2 } $0 = $0 * 8988465674311579538646525.0e283; label$3 : { if ($1 >>> 0 >= 2047 >>> 0) { break label$3 } $1 = $1 + -1023 | 0; break label$1; } $0 = $0 * 8988465674311579538646525.0e283; $1 = (($1 | 0) < (3069 | 0) ? $1 : 3069) + -2046 | 0; break label$1; } if (($1 | 0) > (-1023 | 0)) { break label$1 } $0 = $0 * 2.004168360008973e-292; label$4 : { if ($1 >>> 0 <= -1992 >>> 0) { break label$4 } $1 = $1 + 969 | 0; break label$1; } $0 = $0 * 2.004168360008973e-292; $1 = (($1 | 0) > (-2960 | 0) ? $1 : -2960) + 1938 | 0; } $32 = $0; i64toi32_i32$0 = 0; i64toi32_i32$2 = $1 + 1023 | 0; i64toi32_i32$1 = 0; i64toi32_i32$3 = 52; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; $8 = 0; } else { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } wasm2js_scratch_store_i32(0 | 0, $8 | 0); wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); return +($32 * +wasm2js_scratch_load_f64()); } function sinf($0) { $0 = Math_fround($0); var $1 = 0, $3 = 0, $4 = 0.0, $2 = 0; $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; label$1 : { label$2 : { $2 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); $3 = $2 & 2147483647 | 0; if ($3 >>> 0 > 1061752794 >>> 0) { break label$2 } if ($3 >>> 0 < 964689920 >>> 0) { break label$1 } $0 = Math_fround(__sindf(+(+$0))); break label$1; } label$3 : { if ($3 >>> 0 > 1081824209 >>> 0) { break label$3 } $4 = +$0; label$4 : { if ($3 >>> 0 > 1075235811 >>> 0) { break label$4 } label$5 : { if (($2 | 0) > (-1 | 0)) { break label$5 } $0 = Math_fround(-Math_fround(__cosdf(+($4 + 1.5707963267948966)))); break label$1; } $0 = Math_fround(__cosdf(+($4 + -1.5707963267948966))); break label$1; } $0 = Math_fround(__sindf(+-((($2 | 0) > (-1 | 0) ? -3.141592653589793 : 3.141592653589793) + $4))); break label$1; } label$6 : { if ($3 >>> 0 > 1088565717 >>> 0) { break label$6 } label$7 : { if ($3 >>> 0 > 1085271519 >>> 0) { break label$7 } $4 = +$0; label$8 : { if (($2 | 0) > (-1 | 0)) { break label$8 } $0 = Math_fround(__cosdf(+($4 + 4.71238898038469))); break label$1; } $0 = Math_fround(-Math_fround(__cosdf(+($4 + -4.71238898038469)))); break label$1; } $0 = Math_fround(__sindf(+((($2 | 0) < (0 | 0) ? 6.283185307179586 : -6.283185307179586) + +$0))); break label$1; } label$9 : { if ($3 >>> 0 < 2139095040 >>> 0) { break label$9 } $0 = Math_fround($0 - $0); break label$1; } label$10 : { switch ((__rem_pio2f(Math_fround($0), $1 + 8 | 0 | 0) | 0) & 3 | 0 | 0) { case 0: $0 = Math_fround(__sindf(+(+HEAPF64[($1 + 8 | 0) >> 3]))); break label$1; case 1: $0 = Math_fround(__cosdf(+(+HEAPF64[($1 + 8 | 0) >> 3]))); break label$1; case 2: $0 = Math_fround(__sindf(+-+HEAPF64[($1 + 8 | 0) >> 3])); break label$1; default: break label$10; }; } $0 = Math_fround(-Math_fround(__cosdf(+(+HEAPF64[($1 + 8 | 0) >> 3])))); } __stack_pointer = $1 + 16 | 0; return Math_fround($0); } function sqrt($0) { $0 = +$0; return +Math_sqrt($0); } function sqrtf($0) { $0 = Math_fround($0); return Math_fround(Math_fround(Math_sqrt($0))); } function __stdio_write($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $4 = 0, $3 = 0, $5 = 0, $8 = 0, $6 = 0, $7 = 0, $9 = 0; $3 = __stack_pointer - 32 | 0; __stack_pointer = $3; $4 = HEAP32[($0 + 28 | 0) >> 2] | 0; HEAP32[($3 + 16 | 0) >> 2] = $4; $5 = HEAP32[($0 + 20 | 0) >> 2] | 0; HEAP32[($3 + 28 | 0) >> 2] = $2; HEAP32[($3 + 24 | 0) >> 2] = $1; $1 = $5 - $4 | 0; HEAP32[($3 + 20 | 0) >> 2] = $1; $6 = $1 + $2 | 0; $4 = $3 + 16 | 0; $7 = 2; label$1 : { label$2 : { label$3 : { label$4 : { label$5 : { if (!(__wasi_syscall_ret(__wasi_fd_write(HEAP32[($0 + 60 | 0) >> 2] | 0 | 0, $3 + 16 | 0 | 0, 2 | 0, $3 + 12 | 0 | 0) | 0 | 0) | 0)) { break label$5 } $5 = $4; break label$4; } label$6 : while (1) { $1 = HEAP32[($3 + 12 | 0) >> 2] | 0; if (($6 | 0) == ($1 | 0)) { break label$3 } label$7 : { if (($1 | 0) > (-1 | 0)) { break label$7 } $5 = $4; break label$2; } $8 = HEAP32[($4 + 4 | 0) >> 2] | 0; $9 = $1 >>> 0 > $8 >>> 0; $5 = $4 + ($9 << 3 | 0) | 0; $8 = $1 - ($9 ? $8 : 0) | 0; HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $8 | 0; $4 = $4 + ($9 ? 12 : 4) | 0; HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) - $8 | 0; $6 = $6 - $1 | 0; $4 = $5; $7 = $7 - $9 | 0; if (!(__wasi_syscall_ret(__wasi_fd_write(HEAP32[($0 + 60 | 0) >> 2] | 0 | 0, $4 | 0, $7 | 0, $3 + 12 | 0 | 0) | 0 | 0) | 0)) { continue label$6 } break label$6; }; } if (($6 | 0) != (-1 | 0)) { break label$2 } } $1 = HEAP32[($0 + 44 | 0) >> 2] | 0; HEAP32[($0 + 28 | 0) >> 2] = $1; HEAP32[($0 + 20 | 0) >> 2] = $1; HEAP32[($0 + 16 | 0) >> 2] = $1 + (HEAP32[($0 + 48 | 0) >> 2] | 0) | 0; $1 = $2; break label$1; } $1 = 0; HEAP32[($0 + 28 | 0) >> 2] = 0; HEAP32[($0 + 16 | 0) >> 2] = 0; HEAP32[($0 + 20 | 0) >> 2] = 0; HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | 0 | 32 | 0; if (($7 | 0) == (2 | 0)) { break label$1 } $1 = $2 - (HEAP32[($5 + 4 | 0) >> 2] | 0) | 0; } __stack_pointer = $3 + 32 | 0; return $1 | 0; } function __emscripten_stdout_close($0) { $0 = $0 | 0; return 0 | 0; } function __emscripten_stdout_seek($0, $1, $1$hi, $2) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; i64toi32_i32$HIGH_BITS = 0; return 0 | 0; } function strcmp($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $3 = 0, $2 = 0; $2 = HEAPU8[$1 >> 0] | 0; label$1 : { $3 = HEAPU8[$0 >> 0] | 0; if (!$3) { break label$1 } if (($3 | 0) != ($2 & 255 | 0 | 0)) { break label$1 } label$2 : while (1) { $2 = HEAPU8[($1 + 1 | 0) >> 0] | 0; $3 = HEAPU8[($0 + 1 | 0) >> 0] | 0; if (!$3) { break label$1 } $1 = $1 + 1 | 0; $0 = $0 + 1 | 0; if (($3 | 0) == ($2 & 255 | 0 | 0)) { continue label$2 } break label$2; }; } return $3 - ($2 & 255 | 0) | 0 | 0; } function strdup($0) { $0 = $0 | 0; var $1 = 0, $2 = 0; label$1 : { $1 = (strlen($0 | 0) | 0) + 1 | 0; $2 = dlmalloc($1 | 0) | 0; if ($2) { break label$1 } return 0 | 0; } return __memcpy($2 | 0, $0 | 0, $1 | 0) | 0 | 0; } function strlen($0) { $0 = $0 | 0; var $1 = 0, $2 = 0, $3 = 0; $1 = $0; label$1 : { label$2 : { if (!($1 & 3 | 0)) { break label$2 } label$3 : { if (HEAPU8[$0 >> 0] | 0) { break label$3 } return $0 - $0 | 0 | 0; } $1 = $0; label$4 : while (1) { $1 = $1 + 1 | 0; if (!($1 & 3 | 0)) { break label$2 } if (HEAPU8[$1 >> 0] | 0) { continue label$4 } break label$1; }; } label$5 : while (1) { $2 = $1; $1 = $1 + 4 | 0; $3 = HEAP32[$2 >> 2] | 0; if (!((($3 ^ -1 | 0) & ($3 + -16843009 | 0) | 0) & -2139062144 | 0)) { continue label$5 } break label$5; }; label$6 : while (1) { $1 = $2; $2 = $1 + 1 | 0; if (HEAPU8[$1 >> 0] | 0) { continue label$6 } break label$6; }; } return $1 - $0 | 0 | 0; } function __lockfile($0) { $0 = $0 | 0; return 1 | 0; } function __unlockfile($0) { $0 = $0 | 0; } function emscripten_futex_wake($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return 0 | 0; } function __lock($0) { $0 = $0 | 0; } function __unlock($0) { $0 = $0 | 0; } function __ofl_lock() { __lock(117288 | 0); return 117292 | 0; } function __ofl_unlock() { __unlock(117288 | 0); } function __towrite($0) { $0 = $0 | 0; var $1 = 0; $1 = HEAP32[($0 + 72 | 0) >> 2] | 0; HEAP32[($0 + 72 | 0) >> 2] = $1 + -1 | 0 | $1 | 0; label$1 : { $1 = HEAP32[$0 >> 2] | 0; if (!($1 & 8 | 0)) { break label$1 } HEAP32[$0 >> 2] = $1 | 32 | 0; return -1 | 0; } HEAP32[($0 + 4 | 0) >> 2] = 0; HEAP32[($0 + 8 | 0) >> 2] = 0; $1 = HEAP32[($0 + 44 | 0) >> 2] | 0; HEAP32[($0 + 28 | 0) >> 2] = $1; HEAP32[($0 + 20 | 0) >> 2] = $1; HEAP32[($0 + 16 | 0) >> 2] = $1 + (HEAP32[($0 + 48 | 0) >> 2] | 0) | 0; return 0 | 0; } function isdigit($0) { $0 = $0 | 0; return ($0 + -48 | 0) >>> 0 < 10 >>> 0 | 0; } function memchr($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, $4 = 0; $3 = ($2 | 0) != (0 | 0); label$1 : { label$2 : { label$3 : { if (!($0 & 3 | 0)) { break label$3 } if (!$2) { break label$3 } $4 = $1 & 255 | 0; label$4 : while (1) { if ((HEAPU8[$0 >> 0] | 0 | 0) == ($4 | 0)) { break label$2 } $2 = $2 + -1 | 0; $3 = ($2 | 0) != (0 | 0); $0 = $0 + 1 | 0; if (!($0 & 3 | 0)) { break label$3 } if ($2) { continue label$4 } break label$4; }; } if (!$3) { break label$1 } label$5 : { if ((HEAPU8[$0 >> 0] | 0 | 0) == ($1 & 255 | 0 | 0)) { break label$5 } if ($2 >>> 0 < 4 >>> 0) { break label$5 } $4 = Math_imul($1 & 255 | 0, 16843009); label$6 : while (1) { $3 = (HEAP32[$0 >> 2] | 0) ^ $4 | 0; if ((($3 ^ -1 | 0) & ($3 + -16843009 | 0) | 0) & -2139062144 | 0) { break label$2 } $0 = $0 + 4 | 0; $2 = $2 + -4 | 0; if ($2 >>> 0 > 3 >>> 0) { continue label$6 } break label$6; }; } if (!$2) { break label$1 } } $3 = $1 & 255 | 0; label$7 : while (1) { label$8 : { if ((HEAPU8[$0 >> 0] | 0 | 0) != ($3 | 0)) { break label$8 } return $0 | 0; } $0 = $0 + 1 | 0; $2 = $2 + -1 | 0; if ($2) { continue label$7 } break label$7; }; } return 0 | 0; } function strnlen($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0; $2 = memchr($0 | 0, 0 | 0, $1 | 0) | 0; return ($2 ? $2 - $0 | 0 : $1) | 0; } function frexp($0, $1) { $0 = +$0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $2 = 0, $10 = 0, $2$hi = 0; label$1 : { wasm2js_scratch_store_f64(+$0); i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; $2 = wasm2js_scratch_load_i32(0 | 0) | 0; $2$hi = i64toi32_i32$0; i64toi32_i32$2 = $2; i64toi32_i32$1 = 0; i64toi32_i32$3 = 52; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $10 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; $10 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; } $3 = $10 & 2047 | 0; if (($3 | 0) == (2047 | 0)) { break label$1 } label$2 : { if ($3) { break label$2 } label$3 : { label$4 : { if ($0 != 0.0) { break label$4 } $3 = 0; break label$3; } $0 = +frexp(+($0 * 18446744073709551615.0), $1 | 0); $3 = (HEAP32[$1 >> 2] | 0) + -64 | 0; } HEAP32[$1 >> 2] = $3; return +$0; } HEAP32[$1 >> 2] = $3 + -1022 | 0; i64toi32_i32$1 = $2$hi; i64toi32_i32$0 = $2; i64toi32_i32$2 = -2146435073; i64toi32_i32$3 = -1; i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; i64toi32_i32$0 = 1071644672; i64toi32_i32$3 = 0; i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0); wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); $0 = +wasm2js_scratch_load_f64(); } return +$0; } function __fwritex($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, $4 = 0, $5 = 0; label$1 : { label$2 : { $3 = HEAP32[($2 + 16 | 0) >> 2] | 0; if ($3) { break label$2 } $4 = 0; if (__towrite($2 | 0) | 0) { break label$1 } $3 = HEAP32[($2 + 16 | 0) >> 2] | 0; } label$3 : { $5 = HEAP32[($2 + 20 | 0) >> 2] | 0; if (($3 - $5 | 0) >>> 0 >= $1 >>> 0) { break label$3 } return FUNCTION_TABLE[HEAP32[($2 + 36 | 0) >> 2] | 0 | 0]($2, $0, $1) | 0 | 0; } label$4 : { label$5 : { if ((HEAP32[($2 + 80 | 0) >> 2] | 0 | 0) >= (0 | 0)) { break label$5 } $3 = 0; break label$4; } $4 = $1; label$6 : while (1) { label$7 : { $3 = $4; if ($3) { break label$7 } $3 = 0; break label$4; } $4 = $3 + -1 | 0; if ((HEAPU8[($0 + $4 | 0) >> 0] | 0 | 0) != (10 | 0)) { continue label$6 } break label$6; }; $4 = FUNCTION_TABLE[HEAP32[($2 + 36 | 0) >> 2] | 0 | 0]($2, $0, $3) | 0; if ($4 >>> 0 < $3 >>> 0) { break label$1 } $0 = $0 + $3 | 0; $1 = $1 - $3 | 0; $5 = HEAP32[($2 + 20 | 0) >> 2] | 0; } __memcpy($5 | 0, $0 | 0, $1 | 0) | 0; HEAP32[($2 + 20 | 0) >> 2] = (HEAP32[($2 + 20 | 0) >> 2] | 0) + $1 | 0; $4 = $3 + $1 | 0; } return $4 | 0; } function fwrite($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $4 = 0, $5 = 0; $4 = Math_imul($2, $1); label$1 : { label$2 : { if ((HEAP32[($3 + 76 | 0) >> 2] | 0 | 0) > (-1 | 0)) { break label$2 } $0 = __fwritex($0 | 0, $4 | 0, $3 | 0) | 0; break label$1; } $5 = __lockfile($3 | 0) | 0; $0 = __fwritex($0 | 0, $4 | 0, $3 | 0) | 0; if (!$5) { break label$1 } __unlockfile($3 | 0); } label$3 : { if (($0 | 0) != ($4 | 0)) { break label$3 } return ($1 ? $2 : 0) | 0; } return ($0 >>> 0) / ($1 >>> 0) | 0 | 0; } function __vfprintf_internal($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $5 = 0, i64toi32_i32$0 = 0, $8 = 0, $6 = 0, $7 = 0; $5 = __stack_pointer - 208 | 0; __stack_pointer = $5; HEAP32[($5 + 204 | 0) >> 2] = $2; $6 = 0; __memset($5 + 160 | 0 | 0, 0 | 0, 40 | 0) | 0; HEAP32[($5 + 200 | 0) >> 2] = HEAP32[($5 + 204 | 0) >> 2] | 0; label$1 : { label$2 : { if ((printf_core(0 | 0, $1 | 0, $5 + 200 | 0 | 0, $5 + 80 | 0 | 0, $5 + 160 | 0 | 0, $3 | 0, $4 | 0) | 0 | 0) >= (0 | 0)) { break label$2 } $4 = -1; break label$1; } label$3 : { if ((HEAP32[($0 + 76 | 0) >> 2] | 0 | 0) < (0 | 0)) { break label$3 } $6 = __lockfile($0 | 0) | 0; } $7 = HEAP32[$0 >> 2] | 0; label$4 : { if ((HEAP32[($0 + 72 | 0) >> 2] | 0 | 0) > (0 | 0)) { break label$4 } HEAP32[$0 >> 2] = $7 & -33 | 0; } label$5 : { label$6 : { label$7 : { label$8 : { if (HEAP32[($0 + 48 | 0) >> 2] | 0) { break label$8 } HEAP32[($0 + 48 | 0) >> 2] = 80; HEAP32[($0 + 28 | 0) >> 2] = 0; i64toi32_i32$0 = 0; HEAP32[($0 + 16 | 0) >> 2] = 0; HEAP32[($0 + 20 | 0) >> 2] = i64toi32_i32$0; $8 = HEAP32[($0 + 44 | 0) >> 2] | 0; HEAP32[($0 + 44 | 0) >> 2] = $5; break label$7; } $8 = 0; if (HEAP32[($0 + 16 | 0) >> 2] | 0) { break label$6 } } $2 = -1; if (__towrite($0 | 0) | 0) { break label$5 } } $2 = printf_core($0 | 0, $1 | 0, $5 + 200 | 0 | 0, $5 + 80 | 0 | 0, $5 + 160 | 0 | 0, $3 | 0, $4 | 0) | 0; } $4 = $7 & 32 | 0; label$9 : { if (!$8) { break label$9 } FUNCTION_TABLE[HEAP32[($0 + 36 | 0) >> 2] | 0 | 0]($0, 0, 0) | 0; HEAP32[($0 + 48 | 0) >> 2] = 0; HEAP32[($0 + 44 | 0) >> 2] = $8; HEAP32[($0 + 28 | 0) >> 2] = 0; $3 = HEAP32[($0 + 20 | 0) >> 2] | 0; i64toi32_i32$0 = 0; HEAP32[($0 + 16 | 0) >> 2] = 0; HEAP32[($0 + 20 | 0) >> 2] = i64toi32_i32$0; $2 = $3 ? $2 : -1; } $3 = HEAP32[$0 >> 2] | 0; HEAP32[$0 >> 2] = $3 | $4 | 0; $4 = $3 & 32 | 0 ? -1 : $2; if (!$6) { break label$1 } __unlockfile($0 | 0); } __stack_pointer = $5 + 208 | 0; return $4 | 0; } function printf_core($0, $1, $2, $3, $4, $5, $6) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; $6 = $6 | 0; var $12 = 0, $7 = 0, $15 = 0, $20 = 0, i64toi32_i32$1 = 0, $17 = 0, $18 = 0, $14 = 0, $13 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $11 = 0, $16 = 0, $19 = 0, $22 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $9 = 0, $24 = 0, $10 = 0, $25 = 0, $25$hi = 0, $21 = 0, $23 = 0, $33 = 0, $34 = 0, $35 = 0, $8 = 0, $272 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $7 = __stack_pointer - 80 | 0; __stack_pointer = $7; HEAP32[($7 + 76 | 0) >> 2] = $1; $8 = $7 + 55 | 0; $9 = $7 + 56 | 0; $10 = 0; $11 = 0; $12 = 0; label$1 : { label$2 : { label$3 : { label$4 : { label$5 : while (1) { $13 = $1; if (($12 | 0) > ($11 ^ 2147483647 | 0 | 0)) { break label$4 } $11 = $12 + $11 | 0; $12 = $13; label$6 : { label$7 : { label$8 : { label$9 : { label$10 : { $14 = HEAPU8[$12 >> 0] | 0; if (!$14) { break label$10 } label$11 : while (1) { label$12 : { label$13 : { label$14 : { $14 = $14 & 255 | 0; if ($14) { break label$14 } $1 = $12; break label$13; } if (($14 | 0) != (37 | 0)) { break label$12 } $14 = $12; label$15 : while (1) { label$16 : { if ((HEAPU8[($14 + 1 | 0) >> 0] | 0 | 0) == (37 | 0)) { break label$16 } $1 = $14; break label$13; } $12 = $12 + 1 | 0; $15 = HEAPU8[($14 + 2 | 0) >> 0] | 0; $1 = $14 + 2 | 0; $14 = $1; if (($15 | 0) == (37 | 0)) { continue label$15 } break label$15; }; } $12 = $12 - $13 | 0; $14 = $11 ^ 2147483647 | 0; if (($12 | 0) > ($14 | 0)) { break label$4 } label$17 : { if (!$0) { break label$17 } out($0 | 0, $13 | 0, $12 | 0); } if ($12) { continue label$5 } HEAP32[($7 + 76 | 0) >> 2] = $1; $12 = $1 + 1 | 0; $16 = -1; label$18 : { if (!(isdigit(HEAP8[($1 + 1 | 0) >> 0] | 0 | 0) | 0)) { break label$18 } if ((HEAPU8[($1 + 2 | 0) >> 0] | 0 | 0) != (36 | 0)) { break label$18 } $12 = $1 + 3 | 0; $16 = (HEAP8[($1 + 1 | 0) >> 0] | 0) + -48 | 0; $10 = 1; } HEAP32[($7 + 76 | 0) >> 2] = $12; $17 = 0; label$19 : { label$20 : { $18 = HEAP8[$12 >> 0] | 0; $1 = $18 + -32 | 0; if ($1 >>> 0 <= 31 >>> 0) { break label$20 } $15 = $12; break label$19; } $17 = 0; $15 = $12; $1 = 1 << $1 | 0; if (!($1 & 75913 | 0)) { break label$19 } label$21 : while (1) { $15 = $12 + 1 | 0; HEAP32[($7 + 76 | 0) >> 2] = $15; $17 = $1 | $17 | 0; $18 = HEAP8[($12 + 1 | 0) >> 0] | 0; $1 = $18 + -32 | 0; if ($1 >>> 0 >= 32 >>> 0) { break label$19 } $12 = $15; $1 = 1 << $1 | 0; if ($1 & 75913 | 0) { continue label$21 } break label$21; }; } label$22 : { label$23 : { if (($18 | 0) != (42 | 0)) { break label$23 } label$24 : { label$25 : { if (!(isdigit(HEAP8[($15 + 1 | 0) >> 0] | 0 | 0) | 0)) { break label$25 } if ((HEAPU8[($15 + 2 | 0) >> 0] | 0 | 0) != (36 | 0)) { break label$25 } HEAP32[((((HEAP8[($15 + 1 | 0) >> 0] | 0) << 2 | 0) + $4 | 0) + -192 | 0) >> 2] = 10; $18 = $15 + 3 | 0; $19 = HEAP32[((((HEAP8[($15 + 1 | 0) >> 0] | 0) << 3 | 0) + $3 | 0) + -384 | 0) >> 2] | 0; $10 = 1; break label$24; } if ($10) { break label$9 } $18 = $15 + 1 | 0; label$26 : { if ($0) { break label$26 } HEAP32[($7 + 76 | 0) >> 2] = $18; $10 = 0; $19 = 0; break label$22; } $12 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $12 + 4 | 0; $19 = HEAP32[$12 >> 2] | 0; $10 = 0; } HEAP32[($7 + 76 | 0) >> 2] = $18; if (($19 | 0) > (-1 | 0)) { break label$22 } $19 = 0 - $19 | 0; $17 = $17 | 8192 | 0; break label$22; } $19 = getint($7 + 76 | 0 | 0) | 0; if (($19 | 0) < (0 | 0)) { break label$4 } $18 = HEAP32[($7 + 76 | 0) >> 2] | 0; } $12 = 0; $20 = -1; label$27 : { label$28 : { if ((HEAPU8[$18 >> 0] | 0 | 0) == (46 | 0)) { break label$28 } $1 = $18; $21 = 0; break label$27; } label$29 : { if ((HEAPU8[($18 + 1 | 0) >> 0] | 0 | 0) != (42 | 0)) { break label$29 } label$30 : { label$31 : { if (!(isdigit(HEAP8[($18 + 2 | 0) >> 0] | 0 | 0) | 0)) { break label$31 } if ((HEAPU8[($18 + 3 | 0) >> 0] | 0 | 0) != (36 | 0)) { break label$31 } HEAP32[((((HEAP8[($18 + 2 | 0) >> 0] | 0) << 2 | 0) + $4 | 0) + -192 | 0) >> 2] = 10; $1 = $18 + 4 | 0; $20 = HEAP32[((((HEAP8[($18 + 2 | 0) >> 0] | 0) << 3 | 0) + $3 | 0) + -384 | 0) >> 2] | 0; break label$30; } if ($10) { break label$9 } $1 = $18 + 2 | 0; label$32 : { if ($0) { break label$32 } $20 = 0; break label$30; } $15 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $15 + 4 | 0; $20 = HEAP32[$15 >> 2] | 0; } HEAP32[($7 + 76 | 0) >> 2] = $1; $21 = ($20 ^ -1 | 0) >>> 31 | 0; break label$27; } HEAP32[($7 + 76 | 0) >> 2] = $18 + 1 | 0; $21 = 1; $20 = getint($7 + 76 | 0 | 0) | 0; $1 = HEAP32[($7 + 76 | 0) >> 2] | 0; } label$33 : while (1) { $15 = $12; $22 = 28; $18 = $1; $12 = HEAP8[$18 >> 0] | 0; if (($12 + -123 | 0) >>> 0 < -58 >>> 0) { break label$3 } $1 = $18 + 1 | 0; $12 = HEAPU8[(($12 + Math_imul($15, 58) | 0) + 108719 | 0) >> 0] | 0; if (($12 + -1 | 0) >>> 0 < 8 >>> 0) { continue label$33 } break label$33; }; HEAP32[($7 + 76 | 0) >> 2] = $1; label$34 : { label$35 : { label$36 : { if (($12 | 0) == (27 | 0)) { break label$36 } if (!$12) { break label$3 } label$37 : { if (($16 | 0) < (0 | 0)) { break label$37 } HEAP32[($4 + ($16 << 2 | 0) | 0) >> 2] = $12; i64toi32_i32$2 = $3 + ($16 << 3 | 0) | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $272 = i64toi32_i32$0; i64toi32_i32$0 = $7; HEAP32[($7 + 64 | 0) >> 2] = $272; HEAP32[($7 + 68 | 0) >> 2] = i64toi32_i32$1; break label$35; } if (!$0) { break label$6 } pop_arg($7 + 64 | 0 | 0, $12 | 0, $2 | 0, $6 | 0); break label$34; } if (($16 | 0) > (-1 | 0)) { break label$3 } } $12 = 0; if (!$0) { continue label$5 } } $23 = $17 & -65537 | 0; $17 = $17 & 8192 | 0 ? $23 : $17; $16 = 0; $24 = 66643; $22 = $9; label$38 : { label$39 : { label$40 : { label$41 : { label$42 : { label$43 : { label$44 : { label$45 : { label$46 : { label$47 : { label$48 : { label$49 : { label$50 : { label$51 : { label$52 : { label$53 : { $12 = HEAP8[$18 >> 0] | 0; $12 = $15 ? (($12 & 15 | 0 | 0) == (3 | 0) ? $12 & -33 | 0 : $12) : $12; switch ($12 + -88 | 0 | 0) { case 11: break label$38; case 9: case 13: case 14: case 15: break label$39; case 27: break label$44; case 12: case 17: break label$47; case 23: break label$48; case 0: case 32: break label$49; case 24: break label$50; case 22: break label$51; case 29: break label$52; 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 label$7; default: break label$53; }; } $22 = $9; label$54 : { switch ($12 + -65 | 0 | 0) { case 0: case 4: case 5: case 6: break label$39; case 2: break label$42; case 1: case 3: break label$7; default: break label$54; }; } if (($12 | 0) == (83 | 0)) { break label$43 } break label$8; } $16 = 0; $24 = 66643; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 68 | 0) >> 2] | 0; $25 = i64toi32_i32$1; $25$hi = i64toi32_i32$0; break label$46; } $12 = 0; label$55 : { switch ($15 & 255 | 0 | 0) { case 0: HEAP32[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 2] = $11; continue label$5; case 1: HEAP32[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 2] = $11; continue label$5; case 2: i64toi32_i32$1 = $11; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; HEAP32[i64toi32_i32$1 >> 2] = $11; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; continue label$5; case 3: HEAP16[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 1] = $11; continue label$5; case 4: HEAP8[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 0] = $11; continue label$5; case 6: HEAP32[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 2] = $11; continue label$5; case 7: break label$55; default: continue label$5; }; } i64toi32_i32$1 = $11; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; HEAP32[i64toi32_i32$1 >> 2] = $11; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; continue label$5; } $20 = $20 >>> 0 > 8 >>> 0 ? $20 : 8; $17 = $17 | 8 | 0; $12 = 120; } i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 68 | 0) >> 2] | 0; $13 = fmt_x(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $9 | 0, $12 & 32 | 0 | 0) | 0; $16 = 0; $24 = 66643; i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 68 | 0) >> 2] | 0; if (!(i64toi32_i32$1 | i64toi32_i32$0 | 0)) { break label$45 } if (!($17 & 8 | 0)) { break label$45 } $24 = ($12 >>> 4 | 0) + 66643 | 0; $16 = 2; break label$45; } $16 = 0; $24 = 66643; i64toi32_i32$2 = $7; i64toi32_i32$0 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($7 + 68 | 0) >> 2] | 0; $13 = fmt_o(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $9 | 0) | 0; if (!($17 & 8 | 0)) { break label$45 } $12 = $9 - $13 | 0; $20 = ($20 | 0) > ($12 | 0) ? $20 : $12 + 1 | 0; break label$45; } label$62 : { i64toi32_i32$2 = $7; i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($7 + 68 | 0) >> 2] | 0; $25 = i64toi32_i32$1; $25$hi = i64toi32_i32$0; i64toi32_i32$2 = i64toi32_i32$1; i64toi32_i32$1 = -1; i64toi32_i32$3 = -1; if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { $33 = 1 } else { if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { $34 = 0 } else { $34 = 1 } $35 = $34; } else { $35 = 0 } $33 = $35; } if ($33) { break label$62 } i64toi32_i32$2 = $25$hi; i64toi32_i32$2 = 0; i64toi32_i32$3 = 0; i64toi32_i32$0 = $25$hi; i64toi32_i32$1 = $25; i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; $25 = i64toi32_i32$3 - i64toi32_i32$1 | 0; $25$hi = i64toi32_i32$5; i64toi32_i32$3 = $7; HEAP32[($7 + 64 | 0) >> 2] = $25; HEAP32[($7 + 68 | 0) >> 2] = i64toi32_i32$5; $16 = 1; $24 = 66643; break label$46; } label$63 : { if (!($17 & 2048 | 0)) { break label$63 } $16 = 1; $24 = 66644; break label$46; } $16 = $17 & 1 | 0; $24 = $16 ? 66645 : 66643; } i64toi32_i32$5 = $25$hi; $13 = fmt_u($25 | 0, i64toi32_i32$5 | 0, $9 | 0) | 0; } label$64 : { if (!$21) { break label$64 } if (($20 | 0) < (0 | 0)) { break label$4 } } $17 = $21 ? $17 & -65537 | 0 : $17; label$65 : { i64toi32_i32$2 = $7; i64toi32_i32$5 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($7 + 68 | 0) >> 2] | 0; $25 = i64toi32_i32$5; $25$hi = i64toi32_i32$3; i64toi32_i32$2 = i64toi32_i32$5; i64toi32_i32$5 = 0; i64toi32_i32$1 = 0; if ((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | 0) { break label$65 } if ($20) { break label$65 } $13 = $9; $22 = $13; $20 = 0; break label$7; } i64toi32_i32$2 = $25$hi; $12 = ($9 - $13 | 0) + !($25 | i64toi32_i32$2 | 0) | 0; $20 = ($20 | 0) > ($12 | 0) ? $20 : $12; break label$8; } $12 = HEAP32[($7 + 64 | 0) >> 2] | 0; $13 = $12 ? $12 : 86327; $12 = strnlen($13 | 0, ($20 >>> 0 < 2147483647 >>> 0 ? $20 : 2147483647) | 0) | 0; $22 = $13 + $12 | 0; label$66 : { if (($20 | 0) <= (-1 | 0)) { break label$66 } $17 = $23; $20 = $12; break label$7; } $17 = $23; $20 = $12; if (HEAPU8[$22 >> 0] | 0) { break label$4 } break label$7; } label$67 : { if (!$20) { break label$67 } $14 = HEAP32[($7 + 64 | 0) >> 2] | 0; break label$41; } $12 = 0; pad($0 | 0, 32 | 0, $19 | 0, 0 | 0, $17 | 0); break label$40; } HEAP32[($7 + 12 | 0) >> 2] = 0; i64toi32_i32$1 = $7; i64toi32_i32$2 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$3 = HEAP32[($7 + 68 | 0) >> 2] | 0; HEAP32[($7 + 8 | 0) >> 2] = i64toi32_i32$2; HEAP32[($7 + 64 | 0) >> 2] = $7 + 8 | 0; $14 = $7 + 8 | 0; $20 = -1; } $12 = 0; label$68 : { label$69 : while (1) { $15 = HEAP32[$14 >> 2] | 0; if (!$15) { break label$68 } label$70 : { $15 = wctomb($7 + 4 | 0 | 0, $15 | 0) | 0; $13 = ($15 | 0) < (0 | 0); if ($13) { break label$70 } if ($15 >>> 0 > ($20 - $12 | 0) >>> 0) { break label$70 } $14 = $14 + 4 | 0; $12 = $15 + $12 | 0; if ($20 >>> 0 > $12 >>> 0) { continue label$69 } break label$68; } break label$69; }; if ($13) { break label$2 } } $22 = 61; if (($12 | 0) < (0 | 0)) { break label$3 } pad($0 | 0, 32 | 0, $19 | 0, $12 | 0, $17 | 0); label$71 : { if ($12) { break label$71 } $12 = 0; break label$40; } $15 = 0; $14 = HEAP32[($7 + 64 | 0) >> 2] | 0; label$72 : while (1) { $13 = HEAP32[$14 >> 2] | 0; if (!$13) { break label$40 } $13 = wctomb($7 + 4 | 0 | 0, $13 | 0) | 0; $15 = $13 + $15 | 0; if ($15 >>> 0 > $12 >>> 0) { break label$40 } out($0 | 0, $7 + 4 | 0 | 0, $13 | 0); $14 = $14 + 4 | 0; if ($15 >>> 0 < $12 >>> 0) { continue label$72 } break label$72; }; } pad($0 | 0, 32 | 0, $19 | 0, $12 | 0, $17 ^ 8192 | 0 | 0); $12 = ($19 | 0) > ($12 | 0) ? $19 : $12; continue label$5; } label$73 : { if (!$21) { break label$73 } if (($20 | 0) < (0 | 0)) { break label$4 } } $22 = 61; $12 = FUNCTION_TABLE[$5 | 0]($0, +HEAPF64[($7 + 64 | 0) >> 3], $19, $20, $17, $12) | 0; if (($12 | 0) >= (0 | 0)) { continue label$5 } break label$3; } i64toi32_i32$1 = $7; i64toi32_i32$3 = HEAP32[($7 + 64 | 0) >> 2] | 0; i64toi32_i32$2 = HEAP32[($7 + 68 | 0) >> 2] | 0; HEAP8[($7 + 55 | 0) >> 0] = i64toi32_i32$3; $20 = 1; $13 = $8; $22 = $9; $17 = $23; break label$7; } $14 = HEAPU8[($12 + 1 | 0) >> 0] | 0; $12 = $12 + 1 | 0; continue label$11; }; } if ($0) { break label$1 } if (!$10) { break label$6 } $12 = 1; label$74 : { label$75 : while (1) { $14 = HEAP32[($4 + ($12 << 2 | 0) | 0) >> 2] | 0; if (!$14) { break label$74 } pop_arg($3 + ($12 << 3 | 0) | 0 | 0, $14 | 0, $2 | 0, $6 | 0); $11 = 1; $12 = $12 + 1 | 0; if (($12 | 0) != (10 | 0)) { continue label$75 } break label$1; }; } $11 = 1; if ($12 >>> 0 >= 10 >>> 0) { break label$1 } label$76 : while (1) { if (HEAP32[($4 + ($12 << 2 | 0) | 0) >> 2] | 0) { break label$9 } $11 = 1; $12 = $12 + 1 | 0; if (($12 | 0) == (10 | 0)) { break label$1 } continue label$76; }; } $22 = 28; break label$3; } $22 = $9; } $18 = $22 - $13 | 0; $20 = ($20 | 0) > ($18 | 0) ? $20 : $18; if (($20 | 0) > ($16 ^ 2147483647 | 0 | 0)) { break label$4 } $22 = 61; $15 = $16 + $20 | 0; $12 = ($19 | 0) > ($15 | 0) ? $19 : $15; if (($12 | 0) > ($14 | 0)) { break label$3 } pad($0 | 0, 32 | 0, $12 | 0, $15 | 0, $17 | 0); out($0 | 0, $24 | 0, $16 | 0); pad($0 | 0, 48 | 0, $12 | 0, $15 | 0, $17 ^ 65536 | 0 | 0); pad($0 | 0, 48 | 0, $20 | 0, $18 | 0, 0 | 0); out($0 | 0, $13 | 0, $18 | 0); pad($0 | 0, 32 | 0, $12 | 0, $15 | 0, $17 ^ 8192 | 0 | 0); continue label$5; } break label$5; }; $11 = 0; break label$1; } $22 = 61; } (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = $22), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } $11 = -1; } __stack_pointer = $7 + 80 | 0; return $11 | 0; } function out($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; label$1 : { if ((HEAPU8[$0 >> 0] | 0) & 32 | 0) { break label$1 } __fwritex($1 | 0, $2 | 0, $0 | 0) | 0; } } function getint($0) { $0 = $0 | 0; var $1 = 0, $3 = 0, $2 = 0; $1 = 0; label$1 : { if (isdigit(HEAP8[(HEAP32[$0 >> 2] | 0) >> 0] | 0 | 0) | 0) { break label$1 } return 0 | 0; } label$2 : while (1) { $2 = HEAP32[$0 >> 2] | 0; $3 = -1; label$3 : { if ($1 >>> 0 > 214748364 >>> 0) { break label$3 } $3 = (HEAP8[$2 >> 0] | 0) + -48 | 0; $1 = Math_imul($1, 10); $3 = ($3 | 0) > ($1 ^ 2147483647 | 0 | 0) ? -1 : $3 + $1 | 0; } HEAP32[$0 >> 2] = $2 + 1 | 0; $1 = $3; if (isdigit(HEAP8[($2 + 1 | 0) >> 0] | 0 | 0) | 0) { continue label$2 } break label$2; }; return $3 | 0; } function pop_arg($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21 = 0, $29 = 0, $37 = 0, $45 = 0, $55 = 0, $63 = 0, $71 = 0, $79 = 0, $87 = 0, $97 = 0, $105 = 0, $115 = 0, $125 = 0, $133 = 0, $141 = 0; label$1 : { switch ($1 + -9 | 0 | 0) { case 0: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; HEAP32[$0 >> 2] = HEAP32[$1 >> 2] | 0; return; case 1: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; $21 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $21; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; case 2: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; i64toi32_i32$0 = 0; $29 = i64toi32_i32$1; i64toi32_i32$1 = $0; HEAP32[i64toi32_i32$1 >> 2] = $29; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; case 4: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; $37 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $37; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; case 5: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; i64toi32_i32$0 = 0; $45 = i64toi32_i32$1; i64toi32_i32$1 = $0; HEAP32[i64toi32_i32$1 >> 2] = $45; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; case 3: $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; HEAP32[$2 >> 2] = $1 + 8 | 0; i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; i64toi32_i32$1 = HEAP32[($1 + 4 | 0) >> 2] | 0; $55 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $55; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; case 6: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$1 = HEAP16[$1 >> 1] | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $63 = i64toi32_i32$1; i64toi32_i32$1 = $0; HEAP32[i64toi32_i32$1 >> 2] = $63; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; case 7: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$0 = HEAPU16[$1 >> 1] | 0; i64toi32_i32$1 = 0; $71 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $71; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; case 8: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$1 = HEAP8[$1 >> 0] | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $79 = i64toi32_i32$1; i64toi32_i32$1 = $0; HEAP32[i64toi32_i32$1 >> 2] = $79; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; case 9: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$0 = HEAPU8[$1 >> 0] | 0; i64toi32_i32$1 = 0; $87 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $87; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; case 10: $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; HEAP32[$2 >> 2] = $1 + 8 | 0; i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; i64toi32_i32$0 = HEAP32[($1 + 4 | 0) >> 2] | 0; $97 = i64toi32_i32$1; i64toi32_i32$1 = $0; HEAP32[i64toi32_i32$1 >> 2] = $97; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; case 11: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; i64toi32_i32$1 = 0; $105 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $105; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; case 12: $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; HEAP32[$2 >> 2] = $1 + 8 | 0; i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; i64toi32_i32$0 = HEAP32[($1 + 4 | 0) >> 2] | 0; $115 = i64toi32_i32$1; i64toi32_i32$1 = $0; HEAP32[i64toi32_i32$1 >> 2] = $115; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; case 13: $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; HEAP32[$2 >> 2] = $1 + 8 | 0; i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; i64toi32_i32$1 = HEAP32[($1 + 4 | 0) >> 2] | 0; $125 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $125; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; case 14: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; $133 = i64toi32_i32$1; i64toi32_i32$1 = $0; HEAP32[i64toi32_i32$1 >> 2] = $133; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; return; case 15: $1 = HEAP32[$2 >> 2] | 0; HEAP32[$2 >> 2] = $1 + 4 | 0; i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; i64toi32_i32$1 = 0; $141 = i64toi32_i32$0; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $141; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; return; case 16: $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; HEAP32[$2 >> 2] = $1 + 8 | 0; HEAPF64[$0 >> 3] = +HEAPF64[$1 >> 3]; return; case 17: FUNCTION_TABLE[$3 | 0]($0, $2); break; default: break label$1; }; } } function fmt_x($0, $0$hi, $1, $2) { $0 = $0 | 0; $0$hi = $0$hi | 0; $1 = $1 | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3 = 0; label$1 : { i64toi32_i32$0 = $0$hi; if (!($0 | i64toi32_i32$0 | 0)) { break label$1 } label$2 : while (1) { $1 = $1 + -1 | 0; i64toi32_i32$0 = $0$hi; HEAP8[$1 >> 0] = HEAPU8[(($0 & 15 | 0) + 109248 | 0) >> 0] | 0 | $2 | 0; i64toi32_i32$2 = $0; i64toi32_i32$1 = 0; i64toi32_i32$3 = 15; $3 = i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$3 = $0; i64toi32_i32$0 = 0; i64toi32_i32$1 = 4; i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { i64toi32_i32$0 = 0; $10 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; $10 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; } $0 = $10; $0$hi = i64toi32_i32$0; if ($3) { continue label$2 } break label$2; }; } return $1 | 0; } function fmt_o($0, $0$hi, $1) { $0 = $0 | 0; $0$hi = $0$hi | 0; $1 = $1 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9 = 0, $2 = 0; label$1 : { i64toi32_i32$0 = $0$hi; if (!($0 | i64toi32_i32$0 | 0)) { break label$1 } label$2 : while (1) { $1 = $1 + -1 | 0; i64toi32_i32$0 = $0$hi; HEAP8[$1 >> 0] = $0 & 7 | 0 | 48 | 0; i64toi32_i32$2 = $0; i64toi32_i32$1 = 0; i64toi32_i32$3 = 7; $2 = i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$3 = $0; i64toi32_i32$0 = 0; i64toi32_i32$1 = 3; i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { i64toi32_i32$0 = 0; $9 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; $9 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; } $0 = $9; $0$hi = i64toi32_i32$0; if ($2) { continue label$2 } break label$2; }; } return $1 | 0; } function fmt_u($0, $0$hi, $1) { $0 = $0 | 0; $0$hi = $0$hi | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3 = 0, i64toi32_i32$3 = 0, $2 = 0, i64toi32_i32$5 = 0, $2$hi = 0, $4 = 0, $16 = 0, $16$hi = 0, $5 = 0; label$1 : { label$2 : { i64toi32_i32$0 = $0$hi; i64toi32_i32$2 = $0; i64toi32_i32$1 = 1; i64toi32_i32$3 = 0; if (i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) { break label$2 } i64toi32_i32$2 = $0$hi; $2 = $0; $2$hi = i64toi32_i32$2; break label$1; } label$3 : while (1) { $1 = $1 + -1 | 0; i64toi32_i32$2 = $0$hi; i64toi32_i32$0 = 0; i64toi32_i32$0 = __wasm_i64_udiv($0 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $2 = i64toi32_i32$0; $2$hi = i64toi32_i32$2; i64toi32_i32$0 = 0; i64toi32_i32$0 = __wasm_i64_mul($2 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $16 = i64toi32_i32$0; $16$hi = i64toi32_i32$2; i64toi32_i32$2 = $0$hi; i64toi32_i32$3 = $0; i64toi32_i32$0 = $16$hi; i64toi32_i32$1 = $16; i64toi32_i32$5 = ($0 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; HEAP8[$1 >> 0] = $0 - i64toi32_i32$1 | 0 | 48 | 0; i64toi32_i32$5 = i64toi32_i32$2; i64toi32_i32$5 = i64toi32_i32$2; i64toi32_i32$2 = $0; i64toi32_i32$3 = 9; i64toi32_i32$1 = -1; $3 = $0$hi >>> 0 > i64toi32_i32$3 >>> 0 | (($0$hi | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; i64toi32_i32$2 = $2$hi; $0 = $2; $0$hi = i64toi32_i32$2; if ($3) { continue label$3 } break label$3; }; } label$4 : { i64toi32_i32$2 = $2$hi; $3 = $2; if (!$3) { break label$4 } label$5 : while (1) { $1 = $1 + -1 | 0; $4 = ($3 >>> 0) / (10 >>> 0) | 0; HEAP8[$1 >> 0] = $3 - Math_imul($4, 10) | 0 | 48 | 0; $5 = $3 >>> 0 > 9 >>> 0; $3 = $4; if ($5) { continue label$5 } break label$5; }; } return $1 | 0; } function pad($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $5 = 0; $5 = __stack_pointer - 256 | 0; __stack_pointer = $5; label$1 : { if (($2 | 0) <= ($3 | 0)) { break label$1 } if ($4 & 73728 | 0) { break label$1 } $3 = $2 - $3 | 0; $2 = $3 >>> 0 < 256 >>> 0; __memset($5 | 0, $1 & 255 | 0 | 0, ($2 ? $3 : 256) | 0) | 0; label$2 : { if ($2) { break label$2 } label$3 : while (1) { out($0 | 0, $5 | 0, 256 | 0); $3 = $3 + -256 | 0; if ($3 >>> 0 > 255 >>> 0) { continue label$3 } break label$3; }; } out($0 | 0, $5 | 0, $3 | 0); } __stack_pointer = $5 + 256 | 0; } function vfprintf($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; return __vfprintf_internal($0 | 0, $1 | 0, $2 | 0, 1221 | 0, 1222 | 0) | 0 | 0; } function fmt_fp($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = +$1; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $11 = 0, $12 = 0, $13 = 0, $19 = 0, $23 = 0, $6 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $16 = 0, i64toi32_i32$4 = 0, $24 = 0, $25 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $18 = 0, $21 = 0, $9 = 0, $26 = 0.0, $8 = 0, $14 = 0, $8$hi = 0, $15 = 0, $17 = 0, $10 = 0, $22 = 0, $7 = 0, $45 = 0, $46 = 0, $47 = 0, $20$hi = 0, $48 = 0, $20 = 0, $167 = 0, $169$hi = 0, $171$hi = 0, $173 = 0, $173$hi = 0, $175$hi = 0, $179 = 0, $179$hi = 0, $388 = 0.0, $852 = 0; $6 = __stack_pointer - 560 | 0; __stack_pointer = $6; $7 = 0; HEAP32[($6 + 44 | 0) >> 2] = 0; label$1 : { label$2 : { i64toi32_i32$0 = __DOUBLE_BITS(+$1) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $8 = i64toi32_i32$0; $8$hi = i64toi32_i32$1; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = -1; i64toi32_i32$3 = -1; if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { $45 = 1 } else { if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { $46 = 0 } else { $46 = 1 } $47 = $46; } else { $47 = 0 } $45 = $47; } if ($45) { break label$2 } $9 = 1; $10 = 66653; $1 = -$1; i64toi32_i32$2 = __DOUBLE_BITS(+$1) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; $8 = i64toi32_i32$2; $8$hi = i64toi32_i32$1; break label$1; } label$3 : { if (!($4 & 2048 | 0)) { break label$3 } $9 = 1; $10 = 66656; break label$1; } $9 = $4 & 1 | 0; $10 = $9 ? 66659 : 66654; $7 = !$9; } label$4 : { label$5 : { i64toi32_i32$1 = $8$hi; i64toi32_i32$3 = $8; i64toi32_i32$2 = 2146435072; i64toi32_i32$0 = 0; i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; i64toi32_i32$3 = 2146435072; i64toi32_i32$0 = 0; if ((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) { break label$5 } $11 = $9 + 3 | 0; pad($0 | 0, 32 | 0, $2 | 0, $11 | 0, $4 & -65537 | 0 | 0); out($0 | 0, $10 | 0, $9 | 0); $12 = $5 & 32 | 0; out($0 | 0, ($1 != $1 ? ($12 ? 77003 : 84282) : $12 ? 80768 : 84403) | 0, 3 | 0); pad($0 | 0, 32 | 0, $2 | 0, $11 | 0, $4 ^ 8192 | 0 | 0); $13 = ($11 | 0) > ($2 | 0) ? $11 : $2; break label$4; } $14 = $6 + 16 | 0; label$6 : { label$7 : { label$8 : { label$9 : { $1 = +frexp(+$1, $6 + 44 | 0 | 0); $1 = $1 + $1; if ($1 == 0.0) { break label$9 } $11 = HEAP32[($6 + 44 | 0) >> 2] | 0; HEAP32[($6 + 44 | 0) >> 2] = $11 + -1 | 0; $15 = $5 | 32 | 0; if (($15 | 0) != (97 | 0)) { break label$8 } break label$6; } $15 = $5 | 32 | 0; if (($15 | 0) == (97 | 0)) { break label$6 } $16 = ($3 | 0) < (0 | 0) ? 6 : $3; $17 = HEAP32[($6 + 44 | 0) >> 2] | 0; break label$7; } $17 = $11 + -29 | 0; HEAP32[($6 + 44 | 0) >> 2] = $17; $16 = ($3 | 0) < (0 | 0) ? 6 : $3; $1 = $1 * 268435456.0; } $18 = ($6 + 48 | 0) + (($17 | 0) < (0 | 0) ? 0 : 288) | 0; $12 = $18; label$10 : while (1) { label$11 : { label$12 : { if (!($1 < 4294967296.0 & $1 >= 0.0 | 0)) { break label$12 } $11 = ~~$1 >>> 0; break label$11; } $11 = 0; } HEAP32[$12 >> 2] = $11; $12 = $12 + 4 | 0; $1 = ($1 - +($11 >>> 0)) * 1.0e9; if ($1 != 0.0) { continue label$10 } break label$10; }; label$13 : { label$14 : { if (($17 | 0) >= (1 | 0)) { break label$14 } $3 = $17; $11 = $12; $19 = $18; break label$13; } $19 = $18; $3 = $17; label$15 : while (1) { $3 = ($3 | 0) < (29 | 0) ? $3 : 29; label$16 : { $11 = $12 + -4 | 0; if ($11 >>> 0 < $19 >>> 0) { break label$16 } i64toi32_i32$1 = 0; $20 = $3; $20$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $8 = 0; $8$hi = i64toi32_i32$1; label$17 : while (1) { $167 = $11; i64toi32_i32$0 = $11; i64toi32_i32$1 = HEAP32[$11 >> 2] | 0; i64toi32_i32$2 = 0; $169$hi = i64toi32_i32$2; i64toi32_i32$2 = $20$hi; i64toi32_i32$2 = $169$hi; i64toi32_i32$0 = i64toi32_i32$1; i64toi32_i32$1 = $20$hi; i64toi32_i32$3 = $20; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; $48 = 0; } else { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; $48 = i64toi32_i32$0 << i64toi32_i32$4 | 0; } $171$hi = i64toi32_i32$1; i64toi32_i32$1 = $8$hi; i64toi32_i32$2 = $8; i64toi32_i32$0 = 0; i64toi32_i32$3 = -1; i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; $173 = i64toi32_i32$2 & i64toi32_i32$3 | 0; $173$hi = i64toi32_i32$0; i64toi32_i32$0 = $171$hi; i64toi32_i32$1 = $48; i64toi32_i32$2 = $173$hi; i64toi32_i32$3 = $173; i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } $8 = i64toi32_i32$4; $8$hi = i64toi32_i32$5; $175$hi = i64toi32_i32$5; i64toi32_i32$1 = 0; i64toi32_i32$1 = __wasm_i64_udiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 1e9 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $8 = i64toi32_i32$1; $8$hi = i64toi32_i32$5; i64toi32_i32$1 = 0; i64toi32_i32$1 = __wasm_i64_mul($8 | 0, i64toi32_i32$5 | 0, 1e9 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; $179 = i64toi32_i32$1; $179$hi = i64toi32_i32$5; i64toi32_i32$5 = $175$hi; i64toi32_i32$0 = i64toi32_i32$4; i64toi32_i32$1 = $179$hi; i64toi32_i32$3 = $179; i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$3 | 0; i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; HEAP32[$167 >> 2] = i64toi32_i32$2; $11 = $11 + -4 | 0; if ($11 >>> 0 >= $19 >>> 0) { continue label$17 } break label$17; }; i64toi32_i32$4 = $8$hi; $11 = $8; if (!$11) { break label$16 } $19 = $19 + -4 | 0; HEAP32[$19 >> 2] = $11; } label$18 : { label$19 : while (1) { $11 = $12; if ($11 >>> 0 <= $19 >>> 0) { break label$18 } $12 = $11 + -4 | 0; if (!(HEAP32[$12 >> 2] | 0)) { continue label$19 } break label$19; }; } $3 = (HEAP32[($6 + 44 | 0) >> 2] | 0) - $3 | 0; HEAP32[($6 + 44 | 0) >> 2] = $3; $12 = $11; if (($3 | 0) > (0 | 0)) { continue label$15 } break label$15; }; } label$20 : { if (($3 | 0) > (-1 | 0)) { break label$20 } $21 = ((($16 + 25 | 0) >>> 0) / (9 >>> 0) | 0) + 1 | 0; $22 = ($15 | 0) == (102 | 0); label$21 : while (1) { $12 = 0 - $3 | 0; $23 = ($12 | 0) < (9 | 0) ? $12 : 9; label$22 : { label$23 : { if ($19 >>> 0 < $11 >>> 0) { break label$23 } $12 = HEAP32[$19 >> 2] | 0; break label$22; } $24 = 1e9 >>> $23 | 0; $25 = (-1 << $23 | 0) ^ -1 | 0; $3 = 0; $12 = $19; label$24 : while (1) { $13 = HEAP32[$12 >> 2] | 0; HEAP32[$12 >> 2] = ($13 >>> $23 | 0) + $3 | 0; $3 = Math_imul($13 & $25 | 0, $24); $12 = $12 + 4 | 0; if ($12 >>> 0 < $11 >>> 0) { continue label$24 } break label$24; }; $12 = HEAP32[$19 >> 2] | 0; if (!$3) { break label$22 } HEAP32[$11 >> 2] = $3; $11 = $11 + 4 | 0; } $3 = (HEAP32[($6 + 44 | 0) >> 2] | 0) + $23 | 0; HEAP32[($6 + 44 | 0) >> 2] = $3; $19 = $19 + (!$12 << 2 | 0) | 0; $12 = $22 ? $18 : $19; $11 = (($11 - $12 | 0) >> 2 | 0 | 0) > ($21 | 0) ? $12 + ($21 << 2 | 0) | 0 : $11; if (($3 | 0) < (0 | 0)) { continue label$21 } break label$21; }; } $3 = 0; label$25 : { if ($19 >>> 0 >= $11 >>> 0) { break label$25 } $3 = Math_imul(($18 - $19 | 0) >> 2 | 0, 9); $12 = 10; $13 = HEAP32[$19 >> 2] | 0; if ($13 >>> 0 < 10 >>> 0) { break label$25 } label$26 : while (1) { $3 = $3 + 1 | 0; $12 = Math_imul($12, 10); if ($13 >>> 0 >= $12 >>> 0) { continue label$26 } break label$26; }; } label$27 : { $12 = ($16 - (($15 | 0) == (102 | 0) ? 0 : $3) | 0) - (($16 | 0) != (0 | 0) & ($15 | 0) == (103 | 0) | 0) | 0; if (($12 | 0) >= (Math_imul(($11 - $18 | 0) >> 2 | 0, 9) + -9 | 0 | 0)) { break label$27 } $13 = $12 + 9216 | 0; $24 = ($13 | 0) / (9 | 0) | 0; $23 = (($24 << 2 | 0) + (($6 + 48 | 0) + (($17 | 0) < (0 | 0) ? 4 : 292) | 0) | 0) + -4096 | 0; $12 = 10; label$28 : { $13 = $13 - Math_imul($24, 9) | 0; if (($13 | 0) > (7 | 0)) { break label$28 } label$29 : while (1) { $12 = Math_imul($12, 10); $13 = $13 + 1 | 0; if (($13 | 0) != (8 | 0)) { continue label$29 } break label$29; }; } $25 = $23 + 4 | 0; label$30 : { label$31 : { $13 = HEAP32[$23 >> 2] | 0; $21 = ($13 >>> 0) / ($12 >>> 0) | 0; $24 = $13 - Math_imul($21, $12) | 0; if ($24) { break label$31 } if (($25 | 0) == ($11 | 0)) { break label$30 } } label$32 : { label$33 : { if ($21 & 1 | 0) { break label$33 } $1 = 9007199254740992.0; if (($12 | 0) != (1e9 | 0)) { break label$32 } if ($23 >>> 0 <= $19 >>> 0) { break label$32 } if (!((HEAPU8[($23 + -4 | 0) >> 0] | 0) & 1 | 0)) { break label$32 } } $1 = 9007199254740994.0; } $388 = ($25 | 0) == ($11 | 0) ? 1.0 : 1.5; $25 = $12 >>> 1 | 0; $26 = $24 >>> 0 < $25 >>> 0 ? .5 : ($24 | 0) == ($25 | 0) ? $388 : 1.5; label$34 : { if ($7) { break label$34 } if ((HEAPU8[$10 >> 0] | 0 | 0) != (45 | 0)) { break label$34 } $26 = -$26; $1 = -$1; } $13 = $13 - $24 | 0; HEAP32[$23 >> 2] = $13; if ($1 + $26 == $1) { break label$30 } $12 = $13 + $12 | 0; HEAP32[$23 >> 2] = $12; label$35 : { if ($12 >>> 0 < 1e9 >>> 0) { break label$35 } label$36 : while (1) { HEAP32[$23 >> 2] = 0; label$37 : { $23 = $23 + -4 | 0; if ($23 >>> 0 >= $19 >>> 0) { break label$37 } $19 = $19 + -4 | 0; HEAP32[$19 >> 2] = 0; } $12 = (HEAP32[$23 >> 2] | 0) + 1 | 0; HEAP32[$23 >> 2] = $12; if ($12 >>> 0 > 999999999 >>> 0) { continue label$36 } break label$36; }; } $3 = Math_imul(($18 - $19 | 0) >> 2 | 0, 9); $12 = 10; $13 = HEAP32[$19 >> 2] | 0; if ($13 >>> 0 < 10 >>> 0) { break label$30 } label$38 : while (1) { $3 = $3 + 1 | 0; $12 = Math_imul($12, 10); if ($13 >>> 0 >= $12 >>> 0) { continue label$38 } break label$38; }; } $12 = $23 + 4 | 0; $11 = $11 >>> 0 > $12 >>> 0 ? $12 : $11; } label$39 : { label$40 : while (1) { $12 = $11; $13 = $11 >>> 0 <= $19 >>> 0; if ($13) { break label$39 } $11 = $12 + -4 | 0; if (!(HEAP32[$11 >> 2] | 0)) { continue label$40 } break label$40; }; } label$41 : { label$42 : { if (($15 | 0) == (103 | 0)) { break label$42 } $23 = $4 & 8 | 0; break label$41; } $11 = $16 ? $16 : 1; $23 = ($11 | 0) > ($3 | 0) & ($3 | 0) > (-5 | 0) | 0; $16 = ($23 ? $3 ^ -1 | 0 : -1) + $11 | 0; $5 = ($23 ? -1 : -2) + $5 | 0; $23 = $4 & 8 | 0; if ($23) { break label$41 } $11 = -9; label$43 : { if ($13) { break label$43 } $23 = HEAP32[($12 + -4 | 0) >> 2] | 0; if (!$23) { break label$43 } $13 = 10; $11 = 0; if (($23 >>> 0) % (10 >>> 0) | 0) { break label$43 } label$44 : while (1) { $24 = $11; $11 = $11 + 1 | 0; $13 = Math_imul($13, 10); if (!(($23 >>> 0) % ($13 >>> 0) | 0)) { continue label$44 } break label$44; }; $11 = $24 ^ -1 | 0; } $13 = Math_imul(($12 - $18 | 0) >> 2 | 0, 9); label$45 : { if (($5 & -33 | 0 | 0) != (70 | 0)) { break label$45 } $23 = 0; $11 = ($13 + $11 | 0) + -9 | 0; $11 = ($11 | 0) > (0 | 0) ? $11 : 0; $16 = ($16 | 0) < ($11 | 0) ? $16 : $11; break label$41; } $23 = 0; $11 = (($3 + $13 | 0) + $11 | 0) + -9 | 0; $11 = ($11 | 0) > (0 | 0) ? $11 : 0; $16 = ($16 | 0) < ($11 | 0) ? $16 : $11; } $13 = -1; $24 = $16 | $23 | 0; if (($16 | 0) > (($24 ? 2147483645 : 2147483646) | 0)) { break label$4 } $25 = ($16 + (($24 | 0) != (0 | 0)) | 0) + 1 | 0; label$46 : { label$47 : { $22 = $5 & -33 | 0; if (($22 | 0) != (70 | 0)) { break label$47 } if (($3 | 0) > ($25 ^ 2147483647 | 0 | 0)) { break label$4 } $11 = ($3 | 0) > (0 | 0) ? $3 : 0; break label$46; } label$48 : { $11 = $3 >> 31 | 0; i64toi32_i32$4 = 0; $11 = fmt_u(($3 ^ $11 | 0) - $11 | 0 | 0, i64toi32_i32$4 | 0, $14 | 0) | 0; if (($14 - $11 | 0 | 0) > (1 | 0)) { break label$48 } label$49 : while (1) { $11 = $11 + -1 | 0; HEAP8[$11 >> 0] = 48; if (($14 - $11 | 0 | 0) < (2 | 0)) { continue label$49 } break label$49; }; } $21 = $11 + -2 | 0; HEAP8[$21 >> 0] = $5; $13 = -1; HEAP8[($11 + -1 | 0) >> 0] = ($3 | 0) < (0 | 0) ? 45 : 43; $11 = $14 - $21 | 0; if (($11 | 0) > ($25 ^ 2147483647 | 0 | 0)) { break label$4 } } $13 = -1; $11 = $11 + $25 | 0; if (($11 | 0) > ($9 ^ 2147483647 | 0 | 0)) { break label$4 } $25 = $11 + $9 | 0; pad($0 | 0, 32 | 0, $2 | 0, $25 | 0, $4 | 0); out($0 | 0, $10 | 0, $9 | 0); pad($0 | 0, 48 | 0, $2 | 0, $25 | 0, $4 ^ 65536 | 0 | 0); label$50 : { label$51 : { label$52 : { label$53 : { if (($22 | 0) != (70 | 0)) { break label$53 } $23 = $6 + 16 | 0 | 8 | 0; $3 = $6 + 16 | 0 | 9 | 0; $13 = $19 >>> 0 > $18 >>> 0 ? $18 : $19; $19 = $13; label$54 : while (1) { i64toi32_i32$5 = $19; i64toi32_i32$4 = HEAP32[$19 >> 2] | 0; i64toi32_i32$0 = 0; $11 = fmt_u(i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, $3 | 0) | 0; label$55 : { label$56 : { if (($19 | 0) == ($13 | 0)) { break label$56 } if ($11 >>> 0 <= ($6 + 16 | 0) >>> 0) { break label$55 } label$57 : while (1) { $11 = $11 + -1 | 0; HEAP8[$11 >> 0] = 48; if ($11 >>> 0 > ($6 + 16 | 0) >>> 0) { continue label$57 } break label$55; }; } if (($11 | 0) != ($3 | 0)) { break label$55 } HEAP8[($6 + 24 | 0) >> 0] = 48; $11 = $23; } out($0 | 0, $11 | 0, $3 - $11 | 0 | 0); $19 = $19 + 4 | 0; if ($19 >>> 0 <= $18 >>> 0) { continue label$54 } break label$54; }; label$58 : { if (!$24) { break label$58 } out($0 | 0, 86179 | 0, 1 | 0); } if ($19 >>> 0 >= $12 >>> 0) { break label$52 } if (($16 | 0) < (1 | 0)) { break label$52 } label$59 : while (1) { label$60 : { i64toi32_i32$5 = $19; i64toi32_i32$0 = HEAP32[$19 >> 2] | 0; i64toi32_i32$4 = 0; $11 = fmt_u(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, $3 | 0) | 0; if ($11 >>> 0 <= ($6 + 16 | 0) >>> 0) { break label$60 } label$61 : while (1) { $11 = $11 + -1 | 0; HEAP8[$11 >> 0] = 48; if ($11 >>> 0 > ($6 + 16 | 0) >>> 0) { continue label$61 } break label$61; }; } out($0 | 0, $11 | 0, (($16 | 0) < (9 | 0) ? $16 : 9) | 0); $11 = $16 + -9 | 0; $19 = $19 + 4 | 0; if ($19 >>> 0 >= $12 >>> 0) { break label$51 } $13 = ($16 | 0) > (9 | 0); $16 = $11; if ($13) { continue label$59 } break label$51; }; } label$62 : { if (($16 | 0) < (0 | 0)) { break label$62 } $24 = $12 >>> 0 > $19 >>> 0 ? $12 : $19 + 4 | 0; $18 = $6 + 16 | 0 | 8 | 0; $3 = $6 + 16 | 0 | 9 | 0; $12 = $19; label$63 : while (1) { label$64 : { i64toi32_i32$5 = $12; i64toi32_i32$4 = HEAP32[$12 >> 2] | 0; i64toi32_i32$0 = 0; $11 = fmt_u(i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, $3 | 0) | 0; if (($11 | 0) != ($3 | 0)) { break label$64 } HEAP8[($6 + 24 | 0) >> 0] = 48; $11 = $18; } label$65 : { label$66 : { if (($12 | 0) == ($19 | 0)) { break label$66 } if ($11 >>> 0 <= ($6 + 16 | 0) >>> 0) { break label$65 } label$67 : while (1) { $11 = $11 + -1 | 0; HEAP8[$11 >> 0] = 48; if ($11 >>> 0 > ($6 + 16 | 0) >>> 0) { continue label$67 } break label$65; }; } out($0 | 0, $11 | 0, 1 | 0); $11 = $11 + 1 | 0; if (!($16 | $23 | 0)) { break label$65 } out($0 | 0, 86179 | 0, 1 | 0); } $13 = $3 - $11 | 0; out($0 | 0, $11 | 0, (($16 | 0) < ($13 | 0) ? $16 : $13) | 0); $16 = $16 - $13 | 0; $12 = $12 + 4 | 0; if ($12 >>> 0 >= $24 >>> 0) { break label$62 } if (($16 | 0) > (-1 | 0)) { continue label$63 } break label$63; }; } pad($0 | 0, 48 | 0, $16 + 18 | 0 | 0, 18 | 0, 0 | 0); out($0 | 0, $21 | 0, $14 - $21 | 0 | 0); break label$50; } $11 = $16; } pad($0 | 0, 48 | 0, $11 + 9 | 0 | 0, 9 | 0, 0 | 0); } pad($0 | 0, 32 | 0, $2 | 0, $25 | 0, $4 ^ 8192 | 0 | 0); $13 = ($25 | 0) > ($2 | 0) ? $25 : $2; break label$4; } $25 = $10 + ((($5 << 26 | 0) >> 31 | 0) & 9 | 0) | 0; label$68 : { if ($3 >>> 0 > 11 >>> 0) { break label$68 } $11 = 12 - $3 | 0; $26 = 16.0; label$69 : while (1) { $26 = $26 * 16.0; $11 = $11 + -1 | 0; if ($11) { continue label$69 } break label$69; }; label$70 : { if ((HEAPU8[$25 >> 0] | 0 | 0) != (45 | 0)) { break label$70 } $1 = -($26 + (-$1 - $26)); break label$68; } $1 = $1 + $26 - $26; } label$71 : { $11 = HEAP32[($6 + 44 | 0) >> 2] | 0; $852 = $11; $11 = $11 >> 31 | 0; i64toi32_i32$0 = 0; $11 = fmt_u(($852 ^ $11 | 0) - $11 | 0 | 0, i64toi32_i32$0 | 0, $14 | 0) | 0; if (($11 | 0) != ($14 | 0)) { break label$71 } HEAP8[($6 + 15 | 0) >> 0] = 48; $11 = $6 + 15 | 0; } $23 = $9 | 2 | 0; $19 = $5 & 32 | 0; $12 = HEAP32[($6 + 44 | 0) >> 2] | 0; $24 = $11 + -2 | 0; HEAP8[$24 >> 0] = $5 + 15 | 0; HEAP8[($11 + -1 | 0) >> 0] = ($12 | 0) < (0 | 0) ? 45 : 43; $13 = $4 & 8 | 0; $12 = $6 + 16 | 0; label$72 : while (1) { $11 = $12; label$73 : { label$74 : { if (!(Math_abs($1) < 2147483648.0)) { break label$74 } $12 = ~~$1; break label$73; } $12 = -2147483648; } HEAP8[$11 >> 0] = HEAPU8[($12 + 109248 | 0) >> 0] | 0 | $19 | 0; $1 = ($1 - +($12 | 0)) * 16.0; label$75 : { $12 = $11 + 1 | 0; if (($12 - ($6 + 16 | 0) | 0 | 0) != (1 | 0)) { break label$75 } label$76 : { if ($13) { break label$76 } if (($3 | 0) > (0 | 0)) { break label$76 } if ($1 == 0.0) { break label$75 } } HEAP8[($11 + 1 | 0) >> 0] = 46; $12 = $11 + 2 | 0; } if ($1 != 0.0) { continue label$72 } break label$72; }; $13 = -1; $19 = $14 - $24 | 0; $21 = $23 + $19 | 0; if ((2147483645 - $21 | 0 | 0) < ($3 | 0)) { break label$4 } $11 = $12 - ($6 + 16 | 0) | 0; $3 = $3 ? (($11 + -2 | 0 | 0) < ($3 | 0) ? $3 + 2 | 0 : $11) : $11; $12 = $21 + $3 | 0; pad($0 | 0, 32 | 0, $2 | 0, $12 | 0, $4 | 0); out($0 | 0, $25 | 0, $23 | 0); pad($0 | 0, 48 | 0, $2 | 0, $12 | 0, $4 ^ 65536 | 0 | 0); out($0 | 0, $6 + 16 | 0 | 0, $11 | 0); pad($0 | 0, 48 | 0, $3 - $11 | 0 | 0, 0 | 0, 0 | 0); out($0 | 0, $24 | 0, $19 | 0); pad($0 | 0, 32 | 0, $2 | 0, $12 | 0, $4 ^ 8192 | 0 | 0); $13 = ($12 | 0) > ($2 | 0) ? $12 : $2; } __stack_pointer = $6 + 560 | 0; return $13 | 0; } function pop_arg_long_double($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $2 = 0, $12 = 0, $12$hi = 0, $15 = 0, $15$hi = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; $2 = ((HEAP32[$1 >> 2] | 0) + 7 | 0) & -8 | 0; HEAP32[$1 >> 2] = $2 + 16 | 0; i64toi32_i32$2 = $2; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $12 = i64toi32_i32$0; $12$hi = i64toi32_i32$1; i64toi32_i32$2 = i64toi32_i32$2 + 8 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $15 = i64toi32_i32$1; $15$hi = i64toi32_i32$0; i64toi32_i32$0 = $12$hi; i64toi32_i32$1 = $15$hi; (wasm2js_i32$0 = $0, wasm2js_f64$0 = +__trunctfdf2($12 | 0, i64toi32_i32$0 | 0, $15 | 0, i64toi32_i32$1 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; } function __DOUBLE_BITS($0) { $0 = +$0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; wasm2js_scratch_store_f64(+$0); i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return i64toi32_i32$1 | 0; } function __wasi_syscall_ret($0) { $0 = $0 | 0; var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; label$1 : { if ($0) { break label$1 } return 0 | 0; } (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = $0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; return -1 | 0; } function __syscall_getpid() { return 42 | 0; } function getpid() { return __syscall_getpid() | 0 | 0; } function __get_tp() { return 117352 | 0; } function init_pthread_self() { var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; HEAP32[(0 + 117448 | 0) >> 2] = 117328; (wasm2js_i32$0 = 0, wasm2js_i32$1 = getpid() | 0), HEAP32[(wasm2js_i32$0 + 117376 | 0) >> 2] = wasm2js_i32$1; } function wcrtomb($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = 1; label$1 : { label$2 : { if (!$0) { break label$2 } if ($1 >>> 0 <= 127 >>> 0) { break label$1 } label$3 : { label$4 : { if (HEAP32[(HEAP32[((__get_tp() | 0) + 96 | 0) >> 2] | 0) >> 2] | 0) { break label$4 } if (($1 & -128 | 0 | 0) == (57216 | 0)) { break label$1 } (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 25), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; break label$3; } label$5 : { if ($1 >>> 0 > 2047 >>> 0) { break label$5 } HEAP8[($0 + 1 | 0) >> 0] = $1 & 63 | 0 | 128 | 0; HEAP8[$0 >> 0] = $1 >>> 6 | 0 | 192 | 0; return 2 | 0; } label$6 : { label$7 : { if ($1 >>> 0 < 55296 >>> 0) { break label$7 } if (($1 & -8192 | 0 | 0) != (57344 | 0)) { break label$6 } } HEAP8[($0 + 2 | 0) >> 0] = $1 & 63 | 0 | 128 | 0; HEAP8[$0 >> 0] = $1 >>> 12 | 0 | 224 | 0; HEAP8[($0 + 1 | 0) >> 0] = ($1 >>> 6 | 0) & 63 | 0 | 128 | 0; return 3 | 0; } label$8 : { if (($1 + -65536 | 0) >>> 0 > 1048575 >>> 0) { break label$8 } HEAP8[($0 + 3 | 0) >> 0] = $1 & 63 | 0 | 128 | 0; HEAP8[$0 >> 0] = $1 >>> 18 | 0 | 240 | 0; HEAP8[($0 + 2 | 0) >> 0] = ($1 >>> 6 | 0) & 63 | 0 | 128 | 0; HEAP8[($0 + 1 | 0) >> 0] = ($1 >>> 12 | 0) & 63 | 0 | 128 | 0; return 4 | 0; } (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 25), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } $3 = -1; } return $3 | 0; } HEAP8[$0 >> 0] = $1; return 1 | 0; } function wctomb($0, $1) { $0 = $0 | 0; $1 = $1 | 0; label$1 : { if ($0) { break label$1 } return 0 | 0; } return wcrtomb($0 | 0, $1 | 0, 0 | 0) | 0 | 0; } function emscripten_get_heap_size() { return __wasm_memory_size() << 16 | 0 | 0; } function sbrk($0) { $0 = $0 | 0; var $1 = 0, $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $1 = HEAP32[(0 + 113004 | 0) >> 2] | 0; $2 = ($0 + 7 | 0) & -8 | 0; $0 = $1 + $2 | 0; label$1 : { label$2 : { if (!$2) { break label$2 } if ($0 >>> 0 <= $1 >>> 0) { break label$1 } } label$3 : { if ($0 >>> 0 <= (emscripten_get_heap_size() | 0) >>> 0) { break label$3 } if (!(emscripten_resize_heap($0 | 0) | 0)) { break label$1 } } HEAP32[(0 + 113004 | 0) >> 2] = $0; return $1 | 0; } (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; return -1 | 0; } function dlmalloc($0) { $0 = $0 | 0; var $4 = 0, $7 = 0, $5 = 0, $8 = 0, $3 = 0, $2 = 0, $11 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9 = 0, i64toi32_i32$2 = 0, $10 = 0, $1 = 0, $79 = 0, $191 = 0, $945 = 0, $947 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $1 = __stack_pointer - 16 | 0; __stack_pointer = $1; label$1 : { label$2 : { label$3 : { label$4 : { label$5 : { label$6 : { label$7 : { label$8 : { label$9 : { label$10 : { label$11 : { label$12 : { label$13 : { label$14 : { label$15 : { if ($0 >>> 0 > 244 >>> 0) { break label$15 } label$16 : { $2 = HEAP32[(0 + 117484 | 0) >> 2] | 0; $3 = $0 >>> 0 < 11 >>> 0 ? 16 : ($0 + 11 | 0) & -8 | 0; $4 = $3 >>> 3 | 0; $0 = $2 >>> $4 | 0; if (!($0 & 3 | 0)) { break label$16 } label$17 : { label$18 : { $5 = (($0 ^ -1 | 0) & 1 | 0) + $4 | 0; $4 = $5 << 3 | 0; $0 = $4 + 117524 | 0; $4 = HEAP32[($4 + 117532 | 0) >> 2] | 0; $3 = HEAP32[($4 + 8 | 0) >> 2] | 0; if (($0 | 0) != ($3 | 0)) { break label$18 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = $2 & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; break label$17; } HEAP32[($3 + 12 | 0) >> 2] = $0; HEAP32[($0 + 8 | 0) >> 2] = $3; } $0 = $4 + 8 | 0; $5 = $5 << 3 | 0; HEAP32[($4 + 4 | 0) >> 2] = $5 | 3 | 0; $4 = $4 + $5 | 0; HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0 | 1 | 0; break label$1; } $6 = HEAP32[(0 + 117492 | 0) >> 2] | 0; if ($3 >>> 0 <= $6 >>> 0) { break label$14 } label$19 : { if (!$0) { break label$19 } label$20 : { label$21 : { $79 = $0 << $4 | 0; $0 = 2 << $4 | 0; $0 = $79 & ($0 | (0 - $0 | 0) | 0) | 0; $4 = __wasm_ctz_i32($0 & (0 - $0 | 0) | 0 | 0) | 0; $0 = $4 << 3 | 0; $5 = $0 + 117524 | 0; $0 = HEAP32[($0 + 117532 | 0) >> 2] | 0; $7 = HEAP32[($0 + 8 | 0) >> 2] | 0; if (($5 | 0) != ($7 | 0)) { break label$21 } $2 = $2 & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0; HEAP32[(0 + 117484 | 0) >> 2] = $2; break label$20; } HEAP32[($7 + 12 | 0) >> 2] = $5; HEAP32[($5 + 8 | 0) >> 2] = $7; } HEAP32[($0 + 4 | 0) >> 2] = $3 | 3 | 0; $7 = $0 + $3 | 0; $4 = $4 << 3 | 0; $5 = $4 - $3 | 0; HEAP32[($7 + 4 | 0) >> 2] = $5 | 1 | 0; HEAP32[($0 + $4 | 0) >> 2] = $5; label$22 : { if (!$6) { break label$22 } $3 = ($6 & -8 | 0) + 117524 | 0; $4 = HEAP32[(0 + 117504 | 0) >> 2] | 0; label$23 : { label$24 : { $8 = 1 << ($6 >>> 3 | 0) | 0; if ($2 & $8 | 0) { break label$24 } HEAP32[(0 + 117484 | 0) >> 2] = $2 | $8 | 0; $8 = $3; break label$23; } $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; } HEAP32[($3 + 8 | 0) >> 2] = $4; HEAP32[($8 + 12 | 0) >> 2] = $4; HEAP32[($4 + 12 | 0) >> 2] = $3; HEAP32[($4 + 8 | 0) >> 2] = $8; } $0 = $0 + 8 | 0; HEAP32[(0 + 117504 | 0) >> 2] = $7; HEAP32[(0 + 117492 | 0) >> 2] = $5; break label$1; } $9 = HEAP32[(0 + 117488 | 0) >> 2] | 0; if (!$9) { break label$14 } $7 = HEAP32[(((__wasm_ctz_i32($9 & (0 - $9 | 0) | 0 | 0) | 0) << 2 | 0) + 117788 | 0) >> 2] | 0; $4 = ((HEAP32[($7 + 4 | 0) >> 2] | 0) & -8 | 0) - $3 | 0; $5 = $7; label$25 : { label$26 : while (1) { label$27 : { $0 = HEAP32[($5 + 16 | 0) >> 2] | 0; if ($0) { break label$27 } $0 = HEAP32[($5 + 20 | 0) >> 2] | 0; if (!$0) { break label$25 } } $5 = ((HEAP32[($0 + 4 | 0) >> 2] | 0) & -8 | 0) - $3 | 0; $191 = $5; $5 = $5 >>> 0 < $4 >>> 0; $4 = $5 ? $191 : $4; $7 = $5 ? $0 : $7; $5 = $0; continue label$26; }; } $10 = HEAP32[($7 + 24 | 0) >> 2] | 0; label$28 : { $8 = HEAP32[($7 + 12 | 0) >> 2] | 0; if (($8 | 0) == ($7 | 0)) { break label$28 } $0 = HEAP32[($7 + 8 | 0) >> 2] | 0; HEAP32[(0 + 117500 | 0) >> 2] | 0; HEAP32[($0 + 12 | 0) >> 2] = $8; HEAP32[($8 + 8 | 0) >> 2] = $0; break label$2; } label$29 : { $5 = $7 + 20 | 0; $0 = HEAP32[$5 >> 2] | 0; if ($0) { break label$29 } $0 = HEAP32[($7 + 16 | 0) >> 2] | 0; if (!$0) { break label$13 } $5 = $7 + 16 | 0; } label$30 : while (1) { $11 = $5; $8 = $0; $5 = $0 + 20 | 0; $0 = HEAP32[$5 >> 2] | 0; if ($0) { continue label$30 } $5 = $8 + 16 | 0; $0 = HEAP32[($8 + 16 | 0) >> 2] | 0; if ($0) { continue label$30 } break label$30; }; HEAP32[$11 >> 2] = 0; break label$2; } $3 = -1; if ($0 >>> 0 > -65 >>> 0) { break label$14 } $0 = $0 + 11 | 0; $3 = $0 & -8 | 0; $6 = HEAP32[(0 + 117488 | 0) >> 2] | 0; if (!$6) { break label$14 } $11 = 0; label$31 : { if ($3 >>> 0 < 256 >>> 0) { break label$31 } $11 = 31; if ($3 >>> 0 > 16777215 >>> 0) { break label$31 } $0 = Math_clz32($0 >>> 8 | 0); $11 = ((($3 >>> (38 - $0 | 0) | 0) & 1 | 0) - ($0 << 1 | 0) | 0) + 62 | 0; } $4 = 0 - $3 | 0; label$32 : { label$33 : { label$34 : { label$35 : { $5 = HEAP32[(($11 << 2 | 0) + 117788 | 0) >> 2] | 0; if ($5) { break label$35 } $0 = 0; $8 = 0; break label$34; } $0 = 0; $7 = $3 << (($11 | 0) == (31 | 0) ? 0 : 25 - ($11 >>> 1 | 0) | 0) | 0; $8 = 0; label$36 : while (1) { label$37 : { $2 = ((HEAP32[($5 + 4 | 0) >> 2] | 0) & -8 | 0) - $3 | 0; if ($2 >>> 0 >= $4 >>> 0) { break label$37 } $4 = $2; $8 = $5; if ($4) { break label$37 } $4 = 0; $8 = $5; $0 = $5; break label$33; } $2 = HEAP32[($5 + 20 | 0) >> 2] | 0; $5 = HEAP32[(($5 + (($7 >>> 29 | 0) & 4 | 0) | 0) + 16 | 0) >> 2] | 0; $0 = $2 ? (($2 | 0) == ($5 | 0) ? $0 : $2) : $0; $7 = $7 << 1 | 0; if ($5) { continue label$36 } break label$36; }; } label$38 : { if ($0 | $8 | 0) { break label$38 } $8 = 0; $0 = 2 << $11 | 0; $0 = ($0 | (0 - $0 | 0) | 0) & $6 | 0; if (!$0) { break label$14 } $0 = HEAP32[(((__wasm_ctz_i32($0 & (0 - $0 | 0) | 0 | 0) | 0) << 2 | 0) + 117788 | 0) >> 2] | 0; } if (!$0) { break label$32 } } label$39 : while (1) { $2 = ((HEAP32[($0 + 4 | 0) >> 2] | 0) & -8 | 0) - $3 | 0; $7 = $2 >>> 0 < $4 >>> 0; label$40 : { $5 = HEAP32[($0 + 16 | 0) >> 2] | 0; if ($5) { break label$40 } $5 = HEAP32[($0 + 20 | 0) >> 2] | 0; } $4 = $7 ? $2 : $4; $8 = $7 ? $0 : $8; $0 = $5; if ($0) { continue label$39 } break label$39; }; } if (!$8) { break label$14 } if ($4 >>> 0 >= ((HEAP32[(0 + 117492 | 0) >> 2] | 0) - $3 | 0) >>> 0) { break label$14 } $11 = HEAP32[($8 + 24 | 0) >> 2] | 0; label$41 : { $7 = HEAP32[($8 + 12 | 0) >> 2] | 0; if (($7 | 0) == ($8 | 0)) { break label$41 } $0 = HEAP32[($8 + 8 | 0) >> 2] | 0; HEAP32[(0 + 117500 | 0) >> 2] | 0; HEAP32[($0 + 12 | 0) >> 2] = $7; HEAP32[($7 + 8 | 0) >> 2] = $0; break label$3; } label$42 : { $5 = $8 + 20 | 0; $0 = HEAP32[$5 >> 2] | 0; if ($0) { break label$42 } $0 = HEAP32[($8 + 16 | 0) >> 2] | 0; if (!$0) { break label$12 } $5 = $8 + 16 | 0; } label$43 : while (1) { $2 = $5; $7 = $0; $5 = $0 + 20 | 0; $0 = HEAP32[$5 >> 2] | 0; if ($0) { continue label$43 } $5 = $7 + 16 | 0; $0 = HEAP32[($7 + 16 | 0) >> 2] | 0; if ($0) { continue label$43 } break label$43; }; HEAP32[$2 >> 2] = 0; break label$3; } label$44 : { $0 = HEAP32[(0 + 117492 | 0) >> 2] | 0; if ($0 >>> 0 < $3 >>> 0) { break label$44 } $4 = HEAP32[(0 + 117504 | 0) >> 2] | 0; label$45 : { label$46 : { $5 = $0 - $3 | 0; if ($5 >>> 0 < 16 >>> 0) { break label$46 } $7 = $4 + $3 | 0; HEAP32[($7 + 4 | 0) >> 2] = $5 | 1 | 0; HEAP32[($4 + $0 | 0) >> 2] = $5; HEAP32[($4 + 4 | 0) >> 2] = $3 | 3 | 0; break label$45; } HEAP32[($4 + 4 | 0) >> 2] = $0 | 3 | 0; $0 = $4 + $0 | 0; HEAP32[($0 + 4 | 0) >> 2] = HEAP32[($0 + 4 | 0) >> 2] | 0 | 1 | 0; $7 = 0; $5 = 0; } HEAP32[(0 + 117492 | 0) >> 2] = $5; HEAP32[(0 + 117504 | 0) >> 2] = $7; $0 = $4 + 8 | 0; break label$1; } label$47 : { $7 = HEAP32[(0 + 117496 | 0) >> 2] | 0; if ($7 >>> 0 <= $3 >>> 0) { break label$47 } $4 = $7 - $3 | 0; HEAP32[(0 + 117496 | 0) >> 2] = $4; $0 = HEAP32[(0 + 117508 | 0) >> 2] | 0; $5 = $0 + $3 | 0; HEAP32[(0 + 117508 | 0) >> 2] = $5; HEAP32[($5 + 4 | 0) >> 2] = $4 | 1 | 0; HEAP32[($0 + 4 | 0) >> 2] = $3 | 3 | 0; $0 = $0 + 8 | 0; break label$1; } label$48 : { label$49 : { if (!(HEAP32[(0 + 117956 | 0) >> 2] | 0)) { break label$49 } $4 = HEAP32[(0 + 117964 | 0) >> 2] | 0; break label$48; } i64toi32_i32$1 = 0; i64toi32_i32$0 = -1; HEAP32[(i64toi32_i32$1 + 117968 | 0) >> 2] = -1; HEAP32[(i64toi32_i32$1 + 117972 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = 0; i64toi32_i32$0 = 4096; HEAP32[(i64toi32_i32$1 + 117960 | 0) >> 2] = 4096; HEAP32[(i64toi32_i32$1 + 117964 | 0) >> 2] = i64toi32_i32$0; HEAP32[(0 + 117956 | 0) >> 2] = (($1 + 12 | 0) & -16 | 0) ^ 1431655768 | 0; HEAP32[(0 + 117976 | 0) >> 2] = 0; HEAP32[(0 + 117928 | 0) >> 2] = 0; $4 = 4096; } $0 = 0; $6 = $3 + 47 | 0; $2 = $4 + $6 | 0; $11 = 0 - $4 | 0; $8 = $2 & $11 | 0; if ($8 >>> 0 <= $3 >>> 0) { break label$1 } $0 = 0; label$50 : { $4 = HEAP32[(0 + 117924 | 0) >> 2] | 0; if (!$4) { break label$50 } $5 = HEAP32[(0 + 117916 | 0) >> 2] | 0; $9 = $5 + $8 | 0; if ($9 >>> 0 <= $5 >>> 0) { break label$1 } if ($9 >>> 0 > $4 >>> 0) { break label$1 } } label$51 : { label$52 : { if ((HEAPU8[(0 + 117928 | 0) >> 0] | 0) & 4 | 0) { break label$52 } label$53 : { label$54 : { label$55 : { label$56 : { label$57 : { $4 = HEAP32[(0 + 117508 | 0) >> 2] | 0; if (!$4) { break label$57 } $0 = 117932; label$58 : while (1) { label$59 : { $5 = HEAP32[$0 >> 2] | 0; if ($5 >>> 0 > $4 >>> 0) { break label$59 } if (($5 + (HEAP32[($0 + 4 | 0) >> 2] | 0) | 0) >>> 0 > $4 >>> 0) { break label$56 } } $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; if ($0) { continue label$58 } break label$58; }; } $7 = sbrk(0 | 0) | 0; if (($7 | 0) == (-1 | 0)) { break label$53 } $2 = $8; label$60 : { $0 = HEAP32[(0 + 117960 | 0) >> 2] | 0; $4 = $0 + -1 | 0; if (!($4 & $7 | 0)) { break label$60 } $2 = ($8 - $7 | 0) + (($4 + $7 | 0) & (0 - $0 | 0) | 0) | 0; } if ($2 >>> 0 <= $3 >>> 0) { break label$53 } label$61 : { $0 = HEAP32[(0 + 117924 | 0) >> 2] | 0; if (!$0) { break label$61 } $4 = HEAP32[(0 + 117916 | 0) >> 2] | 0; $5 = $4 + $2 | 0; if ($5 >>> 0 <= $4 >>> 0) { break label$53 } if ($5 >>> 0 > $0 >>> 0) { break label$53 } } $0 = sbrk($2 | 0) | 0; if (($0 | 0) != ($7 | 0)) { break label$55 } break label$51; } $2 = ($2 - $7 | 0) & $11 | 0; $7 = sbrk($2 | 0) | 0; if (($7 | 0) == ((HEAP32[$0 >> 2] | 0) + (HEAP32[($0 + 4 | 0) >> 2] | 0) | 0 | 0)) { break label$54 } $0 = $7; } if (($0 | 0) == (-1 | 0)) { break label$53 } label$62 : { if (($3 + 48 | 0) >>> 0 > $2 >>> 0) { break label$62 } $7 = $0; break label$51; } $4 = HEAP32[(0 + 117964 | 0) >> 2] | 0; $4 = (($6 - $2 | 0) + $4 | 0) & (0 - $4 | 0) | 0; if ((sbrk($4 | 0) | 0 | 0) == (-1 | 0)) { break label$53 } $2 = $4 + $2 | 0; $7 = $0; break label$51; } if (($7 | 0) != (-1 | 0)) { break label$51 } } HEAP32[(0 + 117928 | 0) >> 2] = HEAP32[(0 + 117928 | 0) >> 2] | 0 | 4 | 0; } $7 = sbrk($8 | 0) | 0; $0 = sbrk(0 | 0) | 0; if (($7 | 0) == (-1 | 0)) { break label$9 } if (($0 | 0) == (-1 | 0)) { break label$9 } if ($7 >>> 0 >= $0 >>> 0) { break label$9 } $2 = $0 - $7 | 0; if ($2 >>> 0 <= ($3 + 40 | 0) >>> 0) { break label$9 } } $0 = (HEAP32[(0 + 117916 | 0) >> 2] | 0) + $2 | 0; HEAP32[(0 + 117916 | 0) >> 2] = $0; label$63 : { if ($0 >>> 0 <= (HEAP32[(0 + 117920 | 0) >> 2] | 0) >>> 0) { break label$63 } HEAP32[(0 + 117920 | 0) >> 2] = $0; } label$64 : { label$65 : { $4 = HEAP32[(0 + 117508 | 0) >> 2] | 0; if (!$4) { break label$65 } $0 = 117932; label$66 : while (1) { $5 = HEAP32[$0 >> 2] | 0; $8 = HEAP32[($0 + 4 | 0) >> 2] | 0; if (($7 | 0) == ($5 + $8 | 0 | 0)) { break label$64 } $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; if ($0) { continue label$66 } break label$11; }; } label$67 : { label$68 : { $0 = HEAP32[(0 + 117500 | 0) >> 2] | 0; if (!$0) { break label$68 } if ($7 >>> 0 >= $0 >>> 0) { break label$67 } } HEAP32[(0 + 117500 | 0) >> 2] = $7; } $0 = 0; HEAP32[(0 + 117936 | 0) >> 2] = $2; HEAP32[(0 + 117932 | 0) >> 2] = $7; HEAP32[(0 + 117516 | 0) >> 2] = -1; HEAP32[(0 + 117520 | 0) >> 2] = HEAP32[(0 + 117956 | 0) >> 2] | 0; HEAP32[(0 + 117944 | 0) >> 2] = 0; label$69 : while (1) { $4 = $0 << 3 | 0; $5 = $4 + 117524 | 0; HEAP32[($4 + 117532 | 0) >> 2] = $5; HEAP32[($4 + 117536 | 0) >> 2] = $5; $0 = $0 + 1 | 0; if (($0 | 0) != (32 | 0)) { continue label$69 } break label$69; }; $0 = $2 + -40 | 0; $4 = ($7 + 8 | 0) & 7 | 0 ? (-8 - $7 | 0) & 7 | 0 : 0; $5 = $0 - $4 | 0; HEAP32[(0 + 117496 | 0) >> 2] = $5; $4 = $7 + $4 | 0; HEAP32[(0 + 117508 | 0) >> 2] = $4; HEAP32[($4 + 4 | 0) >> 2] = $5 | 1 | 0; HEAP32[(($7 + $0 | 0) + 4 | 0) >> 2] = 40; HEAP32[(0 + 117512 | 0) >> 2] = HEAP32[(0 + 117972 | 0) >> 2] | 0; break label$10; } if ($4 >>> 0 >= $7 >>> 0) { break label$11 } if ($4 >>> 0 < $5 >>> 0) { break label$11 } if ((HEAP32[($0 + 12 | 0) >> 2] | 0) & 8 | 0) { break label$11 } HEAP32[($0 + 4 | 0) >> 2] = $8 + $2 | 0; $0 = ($4 + 8 | 0) & 7 | 0 ? (-8 - $4 | 0) & 7 | 0 : 0; $5 = $4 + $0 | 0; HEAP32[(0 + 117508 | 0) >> 2] = $5; $7 = (HEAP32[(0 + 117496 | 0) >> 2] | 0) + $2 | 0; $0 = $7 - $0 | 0; HEAP32[(0 + 117496 | 0) >> 2] = $0; HEAP32[($5 + 4 | 0) >> 2] = $0 | 1 | 0; HEAP32[(($4 + $7 | 0) + 4 | 0) >> 2] = 40; HEAP32[(0 + 117512 | 0) >> 2] = HEAP32[(0 + 117972 | 0) >> 2] | 0; break label$10; } $8 = 0; break label$2; } $7 = 0; break label$3; } label$70 : { $8 = HEAP32[(0 + 117500 | 0) >> 2] | 0; if ($7 >>> 0 >= $8 >>> 0) { break label$70 } HEAP32[(0 + 117500 | 0) >> 2] = $7; $8 = $7; } $5 = $7 + $2 | 0; $0 = 117932; label$71 : { label$72 : { label$73 : { label$74 : { label$75 : while (1) { if ((HEAP32[$0 >> 2] | 0 | 0) == ($5 | 0)) { break label$74 } $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; if ($0) { continue label$75 } break label$73; }; } if (!((HEAPU8[($0 + 12 | 0) >> 0] | 0) & 8 | 0)) { break label$72 } } $0 = 117932; label$76 : while (1) { label$77 : { $5 = HEAP32[$0 >> 2] | 0; if ($5 >>> 0 > $4 >>> 0) { break label$77 } $5 = $5 + (HEAP32[($0 + 4 | 0) >> 2] | 0) | 0; if ($5 >>> 0 > $4 >>> 0) { break label$71 } } $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; continue label$76; }; } HEAP32[$0 >> 2] = $7; HEAP32[($0 + 4 | 0) >> 2] = (HEAP32[($0 + 4 | 0) >> 2] | 0) + $2 | 0; $11 = $7 + (($7 + 8 | 0) & 7 | 0 ? (-8 - $7 | 0) & 7 | 0 : 0) | 0; HEAP32[($11 + 4 | 0) >> 2] = $3 | 3 | 0; $2 = $5 + (($5 + 8 | 0) & 7 | 0 ? (-8 - $5 | 0) & 7 | 0 : 0) | 0; $3 = $11 + $3 | 0; $0 = $2 - $3 | 0; label$78 : { if (($2 | 0) != ($4 | 0)) { break label$78 } HEAP32[(0 + 117508 | 0) >> 2] = $3; $0 = (HEAP32[(0 + 117496 | 0) >> 2] | 0) + $0 | 0; HEAP32[(0 + 117496 | 0) >> 2] = $0; HEAP32[($3 + 4 | 0) >> 2] = $0 | 1 | 0; break label$4; } label$79 : { if (($2 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$79 } HEAP32[(0 + 117504 | 0) >> 2] = $3; $0 = (HEAP32[(0 + 117492 | 0) >> 2] | 0) + $0 | 0; HEAP32[(0 + 117492 | 0) >> 2] = $0; HEAP32[($3 + 4 | 0) >> 2] = $0 | 1 | 0; HEAP32[($3 + $0 | 0) >> 2] = $0; break label$4; } $4 = HEAP32[($2 + 4 | 0) >> 2] | 0; if (($4 & 3 | 0 | 0) != (1 | 0)) { break label$5 } $6 = $4 & -8 | 0; label$80 : { if ($4 >>> 0 > 255 >>> 0) { break label$80 } $5 = HEAP32[($2 + 8 | 0) >> 2] | 0; $8 = $4 >>> 3 | 0; $7 = ($8 << 3 | 0) + 117524 | 0; label$81 : { $4 = HEAP32[($2 + 12 | 0) >> 2] | 0; if (($4 | 0) != ($5 | 0)) { break label$81 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $8 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; break label$6; } HEAP32[($5 + 12 | 0) >> 2] = $4; HEAP32[($4 + 8 | 0) >> 2] = $5; break label$6; } $9 = HEAP32[($2 + 24 | 0) >> 2] | 0; label$82 : { $7 = HEAP32[($2 + 12 | 0) >> 2] | 0; if (($7 | 0) == ($2 | 0)) { break label$82 } $4 = HEAP32[($2 + 8 | 0) >> 2] | 0; HEAP32[($4 + 12 | 0) >> 2] = $7; HEAP32[($7 + 8 | 0) >> 2] = $4; break label$7; } label$83 : { $5 = $2 + 20 | 0; $4 = HEAP32[$5 >> 2] | 0; if ($4) { break label$83 } $4 = HEAP32[($2 + 16 | 0) >> 2] | 0; if (!$4) { break label$8 } $5 = $2 + 16 | 0; } label$84 : while (1) { $8 = $5; $7 = $4; $5 = $4 + 20 | 0; $4 = HEAP32[$5 >> 2] | 0; if ($4) { continue label$84 } $5 = $7 + 16 | 0; $4 = HEAP32[($7 + 16 | 0) >> 2] | 0; if ($4) { continue label$84 } break label$84; }; HEAP32[$8 >> 2] = 0; break label$7; } $0 = $2 + -40 | 0; $8 = ($7 + 8 | 0) & 7 | 0 ? (-8 - $7 | 0) & 7 | 0 : 0; $11 = $0 - $8 | 0; HEAP32[(0 + 117496 | 0) >> 2] = $11; $8 = $7 + $8 | 0; HEAP32[(0 + 117508 | 0) >> 2] = $8; HEAP32[($8 + 4 | 0) >> 2] = $11 | 1 | 0; HEAP32[(($7 + $0 | 0) + 4 | 0) >> 2] = 40; HEAP32[(0 + 117512 | 0) >> 2] = HEAP32[(0 + 117972 | 0) >> 2] | 0; $0 = ($5 + (($5 + -39 | 0) & 7 | 0 ? (39 - $5 | 0) & 7 | 0 : 0) | 0) + -47 | 0; $8 = $0 >>> 0 < ($4 + 16 | 0) >>> 0 ? $4 : $0; HEAP32[($8 + 4 | 0) >> 2] = 27; i64toi32_i32$2 = 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 117940 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 117944 | 0) >> 2] | 0; $945 = i64toi32_i32$0; i64toi32_i32$0 = $8 + 16 | 0; HEAP32[i64toi32_i32$0 >> 2] = $945; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$2 = 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 117932 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 117936 | 0) >> 2] | 0; $947 = i64toi32_i32$1; i64toi32_i32$1 = $8; HEAP32[($8 + 8 | 0) >> 2] = $947; HEAP32[($8 + 12 | 0) >> 2] = i64toi32_i32$0; HEAP32[(0 + 117940 | 0) >> 2] = $8 + 8 | 0; HEAP32[(0 + 117936 | 0) >> 2] = $2; HEAP32[(0 + 117932 | 0) >> 2] = $7; HEAP32[(0 + 117944 | 0) >> 2] = 0; $0 = $8 + 24 | 0; label$85 : while (1) { HEAP32[($0 + 4 | 0) >> 2] = 7; $7 = $0 + 8 | 0; $0 = $0 + 4 | 0; if ($7 >>> 0 < $5 >>> 0) { continue label$85 } break label$85; }; if (($8 | 0) == ($4 | 0)) { break label$10 } HEAP32[($8 + 4 | 0) >> 2] = (HEAP32[($8 + 4 | 0) >> 2] | 0) & -2 | 0; $7 = $8 - $4 | 0; HEAP32[($4 + 4 | 0) >> 2] = $7 | 1 | 0; HEAP32[$8 >> 2] = $7; label$86 : { if ($7 >>> 0 > 255 >>> 0) { break label$86 } $0 = ($7 & -8 | 0) + 117524 | 0; label$87 : { label$88 : { $5 = HEAP32[(0 + 117484 | 0) >> 2] | 0; $7 = 1 << ($7 >>> 3 | 0) | 0; if ($5 & $7 | 0) { break label$88 } HEAP32[(0 + 117484 | 0) >> 2] = $5 | $7 | 0; $5 = $0; break label$87; } $5 = HEAP32[($0 + 8 | 0) >> 2] | 0; } HEAP32[($0 + 8 | 0) >> 2] = $4; HEAP32[($5 + 12 | 0) >> 2] = $4; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $5; break label$10; } $0 = 31; label$89 : { if ($7 >>> 0 > 16777215 >>> 0) { break label$89 } $0 = Math_clz32($7 >>> 8 | 0); $0 = ((($7 >>> (38 - $0 | 0) | 0) & 1 | 0) - ($0 << 1 | 0) | 0) + 62 | 0; } HEAP32[($4 + 28 | 0) >> 2] = $0; i64toi32_i32$1 = $4; i64toi32_i32$0 = 0; HEAP32[($4 + 16 | 0) >> 2] = 0; HEAP32[($4 + 20 | 0) >> 2] = i64toi32_i32$0; $5 = ($0 << 2 | 0) + 117788 | 0; label$90 : { label$91 : { label$92 : { $8 = HEAP32[(0 + 117488 | 0) >> 2] | 0; $2 = 1 << $0 | 0; if ($8 & $2 | 0) { break label$92 } HEAP32[(0 + 117488 | 0) >> 2] = $8 | $2 | 0; HEAP32[$5 >> 2] = $4; HEAP32[($4 + 24 | 0) >> 2] = $5; break label$91; } $0 = $7 << (($0 | 0) == (31 | 0) ? 0 : 25 - ($0 >>> 1 | 0) | 0) | 0; $8 = HEAP32[$5 >> 2] | 0; label$93 : while (1) { $5 = $8; if (((HEAP32[($5 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($7 | 0)) { break label$90 } $8 = $0 >>> 29 | 0; $0 = $0 << 1 | 0; $2 = ($5 + ($8 & 4 | 0) | 0) + 16 | 0; $8 = HEAP32[$2 >> 2] | 0; if ($8) { continue label$93 } break label$93; }; HEAP32[$2 >> 2] = $4; HEAP32[($4 + 24 | 0) >> 2] = $5; } HEAP32[($4 + 12 | 0) >> 2] = $4; HEAP32[($4 + 8 | 0) >> 2] = $4; break label$10; } $0 = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($0 + 12 | 0) >> 2] = $4; HEAP32[($5 + 8 | 0) >> 2] = $4; HEAP32[($4 + 24 | 0) >> 2] = 0; HEAP32[($4 + 12 | 0) >> 2] = $5; HEAP32[($4 + 8 | 0) >> 2] = $0; } $0 = HEAP32[(0 + 117496 | 0) >> 2] | 0; if ($0 >>> 0 <= $3 >>> 0) { break label$9 } $4 = $0 - $3 | 0; HEAP32[(0 + 117496 | 0) >> 2] = $4; $0 = HEAP32[(0 + 117508 | 0) >> 2] | 0; $5 = $0 + $3 | 0; HEAP32[(0 + 117508 | 0) >> 2] = $5; HEAP32[($5 + 4 | 0) >> 2] = $4 | 1 | 0; HEAP32[($0 + 4 | 0) >> 2] = $3 | 3 | 0; $0 = $0 + 8 | 0; break label$1; } (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; $0 = 0; break label$1; } $7 = 0; } if (!$9) { break label$6 } label$94 : { label$95 : { $5 = HEAP32[($2 + 28 | 0) >> 2] | 0; $4 = ($5 << 2 | 0) + 117788 | 0; if (($2 | 0) != (HEAP32[$4 >> 2] | 0 | 0)) { break label$95 } HEAP32[$4 >> 2] = $7; if ($7) { break label$94 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; break label$6; } HEAP32[($9 + ((HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0) ? 16 : 20) | 0) >> 2] = $7; if (!$7) { break label$6 } } HEAP32[($7 + 24 | 0) >> 2] = $9; label$96 : { $4 = HEAP32[($2 + 16 | 0) >> 2] | 0; if (!$4) { break label$96 } HEAP32[($7 + 16 | 0) >> 2] = $4; HEAP32[($4 + 24 | 0) >> 2] = $7; } $4 = HEAP32[($2 + 20 | 0) >> 2] | 0; if (!$4) { break label$6 } HEAP32[($7 + 20 | 0) >> 2] = $4; HEAP32[($4 + 24 | 0) >> 2] = $7; } $0 = $6 + $0 | 0; $2 = $2 + $6 | 0; $4 = HEAP32[($2 + 4 | 0) >> 2] | 0; } HEAP32[($2 + 4 | 0) >> 2] = $4 & -2 | 0; HEAP32[($3 + 4 | 0) >> 2] = $0 | 1 | 0; HEAP32[($3 + $0 | 0) >> 2] = $0; label$97 : { if ($0 >>> 0 > 255 >>> 0) { break label$97 } $4 = ($0 & -8 | 0) + 117524 | 0; label$98 : { label$99 : { $5 = HEAP32[(0 + 117484 | 0) >> 2] | 0; $0 = 1 << ($0 >>> 3 | 0) | 0; if ($5 & $0 | 0) { break label$99 } HEAP32[(0 + 117484 | 0) >> 2] = $5 | $0 | 0; $0 = $4; break label$98; } $0 = HEAP32[($4 + 8 | 0) >> 2] | 0; } HEAP32[($4 + 8 | 0) >> 2] = $3; HEAP32[($0 + 12 | 0) >> 2] = $3; HEAP32[($3 + 12 | 0) >> 2] = $4; HEAP32[($3 + 8 | 0) >> 2] = $0; break label$4; } $4 = 31; label$100 : { if ($0 >>> 0 > 16777215 >>> 0) { break label$100 } $4 = Math_clz32($0 >>> 8 | 0); $4 = ((($0 >>> (38 - $4 | 0) | 0) & 1 | 0) - ($4 << 1 | 0) | 0) + 62 | 0; } HEAP32[($3 + 28 | 0) >> 2] = $4; i64toi32_i32$1 = $3; i64toi32_i32$0 = 0; HEAP32[($3 + 16 | 0) >> 2] = 0; HEAP32[($3 + 20 | 0) >> 2] = i64toi32_i32$0; $5 = ($4 << 2 | 0) + 117788 | 0; label$101 : { label$102 : { label$103 : { $7 = HEAP32[(0 + 117488 | 0) >> 2] | 0; $8 = 1 << $4 | 0; if ($7 & $8 | 0) { break label$103 } HEAP32[(0 + 117488 | 0) >> 2] = $7 | $8 | 0; HEAP32[$5 >> 2] = $3; HEAP32[($3 + 24 | 0) >> 2] = $5; break label$102; } $4 = $0 << (($4 | 0) == (31 | 0) ? 0 : 25 - ($4 >>> 1 | 0) | 0) | 0; $7 = HEAP32[$5 >> 2] | 0; label$104 : while (1) { $5 = $7; if (((HEAP32[($7 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($0 | 0)) { break label$101 } $7 = $4 >>> 29 | 0; $4 = $4 << 1 | 0; $8 = ($5 + ($7 & 4 | 0) | 0) + 16 | 0; $7 = HEAP32[$8 >> 2] | 0; if ($7) { continue label$104 } break label$104; }; HEAP32[$8 >> 2] = $3; HEAP32[($3 + 24 | 0) >> 2] = $5; } HEAP32[($3 + 12 | 0) >> 2] = $3; HEAP32[($3 + 8 | 0) >> 2] = $3; break label$4; } $0 = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($0 + 12 | 0) >> 2] = $3; HEAP32[($5 + 8 | 0) >> 2] = $3; HEAP32[($3 + 24 | 0) >> 2] = 0; HEAP32[($3 + 12 | 0) >> 2] = $5; HEAP32[($3 + 8 | 0) >> 2] = $0; } $0 = $11 + 8 | 0; break label$1; } label$105 : { if (!$11) { break label$105 } label$106 : { label$107 : { $5 = HEAP32[($8 + 28 | 0) >> 2] | 0; $0 = ($5 << 2 | 0) + 117788 | 0; if (($8 | 0) != (HEAP32[$0 >> 2] | 0 | 0)) { break label$107 } HEAP32[$0 >> 2] = $7; if ($7) { break label$106 } $6 = $6 & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0; HEAP32[(0 + 117488 | 0) >> 2] = $6; break label$105; } HEAP32[($11 + ((HEAP32[($11 + 16 | 0) >> 2] | 0 | 0) == ($8 | 0) ? 16 : 20) | 0) >> 2] = $7; if (!$7) { break label$105 } } HEAP32[($7 + 24 | 0) >> 2] = $11; label$108 : { $0 = HEAP32[($8 + 16 | 0) >> 2] | 0; if (!$0) { break label$108 } HEAP32[($7 + 16 | 0) >> 2] = $0; HEAP32[($0 + 24 | 0) >> 2] = $7; } $0 = HEAP32[($8 + 20 | 0) >> 2] | 0; if (!$0) { break label$105 } HEAP32[($7 + 20 | 0) >> 2] = $0; HEAP32[($0 + 24 | 0) >> 2] = $7; } label$109 : { label$110 : { if ($4 >>> 0 > 15 >>> 0) { break label$110 } $0 = $4 + $3 | 0; HEAP32[($8 + 4 | 0) >> 2] = $0 | 3 | 0; $0 = $8 + $0 | 0; HEAP32[($0 + 4 | 0) >> 2] = HEAP32[($0 + 4 | 0) >> 2] | 0 | 1 | 0; break label$109; } HEAP32[($8 + 4 | 0) >> 2] = $3 | 3 | 0; $7 = $8 + $3 | 0; HEAP32[($7 + 4 | 0) >> 2] = $4 | 1 | 0; HEAP32[($7 + $4 | 0) >> 2] = $4; label$111 : { if ($4 >>> 0 > 255 >>> 0) { break label$111 } $0 = ($4 & -8 | 0) + 117524 | 0; label$112 : { label$113 : { $5 = HEAP32[(0 + 117484 | 0) >> 2] | 0; $4 = 1 << ($4 >>> 3 | 0) | 0; if ($5 & $4 | 0) { break label$113 } HEAP32[(0 + 117484 | 0) >> 2] = $5 | $4 | 0; $4 = $0; break label$112; } $4 = HEAP32[($0 + 8 | 0) >> 2] | 0; } HEAP32[($0 + 8 | 0) >> 2] = $7; HEAP32[($4 + 12 | 0) >> 2] = $7; HEAP32[($7 + 12 | 0) >> 2] = $0; HEAP32[($7 + 8 | 0) >> 2] = $4; break label$109; } $0 = 31; label$114 : { if ($4 >>> 0 > 16777215 >>> 0) { break label$114 } $0 = Math_clz32($4 >>> 8 | 0); $0 = ((($4 >>> (38 - $0 | 0) | 0) & 1 | 0) - ($0 << 1 | 0) | 0) + 62 | 0; } HEAP32[($7 + 28 | 0) >> 2] = $0; i64toi32_i32$1 = $7; i64toi32_i32$0 = 0; HEAP32[($7 + 16 | 0) >> 2] = 0; HEAP32[($7 + 20 | 0) >> 2] = i64toi32_i32$0; $5 = ($0 << 2 | 0) + 117788 | 0; label$115 : { label$116 : { label$117 : { $3 = 1 << $0 | 0; if ($6 & $3 | 0) { break label$117 } HEAP32[(0 + 117488 | 0) >> 2] = $6 | $3 | 0; HEAP32[$5 >> 2] = $7; HEAP32[($7 + 24 | 0) >> 2] = $5; break label$116; } $0 = $4 << (($0 | 0) == (31 | 0) ? 0 : 25 - ($0 >>> 1 | 0) | 0) | 0; $3 = HEAP32[$5 >> 2] | 0; label$118 : while (1) { $5 = $3; if (((HEAP32[($5 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($4 | 0)) { break label$115 } $3 = $0 >>> 29 | 0; $0 = $0 << 1 | 0; $2 = ($5 + ($3 & 4 | 0) | 0) + 16 | 0; $3 = HEAP32[$2 >> 2] | 0; if ($3) { continue label$118 } break label$118; }; HEAP32[$2 >> 2] = $7; HEAP32[($7 + 24 | 0) >> 2] = $5; } HEAP32[($7 + 12 | 0) >> 2] = $7; HEAP32[($7 + 8 | 0) >> 2] = $7; break label$109; } $0 = HEAP32[($5 + 8 | 0) >> 2] | 0; HEAP32[($0 + 12 | 0) >> 2] = $7; HEAP32[($5 + 8 | 0) >> 2] = $7; HEAP32[($7 + 24 | 0) >> 2] = 0; HEAP32[($7 + 12 | 0) >> 2] = $5; HEAP32[($7 + 8 | 0) >> 2] = $0; } $0 = $8 + 8 | 0; break label$1; } label$119 : { if (!$10) { break label$119 } label$120 : { label$121 : { $5 = HEAP32[($7 + 28 | 0) >> 2] | 0; $0 = ($5 << 2 | 0) + 117788 | 0; if (($7 | 0) != (HEAP32[$0 >> 2] | 0 | 0)) { break label$121 } HEAP32[$0 >> 2] = $8; if ($8) { break label$120 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = $9 & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; break label$119; } HEAP32[($10 + ((HEAP32[($10 + 16 | 0) >> 2] | 0 | 0) == ($7 | 0) ? 16 : 20) | 0) >> 2] = $8; if (!$8) { break label$119 } } HEAP32[($8 + 24 | 0) >> 2] = $10; label$122 : { $0 = HEAP32[($7 + 16 | 0) >> 2] | 0; if (!$0) { break label$122 } HEAP32[($8 + 16 | 0) >> 2] = $0; HEAP32[($0 + 24 | 0) >> 2] = $8; } $0 = HEAP32[($7 + 20 | 0) >> 2] | 0; if (!$0) { break label$119 } HEAP32[($8 + 20 | 0) >> 2] = $0; HEAP32[($0 + 24 | 0) >> 2] = $8; } label$123 : { label$124 : { if ($4 >>> 0 > 15 >>> 0) { break label$124 } $0 = $4 + $3 | 0; HEAP32[($7 + 4 | 0) >> 2] = $0 | 3 | 0; $0 = $7 + $0 | 0; HEAP32[($0 + 4 | 0) >> 2] = HEAP32[($0 + 4 | 0) >> 2] | 0 | 1 | 0; break label$123; } HEAP32[($7 + 4 | 0) >> 2] = $3 | 3 | 0; $5 = $7 + $3 | 0; HEAP32[($5 + 4 | 0) >> 2] = $4 | 1 | 0; HEAP32[($5 + $4 | 0) >> 2] = $4; label$125 : { if (!$6) { break label$125 } $3 = ($6 & -8 | 0) + 117524 | 0; $0 = HEAP32[(0 + 117504 | 0) >> 2] | 0; label$126 : { label$127 : { $8 = 1 << ($6 >>> 3 | 0) | 0; if ($8 & $2 | 0) { break label$127 } HEAP32[(0 + 117484 | 0) >> 2] = $8 | $2 | 0; $8 = $3; break label$126; } $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; } HEAP32[($3 + 8 | 0) >> 2] = $0; HEAP32[($8 + 12 | 0) >> 2] = $0; HEAP32[($0 + 12 | 0) >> 2] = $3; HEAP32[($0 + 8 | 0) >> 2] = $8; } HEAP32[(0 + 117504 | 0) >> 2] = $5; HEAP32[(0 + 117492 | 0) >> 2] = $4; } $0 = $7 + 8 | 0; } __stack_pointer = $1 + 16 | 0; return $0 | 0; } function dlfree($0) { $0 = $0 | 0; var $2 = 0, $1 = 0, $6 = 0, $4 = 0, $3 = 0, $5 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; label$1 : { if (!$0) { break label$1 } $1 = $0 + -8 | 0; $2 = HEAP32[($0 + -4 | 0) >> 2] | 0; $0 = $2 & -8 | 0; $3 = $1 + $0 | 0; label$2 : { if ($2 & 1 | 0) { break label$2 } if (!($2 & 3 | 0)) { break label$1 } $2 = HEAP32[$1 >> 2] | 0; $1 = $1 - $2 | 0; $4 = HEAP32[(0 + 117500 | 0) >> 2] | 0; if ($1 >>> 0 < $4 >>> 0) { break label$1 } $0 = $2 + $0 | 0; label$3 : { label$4 : { label$5 : { if (($1 | 0) == (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$5 } label$6 : { if ($2 >>> 0 > 255 >>> 0) { break label$6 } $4 = HEAP32[($1 + 8 | 0) >> 2] | 0; $5 = $2 >>> 3 | 0; $6 = ($5 << 3 | 0) + 117524 | 0; label$7 : { $2 = HEAP32[($1 + 12 | 0) >> 2] | 0; if (($2 | 0) != ($4 | 0)) { break label$7 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; break label$2; } HEAP32[($4 + 12 | 0) >> 2] = $2; HEAP32[($2 + 8 | 0) >> 2] = $4; break label$2; } $7 = HEAP32[($1 + 24 | 0) >> 2] | 0; label$8 : { $6 = HEAP32[($1 + 12 | 0) >> 2] | 0; if (($6 | 0) == ($1 | 0)) { break label$8 } $2 = HEAP32[($1 + 8 | 0) >> 2] | 0; HEAP32[($2 + 12 | 0) >> 2] = $6; HEAP32[($6 + 8 | 0) >> 2] = $2; break label$3; } label$9 : { $4 = $1 + 20 | 0; $2 = HEAP32[$4 >> 2] | 0; if ($2) { break label$9 } $2 = HEAP32[($1 + 16 | 0) >> 2] | 0; if (!$2) { break label$4 } $4 = $1 + 16 | 0; } label$10 : while (1) { $5 = $4; $6 = $2; $4 = $2 + 20 | 0; $2 = HEAP32[$4 >> 2] | 0; if ($2) { continue label$10 } $4 = $6 + 16 | 0; $2 = HEAP32[($6 + 16 | 0) >> 2] | 0; if ($2) { continue label$10 } break label$10; }; HEAP32[$5 >> 2] = 0; break label$3; } $2 = HEAP32[($3 + 4 | 0) >> 2] | 0; if (($2 & 3 | 0 | 0) != (3 | 0)) { break label$2 } HEAP32[(0 + 117492 | 0) >> 2] = $0; HEAP32[($3 + 4 | 0) >> 2] = $2 & -2 | 0; HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; HEAP32[$3 >> 2] = $0; return; } $6 = 0; } if (!$7) { break label$2 } label$11 : { label$12 : { $4 = HEAP32[($1 + 28 | 0) >> 2] | 0; $2 = ($4 << 2 | 0) + 117788 | 0; if (($1 | 0) != (HEAP32[$2 >> 2] | 0 | 0)) { break label$12 } HEAP32[$2 >> 2] = $6; if ($6) { break label$11 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; break label$2; } HEAP32[($7 + ((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) == ($1 | 0) ? 16 : 20) | 0) >> 2] = $6; if (!$6) { break label$2 } } HEAP32[($6 + 24 | 0) >> 2] = $7; label$13 : { $2 = HEAP32[($1 + 16 | 0) >> 2] | 0; if (!$2) { break label$13 } HEAP32[($6 + 16 | 0) >> 2] = $2; HEAP32[($2 + 24 | 0) >> 2] = $6; } $2 = HEAP32[($1 + 20 | 0) >> 2] | 0; if (!$2) { break label$2 } HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($2 + 24 | 0) >> 2] = $6; } if ($1 >>> 0 >= $3 >>> 0) { break label$1 } $2 = HEAP32[($3 + 4 | 0) >> 2] | 0; if (!($2 & 1 | 0)) { break label$1 } label$14 : { label$15 : { label$16 : { label$17 : { label$18 : { if ($2 & 2 | 0) { break label$18 } label$19 : { if (($3 | 0) != (HEAP32[(0 + 117508 | 0) >> 2] | 0 | 0)) { break label$19 } HEAP32[(0 + 117508 | 0) >> 2] = $1; $0 = (HEAP32[(0 + 117496 | 0) >> 2] | 0) + $0 | 0; HEAP32[(0 + 117496 | 0) >> 2] = $0; HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; if (($1 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$1 } HEAP32[(0 + 117492 | 0) >> 2] = 0; HEAP32[(0 + 117504 | 0) >> 2] = 0; return; } label$20 : { if (($3 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$20 } HEAP32[(0 + 117504 | 0) >> 2] = $1; $0 = (HEAP32[(0 + 117492 | 0) >> 2] | 0) + $0 | 0; HEAP32[(0 + 117492 | 0) >> 2] = $0; HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; HEAP32[($1 + $0 | 0) >> 2] = $0; return; } $0 = ($2 & -8 | 0) + $0 | 0; label$21 : { if ($2 >>> 0 > 255 >>> 0) { break label$21 } $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; $5 = $2 >>> 3 | 0; $6 = ($5 << 3 | 0) + 117524 | 0; label$22 : { $2 = HEAP32[($3 + 12 | 0) >> 2] | 0; if (($2 | 0) != ($4 | 0)) { break label$22 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; break label$15; } HEAP32[($4 + 12 | 0) >> 2] = $2; HEAP32[($2 + 8 | 0) >> 2] = $4; break label$15; } $7 = HEAP32[($3 + 24 | 0) >> 2] | 0; label$23 : { $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; if (($6 | 0) == ($3 | 0)) { break label$23 } $2 = HEAP32[($3 + 8 | 0) >> 2] | 0; HEAP32[(0 + 117500 | 0) >> 2] | 0; HEAP32[($2 + 12 | 0) >> 2] = $6; HEAP32[($6 + 8 | 0) >> 2] = $2; break label$16; } label$24 : { $4 = $3 + 20 | 0; $2 = HEAP32[$4 >> 2] | 0; if ($2) { break label$24 } $2 = HEAP32[($3 + 16 | 0) >> 2] | 0; if (!$2) { break label$17 } $4 = $3 + 16 | 0; } label$25 : while (1) { $5 = $4; $6 = $2; $4 = $2 + 20 | 0; $2 = HEAP32[$4 >> 2] | 0; if ($2) { continue label$25 } $4 = $6 + 16 | 0; $2 = HEAP32[($6 + 16 | 0) >> 2] | 0; if ($2) { continue label$25 } break label$25; }; HEAP32[$5 >> 2] = 0; break label$16; } HEAP32[($3 + 4 | 0) >> 2] = $2 & -2 | 0; HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; HEAP32[($1 + $0 | 0) >> 2] = $0; break label$14; } $6 = 0; } if (!$7) { break label$15 } label$26 : { label$27 : { $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; $2 = ($4 << 2 | 0) + 117788 | 0; if (($3 | 0) != (HEAP32[$2 >> 2] | 0 | 0)) { break label$27 } HEAP32[$2 >> 2] = $6; if ($6) { break label$26 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; break label$15; } HEAP32[($7 + ((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) == ($3 | 0) ? 16 : 20) | 0) >> 2] = $6; if (!$6) { break label$15 } } HEAP32[($6 + 24 | 0) >> 2] = $7; label$28 : { $2 = HEAP32[($3 + 16 | 0) >> 2] | 0; if (!$2) { break label$28 } HEAP32[($6 + 16 | 0) >> 2] = $2; HEAP32[($2 + 24 | 0) >> 2] = $6; } $2 = HEAP32[($3 + 20 | 0) >> 2] | 0; if (!$2) { break label$15 } HEAP32[($6 + 20 | 0) >> 2] = $2; HEAP32[($2 + 24 | 0) >> 2] = $6; } HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; HEAP32[($1 + $0 | 0) >> 2] = $0; if (($1 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$14 } HEAP32[(0 + 117492 | 0) >> 2] = $0; return; } label$29 : { if ($0 >>> 0 > 255 >>> 0) { break label$29 } $2 = ($0 & -8 | 0) + 117524 | 0; label$30 : { label$31 : { $4 = HEAP32[(0 + 117484 | 0) >> 2] | 0; $0 = 1 << ($0 >>> 3 | 0) | 0; if ($4 & $0 | 0) { break label$31 } HEAP32[(0 + 117484 | 0) >> 2] = $4 | $0 | 0; $0 = $2; break label$30; } $0 = HEAP32[($2 + 8 | 0) >> 2] | 0; } HEAP32[($2 + 8 | 0) >> 2] = $1; HEAP32[($0 + 12 | 0) >> 2] = $1; HEAP32[($1 + 12 | 0) >> 2] = $2; HEAP32[($1 + 8 | 0) >> 2] = $0; return; } $2 = 31; label$32 : { if ($0 >>> 0 > 16777215 >>> 0) { break label$32 } $2 = Math_clz32($0 >>> 8 | 0); $2 = ((($0 >>> (38 - $2 | 0) | 0) & 1 | 0) - ($2 << 1 | 0) | 0) + 62 | 0; } HEAP32[($1 + 28 | 0) >> 2] = $2; HEAP32[($1 + 16 | 0) >> 2] = 0; HEAP32[($1 + 20 | 0) >> 2] = 0; $4 = ($2 << 2 | 0) + 117788 | 0; label$33 : { label$34 : { label$35 : { label$36 : { $6 = HEAP32[(0 + 117488 | 0) >> 2] | 0; $3 = 1 << $2 | 0; if ($6 & $3 | 0) { break label$36 } HEAP32[(0 + 117488 | 0) >> 2] = $6 | $3 | 0; HEAP32[$4 >> 2] = $1; HEAP32[($1 + 24 | 0) >> 2] = $4; break label$35; } $2 = $0 << (($2 | 0) == (31 | 0) ? 0 : 25 - ($2 >>> 1 | 0) | 0) | 0; $6 = HEAP32[$4 >> 2] | 0; label$37 : while (1) { $4 = $6; if (((HEAP32[($6 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($0 | 0)) { break label$34 } $6 = $2 >>> 29 | 0; $2 = $2 << 1 | 0; $3 = ($4 + ($6 & 4 | 0) | 0) + 16 | 0; $6 = HEAP32[$3 >> 2] | 0; if ($6) { continue label$37 } break label$37; }; HEAP32[$3 >> 2] = $1; HEAP32[($1 + 24 | 0) >> 2] = $4; } HEAP32[($1 + 12 | 0) >> 2] = $1; HEAP32[($1 + 8 | 0) >> 2] = $1; break label$33; } $0 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($0 + 12 | 0) >> 2] = $1; HEAP32[($4 + 8 | 0) >> 2] = $1; HEAP32[($1 + 24 | 0) >> 2] = 0; HEAP32[($1 + 12 | 0) >> 2] = $4; HEAP32[($1 + 8 | 0) >> 2] = $0; } $1 = (HEAP32[(0 + 117516 | 0) >> 2] | 0) + -1 | 0; HEAP32[(0 + 117516 | 0) >> 2] = $1 ? $1 : -1; } } function internal_memalign($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0, $3 = 0, $6 = 0, $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $2 = 16; label$1 : { label$2 : { $3 = $0 >>> 0 > 16 >>> 0 ? $0 : 16; if ($3 & ($3 + -1 | 0) | 0) { break label$2 } $0 = $3; break label$1; } label$3 : while (1) { $0 = $2; $2 = $0 << 1 | 0; if ($0 >>> 0 < $3 >>> 0) { continue label$3 } break label$3; }; } label$4 : { if ((-64 - $0 | 0) >>> 0 > $1 >>> 0) { break label$4 } (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; return 0 | 0; } label$5 : { $1 = $1 >>> 0 < 11 >>> 0 ? 16 : ($1 + 11 | 0) & -8 | 0; $2 = dlmalloc(($1 + $0 | 0) + 12 | 0 | 0) | 0; if ($2) { break label$5 } return 0 | 0; } $3 = $2 + -8 | 0; label$6 : { label$7 : { if (($0 + -1 | 0) & $2 | 0) { break label$7 } $0 = $3; break label$6; } $4 = $2 + -4 | 0; $5 = HEAP32[$4 >> 2] | 0; $2 = ((($2 + $0 | 0) + -1 | 0) & (0 - $0 | 0) | 0) + -8 | 0; $0 = $2 + (($2 - $3 | 0) >>> 0 > 15 >>> 0 ? 0 : $0) | 0; $2 = $0 - $3 | 0; $6 = ($5 & -8 | 0) - $2 | 0; label$8 : { if ($5 & 3 | 0) { break label$8 } $3 = HEAP32[$3 >> 2] | 0; HEAP32[($0 + 4 | 0) >> 2] = $6; HEAP32[$0 >> 2] = $3 + $2 | 0; break label$6; } HEAP32[($0 + 4 | 0) >> 2] = $6 | ((HEAP32[($0 + 4 | 0) >> 2] | 0) & 1 | 0) | 0 | 2 | 0; $6 = $0 + $6 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0 | 1 | 0; HEAP32[$4 >> 2] = $2 | ((HEAP32[$4 >> 2] | 0) & 1 | 0) | 0 | 2 | 0; $6 = $3 + $2 | 0; HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0 | 1 | 0; dispose_chunk($3 | 0, $2 | 0); } label$9 : { $2 = HEAP32[($0 + 4 | 0) >> 2] | 0; if (!($2 & 3 | 0)) { break label$9 } $3 = $2 & -8 | 0; if ($3 >>> 0 <= ($1 + 16 | 0) >>> 0) { break label$9 } HEAP32[($0 + 4 | 0) >> 2] = $1 | ($2 & 1 | 0) | 0 | 2 | 0; $2 = $0 + $1 | 0; $1 = $3 - $1 | 0; HEAP32[($2 + 4 | 0) >> 2] = $1 | 3 | 0; $3 = $0 + $3 | 0; HEAP32[($3 + 4 | 0) >> 2] = HEAP32[($3 + 4 | 0) >> 2] | 0 | 1 | 0; dispose_chunk($2 | 0, $1 | 0); } return $0 + 8 | 0 | 0; } function dlposix_memalign($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, $4 = 0; label$1 : { label$2 : { label$3 : { if (($1 | 0) != (8 | 0)) { break label$3 } $1 = dlmalloc($2 | 0) | 0; break label$2; } $3 = 28; if ($1 >>> 0 < 4 >>> 0) { break label$1 } if ($1 & 3 | 0) { break label$1 } $4 = $1 >>> 2 | 0; if ($4 & ($4 + -1 | 0) | 0) { break label$1 } $3 = 48; if ((-64 - $1 | 0) >>> 0 < $2 >>> 0) { break label$1 } $1 = internal_memalign(($1 >>> 0 > 16 >>> 0 ? $1 : 16) | 0, $2 | 0) | 0; } label$4 : { if ($1) { break label$4 } return 48 | 0; } HEAP32[$0 >> 2] = $1; $3 = 0; } return $3 | 0; } function dispose_chunk($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $3 = 0, $6 = 0, $4 = 0, $2 = 0, $5 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $2 = $0 + $1 | 0; label$1 : { label$2 : { $3 = HEAP32[($0 + 4 | 0) >> 2] | 0; if ($3 & 1 | 0) { break label$2 } if (!($3 & 3 | 0)) { break label$1 } $3 = HEAP32[$0 >> 2] | 0; $1 = $3 + $1 | 0; label$3 : { label$4 : { label$5 : { label$6 : { $0 = $0 - $3 | 0; if (($0 | 0) == (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$6 } label$7 : { if ($3 >>> 0 > 255 >>> 0) { break label$7 } $4 = HEAP32[($0 + 8 | 0) >> 2] | 0; $5 = $3 >>> 3 | 0; $6 = ($5 << 3 | 0) + 117524 | 0; $3 = HEAP32[($0 + 12 | 0) >> 2] | 0; if (($3 | 0) != ($4 | 0)) { break label$5 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; break label$2; } $7 = HEAP32[($0 + 24 | 0) >> 2] | 0; label$8 : { $6 = HEAP32[($0 + 12 | 0) >> 2] | 0; if (($6 | 0) == ($0 | 0)) { break label$8 } $3 = HEAP32[($0 + 8 | 0) >> 2] | 0; HEAP32[(0 + 117500 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $6; HEAP32[($6 + 8 | 0) >> 2] = $3; break label$3; } label$9 : { $4 = $0 + 20 | 0; $3 = HEAP32[$4 >> 2] | 0; if ($3) { break label$9 } $3 = HEAP32[($0 + 16 | 0) >> 2] | 0; if (!$3) { break label$4 } $4 = $0 + 16 | 0; } label$10 : while (1) { $5 = $4; $6 = $3; $4 = $3 + 20 | 0; $3 = HEAP32[$4 >> 2] | 0; if ($3) { continue label$10 } $4 = $6 + 16 | 0; $3 = HEAP32[($6 + 16 | 0) >> 2] | 0; if ($3) { continue label$10 } break label$10; }; HEAP32[$5 >> 2] = 0; break label$3; } $3 = HEAP32[($2 + 4 | 0) >> 2] | 0; if (($3 & 3 | 0 | 0) != (3 | 0)) { break label$2 } HEAP32[(0 + 117492 | 0) >> 2] = $1; HEAP32[($2 + 4 | 0) >> 2] = $3 & -2 | 0; HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; HEAP32[$2 >> 2] = $1; return; } HEAP32[($4 + 12 | 0) >> 2] = $3; HEAP32[($3 + 8 | 0) >> 2] = $4; break label$2; } $6 = 0; } if (!$7) { break label$2 } label$11 : { label$12 : { $4 = HEAP32[($0 + 28 | 0) >> 2] | 0; $3 = ($4 << 2 | 0) + 117788 | 0; if (($0 | 0) != (HEAP32[$3 >> 2] | 0 | 0)) { break label$12 } HEAP32[$3 >> 2] = $6; if ($6) { break label$11 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; break label$2; } HEAP32[($7 + ((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) == ($0 | 0) ? 16 : 20) | 0) >> 2] = $6; if (!$6) { break label$2 } } HEAP32[($6 + 24 | 0) >> 2] = $7; label$13 : { $3 = HEAP32[($0 + 16 | 0) >> 2] | 0; if (!$3) { break label$13 } HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($3 + 24 | 0) >> 2] = $6; } $3 = HEAP32[($0 + 20 | 0) >> 2] | 0; if (!$3) { break label$2 } HEAP32[($6 + 20 | 0) >> 2] = $3; HEAP32[($3 + 24 | 0) >> 2] = $6; } label$14 : { label$15 : { label$16 : { label$17 : { label$18 : { $3 = HEAP32[($2 + 4 | 0) >> 2] | 0; if ($3 & 2 | 0) { break label$18 } label$19 : { if (($2 | 0) != (HEAP32[(0 + 117508 | 0) >> 2] | 0 | 0)) { break label$19 } HEAP32[(0 + 117508 | 0) >> 2] = $0; $1 = (HEAP32[(0 + 117496 | 0) >> 2] | 0) + $1 | 0; HEAP32[(0 + 117496 | 0) >> 2] = $1; HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; if (($0 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$1 } HEAP32[(0 + 117492 | 0) >> 2] = 0; HEAP32[(0 + 117504 | 0) >> 2] = 0; return; } label$20 : { if (($2 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$20 } HEAP32[(0 + 117504 | 0) >> 2] = $0; $1 = (HEAP32[(0 + 117492 | 0) >> 2] | 0) + $1 | 0; HEAP32[(0 + 117492 | 0) >> 2] = $1; HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; HEAP32[($0 + $1 | 0) >> 2] = $1; return; } $1 = ($3 & -8 | 0) + $1 | 0; label$21 : { if ($3 >>> 0 > 255 >>> 0) { break label$21 } $4 = HEAP32[($2 + 8 | 0) >> 2] | 0; $5 = $3 >>> 3 | 0; $6 = ($5 << 3 | 0) + 117524 | 0; label$22 : { $3 = HEAP32[($2 + 12 | 0) >> 2] | 0; if (($3 | 0) != ($4 | 0)) { break label$22 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; break label$15; } HEAP32[($4 + 12 | 0) >> 2] = $3; HEAP32[($3 + 8 | 0) >> 2] = $4; break label$15; } $7 = HEAP32[($2 + 24 | 0) >> 2] | 0; label$23 : { $6 = HEAP32[($2 + 12 | 0) >> 2] | 0; if (($6 | 0) == ($2 | 0)) { break label$23 } $3 = HEAP32[($2 + 8 | 0) >> 2] | 0; HEAP32[(0 + 117500 | 0) >> 2] | 0; HEAP32[($3 + 12 | 0) >> 2] = $6; HEAP32[($6 + 8 | 0) >> 2] = $3; break label$16; } label$24 : { $4 = $2 + 20 | 0; $3 = HEAP32[$4 >> 2] | 0; if ($3) { break label$24 } $3 = HEAP32[($2 + 16 | 0) >> 2] | 0; if (!$3) { break label$17 } $4 = $2 + 16 | 0; } label$25 : while (1) { $5 = $4; $6 = $3; $4 = $3 + 20 | 0; $3 = HEAP32[$4 >> 2] | 0; if ($3) { continue label$25 } $4 = $6 + 16 | 0; $3 = HEAP32[($6 + 16 | 0) >> 2] | 0; if ($3) { continue label$25 } break label$25; }; HEAP32[$5 >> 2] = 0; break label$16; } HEAP32[($2 + 4 | 0) >> 2] = $3 & -2 | 0; HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; HEAP32[($0 + $1 | 0) >> 2] = $1; break label$14; } $6 = 0; } if (!$7) { break label$15 } label$26 : { label$27 : { $4 = HEAP32[($2 + 28 | 0) >> 2] | 0; $3 = ($4 << 2 | 0) + 117788 | 0; if (($2 | 0) != (HEAP32[$3 >> 2] | 0 | 0)) { break label$27 } HEAP32[$3 >> 2] = $6; if ($6) { break label$26 } (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; break label$15; } HEAP32[($7 + ((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0) ? 16 : 20) | 0) >> 2] = $6; if (!$6) { break label$15 } } HEAP32[($6 + 24 | 0) >> 2] = $7; label$28 : { $3 = HEAP32[($2 + 16 | 0) >> 2] | 0; if (!$3) { break label$28 } HEAP32[($6 + 16 | 0) >> 2] = $3; HEAP32[($3 + 24 | 0) >> 2] = $6; } $3 = HEAP32[($2 + 20 | 0) >> 2] | 0; if (!$3) { break label$15 } HEAP32[($6 + 20 | 0) >> 2] = $3; HEAP32[($3 + 24 | 0) >> 2] = $6; } HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; HEAP32[($0 + $1 | 0) >> 2] = $1; if (($0 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { break label$14 } HEAP32[(0 + 117492 | 0) >> 2] = $1; return; } label$29 : { if ($1 >>> 0 > 255 >>> 0) { break label$29 } $3 = ($1 & -8 | 0) + 117524 | 0; label$30 : { label$31 : { $4 = HEAP32[(0 + 117484 | 0) >> 2] | 0; $1 = 1 << ($1 >>> 3 | 0) | 0; if ($4 & $1 | 0) { break label$31 } HEAP32[(0 + 117484 | 0) >> 2] = $4 | $1 | 0; $1 = $3; break label$30; } $1 = HEAP32[($3 + 8 | 0) >> 2] | 0; } HEAP32[($3 + 8 | 0) >> 2] = $0; HEAP32[($1 + 12 | 0) >> 2] = $0; HEAP32[($0 + 12 | 0) >> 2] = $3; HEAP32[($0 + 8 | 0) >> 2] = $1; return; } $3 = 31; label$32 : { if ($1 >>> 0 > 16777215 >>> 0) { break label$32 } $3 = Math_clz32($1 >>> 8 | 0); $3 = ((($1 >>> (38 - $3 | 0) | 0) & 1 | 0) - ($3 << 1 | 0) | 0) + 62 | 0; } HEAP32[($0 + 28 | 0) >> 2] = $3; HEAP32[($0 + 16 | 0) >> 2] = 0; HEAP32[($0 + 20 | 0) >> 2] = 0; $4 = ($3 << 2 | 0) + 117788 | 0; label$33 : { label$34 : { label$35 : { $6 = HEAP32[(0 + 117488 | 0) >> 2] | 0; $2 = 1 << $3 | 0; if ($6 & $2 | 0) { break label$35 } HEAP32[(0 + 117488 | 0) >> 2] = $6 | $2 | 0; HEAP32[$4 >> 2] = $0; HEAP32[($0 + 24 | 0) >> 2] = $4; break label$34; } $3 = $1 << (($3 | 0) == (31 | 0) ? 0 : 25 - ($3 >>> 1 | 0) | 0) | 0; $6 = HEAP32[$4 >> 2] | 0; label$36 : while (1) { $4 = $6; if (((HEAP32[($6 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($1 | 0)) { break label$33 } $6 = $3 >>> 29 | 0; $3 = $3 << 1 | 0; $2 = ($4 + ($6 & 4 | 0) | 0) + 16 | 0; $6 = HEAP32[$2 >> 2] | 0; if ($6) { continue label$36 } break label$36; }; HEAP32[$2 >> 2] = $0; HEAP32[($0 + 24 | 0) >> 2] = $4; } HEAP32[($0 + 12 | 0) >> 2] = $0; HEAP32[($0 + 8 | 0) >> 2] = $0; return; } $1 = HEAP32[($4 + 8 | 0) >> 2] | 0; HEAP32[($1 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $0; HEAP32[($0 + 24 | 0) >> 2] = 0; HEAP32[($0 + 12 | 0) >> 2] = $4; HEAP32[($0 + 8 | 0) >> 2] = $1; } } function __ashlti3($0, $1, $1$hi, $2, $2$hi, $3) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; $3 = $3 | 0; var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4$hi = 0, $18 = 0, $20 = 0, $21 = 0, $22 = 0, $11$hi = 0, $18$hi = 0, $19 = 0, $19$hi = 0, $4 = 0, $24$hi = 0; label$1 : { label$2 : { if (!($3 & 64 | 0)) { break label$2 } i64toi32_i32$0 = $1$hi; i64toi32_i32$0 = 0; $11$hi = i64toi32_i32$0; i64toi32_i32$0 = $1$hi; i64toi32_i32$2 = $1; i64toi32_i32$1 = $11$hi; i64toi32_i32$3 = $3 + -64 | 0; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; $18 = 0; } else { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; $18 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } $2 = $18; $2$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $1 = 0; $1$hi = i64toi32_i32$1; break label$1; } if (!$3) { break label$1 } i64toi32_i32$1 = $1$hi; i64toi32_i32$1 = 0; $18$hi = i64toi32_i32$1; i64toi32_i32$1 = $1$hi; i64toi32_i32$0 = $1; i64toi32_i32$2 = $18$hi; i64toi32_i32$3 = 64 - $3 | 0; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; $20 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; $20 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } $19 = $20; $19$hi = i64toi32_i32$2; i64toi32_i32$2 = $2$hi; i64toi32_i32$2 = 0; $4 = $3; $4$hi = i64toi32_i32$2; i64toi32_i32$2 = $2$hi; i64toi32_i32$1 = $2; i64toi32_i32$0 = $4$hi; i64toi32_i32$3 = $3; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; $21 = 0; } else { i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; $21 = i64toi32_i32$1 << i64toi32_i32$4 | 0; } $24$hi = i64toi32_i32$0; i64toi32_i32$0 = $19$hi; i64toi32_i32$2 = $19; i64toi32_i32$1 = $24$hi; i64toi32_i32$3 = $21; i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; $2 = i64toi32_i32$2 | i64toi32_i32$3 | 0; $2$hi = i64toi32_i32$1; i64toi32_i32$1 = $1$hi; i64toi32_i32$1 = $4$hi; i64toi32_i32$1 = $1$hi; i64toi32_i32$0 = $1; i64toi32_i32$2 = $4$hi; i64toi32_i32$3 = $4; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; $22 = 0; } else { i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; $22 = i64toi32_i32$0 << i64toi32_i32$4 | 0; } $1 = $22; $1$hi = i64toi32_i32$2; } i64toi32_i32$2 = $1$hi; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $1; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$2 = $2$hi; HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2; HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; } function __lshrti3($0, $1, $1$hi, $2, $2$hi, $3) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $2$hi = $2$hi | 0; $3 = $3 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4$hi = 0, $18 = 0, $20 = 0, $21 = 0, $22 = 0, $11$hi = 0, $18$hi = 0, $19 = 0, $19$hi = 0, $4 = 0, $24$hi = 0; label$1 : { label$2 : { if (!($3 & 64 | 0)) { break label$2 } i64toi32_i32$0 = $2$hi; i64toi32_i32$0 = 0; $11$hi = i64toi32_i32$0; i64toi32_i32$0 = $2$hi; i64toi32_i32$2 = $2; i64toi32_i32$1 = $11$hi; i64toi32_i32$3 = $3 + -64 | 0; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $18 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; $18 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; } $1 = $18; $1$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; $2 = 0; $2$hi = i64toi32_i32$1; break label$1; } if (!$3) { break label$1 } i64toi32_i32$1 = $2$hi; i64toi32_i32$1 = 0; $18$hi = i64toi32_i32$1; i64toi32_i32$1 = $2$hi; i64toi32_i32$0 = $2; i64toi32_i32$2 = $18$hi; i64toi32_i32$3 = 64 - $3 | 0; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; $20 = 0; } else { i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; $20 = i64toi32_i32$0 << i64toi32_i32$4 | 0; } $19 = $20; $19$hi = i64toi32_i32$2; i64toi32_i32$2 = $1$hi; i64toi32_i32$2 = 0; $4 = $3; $4$hi = i64toi32_i32$2; i64toi32_i32$2 = $1$hi; i64toi32_i32$1 = $1; i64toi32_i32$0 = $4$hi; i64toi32_i32$3 = $3; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$0 = 0; $21 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; } $24$hi = i64toi32_i32$0; i64toi32_i32$0 = $19$hi; i64toi32_i32$2 = $19; i64toi32_i32$1 = $24$hi; i64toi32_i32$3 = $21; i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; $1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; $1$hi = i64toi32_i32$1; i64toi32_i32$1 = $2$hi; i64toi32_i32$1 = $4$hi; i64toi32_i32$1 = $2$hi; i64toi32_i32$0 = $2; i64toi32_i32$2 = $4$hi; i64toi32_i32$3 = $4; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } $2 = $22; $2$hi = i64toi32_i32$2; } i64toi32_i32$2 = $1$hi; i64toi32_i32$0 = $0; HEAP32[i64toi32_i32$0 >> 2] = $1; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$2 = $2$hi; HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2; HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; } function __trunctfdf2($0, $0$hi, $1, $1$hi) { $0 = $0 | 0; $0$hi = $0$hi | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $3 = 0, $3$hi = 0, $4$hi = 0, $4 = 0, $2 = 0, $5 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $12 = 0, $12$hi = 0, $14$hi = 0, $17 = 0, $17$hi = 0, $19$hi = 0, $33 = 0, $33$hi = 0, $36 = 0, $38 = 0, $43 = 0, $43$hi = 0, $45$hi = 0, $73 = 0, $73$hi = 0, $77$hi = 0, $80 = 0, $80$hi = 0, $82 = 0, $82$hi = 0, $86 = 0, $86$hi = 0, $88 = 0, $89$hi = 0, $98$hi = 0, $105 = 0, $105$hi = 0; $2 = __stack_pointer - 32 | 0; __stack_pointer = $2; label$1 : { label$2 : { i64toi32_i32$0 = $1$hi; i64toi32_i32$2 = $1; i64toi32_i32$1 = 2147483647; i64toi32_i32$3 = -1; i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; $3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; $3$hi = i64toi32_i32$1; i64toi32_i32$0 = $3; i64toi32_i32$2 = -1006698496; i64toi32_i32$3 = 0; i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } $12 = i64toi32_i32$4; $12$hi = i64toi32_i32$5; i64toi32_i32$5 = $3$hi; i64toi32_i32$1 = $3; i64toi32_i32$0 = -1140785152; i64toi32_i32$3 = 0; i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } $14$hi = i64toi32_i32$4; i64toi32_i32$4 = $12$hi; i64toi32_i32$5 = $12; i64toi32_i32$1 = $14$hi; i64toi32_i32$3 = i64toi32_i32$2; if (i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 >= i64toi32_i32$2 >>> 0 | 0) | 0) { break label$2 } i64toi32_i32$5 = $0$hi; i64toi32_i32$3 = $0; i64toi32_i32$4 = 0; i64toi32_i32$1 = 60; i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { i64toi32_i32$4 = 0; $44 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; } else { i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; $44 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; } $17 = $44; $17$hi = i64toi32_i32$4; i64toi32_i32$4 = $1$hi; i64toi32_i32$5 = $1; i64toi32_i32$3 = 0; i64toi32_i32$1 = 4; i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$0 | 0; $45 = 0; } else { i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; $45 = i64toi32_i32$5 << i64toi32_i32$0 | 0; } $19$hi = i64toi32_i32$3; i64toi32_i32$3 = $17$hi; i64toi32_i32$4 = $17; i64toi32_i32$5 = $19$hi; i64toi32_i32$1 = $45; i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; $3 = i64toi32_i32$4 | i64toi32_i32$1 | 0; $3$hi = i64toi32_i32$5; label$3 : { i64toi32_i32$5 = $0$hi; i64toi32_i32$3 = $0; i64toi32_i32$4 = 268435455; i64toi32_i32$1 = -1; i64toi32_i32$4 = i64toi32_i32$5 & i64toi32_i32$4 | 0; $0 = i64toi32_i32$3 & i64toi32_i32$1 | 0; $0$hi = i64toi32_i32$4; i64toi32_i32$5 = $0; i64toi32_i32$3 = 134217728; i64toi32_i32$1 = 1; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0) { break label$3 } i64toi32_i32$5 = $3$hi; i64toi32_i32$1 = $3; i64toi32_i32$4 = 1073741824; i64toi32_i32$3 = 1; i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 } $4 = i64toi32_i32$0; $4$hi = i64toi32_i32$2; break label$1; } i64toi32_i32$2 = $3$hi; i64toi32_i32$5 = $3; i64toi32_i32$1 = 1073741824; i64toi32_i32$3 = 0; i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 } $4 = i64toi32_i32$4; $4$hi = i64toi32_i32$0; i64toi32_i32$0 = $0$hi; i64toi32_i32$2 = $0; i64toi32_i32$5 = 134217728; i64toi32_i32$3 = 0; if ((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$5 | 0) | 0) { break label$1 } i64toi32_i32$2 = $4$hi; i64toi32_i32$2 = $3$hi; i64toi32_i32$3 = $3; i64toi32_i32$0 = 0; i64toi32_i32$5 = 1; i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; $33 = i64toi32_i32$3 & i64toi32_i32$5 | 0; $33$hi = i64toi32_i32$0; i64toi32_i32$0 = $4$hi; i64toi32_i32$2 = $4; i64toi32_i32$3 = $33$hi; i64toi32_i32$5 = $33; i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 } $4 = i64toi32_i32$1; $4$hi = i64toi32_i32$4; break label$1; } label$4 : { i64toi32_i32$4 = $0$hi; $36 = !($0 | i64toi32_i32$4 | 0); i64toi32_i32$4 = $3$hi; i64toi32_i32$0 = $3; i64toi32_i32$2 = 2147418112; i64toi32_i32$5 = 0; $38 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$4; i64toi32_i32$5 = $3; i64toi32_i32$4 = 2147418112; i64toi32_i32$2 = 0; if ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0 ? $36 : $38) { break label$4 } i64toi32_i32$5 = $0$hi; i64toi32_i32$2 = $0; i64toi32_i32$0 = 0; i64toi32_i32$4 = 60; i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { i64toi32_i32$0 = 0; $46 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; } else { i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$3 | 0) | 0; } $43 = $46; $43$hi = i64toi32_i32$0; i64toi32_i32$0 = $1$hi; i64toi32_i32$5 = $1; i64toi32_i32$2 = 0; i64toi32_i32$4 = 4; i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$3 | 0; $47 = 0; } else { i64toi32_i32$2 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$3 | 0) | 0; $47 = i64toi32_i32$5 << i64toi32_i32$3 | 0; } $45$hi = i64toi32_i32$2; i64toi32_i32$2 = $43$hi; i64toi32_i32$0 = $43; i64toi32_i32$5 = $45$hi; i64toi32_i32$4 = $47; i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$4 | 0; i64toi32_i32$0 = 524287; i64toi32_i32$4 = -1; i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0; i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$4 | 0; i64toi32_i32$2 = 2146959360; i64toi32_i32$4 = 0; i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; $4 = i64toi32_i32$5 | i64toi32_i32$4 | 0; $4$hi = i64toi32_i32$2; break label$1; } i64toi32_i32$2 = 2146435072; $4 = 0; $4$hi = i64toi32_i32$2; i64toi32_i32$2 = $3$hi; i64toi32_i32$0 = $3; i64toi32_i32$5 = 1140785151; i64toi32_i32$4 = -1; if (i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$4 >>> 0 | 0) | 0) { break label$1 } i64toi32_i32$0 = 0; $4 = 0; $4$hi = i64toi32_i32$0; i64toi32_i32$0 = $3$hi; i64toi32_i32$4 = $3; i64toi32_i32$2 = 0; i64toi32_i32$5 = 48; i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; $48 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; } else { i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; $48 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; } $5 = $48; if ($5 >>> 0 < 15249 >>> 0) { break label$1 } i64toi32_i32$2 = $0$hi; i64toi32_i32$2 = $1$hi; i64toi32_i32$0 = $1; i64toi32_i32$4 = 65535; i64toi32_i32$5 = -1; i64toi32_i32$4 = i64toi32_i32$2 & i64toi32_i32$4 | 0; i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$5 | 0; i64toi32_i32$0 = 65536; i64toi32_i32$5 = 0; i64toi32_i32$0 = i64toi32_i32$4 | i64toi32_i32$0 | 0; $3 = i64toi32_i32$2 | i64toi32_i32$5 | 0; $3$hi = i64toi32_i32$0; i64toi32_i32$0 = $0$hi; i64toi32_i32$2 = $3$hi; __ashlti3($2 + 16 | 0 | 0, $0 | 0, i64toi32_i32$0 | 0, $3 | 0, i64toi32_i32$2 | 0, $5 + -15233 | 0 | 0); i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$2 = $3$hi; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = $3$hi; __lshrti3($2 | 0, $0 | 0, i64toi32_i32$2 | 0, $3 | 0, i64toi32_i32$0 | 0, 15361 - $5 | 0 | 0); i64toi32_i32$4 = $2; i64toi32_i32$0 = HEAP32[i64toi32_i32$4 >> 2] | 0; i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; $3 = i64toi32_i32$0; $3$hi = i64toi32_i32$2; i64toi32_i32$4 = i64toi32_i32$0; i64toi32_i32$0 = 0; i64toi32_i32$5 = 60; i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { i64toi32_i32$0 = 0; $49 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; } else { i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; } $73 = $49; $73$hi = i64toi32_i32$0; i64toi32_i32$2 = $2 + 8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; i64toi32_i32$2 = i64toi32_i32$0; i64toi32_i32$0 = 0; i64toi32_i32$5 = 4; i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$3 | 0; $50 = 0; } else { i64toi32_i32$0 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$3 | 0) | 0; $50 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } $77$hi = i64toi32_i32$0; i64toi32_i32$0 = $73$hi; i64toi32_i32$4 = $73; i64toi32_i32$2 = $77$hi; i64toi32_i32$5 = $50; i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; $4 = i64toi32_i32$4 | i64toi32_i32$5 | 0; $4$hi = i64toi32_i32$2; label$5 : { i64toi32_i32$2 = $3$hi; i64toi32_i32$0 = $3; i64toi32_i32$4 = 268435455; i64toi32_i32$5 = -1; i64toi32_i32$4 = i64toi32_i32$2 & i64toi32_i32$4 | 0; $80 = i64toi32_i32$0 & i64toi32_i32$5 | 0; $80$hi = i64toi32_i32$4; i64toi32_i32$2 = $2; i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; $82 = i64toi32_i32$4; $82$hi = i64toi32_i32$0; i64toi32_i32$2 = (i64toi32_i32$2 + 16 | 0) + 8 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; $86 = i64toi32_i32$0; $86$hi = i64toi32_i32$4; i64toi32_i32$4 = $82$hi; i64toi32_i32$2 = $82; i64toi32_i32$0 = $86$hi; i64toi32_i32$5 = $86; i64toi32_i32$0 = i64toi32_i32$4 | i64toi32_i32$0 | 0; i64toi32_i32$4 = i64toi32_i32$2 | i64toi32_i32$5 | 0; i64toi32_i32$2 = 0; i64toi32_i32$5 = 0; $88 = (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0; i64toi32_i32$4 = 0; $89$hi = i64toi32_i32$4; i64toi32_i32$4 = $80$hi; i64toi32_i32$5 = $80; i64toi32_i32$0 = $89$hi; i64toi32_i32$2 = $88; i64toi32_i32$0 = i64toi32_i32$4 | i64toi32_i32$0 | 0; $3 = i64toi32_i32$5 | i64toi32_i32$2 | 0; $3$hi = i64toi32_i32$0; i64toi32_i32$4 = $3; i64toi32_i32$5 = 134217728; i64toi32_i32$2 = 1; if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0) { break label$5 } i64toi32_i32$4 = $4$hi; i64toi32_i32$2 = $4; i64toi32_i32$0 = 0; i64toi32_i32$5 = 1; i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$5 | 0; i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 } $4 = i64toi32_i32$3; $4$hi = i64toi32_i32$1; break label$1; } i64toi32_i32$1 = $3$hi; i64toi32_i32$4 = $3; i64toi32_i32$2 = 134217728; i64toi32_i32$5 = 0; if ((i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) { break label$1 } i64toi32_i32$4 = $4$hi; i64toi32_i32$5 = $4; i64toi32_i32$1 = 0; i64toi32_i32$2 = 1; i64toi32_i32$1 = i64toi32_i32$4 & i64toi32_i32$1 | 0; $98$hi = i64toi32_i32$1; i64toi32_i32$1 = i64toi32_i32$4; i64toi32_i32$1 = $98$hi; i64toi32_i32$4 = i64toi32_i32$5 & i64toi32_i32$2 | 0; i64toi32_i32$5 = $4$hi; i64toi32_i32$2 = $4; i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 } $4 = i64toi32_i32$0; $4$hi = i64toi32_i32$3; } __stack_pointer = $2 + 32 | 0; i64toi32_i32$3 = $4$hi; i64toi32_i32$3 = $1$hi; i64toi32_i32$1 = $1; i64toi32_i32$4 = -2147483648; i64toi32_i32$2 = 0; i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; $105 = i64toi32_i32$1 & i64toi32_i32$2 | 0; $105$hi = i64toi32_i32$4; i64toi32_i32$4 = $4$hi; i64toi32_i32$3 = $4; i64toi32_i32$1 = $105$hi; i64toi32_i32$2 = $105; i64toi32_i32$1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 | i64toi32_i32$2 | 0 | 0); wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); return +(+wasm2js_scratch_load_f64()); } function aligned_alloc($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; $3 = 0; label$1 : { if ($0 & 3 | 0) { break label$1 } if (($1 >>> 0) % ($0 >>> 0) | 0) { break label$1 } $0 = dlposix_memalign($2 + 12 | 0 | 0, $0 | 0, $1 | 0) | 0; $3 = (wasm2js_i32$0 = 0, wasm2js_i32$1 = HEAP32[($2 + 12 | 0) >> 2] | 0, wasm2js_i32$2 = $0, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1); } __stack_pointer = $2 + 16 | 0; return $3 | 0; } function operator_20new_28unsigned_20long_29($0) { $0 = $0 | 0; var $1 = 0; $1 = $0 >>> 0 > 1 >>> 0 ? $0 : 1; label$1 : { label$2 : while (1) { $0 = dlmalloc($1 | 0) | 0; if ($0) { break label$1 } label$3 : { $0 = std__get_new_handler_28_29() | 0; if (!$0) { break label$3 } FUNCTION_TABLE[$0 | 0](); continue label$2; } break label$2; }; abort(); wasm2js_trap(); } return $0 | 0; } function operator_20delete_28void__29($0) { $0 = $0 | 0; dlfree($0 | 0); } function operator_20new_28unsigned_20long_2c_20std__align_val_t_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $3 = 0, $2 = 0; $2 = $1 >>> 0 > 4 >>> 0 ? $1 : 4; $0 = $0 >>> 0 > 1 >>> 0 ? $0 : 1; label$1 : { label$2 : while (1) { $3 = std____2____libcpp_aligned_alloc_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($2 | 0, $0 | 0) | 0; if ($3) { break label$1 } $1 = std__get_new_handler_28_29() | 0; if (!$1) { break label$1 } FUNCTION_TABLE[$1 | 0](); continue label$2; }; } return $3 | 0; } function std____2____libcpp_aligned_alloc_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0; $2 = (($0 + $1 | 0) + -1 | 0) & (0 - $0 | 0) | 0; return aligned_alloc($0 | 0, ($2 >>> 0 > $1 >>> 0 ? $2 : $1) | 0) | 0 | 0; } function operator_20delete_28void__2c_20std__align_val_t_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; std____2____libcpp_aligned_free_5babi_v160004_5d_28void__29($0 | 0); } function std____2____libcpp_aligned_free_5babi_v160004_5d_28void__29($0) { $0 = $0 | 0; dlfree($0 | 0); } function __overflow($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $3 = 0, $2 = 0, $4 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; HEAP8[($2 + 15 | 0) >> 0] = $1; label$1 : { label$2 : { $3 = HEAP32[($0 + 16 | 0) >> 2] | 0; if ($3) { break label$2 } $3 = -1; if (__towrite($0 | 0) | 0) { break label$1 } $3 = HEAP32[($0 + 16 | 0) >> 2] | 0; } label$3 : { $4 = HEAP32[($0 + 20 | 0) >> 2] | 0; if (($4 | 0) == ($3 | 0)) { break label$3 } $3 = $1 & 255 | 0; if ((HEAP32[($0 + 80 | 0) >> 2] | 0 | 0) == ($3 | 0)) { break label$3 } HEAP32[($0 + 20 | 0) >> 2] = $4 + 1 | 0; HEAP8[$4 >> 0] = $1; break label$1; } $3 = -1; if ((FUNCTION_TABLE[HEAP32[($0 + 36 | 0) >> 2] | 0 | 0]($0, $2 + 15 | 0, 1) | 0 | 0) != (1 | 0)) { break label$1 } $3 = HEAPU8[($2 + 15 | 0) >> 0] | 0; } __stack_pointer = $2 + 16 | 0; return $3 | 0; } function memmove($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, $4 = 0; label$1 : { if (($0 | 0) == ($1 | 0)) { break label$1 } label$2 : { $3 = $0 + $2 | 0; if (($1 - $3 | 0) >>> 0 > (0 - ($2 << 1 | 0) | 0) >>> 0) { break label$2 } return __memcpy($0 | 0, $1 | 0, $2 | 0) | 0 | 0; } $4 = ($1 ^ $0 | 0) & 3 | 0; label$3 : { label$4 : { label$5 : { if ($0 >>> 0 >= $1 >>> 0) { break label$5 } label$6 : { if (!$4) { break label$6 } $3 = $0; break label$3; } label$7 : { if ($0 & 3 | 0) { break label$7 } $3 = $0; break label$4; } $3 = $0; label$8 : while (1) { if (!$2) { break label$1 } HEAP8[$3 >> 0] = HEAPU8[$1 >> 0] | 0; $1 = $1 + 1 | 0; $2 = $2 + -1 | 0; $3 = $3 + 1 | 0; if (!($3 & 3 | 0)) { break label$4 } continue label$8; }; } label$9 : { if ($4) { break label$9 } label$10 : { if (!($3 & 3 | 0)) { break label$10 } label$11 : while (1) { if (!$2) { break label$1 } $2 = $2 + -1 | 0; $3 = $0 + $2 | 0; HEAP8[$3 >> 0] = HEAPU8[($1 + $2 | 0) >> 0] | 0; if ($3 & 3 | 0) { continue label$11 } break label$11; }; } if ($2 >>> 0 <= 3 >>> 0) { break label$9 } label$12 : while (1) { $2 = $2 + -4 | 0; HEAP32[($0 + $2 | 0) >> 2] = HEAP32[($1 + $2 | 0) >> 2] | 0; if ($2 >>> 0 > 3 >>> 0) { continue label$12 } break label$12; }; } if (!$2) { break label$1 } label$13 : while (1) { $2 = $2 + -1 | 0; HEAP8[($0 + $2 | 0) >> 0] = HEAPU8[($1 + $2 | 0) >> 0] | 0; if ($2) { continue label$13 } break label$1; }; } if ($2 >>> 0 <= 3 >>> 0) { break label$3 } label$14 : while (1) { HEAP32[$3 >> 2] = HEAP32[$1 >> 2] | 0; $1 = $1 + 4 | 0; $3 = $3 + 4 | 0; $2 = $2 + -4 | 0; if ($2 >>> 0 > 3 >>> 0) { continue label$14 } break label$14; }; } if (!$2) { break label$1 } label$15 : while (1) { HEAP8[$3 >> 0] = HEAPU8[$1 >> 0] | 0; $3 = $3 + 1 | 0; $1 = $1 + 1 | 0; $2 = $2 + -1 | 0; if ($2) { continue label$15 } break label$15; }; } return $0 | 0; } function dummy($0) { $0 = $0 | 0; return $0 | 0; } function __stdio_close($0) { $0 = $0 | 0; return __wasi_fd_close(dummy(HEAP32[($0 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0; } function __lseek($0, $1, $1$hi, $2) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; i64toi32_i32$0 = $1$hi; $2 = __wasi_syscall_ret(legalfunc$__wasi_fd_seek($0 | 0, $1 | 0, i64toi32_i32$0 | 0, $2 & 255 | 0 | 0, $3 + 8 | 0 | 0) | 0 | 0) | 0; i64toi32_i32$2 = $3; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; $1 = i64toi32_i32$0; $1$hi = i64toi32_i32$1; __stack_pointer = i64toi32_i32$2 + 16 | 0; i64toi32_i32$1 = -1; i64toi32_i32$0 = $1$hi; i64toi32_i32$3 = $2 ? -1 : $1; i64toi32_i32$2 = $2 ? i64toi32_i32$1 : i64toi32_i32$0; i64toi32_i32$HIGH_BITS = i64toi32_i32$2; return i64toi32_i32$3 | 0; } function __stdio_seek($0, $1, $1$hi, $2) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; i64toi32_i32$0 = $1$hi; i64toi32_i32$0 = __lseek(HEAP32[($0 + 60 | 0) >> 2] | 0 | 0, $1 | 0, i64toi32_i32$0 | 0, $2 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$0 | 0; } function char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0) { $0 = $0 | 0; return $0 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_cap_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; return (HEAP32[((std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const($0 | 0) | 0) + 8 | 0) >> 2] | 0) & 2147483647 | 0 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; return HEAP32[(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0) >> 2] | 0 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; return std____2__pointer_traits_char____pointer_to_5babi_v160004_5d_28char__29(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0 | 0) | 0 | 0; } function std____2__char_traits_char___assign_28char__2c_20char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; HEAP8[$0 >> 0] = HEAPU8[$1 >> 0] | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____max_size_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; $0 = unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0) | 0; return ($0 >>> ($0 >>> 0 > ((std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29() | 0) >>> 1 | 0) >>> 0) | 0) + -16 | 0 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______recommend_5babi_v160004_5d_28unsigned_20long_29($0) { $0 = $0 | 0; var $1 = 0, $7 = 0; $1 = 10; label$1 : { if ($0 >>> 0 < 11 >>> 0) { break label$1 } $0 = unsigned_20long_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______align_it_5babi_v160004_5d_16ul__28unsigned_20long_29($0 + 1 | 0 | 0) | 0; $7 = $0; $0 = $0 + -1 | 0; $1 = ($0 | 0) == (11 | 0) ? $7 : $0; } return $1 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; return std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29($0 | 0) | 0 | 0; } function std____2____allocation_result_std____2__allocator_traits_std____2__allocator_char____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_char___28std____2__allocator_char___2c_20unsigned_20long_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $1 = std____2__allocator_char___allocate_5babi_v160004_5d_28unsigned_20long_29($1 | 0, $2 | 0) | 0; HEAP32[($0 + 4 | 0) >> 2] = $2; HEAP32[$0 >> 2] = $1; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______begin_lifetime_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; } function std____2__char_traits_char___copy_28char__2c_20char_20const__2c_20unsigned_20long_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; std____2__enable_if___is_cpp17_random_access_iterator_char_20const____value_2c_20char____type_20std____2__copy_n_5babi_v160004_5d_char_20const__2c_20unsigned_20long_2c_20char___28char_20const__2c_20unsigned_20long_2c_20char__29($1 | 0, $2 | 0, $0 | 0) | 0; return $0 | 0; } function std____2__allocator_traits_std____2__allocator_char____deallocate_5babi_v160004_5d_28std____2__allocator_char___2c_20char__2c_20unsigned_20long_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; std____2__allocator_char___deallocate_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0 | 0, $1 | 0, $2 | 0); } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_pointer_5babi_v160004_5d_28char__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; (wasm2js_i32$0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0, wasm2js_i32$1 = $1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_cap_5babi_v160004_5d_28unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0; $2 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0; HEAP32[($2 + 8 | 0) >> 2] = (HEAP32[($2 + 8 | 0) >> 2] | 0) & -2147483648 | 0 | ($1 & 2147483647 | 0) | 0; $0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0; HEAP32[($0 + 8 | 0) >> 2] = HEAP32[($0 + 8 | 0) >> 2] | 0 | -2147483648 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_size_5babi_v160004_5d_28unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; (wasm2js_i32$0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0, wasm2js_i32$1 = $1), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______throw_length_error_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; std____2____throw_length_error_5babi_v160004_5d_28char_20const__29(80508 | 0); wasm2js_trap(); } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______fits_in_sso_5babi_v160004_5d_28unsigned_20long_29($0) { $0 = $0 | 0; return $0 >>> 0 < 11 >>> 0 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_short_size_5babi_v160004_5d_28unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0; $2 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0; HEAP8[($2 + 11 | 0) >> 0] = (HEAPU8[($2 + 11 | 0) >> 0] | 0) & 128 | 0 | $1 | 0; $0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0; HEAP8[($0 + 11 | 0) >> 0] = (HEAPU8[($0 + 11 | 0) >> 0] | 0) & 127 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; return std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0; } function unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29($0) { $0 = $0 | 0; return std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29() | 0 | 0; } function std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29() { return std____2____libcpp_numeric_limits_unsigned_20long_2c_20true___max_5babi_v160004_5d_28_29() | 0 | 0; } function std____2____throw_length_error_5babi_v160004_5d_28char_20const__29($0) { $0 = $0 | 0; abort(); wasm2js_trap(); } function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; return std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0 | 0) | 0 | 0; } function std____2__pointer_traits_char____pointer_to_5babi_v160004_5d_28char__29($0) { $0 = $0 | 0; return $0 | 0; } function std____2__allocator_char___allocate_5babi_v160004_5d_28unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; label$1 : { if ((unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29($0 | 0) | 0) >>> 0 >= $1 >>> 0) { break label$1 } std____throw_bad_array_new_length_5babi_v160004_5d_28_29(); wasm2js_trap(); } return std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($1 | 0, 1 | 0) | 0 | 0; } function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; return std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0 | 0) | 0 | 0; } function unsigned_20long_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______align_it_5babi_v160004_5d_16ul__28unsigned_20long_29($0) { $0 = $0 | 0; return ($0 + 15 | 0) & -16 | 0 | 0; } function std____2__enable_if___is_cpp17_random_access_iterator_char_20const____value_2c_20char____type_20std____2__copy_n_5babi_v160004_5d_char_20const__2c_20unsigned_20long_2c_20char___28char_20const__2c_20unsigned_20long_2c_20char__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; return char__20std____2__copy_5babi_v160004_5d_char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0 | 0, $0 + $1 | 0 | 0, $2 | 0) | 0 | 0; } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($0) { $0 = $0 | 0; void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0 | 0); label$1 : { if (!(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($0 | 0) | 0)) { break label$1 } std____2__allocator_traits_std____2__allocator_char____deallocate_5babi_v160004_5d_28std____2__allocator_char___2c_20char__2c_20unsigned_20long_29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0 | 0) | 0 | 0, std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29($0 | 0) | 0 | 0, std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_cap_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0); } return $0 | 0; } function void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0) { $0 = $0 | 0; } function std____2__allocator_char___deallocate_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29($1 | 0, $2 | 0, 1 | 0); } function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______init_28char_20const__2c_20unsigned_20long_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; label$1 : { if ((std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____max_size_5babi_v160004_5d_28_29_20const($0 | 0) | 0) >>> 0 < $2 >>> 0) { break label$1 } label$2 : { label$3 : { if (!(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______fits_in_sso_5babi_v160004_5d_28unsigned_20long_29($2 | 0) | 0)) { break label$3 } std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_short_size_5babi_v160004_5d_28unsigned_20long_29($0 | 0, $2 | 0); $4 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29($0 | 0) | 0; break label$2; } std____2____allocation_result_std____2__allocator_traits_std____2__allocator_char____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_char___28std____2__allocator_char___2c_20unsigned_20long_29($3 + 8 | 0 | 0, std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0 | 0) | 0 | 0, (std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______recommend_5babi_v160004_5d_28unsigned_20long_29($2 | 0) | 0) + 1 | 0 | 0); $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______begin_lifetime_5babi_v160004_5d_28char__2c_20unsigned_20long_29($4 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_pointer_5babi_v160004_5d_28char__29($0 | 0, $4 | 0); std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_cap_5babi_v160004_5d_28unsigned_20long_29($0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_size_5babi_v160004_5d_28unsigned_20long_29($0 | 0, $2 | 0); } std____2__char_traits_char___copy_28char__2c_20char_20const__2c_20unsigned_20long_29(char__20std____2____to_address_5babi_v160004_5d_char__28char__29($4 | 0) | 0 | 0, $1 | 0, $2 | 0) | 0; HEAP8[($3 + 7 | 0) >> 0] = 0; std____2__char_traits_char___assign_28char__2c_20char_20const__29($4 + $2 | 0 | 0, $3 + 7 | 0 | 0); __stack_pointer = $3 + 16 | 0; return; } std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______throw_length_error_5babi_v160004_5d_28_29_20const($0 | 0); wasm2js_trap(); } function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; return std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0; } function std____2____libcpp_numeric_limits_unsigned_20long_2c_20true___max_5babi_v160004_5d_28_29() { return -1 | 0; } function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; return $0 | 0; } function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; return $0 | 0; } function std____throw_bad_array_new_length_5babi_v160004_5d_28_29() { abort(); wasm2js_trap(); } function std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; label$1 : { if (!(std____2____is_overaligned_for_new_5babi_v160004_5d_28unsigned_20long_29($1 | 0) | 0)) { break label$1 } return void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long_2c_20std__align_val_t__28unsigned_20long_2c_20std__align_val_t_29($0 | 0, $1 | 0) | 0 | 0; } return void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long__28unsigned_20long_29($0 | 0) | 0 | 0; } function std____2____is_overaligned_for_new_5babi_v160004_5d_28unsigned_20long_29($0) { $0 = $0 | 0; return $0 >>> 0 > 8 >>> 0 | 0; } function void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long_2c_20std__align_val_t__28unsigned_20long_2c_20std__align_val_t_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return operator_20new_28unsigned_20long_2c_20std__align_val_t_29($0 | 0, $1 | 0) | 0 | 0; } function void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long__28unsigned_20long_29($0) { $0 = $0 | 0; return operator_20new_28unsigned_20long_29($0 | 0) | 0 | 0; } function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0) { $0 = $0 | 0; return $0 | 0; } function char__20std____2__copy_5babi_v160004_5d_char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; std____2__pair_char_20const__2c_20char___20std____2____copy_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($3 + 8 | 0 | 0, $0 | 0, $1 | 0, $2 | 0); $2 = HEAP32[($3 + 12 | 0) >> 2] | 0; __stack_pointer = $3 + 16 | 0; return $2 | 0; } function std____2__pair_char_20const__2c_20char___20std____2____copy_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; std____2__pair_char_20const__2c_20char___20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0 | 0, $1 | 0, $2 | 0, $3 | 0); } function std____2__pair_char_20const__2c_20char___20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; std____2__pair_char_20const__2c_20char___20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial__2c_20char_20const__2c_20char_20const__2c_20char__2c_200__28char_20const__2c_20char_20const__2c_20char__29($0 | 0, $1 | 0, $2 | 0, $3 | 0); } function std____2__pair_char_20const__2c_20char___20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial__2c_20char_20const__2c_20char_20const__2c_20char__2c_200__28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 32 | 0; __stack_pointer = $4; auto_20std____2____unwrap_range_5babi_v160004_5d_char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($4 + 24 | 0 | 0, $1 | 0, $2 | 0); std____2__pair_char_20const__2c_20char___20std____2____copy_trivial__operator_28_29_5babi_v160004_5d_char_20const_2c_20char_2c_200__28char_20const__2c_20char_20const__2c_20char__29_20const($4 + 16 | 0 | 0, $4 + 12 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, decltype_28std____2____unwrap_iter_impl_char__2c_20true_____unwrap_28std__declval_char___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char__2c_20std____2____unwrap_iter_impl_char__2c_20true__2c_200__28char__29($3 | 0) | 0 | 0); (wasm2js_i32$0 = $4, wasm2js_i32$1 = char_20const__20std____2____rewrap_range_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($1 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $4, wasm2js_i32$1 = char__20std____2____rewrap_iter_5babi_v160004_5d_char__2c_20char__2c_20std____2____unwrap_iter_impl_char__2c_20true___28char__2c_20char__29($3 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; std____2__pair_std____2____unwrap_ref_decay_char_20const____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const__2c_20char___28char_20const____2c_20char____29($0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0); __stack_pointer = $4 + 32 | 0; } function auto_20std____2____unwrap_range_5babi_v160004_5d_char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; std____2____unwrap_range_impl_char_20const__2c_20char_20const______unwrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0 | 0, $1 | 0, $2 | 0); } function decltype_28std____2____unwrap_iter_impl_char__2c_20true_____unwrap_28std__declval_char___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char__2c_20std____2____unwrap_iter_impl_char__2c_20true__2c_200__28char__29($0) { $0 = $0 | 0; return std____2____unwrap_iter_impl_char__2c_20true_____unwrap_5babi_v160004_5d_28char__29($0 | 0) | 0 | 0; } function std____2__pair_char_20const__2c_20char___20std____2____copy_trivial__operator_28_29_5babi_v160004_5d_char_20const_2c_20char_2c_200__28char_20const__2c_20char_20const__2c_20char__29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; std____2__pair_char_20const__2c_20char___20std____2____copy_trivial_impl_5babi_v160004_5d_char_20const_2c_20char__28char_20const__2c_20char_20const__2c_20char__29($0 | 0, $2 | 0, $3 | 0, $4 | 0); } function char_20const__20std____2____rewrap_range_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return std____2____unwrap_range_impl_char_20const__2c_20char_20const______rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0 | 0, $1 | 0) | 0 | 0; } function char__20std____2____rewrap_iter_5babi_v160004_5d_char__2c_20char__2c_20std____2____unwrap_iter_impl_char__2c_20true___28char__2c_20char__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return std____2____unwrap_iter_impl_char__2c_20true_____rewrap_5babi_v160004_5d_28char__2c_20char__29($0 | 0, $1 | 0) | 0 | 0; } function std____2__pair_std____2____unwrap_ref_decay_char_20const____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const__2c_20char___28char_20const____2c_20char____29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const__2c_20char__2c_20_28void__290__28char_20const____2c_20char____29($0 | 0, $1 | 0, $2 | 0) | 0; } function std____2____unwrap_range_impl_char_20const__2c_20char_20const______unwrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $3 = __stack_pointer - 16 | 0; __stack_pointer = $3; (wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; std____2__pair_char_20const__2c_20char_20const____pair_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20_28void__290__28char_20const____2c_20char_20const____29($0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0) | 0; __stack_pointer = $3 + 16 | 0; } function std____2__pair_char_20const__2c_20char___20std____2____copy_trivial_impl_5babi_v160004_5d_char_20const_2c_20char__28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; $4 = __stack_pointer - 16 | 0; __stack_pointer = $4; HEAP32[($4 + 12 | 0) >> 2] = $2; $2 = $2 - $1 | 0; (wasm2js_i32$0 = $4, wasm2js_i32$1 = (memmove($3 | 0, $1 | 0, $2 | 0) | 0) + $2 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; std____2__pair_std____2____unwrap_ref_decay_char_20const_____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const___2c_20char___28char_20const___2c_20char____29($0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0); __stack_pointer = $4 + 16 | 0; } function std____2____unwrap_iter_impl_char__2c_20true_____unwrap_5babi_v160004_5d_28char__29($0) { $0 = $0 | 0; return char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0 | 0) | 0 | 0; } function std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const__2c_20char__2c_20_28void__290__28char_20const____2c_20char____29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; HEAP32[$0 >> 2] = HEAP32[$1 >> 2] | 0; HEAP32[($0 + 4 | 0) >> 2] = HEAP32[$2 >> 2] | 0; return $0 | 0; } function std____2____unwrap_range_impl_char_20const__2c_20char_20const______rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return char_20const__20std____2____rewrap_iter_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true___28char_20const__2c_20char_20const__29($0 | 0, $1 | 0) | 0 | 0; } function std____2____unwrap_iter_impl_char__2c_20true_____rewrap_5babi_v160004_5d_28char__2c_20char__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return $0 + ($1 - (char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0 | 0) | 0) | 0) | 0 | 0; } function decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($0) { $0 = $0 | 0; return std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_5babi_v160004_5d_28char_20const__29($0 | 0) | 0 | 0; } function std____2__pair_char_20const__2c_20char_20const____pair_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20_28void__290__28char_20const____2c_20char_20const____29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; HEAP32[$0 >> 2] = HEAP32[$1 >> 2] | 0; HEAP32[($0 + 4 | 0) >> 2] = HEAP32[$2 >> 2] | 0; return $0 | 0; } function std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_5babi_v160004_5d_28char_20const__29($0) { $0 = $0 | 0; return char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0 | 0) | 0 | 0; } function std____2__pair_std____2____unwrap_ref_decay_char_20const_____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const___2c_20char___28char_20const___2c_20char____29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const___2c_20char__2c_20_28void__290__28char_20const___2c_20char____29($0 | 0, $1 | 0, $2 | 0) | 0; } function std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const___2c_20char__2c_20_28void__290__28char_20const___2c_20char____29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; HEAP32[$0 >> 2] = HEAP32[$1 >> 2] | 0; HEAP32[($0 + 4 | 0) >> 2] = HEAP32[$2 >> 2] | 0; return $0 | 0; } function char_20const__20std____2____rewrap_iter_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true___28char_20const__2c_20char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return std____2____unwrap_iter_impl_char_20const__2c_20true_____rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0 | 0, $1 | 0) | 0 | 0; } function std____2____unwrap_iter_impl_char_20const__2c_20true_____rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return $0 + ($1 - (char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0 | 0) | 0) | 0) | 0 | 0; } function std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; label$1 : { if (!(std____2____is_overaligned_for_new_5babi_v160004_5d_28unsigned_20long_29($2 | 0) | 0)) { break label$1 } void_20std____2____do_deallocate_handle_size_5babi_v160004_5d_std__align_val_t__28void__2c_20unsigned_20long_2c_20std__align_val_t_29($0 | 0, $1 | 0, $2 | 0); return; } void_20std____2____do_deallocate_handle_size_5babi_v160004_5d___28void__2c_20unsigned_20long_29($0 | 0, $1 | 0); } function void_20std____2____do_deallocate_handle_size_5babi_v160004_5d_std__align_val_t__28void__2c_20unsigned_20long_2c_20std__align_val_t_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void__2c_20std__align_val_t__28void__2c_20std__align_val_t_29($0 | 0, $2 | 0); } function void_20std____2____do_deallocate_handle_size_5babi_v160004_5d___28void__2c_20unsigned_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void___28void__29($0 | 0); } function void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void__2c_20std__align_val_t__28void__2c_20std__align_val_t_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; operator_20delete_28void__2c_20std__align_val_t_29($0 | 0, $1 | 0); } function void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void___28void__29($0) { $0 = $0 | 0; operator_20delete_28void__29($0 | 0); } function fputc($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return do_putc($0 | 0, $1 | 0) | 0 | 0; } function do_putc($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0, $3 = 0; label$1 : { label$2 : { $2 = HEAP32[($1 + 76 | 0) >> 2] | 0; if (($2 | 0) < (0 | 0)) { break label$2 } if (!$2) { break label$1 } if (($2 & -1073741825 | 0 | 0) != (HEAP32[((__get_tp() | 0) + 24 | 0) >> 2] | 0 | 0)) { break label$1 } } label$3 : { $2 = $0 & 255 | 0; if (($2 | 0) == (HEAP32[($1 + 80 | 0) >> 2] | 0 | 0)) { break label$3 } $3 = HEAP32[($1 + 20 | 0) >> 2] | 0; if (($3 | 0) == (HEAP32[($1 + 16 | 0) >> 2] | 0 | 0)) { break label$3 } HEAP32[($1 + 20 | 0) >> 2] = $3 + 1 | 0; HEAP8[$3 >> 0] = $0; return $2 | 0; } return __overflow($1 | 0, $2 | 0) | 0 | 0; } return locking_putc($0 | 0, $1 | 0) | 0 | 0; } function locking_putc($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $3 = 0, $2 = 0, $4 = 0; label$1 : { $2 = $1 + 76 | 0; if (!(a_cas($2 | 0) | 0)) { break label$1 } __lockfile($1 | 0) | 0; } label$2 : { label$3 : { $3 = $0 & 255 | 0; if (($3 | 0) == (HEAP32[($1 + 80 | 0) >> 2] | 0 | 0)) { break label$3 } $4 = HEAP32[($1 + 20 | 0) >> 2] | 0; if (($4 | 0) == (HEAP32[($1 + 16 | 0) >> 2] | 0 | 0)) { break label$3 } HEAP32[($1 + 20 | 0) >> 2] = $4 + 1 | 0; HEAP8[$4 >> 0] = $0; break label$2; } $3 = __overflow($1 | 0, $3 | 0) | 0; } label$4 : { if (!((a_swap($2 | 0) | 0) & 1073741824 | 0)) { break label$4 } __wake($2 | 0); } return $3 | 0; } function a_cas($0) { $0 = $0 | 0; var $1 = 0; $1 = HEAP32[$0 >> 2] | 0; HEAP32[$0 >> 2] = $1 ? $1 : 1073741823; return $1 | 0; } function a_swap($0) { $0 = $0 | 0; var $1 = 0; $1 = HEAP32[$0 >> 2] | 0; HEAP32[$0 >> 2] = 0; return $1 | 0; } function __wake($0) { $0 = $0 | 0; emscripten_futex_wake($0 | 0, 1 | 0) | 0; } function abort_message($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $3 = 0, $2 = 0; $2 = __stack_pointer - 16 | 0; __stack_pointer = $2; $3 = HEAP32[(0 + 109264 | 0) >> 2] | 0; fwrite(88317 | 0, 11 | 0, 1 | 0, $3 | 0) | 0; HEAP32[($2 + 12 | 0) >> 2] = $1; vfprintf($3 | 0, $0 | 0, $1 | 0) | 0; fputc(10 | 0, $3 | 0) | 0; abort(); wasm2js_trap(); } function void_20_28_std____2___28anonymous_20namespace_29____libcpp_atomic_load_5babi_v160004_5d_void_20_28__29_28_29__28void_20_28__20const__29_28_29_2c_20int_29_29_28_29($0) { $0 = $0 | 0; return HEAP32[$0 >> 2] | 0 | 0; } function std__get_new_handler_28_29() { return void_20_28_std____2___28anonymous_20namespace_29____libcpp_atomic_load_5babi_v160004_5d_void_20_28__29_28_29__28void_20_28__20const__29_28_29_2c_20int_29_29_28_29(117988 | 0) | 0 | 0; } function __cxa_pure_virtual() { abort_message(88287 | 0, 0 | 0); wasm2js_trap(); } function __cxxabiv1____shim_type_info_____shim_type_info_28_29($0) { $0 = $0 | 0; return std__type_info___type_info_28_29($0 | 0) | 0 | 0; } function __cxxabiv1____shim_type_info__noop1_28_29_20const($0) { $0 = $0 | 0; } function __cxxabiv1____shim_type_info__noop2_28_29_20const($0) { $0 = $0 | 0; } function __cxxabiv1____fundamental_type_info_____fundamental_type_info_28_29($0) { $0 = $0 | 0; operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); } function __cxxabiv1____class_type_info_____class_type_info_28_29($0) { $0 = $0 | 0; operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); } function __cxxabiv1____si_class_type_info_____si_class_type_info_28_29($0) { $0 = $0 | 0; operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); } function __cxxabiv1____vmi_class_type_info_____vmi_class_type_info_28_29($0) { $0 = $0 | 0; operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); } function __cxxabiv1____pointer_type_info_____pointer_type_info_28_29($0) { $0 = $0 | 0; operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); } function __cxxabiv1____fundamental_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; return is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, $1 | 0, 0 | 0) | 0 | 0; } function is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; label$1 : { if ($2) { break label$1 } return (HEAP32[($0 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($1 + 4 | 0) >> 2] | 0 | 0) | 0; } label$2 : { if (($0 | 0) != ($1 | 0)) { break label$2 } return 1 | 0; } return !(strcmp(std__type_info__name_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0, std__type_info__name_5babi_v160004_5d_28_29_20const($1 | 0) | 0 | 0) | 0) | 0; } function std__type_info__name_5babi_v160004_5d_28_29_20const($0) { $0 = $0 | 0; return HEAP32[($0 + 4 | 0) >> 2] | 0 | 0; } function __cxxabiv1____class_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, $4 = 0; $3 = __stack_pointer - 64 | 0; __stack_pointer = $3; $4 = 1; label$1 : { if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, $1 | 0, 0 | 0) | 0) { break label$1 } $4 = 0; if (!$1) { break label$1 } $4 = 0; $1 = __dynamic_cast($1 | 0, 109304 | 0, 109352 | 0, 0 | 0) | 0; if (!$1) { break label$1 } __memset($3 + 12 | 0 | 0, 0 | 0, 52 | 0) | 0; HEAP32[($3 + 56 | 0) >> 2] = 1; HEAP32[($3 + 20 | 0) >> 2] = -1; HEAP32[($3 + 16 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = $1; FUNCTION_TABLE[HEAP32[((HEAP32[$1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($1, $3 + 8 | 0, HEAP32[$2 >> 2] | 0, 1); label$2 : { $4 = HEAP32[($3 + 32 | 0) >> 2] | 0; if (($4 | 0) != (1 | 0)) { break label$2 } HEAP32[$2 >> 2] = HEAP32[($3 + 24 | 0) >> 2] | 0; } $4 = ($4 | 0) == (1 | 0); } __stack_pointer = $3 + 64 | 0; return $4 | 0; } function __dynamic_cast($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6 = 0, $5 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_i32$6 = 0, wasm2js_i32$7 = 0, wasm2js_i32$8 = 0; $4 = __stack_pointer - 64 | 0; __stack_pointer = $4; $5 = HEAP32[$0 >> 2] | 0; $6 = HEAP32[($5 + -4 | 0) >> 2] | 0; $5 = HEAP32[($5 + -8 | 0) >> 2] | 0; i64toi32_i32$1 = $4 + 32 | 0; i64toi32_i32$0 = 0; HEAP32[i64toi32_i32$1 >> 2] = 0; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 40 | 0; i64toi32_i32$0 = 0; HEAP32[i64toi32_i32$1 >> 2] = 0; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 48 | 0; i64toi32_i32$0 = 0; HEAP32[i64toi32_i32$1 >> 2] = 0; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4 + 55 | 0; i64toi32_i32$0 = 0; $9 = 0; HEAP8[i64toi32_i32$1 >> 0] = $9; HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $9 >>> 8 | 0; HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $9 >>> 16 | 0; HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $9 >>> 24 | 0; HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; i64toi32_i32$1 = $4; i64toi32_i32$0 = 0; HEAP32[($4 + 24 | 0) >> 2] = 0; HEAP32[($4 + 28 | 0) >> 2] = i64toi32_i32$0; HEAP32[($4 + 20 | 0) >> 2] = $3; HEAP32[($4 + 16 | 0) >> 2] = $1; HEAP32[($4 + 12 | 0) >> 2] = $0; HEAP32[($4 + 8 | 0) >> 2] = $2; $0 = $0 + $5 | 0; $3 = 0; label$1 : { label$2 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($6 | 0, $2 | 0, 0 | 0) | 0)) { break label$2 } HEAP32[($4 + 56 | 0) >> 2] = 1; FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($6, $4 + 8 | 0, $0, $0, 1, 0); $3 = (HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) == (1 | 0) ? $0 : 0; break label$1; } FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($6, $4 + 8 | 0, $0, 1, 0); label$3 : { switch (HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) { case 0: $3 = (wasm2js_i32$0 = (wasm2js_i32$3 = (wasm2js_i32$6 = HEAP32[($4 + 28 | 0) >> 2] | 0, wasm2js_i32$7 = 0, wasm2js_i32$8 = (HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) == (1 | 0), wasm2js_i32$8 ? wasm2js_i32$6 : wasm2js_i32$7), wasm2js_i32$4 = 0, wasm2js_i32$5 = (HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) == (1 | 0), wasm2js_i32$5 ? wasm2js_i32$3 : wasm2js_i32$4), wasm2js_i32$1 = 0, wasm2js_i32$2 = (HEAP32[($4 + 48 | 0) >> 2] | 0 | 0) == (1 | 0), wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1); break label$1; case 1: break label$3; default: break label$1; }; } label$5 : { if ((HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) == (1 | 0)) { break label$5 } if (HEAP32[($4 + 48 | 0) >> 2] | 0) { break label$1 } if ((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { break label$1 } if ((HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) != (1 | 0)) { break label$1 } } $3 = HEAP32[($4 + 24 | 0) >> 2] | 0; } __stack_pointer = $4 + 64 | 0; return $3 | 0; } function __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $4 = 0; label$1 : { $4 = HEAP32[($1 + 16 | 0) >> 2] | 0; if ($4) { break label$1 } HEAP32[($1 + 36 | 0) >> 2] = 1; HEAP32[($1 + 24 | 0) >> 2] = $3; HEAP32[($1 + 16 | 0) >> 2] = $2; return; } label$2 : { label$3 : { if (($4 | 0) != ($2 | 0)) { break label$3 } if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0)) { break label$2 } HEAP32[($1 + 24 | 0) >> 2] = $3; return; } HEAP8[($1 + 54 | 0) >> 0] = 1; HEAP32[($1 + 24 | 0) >> 2] = 2; HEAP32[($1 + 36 | 0) >> 2] = (HEAP32[($1 + 36 | 0) >> 2] | 0) + 1 | 0; } } function __cxxabiv1____class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); } } function __cxxabiv1____si_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); return; } $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($0, $1, $2, $3); } function __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $5 = 0, $4 = 0; $4 = HEAP32[($0 + 4 | 0) >> 2] | 0; label$1 : { label$2 : { if ($2) { break label$2 } $5 = 0; break label$1; } $5 = $4 >> 8 | 0; if (!($4 & 1 | 0)) { break label$1 } $5 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$2 >> 2] | 0 | 0, $5 | 0) | 0; } $0 = HEAP32[$0 >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($0, $1, $2 + $5 | 0, $4 & 2 | 0 ? $3 : 2); } function update_offset_to_base_28char_20const__2c_20long_29($0, $1) { $0 = $0 | 0; $1 = $1 | 0; return HEAP32[($0 + $1 | 0) >> 2] | 0 | 0; } function __cxxabiv1____vmi_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; var $4 = 0, $5 = 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0 | 0, $1 | 0, $2 | 0, $3 | 0); return; } $4 = HEAP32[($0 + 12 | 0) >> 2] | 0; $5 = $0 + 16 | 0; __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($5 | 0, $1 | 0, $2 | 0, $3 | 0); label$2 : { $0 = $0 + 24 | 0; $4 = $5 + ($4 << 3 | 0) | 0; if ($0 >>> 0 >= $4 >>> 0) { break label$2 } label$3 : while (1) { __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0 | 0, $1 | 0, $2 | 0, $3 | 0); if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { break label$2 } $0 = $0 + 8 | 0; if ($0 >>> 0 < $4 >>> 0) { continue label$3 } break label$3; }; } } function __cxxabiv1____pbase_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $3 = 0, $4 = 0; $3 = 1; label$1 : { label$2 : { if ((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 24 | 0) { break label$2 } $3 = 0; if (!$1) { break label$1 } $4 = __dynamic_cast($1 | 0, 109304 | 0, 109400 | 0, 0 | 0) | 0; if (!$4) { break label$1 } $3 = ((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 24 | 0 | 0) != (0 | 0); } $3 = is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, $1 | 0, $3 | 0) | 0; } return $3 | 0; } function __cxxabiv1____pointer_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; var $4 = 0, $3 = 0, $5 = 0, $6 = 0; $3 = __stack_pointer - 64 | 0; __stack_pointer = $3; label$1 : { label$2 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($1 | 0, 109668 | 0, 0 | 0) | 0)) { break label$2 } HEAP32[$2 >> 2] = 0; $4 = 1; break label$1; } label$3 : { if (!(__cxxabiv1____pbase_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0 | 0, $1 | 0, $1 | 0) | 0)) { break label$3 } $4 = 1; $1 = HEAP32[$2 >> 2] | 0; if (!$1) { break label$1 } HEAP32[$2 >> 2] = HEAP32[$1 >> 2] | 0; break label$1; } label$4 : { if (!$1) { break label$4 } $4 = 0; $1 = __dynamic_cast($1 | 0, 109304 | 0, 109448 | 0, 0 | 0) | 0; if (!$1) { break label$1 } label$5 : { $5 = HEAP32[$2 >> 2] | 0; if (!$5) { break label$5 } HEAP32[$2 >> 2] = HEAP32[$5 >> 2] | 0; } $5 = HEAP32[($1 + 8 | 0) >> 2] | 0; $6 = HEAP32[($0 + 8 | 0) >> 2] | 0; if (($5 & ($6 ^ -1 | 0) | 0) & 7 | 0) { break label$1 } if ((($5 ^ -1 | 0) & $6 | 0) & 96 | 0) { break label$1 } $4 = 1; if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 12 | 0) >> 2] | 0 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0) { break label$1 } label$6 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 12 | 0) >> 2] | 0 | 0, 109656 | 0, 0 | 0) | 0)) { break label$6 } $1 = HEAP32[($1 + 12 | 0) >> 2] | 0; if (!$1) { break label$1 } $4 = !(__dynamic_cast($1 | 0, 109304 | 0, 109500 | 0, 0 | 0) | 0); break label$1; } $5 = HEAP32[($0 + 12 | 0) >> 2] | 0; if (!$5) { break label$4 } $4 = 0; label$7 : { $6 = __dynamic_cast($5 | 0, 109304 | 0, 109448 | 0, 0 | 0) | 0; if (!$6) { break label$7 } if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $4 = __cxxabiv1____pointer_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($6 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0) | 0; break label$1; } $4 = 0; label$8 : { $6 = __dynamic_cast($5 | 0, 109304 | 0, 109560 | 0, 0 | 0) | 0; if (!$6) { break label$8 } if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $4 = __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($6 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0) | 0; break label$1; } $4 = 0; $0 = __dynamic_cast($5 | 0, 109304 | 0, 109352 | 0, 0 | 0) | 0; if (!$0) { break label$1 } $1 = HEAP32[($1 + 12 | 0) >> 2] | 0; if (!$1) { break label$1 } $4 = 0; $1 = __dynamic_cast($1 | 0, 109304 | 0, 109352 | 0, 0 | 0) | 0; if (!$1) { break label$1 } __memset($3 + 12 | 0 | 0, 0 | 0, 52 | 0) | 0; HEAP32[($3 + 56 | 0) >> 2] = 1; HEAP32[($3 + 20 | 0) >> 2] = -1; HEAP32[($3 + 16 | 0) >> 2] = $0; HEAP32[($3 + 8 | 0) >> 2] = $1; FUNCTION_TABLE[HEAP32[((HEAP32[$1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($1, $3 + 8 | 0, HEAP32[$2 >> 2] | 0, 1); label$9 : { $1 = HEAP32[($3 + 32 | 0) >> 2] | 0; if (($1 | 0) != (1 | 0)) { break label$9 } if (!(HEAP32[$2 >> 2] | 0)) { break label$9 } HEAP32[$2 >> 2] = HEAP32[($3 + 24 | 0) >> 2] | 0; } $4 = ($1 | 0) == (1 | 0); break label$1; } $4 = 0; } __stack_pointer = $3 + 64 | 0; return $4 | 0; } function __cxxabiv1____pointer_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0, $3 = 0; label$1 : { label$2 : while (1) { label$3 : { if ($1) { break label$3 } return 0 | 0; } $2 = 0; $1 = __dynamic_cast($1 | 0, 109304 | 0, 109448 | 0, 0 | 0) | 0; if (!$1) { break label$1 } if ((HEAP32[($1 + 8 | 0) >> 2] | 0) & ((HEAP32[($0 + 8 | 0) >> 2] | 0) ^ -1 | 0) | 0) { break label$1 } label$4 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 12 | 0) >> 2] | 0 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { break label$4 } return 1 | 0; } if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$1 } $3 = HEAP32[($0 + 12 | 0) >> 2] | 0; if (!$3) { break label$1 } label$5 : { $0 = __dynamic_cast($3 | 0, 109304 | 0, 109448 | 0, 0 | 0) | 0; if (!$0) { break label$5 } $1 = HEAP32[($1 + 12 | 0) >> 2] | 0; continue label$2; } break label$2; }; $2 = 0; $0 = __dynamic_cast($3 | 0, 109304 | 0, 109560 | 0, 0 | 0) | 0; if (!$0) { break label$1 } $2 = __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0) | 0; } return $2 | 0; } function __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0, $1) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0; $2 = 0; label$1 : { if (!$1) { break label$1 } $1 = __dynamic_cast($1 | 0, 109304 | 0, 109560 | 0, 0 | 0) | 0; if (!$1) { break label$1 } if ((HEAP32[($1 + 8 | 0) >> 2] | 0) & ((HEAP32[($0 + 8 | 0) >> 2] | 0) ^ -1 | 0) | 0) { break label$1 } $2 = 0; if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 12 | 0) >> 2] | 0 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { break label$1 } $2 = is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 16 | 0) >> 2] | 0 | 0, HEAP32[($1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0; } return $2 | 0; } function __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; HEAP8[($1 + 53 | 0) >> 0] = 1; label$1 : { if ((HEAP32[($1 + 4 | 0) >> 2] | 0 | 0) != ($3 | 0)) { break label$1 } HEAP8[($1 + 52 | 0) >> 0] = 1; label$2 : { label$3 : { $3 = HEAP32[($1 + 16 | 0) >> 2] | 0; if ($3) { break label$3 } HEAP32[($1 + 36 | 0) >> 2] = 1; HEAP32[($1 + 24 | 0) >> 2] = $4; HEAP32[($1 + 16 | 0) >> 2] = $2; if (($4 | 0) != (1 | 0)) { break label$1 } if ((HEAP32[($1 + 48 | 0) >> 2] | 0 | 0) == (1 | 0)) { break label$2 } break label$1; } label$4 : { if (($3 | 0) != ($2 | 0)) { break label$4 } label$5 : { $3 = HEAP32[($1 + 24 | 0) >> 2] | 0; if (($3 | 0) != (2 | 0)) { break label$5 } HEAP32[($1 + 24 | 0) >> 2] = $4; $3 = $4; } if ((HEAP32[($1 + 48 | 0) >> 2] | 0 | 0) != (1 | 0)) { break label$1 } if (($3 | 0) == (1 | 0)) { break label$2 } break label$1; } HEAP32[($1 + 36 | 0) >> 2] = (HEAP32[($1 + 36 | 0) >> 2] | 0) + 1 | 0; } HEAP8[($1 + 54 | 0) >> 0] = 1; } } function __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($0, $1, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; label$1 : { if ((HEAP32[($1 + 4 | 0) >> 2] | 0 | 0) != ($2 | 0)) { break label$1 } if ((HEAP32[($1 + 28 | 0) >> 2] | 0 | 0) == (1 | 0)) { break label$1 } HEAP32[($1 + 28 | 0) >> 2] = $3; } } function __cxxabiv1____vmi_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $5 = 0, $8 = 0, $6 = 0, $7 = 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $4 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); return; } label$2 : { label$3 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[$1 >> 2] | 0 | 0, $4 | 0) | 0)) { break label$3 } label$4 : { label$5 : { if ((HEAP32[($1 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0)) { break label$5 } if ((HEAP32[($1 + 20 | 0) >> 2] | 0 | 0) != ($2 | 0)) { break label$4 } } if (($3 | 0) != (1 | 0)) { break label$2 } HEAP32[($1 + 32 | 0) >> 2] = 1; return; } HEAP32[($1 + 32 | 0) >> 2] = $3; label$6 : { if ((HEAP32[($1 + 44 | 0) >> 2] | 0 | 0) == (4 | 0)) { break label$6 } $5 = $0 + 16 | 0; $3 = $5 + ((HEAP32[($0 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; $6 = 0; $7 = 0; label$7 : { label$8 : { label$9 : { label$10 : while (1) { if ($5 >>> 0 >= $3 >>> 0) { break label$9 } HEAP16[($1 + 52 | 0) >> 1] = 0; __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($5 | 0, $1 | 0, $2 | 0, $2 | 0, 1 | 0, $4 | 0); if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { break label$9 } label$11 : { if (!(HEAPU8[($1 + 53 | 0) >> 0] | 0)) { break label$11 } label$12 : { if (!(HEAPU8[($1 + 52 | 0) >> 0] | 0)) { break label$12 } $8 = 1; if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0)) { break label$8 } $6 = 1; $7 = 1; $8 = 1; if ((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 2 | 0) { break label$11 } break label$8; } $6 = 1; $8 = $7; if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$8 } } $5 = $5 + 8 | 0; continue label$10; }; } $5 = 4; $8 = $7; if (!($6 & 1 | 0)) { break label$7 } } $5 = 3; } HEAP32[($1 + 44 | 0) >> 2] = $5; if ($8 & 1 | 0) { break label$2 } } HEAP32[($1 + 20 | 0) >> 2] = $2; HEAP32[($1 + 40 | 0) >> 2] = (HEAP32[($1 + 40 | 0) >> 2] | 0) + 1 | 0; if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { break label$2 } if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0)) { break label$2 } HEAP8[($1 + 54 | 0) >> 0] = 1; return; } $8 = HEAP32[($0 + 12 | 0) >> 2] | 0; $6 = $0 + 16 | 0; __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($6 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); $5 = $0 + 24 | 0; $8 = $6 + ($8 << 3 | 0) | 0; if ($5 >>> 0 >= $8 >>> 0) { break label$2 } label$13 : { label$14 : { $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; if ($0 & 2 | 0) { break label$14 } if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { break label$13 } } label$15 : while (1) { if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { break label$2 } __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); $5 = $5 + 8 | 0; if ($5 >>> 0 < $8 >>> 0) { continue label$15 } break label$2; }; } label$16 : { if ($0 & 1 | 0) { break label$16 } label$17 : while (1) { if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { break label$2 } if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) == (1 | 0)) { break label$2 } __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); $5 = $5 + 8 | 0; if ($5 >>> 0 < $8 >>> 0) { continue label$17 } break label$2; }; } label$18 : while (1) { if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { break label$2 } label$19 : { if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { break label$19 } if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0)) { break label$2 } } __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); $5 = $5 + 8 | 0; if ($5 >>> 0 < $8 >>> 0) { continue label$18 } break label$18; }; } } function __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $6 = 0, $7 = 0; $6 = HEAP32[($0 + 4 | 0) >> 2] | 0; $7 = $6 >> 8 | 0; label$1 : { if (!($6 & 1 | 0)) { break label$1 } $7 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$3 >> 2] | 0 | 0, $7 | 0) | 0; } $0 = HEAP32[$0 >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($0, $1, $2, $3 + $7 | 0, $6 & 2 | 0 ? $4 : 2, $5); } function __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var $5 = 0, $6 = 0; $5 = HEAP32[($0 + 4 | 0) >> 2] | 0; $6 = $5 >> 8 | 0; label$1 : { if (!($5 & 1 | 0)) { break label$1 } $6 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$2 >> 2] | 0 | 0, $6 | 0) | 0; } $0 = HEAP32[$0 >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($0, $1, $2 + $6 | 0, $5 & 2 | 0 ? $3 : 2, $4); } function __cxxabiv1____si_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $4 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); return; } label$2 : { label$3 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[$1 >> 2] | 0 | 0, $4 | 0) | 0)) { break label$3 } label$4 : { label$5 : { if ((HEAP32[($1 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0)) { break label$5 } if ((HEAP32[($1 + 20 | 0) >> 2] | 0 | 0) != ($2 | 0)) { break label$4 } } if (($3 | 0) != (1 | 0)) { break label$2 } HEAP32[($1 + 32 | 0) >> 2] = 1; return; } HEAP32[($1 + 32 | 0) >> 2] = $3; label$6 : { if ((HEAP32[($1 + 44 | 0) >> 2] | 0 | 0) == (4 | 0)) { break label$6 } HEAP16[($1 + 52 | 0) >> 1] = 0; $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($0, $1, $2, $2, 1, $4); label$7 : { if (!(HEAPU8[($1 + 53 | 0) >> 0] | 0)) { break label$7 } HEAP32[($1 + 44 | 0) >> 2] = 3; if (!(HEAPU8[($1 + 52 | 0) >> 0] | 0)) { break label$6 } break label$2; } HEAP32[($1 + 44 | 0) >> 2] = 4; } HEAP32[($1 + 20 | 0) >> 2] = $2; HEAP32[($1 + 40 | 0) >> 2] = (HEAP32[($1 + 40 | 0) >> 2] | 0) + 1 | 0; if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { break label$2 } if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0)) { break label$2 } HEAP8[($1 + 54 | 0) >> 0] = 1; return; } $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($0, $1, $2, $3, $4); } } function __cxxabiv1____class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $4 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); return; } label$2 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[$1 >> 2] | 0 | 0, $4 | 0) | 0)) { break label$2 } label$3 : { label$4 : { if ((HEAP32[($1 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0)) { break label$4 } if ((HEAP32[($1 + 20 | 0) >> 2] | 0 | 0) != ($2 | 0)) { break label$3 } } if (($3 | 0) != (1 | 0)) { break label$2 } HEAP32[($1 + 32 | 0) >> 2] = 1; return; } HEAP32[($1 + 20 | 0) >> 2] = $2; HEAP32[($1 + 32 | 0) >> 2] = $3; HEAP32[($1 + 40 | 0) >> 2] = (HEAP32[($1 + 40 | 0) >> 2] | 0) + 1 | 0; label$5 : { if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { break label$5 } if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0)) { break label$5 } HEAP8[($1 + 54 | 0) >> 0] = 1; } HEAP32[($1 + 44 | 0) >> 2] = 4; } } function __cxxabiv1____vmi_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; var $6 = 0, $8 = 0, $7 = 0, $10 = 0, $12 = 0, $11 = 0, $9 = 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $5 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); return; } $6 = HEAPU8[($1 + 53 | 0) >> 0] | 0; $7 = HEAP32[($0 + 12 | 0) >> 2] | 0; HEAP8[($1 + 53 | 0) >> 0] = 0; $8 = HEAPU8[($1 + 52 | 0) >> 0] | 0; HEAP8[($1 + 52 | 0) >> 0] = 0; $9 = $0 + 16 | 0; __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($9 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0); $10 = HEAPU8[($1 + 53 | 0) >> 0] | 0; $11 = $6 | $10 | 0; $12 = HEAPU8[($1 + 52 | 0) >> 0] | 0; $8 = $8 | $12 | 0; label$2 : { $6 = $0 + 24 | 0; $7 = $9 + ($7 << 3 | 0) | 0; if ($6 >>> 0 >= $7 >>> 0) { break label$2 } label$3 : while (1) { if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { break label$2 } label$4 : { label$5 : { if (!($12 & 255 | 0)) { break label$5 } if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0)) { break label$2 } if ((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 2 | 0) { break label$4 } break label$2; } if (!($10 & 255 | 0)) { break label$4 } if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { break label$2 } } HEAP16[($1 + 52 | 0) >> 1] = 0; __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($6 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0); $10 = HEAPU8[($1 + 53 | 0) >> 0] | 0; $11 = $10 | $11 | 0; $12 = HEAPU8[($1 + 52 | 0) >> 0] | 0; $8 = $12 | $8 | 0; $6 = $6 + 8 | 0; if ($6 >>> 0 < $7 >>> 0) { continue label$3 } break label$3; }; } HEAP8[($1 + 53 | 0) >> 0] = ($11 & 255 | 0 | 0) != (0 | 0); HEAP8[($1 + 52 | 0) >> 0] = ($8 & 255 | 0 | 0) != (0 | 0); } function __cxxabiv1____si_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $5 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); return; } $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($0, $1, $2, $3, $4, $5); } function __cxxabiv1____class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; $5 = $5 | 0; label$1 : { if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $5 | 0) | 0)) { break label$1 } __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); } } function std__type_info___type_info_28_29($0) { $0 = $0 | 0; return $0 | 0; } function emscripten_stack_init() { __stack_base = 65536; __stack_end = (0 + 15 | 0) & -16 | 0; } function emscripten_stack_get_free() { return __stack_pointer - __stack_end | 0 | 0; } function emscripten_stack_get_base() { return __stack_base | 0; } function emscripten_stack_get_end() { return __stack_end | 0; } function stackSave() { return __stack_pointer | 0; } function stackRestore($0) { $0 = $0 | 0; __stack_pointer = $0; } function stackAlloc($0) { $0 = $0 | 0; var $1 = 0; $1 = (__stack_pointer - $0 | 0) & -16 | 0; __stack_pointer = $1; return $1 | 0; } function emscripten_stack_get_current() { return __stack_pointer | 0; } function setTempRet0($0) { $0 = $0 | 0; tempRet0 = $0; } function fflush($0) { $0 = $0 | 0; var $1 = 0, i64toi32_i32$1 = 0, $2 = 0, i64toi32_i32$0 = 0, $3 = 0; label$1 : { if ($0) { break label$1 } $1 = 0; label$2 : { if (!(HEAP32[(0 + 113e3 | 0) >> 2] | 0)) { break label$2 } $1 = fflush(HEAP32[(0 + 113e3 | 0) >> 2] | 0 | 0) | 0; } label$3 : { if (!(HEAP32[(0 + 113152 | 0) >> 2] | 0)) { break label$3 } $1 = fflush(HEAP32[(0 + 113152 | 0) >> 2] | 0 | 0) | 0 | $1 | 0; } label$4 : { $0 = HEAP32[(__ofl_lock() | 0) >> 2] | 0; if (!$0) { break label$4 } label$5 : while (1) { $2 = 0; label$6 : { if ((HEAP32[($0 + 76 | 0) >> 2] | 0 | 0) < (0 | 0)) { break label$6 } $2 = __lockfile($0 | 0) | 0; } label$7 : { if ((HEAP32[($0 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($0 + 28 | 0) >> 2] | 0 | 0)) { break label$7 } $1 = fflush($0 | 0) | 0 | $1 | 0; } label$8 : { if (!$2) { break label$8 } __unlockfile($0 | 0); } $0 = HEAP32[($0 + 56 | 0) >> 2] | 0; if ($0) { continue label$5 } break label$5; }; } __ofl_unlock(); return $1 | 0; } $2 = 0; label$9 : { if ((HEAP32[($0 + 76 | 0) >> 2] | 0 | 0) < (0 | 0)) { break label$9 } $2 = __lockfile($0 | 0) | 0; } label$10 : { label$11 : { label$12 : { if ((HEAP32[($0 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($0 + 28 | 0) >> 2] | 0 | 0)) { break label$12 } FUNCTION_TABLE[HEAP32[($0 + 36 | 0) >> 2] | 0 | 0]($0, 0, 0) | 0; if (HEAP32[($0 + 20 | 0) >> 2] | 0) { break label$12 } $1 = -1; if ($2) { break label$11 } break label$10; } label$13 : { $1 = HEAP32[($0 + 4 | 0) >> 2] | 0; $3 = HEAP32[($0 + 8 | 0) >> 2] | 0; if (($1 | 0) == ($3 | 0)) { break label$13 } i64toi32_i32$1 = $1 - $3 | 0; i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; i64toi32_i32$0 = FUNCTION_TABLE[HEAP32[($0 + 40 | 0) >> 2] | 0 | 0]($0, i64toi32_i32$1, i64toi32_i32$0, 1) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; } $1 = 0; HEAP32[($0 + 28 | 0) >> 2] = 0; i64toi32_i32$0 = $0; i64toi32_i32$1 = 0; HEAP32[($0 + 16 | 0) >> 2] = 0; HEAP32[($0 + 20 | 0) >> 2] = i64toi32_i32$1; i64toi32_i32$0 = $0; i64toi32_i32$1 = 0; HEAP32[($0 + 4 | 0) >> 2] = 0; HEAP32[($0 + 8 | 0) >> 2] = i64toi32_i32$1; if (!$2) { break label$10 } } __unlockfile($0 | 0); } return $1 | 0; } function dynCall_jiji(fptr, $0, $1, $1$hi, $2) { fptr = fptr | 0; $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; i64toi32_i32$0 = $1$hi; i64toi32_i32$0 = FUNCTION_TABLE[fptr | 0]($0, $1, i64toi32_i32$0, $2) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$0 | 0; } function legalstub$dynCall_jiji($0, $1, $2, $3, $4) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $4 = $4 | 0; var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $17 = 0, $18 = 0, $6 = 0, $7 = 0, $9 = 0, $9$hi = 0, $12$hi = 0, $5 = 0, $5$hi = 0; $6 = $0; $7 = $1; i64toi32_i32$0 = 0; $9 = $2; $9$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; i64toi32_i32$2 = $3; i64toi32_i32$1 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; $17 = 0; } else { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; $17 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } $12$hi = i64toi32_i32$1; i64toi32_i32$1 = $9$hi; i64toi32_i32$0 = $9; i64toi32_i32$2 = $12$hi; i64toi32_i32$3 = $17; i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; i64toi32_i32$2 = dynCall_jiji($6 | 0, $7 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; $5 = i64toi32_i32$2; $5$hi = i64toi32_i32$0; i64toi32_i32$1 = i64toi32_i32$2; i64toi32_i32$2 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; $18 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; $18 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; } setTempRet0($18 | 0); i64toi32_i32$2 = $5$hi; return $5 | 0; } function legalfunc$_embind_register_bigint($0, $1, $2, $3, $3$hi, $4, $4$hi) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; $3$hi = $3$hi | 0; $4 = $4 | 0; $4$hi = $4$hi | 0; var i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $18 = 0, $19 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0, $12 = 0, $14 = 0; $5 = $0; $6 = $1; $7 = $2; i64toi32_i32$0 = $3$hi; $9 = $3; i64toi32_i32$2 = $3; i64toi32_i32$1 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $18 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; $18 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; } $12 = $18; i64toi32_i32$1 = $4$hi; $14 = $4; i64toi32_i32$0 = $4; i64toi32_i32$2 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; $19 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; $19 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } legalimport$_embind_register_bigint($5 | 0, $6 | 0, $7 | 0, $9 | 0, $12 | 0, $14 | 0, $19 | 0); } function legalfunc$__wasi_fd_seek($0, $1, $1$hi, $2, $3) { $0 = $0 | 0; $1 = $1 | 0; $1$hi = $1$hi | 0; $2 = $2 | 0; $3 = $3 | 0; var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $4 = 0, $6 = 0, i64toi32_i32$2 = 0; $4 = $0; i64toi32_i32$0 = $1$hi; $6 = $1; i64toi32_i32$2 = $1; i64toi32_i32$1 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $12 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; $12 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; } return legalimport$__wasi_fd_seek($4 | 0, $6 | 0, $12 | 0, $2 | 0, $3 | 0) | 0 | 0; } function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; var$1 = var$1 | 0; var$1$hi = var$1$hi | 0; var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21 = 0, $22 = 0, var$6 = 0, $24 = 0, $17 = 0, $18 = 0, $23 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0; i64toi32_i32$0 = var$1$hi; var$2 = var$1; var$4 = var$2 >>> 16 | 0; i64toi32_i32$0 = var$0$hi; var$3 = var$0; var$5 = var$3 >>> 16 | 0; $17 = Math_imul(var$4, var$5); $18 = var$2; i64toi32_i32$2 = var$3; i64toi32_i32$1 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $21 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; } $23 = $17 + Math_imul($18, $21) | 0; i64toi32_i32$1 = var$1$hi; i64toi32_i32$0 = var$1; i64toi32_i32$2 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } $29 = $23 + Math_imul($22, var$3) | 0; var$2 = var$2 & 65535 | 0; var$3 = var$3 & 65535 | 0; var$6 = Math_imul(var$2, var$3); var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0; $45 = $29 + (var$2 >>> 16 | 0) | 0; var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0; i64toi32_i32$2 = 0; i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0; i64toi32_i32$0 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; $24 = 0; } else { i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0; } $56$hi = i64toi32_i32$0; i64toi32_i32$0 = 0; $62$hi = i64toi32_i32$0; i64toi32_i32$0 = $56$hi; i64toi32_i32$2 = $24; i64toi32_i32$1 = $62$hi; i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$2 | 0; } function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; var$1 = var$1 | 0; var$1$hi = var$1$hi | 0; var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0; label$1 : { label$2 : { label$3 : { label$4 : { label$5 : { label$6 : { label$7 : { label$8 : { label$9 : { label$10 : { label$11 : { i64toi32_i32$0 = var$0$hi; i64toi32_i32$2 = var$0; i64toi32_i32$1 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; $37 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; } var$2 = $37; if (var$2) { i64toi32_i32$1 = var$1$hi; var$3 = var$1; if (!var$3) { break label$11 } i64toi32_i32$1 = var$1$hi; i64toi32_i32$0 = var$1; i64toi32_i32$2 = 0; i64toi32_i32$3 = 32; i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; } var$4 = $38; if (!var$4) { break label$9 } var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; if (var$2 >>> 0 <= 31 >>> 0) { break label$8 } break label$2; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; i64toi32_i32$0 = 1; i64toi32_i32$3 = 0; if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) { break label$2 } i64toi32_i32$1 = var$0$hi; var$2 = var$0; i64toi32_i32$1 = var$1$hi; var$3 = var$1; var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$1 = 0; __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$2; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$2 | 0; } i64toi32_i32$2 = var$1$hi; i64toi32_i32$3 = var$1; i64toi32_i32$1 = 0; i64toi32_i32$0 = 32; i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; } var$3 = $39; i64toi32_i32$1 = var$0$hi; if (!var$0) { break label$7 } if (!var$3) { break label$6 } var$4 = var$3 + -1 | 0; if (var$4 & var$3 | 0) { break label$6 } i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4 & var$2 | 0; i64toi32_i32$3 = 0; i64toi32_i32$0 = 32; i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0; $40 = 0; } else { i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } $63$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$1 = var$0; i64toi32_i32$2 = 0; i64toi32_i32$0 = -1; i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0; $65$hi = i64toi32_i32$2; i64toi32_i32$2 = $63$hi; i64toi32_i32$3 = $40; i64toi32_i32$1 = $65$hi; i64toi32_i32$0 = $65; i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$3 | 0; } } var$4 = var$3 + -1 | 0; if (!(var$4 & var$3 | 0)) { break label$5 } var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0; var$3 = 0 - var$2 | 0; break label$3; } var$3 = 63 - var$2 | 0; var$2 = var$2 + 1 | 0; break label$3; } var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0; i64toi32_i32$3 = 0; i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0; i64toi32_i32$1 = 0; i64toi32_i32$0 = 32; i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; $41 = 0; } else { i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } __wasm_intrinsics_temp_i64 = $41; __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; i64toi32_i32$2 = var$4; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$2 | 0; } var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0; if (var$2 >>> 0 < 31 >>> 0) { break label$4 } break label$2; } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; if ((var$3 | 0) == (1 | 0)) { break label$1 } i64toi32_i32$2 = var$0$hi; i64toi32_i32$2 = 0; $120$hi = i64toi32_i32$2; i64toi32_i32$2 = var$0$hi; i64toi32_i32$3 = var$0; i64toi32_i32$1 = $120$hi; i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0; i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; } i64toi32_i32$3 = $42; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; return i64toi32_i32$3 | 0; } var$3 = 63 - var$2 | 0; var$2 = var$2 + 1 | 0; } i64toi32_i32$3 = var$0$hi; i64toi32_i32$3 = 0; $129$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$2 = var$0; i64toi32_i32$1 = $129$hi; i64toi32_i32$0 = var$2 & 63 | 0; i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$1 = 0; $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; } else { i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; } var$5 = $43; var$5$hi = i64toi32_i32$1; i64toi32_i32$1 = var$0$hi; i64toi32_i32$1 = 0; $134$hi = i64toi32_i32$1; i64toi32_i32$1 = var$0$hi; i64toi32_i32$3 = var$0; i64toi32_i32$2 = $134$hi; i64toi32_i32$0 = var$3 & 63 | 0; i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; $44 = 0; } else { i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0; } var$0 = $44; var$0$hi = i64toi32_i32$2; label$13 : { if (var$2) { i64toi32_i32$2 = var$1$hi; i64toi32_i32$1 = var$1; i64toi32_i32$3 = -1; i64toi32_i32$0 = -1; i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 } var$8 = i64toi32_i32$4; var$8$hi = i64toi32_i32$5; label$15 : while (1) { i64toi32_i32$5 = var$5$hi; i64toi32_i32$2 = var$5; i64toi32_i32$1 = 0; i64toi32_i32$0 = 1; i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; $45 = 0; } else { i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; } $140 = $45; $140$hi = i64toi32_i32$1; i64toi32_i32$1 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; i64toi32_i32$0 = 63; i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = 0; $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; } else { i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; } $142$hi = i64toi32_i32$2; i64toi32_i32$2 = $140$hi; i64toi32_i32$1 = $140; i64toi32_i32$5 = $142$hi; i64toi32_i32$0 = $46; i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; var$5$hi = i64toi32_i32$5; $144 = var$5; $144$hi = i64toi32_i32$5; i64toi32_i32$5 = var$8$hi; i64toi32_i32$5 = var$5$hi; i64toi32_i32$5 = var$8$hi; i64toi32_i32$2 = var$8; i64toi32_i32$1 = var$5$hi; i64toi32_i32$0 = var$5; i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; i64toi32_i32$5 = i64toi32_i32$3; i64toi32_i32$2 = 0; i64toi32_i32$0 = 63; i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; } else { i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; } var$6 = $47; var$6$hi = i64toi32_i32$2; i64toi32_i32$2 = var$1$hi; i64toi32_i32$2 = var$6$hi; i64toi32_i32$4 = var$6; i64toi32_i32$5 = var$1$hi; i64toi32_i32$0 = var$1; i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; $151$hi = i64toi32_i32$5; i64toi32_i32$5 = $144$hi; i64toi32_i32$2 = $144; i64toi32_i32$4 = $151$hi; i64toi32_i32$0 = $151; i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; var$5 = i64toi32_i32$1; var$5$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; i64toi32_i32$0 = 1; i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; $48 = 0; } else { i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; } $154$hi = i64toi32_i32$2; i64toi32_i32$2 = var$7$hi; i64toi32_i32$2 = $154$hi; i64toi32_i32$3 = $48; i64toi32_i32$5 = var$7$hi; i64toi32_i32$0 = var$7; i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; var$0$hi = i64toi32_i32$5; i64toi32_i32$5 = var$6$hi; i64toi32_i32$2 = var$6; i64toi32_i32$3 = 0; i64toi32_i32$0 = 1; i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; var$6$hi = i64toi32_i32$3; var$7 = var$6; var$7$hi = i64toi32_i32$3; var$2 = var$2 + -1 | 0; if (var$2) { continue label$15 } break label$15; }; break label$13; } } i64toi32_i32$3 = var$5$hi; __wasm_intrinsics_temp_i64 = var$5; __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$2 = 0; i64toi32_i32$0 = 1; i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; $49 = 0; } else { i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0; } $165$hi = i64toi32_i32$2; i64toi32_i32$2 = var$6$hi; i64toi32_i32$2 = $165$hi; i64toi32_i32$3 = $49; i64toi32_i32$5 = var$6$hi; i64toi32_i32$0 = var$6; i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0; i64toi32_i32$HIGH_BITS = i64toi32_i32$5; return i64toi32_i32$3 | 0; } i64toi32_i32$3 = var$0$hi; __wasm_intrinsics_temp_i64 = var$0; __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; i64toi32_i32$3 = 0; var$0 = 0; var$0$hi = i64toi32_i32$3; } i64toi32_i32$3 = var$0$hi; i64toi32_i32$5 = var$0; i64toi32_i32$HIGH_BITS = i64toi32_i32$3; return i64toi32_i32$5 | 0; } function __wasm_ctz_i32(var$0) { var$0 = var$0 | 0; if (var$0) { return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0 } return 32 | 0; } function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; var$1 = var$1 | 0; var$1$hi = var$1$hi | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; i64toi32_i32$0 = var$0$hi; i64toi32_i32$0 = var$1$hi; i64toi32_i32$0 = var$0$hi; i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return i64toi32_i32$1 | 0; } function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; var$1 = var$1 | 0; var$1$hi = var$1$hi | 0; var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; i64toi32_i32$0 = var$0$hi; i64toi32_i32$0 = var$1$hi; i64toi32_i32$0 = var$0$hi; i64toi32_i32$1 = var$1$hi; i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return i64toi32_i32$1 | 0; } function __wasm_rotl_i32(var$0, var$1) { var$0 = var$0 | 0; var$1 = var$1 | 0; var var$2 = 0; var$2 = var$1 & 31 | 0; var$1 = (0 - var$1 | 0) & 31 | 0; return ((-1 >>> var$2 | 0) & var$0 | 0) << var$2 | 0 | (((-1 << var$1 | 0) & var$0 | 0) >>> var$1 | 0) | 0 | 0; } // EMSCRIPTEN_END_FUNCS ; bufferView = HEAPU8; initActiveSegments(imports); var FUNCTION_TABLE = Table([null, __cxx_global_array_dtor, __cxx_global_array_dtor_5, __cxx_global_array_dtor_6, __cxx_global_array_dtor_7, __cxx_global_array_dtor_8, __cxx_global_array_dtor_9, __cxx_global_array_dtor_10, embind_init_bullet_28_29, void_20const__20emscripten__internal__getActualType_btDebugDraw__28btDebugDraw__29, void_20emscripten__internal__raw_destructor_btDebugDraw__28btDebugDraw__29, void_20const__20emscripten__internal__getActualType_btDebugDrawWrapper__28btDebugDrawWrapper__29, void_20emscripten__internal__raw_destructor_btDebugDrawWrapper__28btDebugDrawWrapper__29, btDebugDrawWrapper__20emscripten__internal__wrapped_new_btDebugDrawWrapper__2c_20btDebugDrawWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_btDebugDrawWrapper__2c_20emscripten__val_____invoke_28btDebugDrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_btDebugDrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29, void_20const__20emscripten__internal__getActualType_btControllerHitReport__28btControllerHitReport__29, void_20emscripten__internal__raw_destructor_btControllerHitReport__28btControllerHitReport__29, void_20const__20emscripten__internal__getActualType_btControllerHitReportWrapper__28btControllerHitReportWrapper__29, void_20emscripten__internal__raw_destructor_btControllerHitReportWrapper__28btControllerHitReportWrapper__29, btControllerHitReportWrapper__20emscripten__internal__wrapped_new_btControllerHitReportWrapper__2c_20btControllerHitReportWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_btControllerHitReportWrapper__2c_20emscripten__val_____invoke_28btControllerHitReportWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_btControllerHitReportWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, void_20const__20emscripten__internal__getActualType_cc__ccMotionState__28cc__ccMotionState__29, void_20emscripten__internal__raw_destructor_cc__ccMotionState__28cc__ccMotionState__29, void_20const__20emscripten__internal__getActualType_ccMotionStateWrapper__28ccMotionStateWrapper__29, void_20emscripten__internal__raw_destructor_ccMotionStateWrapper__28ccMotionStateWrapper__29, ccMotionStateWrapper__20emscripten__internal__wrapped_new_ccMotionStateWrapper__2c_20ccMotionStateWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_ccMotionStateWrapper__2c_20emscripten__val_____invoke_28ccMotionStateWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_ccMotionStateWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, _malloc_28int_29, _free_28int_29, _read_f32_28int_29, _write_f32_28int_2c_20float_29, _safe_delete_28int_2c_20int_29, Vec3_new_28float_2c_20float_2c_20float_29, Vec3_x_28int_29, Vec3_y_28int_29, Vec3_z_28int_29, Vec3_set_28int_2c_20float_2c_20float_2c_20float_29, Quat_new_28float_2c_20float_2c_20float_2c_20float_29, Quat_x_28int_29, Quat_y_28int_29, Quat_z_28int_29, Quat_w_28int_29, Quat_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29, Transform_new_28_29, Transform_setIdentity_28int_29, Transform_setRotation_28int_2c_20int_29, Transform_getOrigin_28int_29, Transform_getRotation_28int_2c_20int_29, Transform_getRotationAndOrigin_28int_2c_20int_29, MotionState_getWorldTransform, MotionState_setWorldTransform, ccMotionState_setup, int_array_size_28int_29, int_array_at_28int_2c_20int_29, Vec3_array_at_28int_2c_20int_29, TypedConstraint_getFixedBody_28_29, TypedConstraint_getDbgDrawSize_28int_29, TypedConstraint_setDbgDrawSize_28int_2c_20float_29, TypedConstraint_setMaxImpulseThreshold_28int_2c_20float_29, HingeConstraint_new_28int_2c_20int_2c_20int_2c_20int_29, HingeConstraint_setFrames_28int_2c_20int_2c_20int_29, HingeConstraint_setLimit_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29, HingeConstraint_enableMotor_28int_2c_20bool_29, HingeConstraint_setAngularOnly_28int_2c_20bool_29, HingeConstraint_setMaxMotorImpulse_28int_2c_20float_29, HingeConstraint_setMotorTarget_28int_2c_20float_2c_20float_29, HingeConstraint_setMotorVelocity_28int_2c_20float_29, P2PConstraint_new_28int_2c_20int_2c_20int_2c_20int_29, P2PConstraint_setPivotA_28int_2c_20int_29, P2PConstraint_setPivotB_28int_2c_20int_29, FixedConstraint_new_28int_2c_20int_2c_20int_2c_20int_29, FixedConstraint_setFrames_28int_2c_20int_2c_20int_29, Generic6DofSpring2Constraint_new_28int_2c_20int_2c_20int_2c_20int_2c_20int_29, Generic6DofSpring2Constraint_setFrames_28int_2c_20int_2c_20int_29, Generic6DofSpring2Constraint_setLimit_28int_2c_20int_2c_20float_2c_20float_29, Generic6DofSpring2Constraint_enableSpring_28int_2c_20int_2c_20bool_29, Generic6DofSpring2Constraint_setStiffness_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setDamping_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setBounce_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setEquilibriumPoint_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_enableMotor_28int_2c_20int_2c_20bool_29, Generic6DofSpring2Constraint_setMaxMotorForce_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setTargetVelocity_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setServo_28int_2c_20int_2c_20bool_29, Generic6DofSpring2Constraint_setServoTarget_28int_2c_20int_2c_20float_29, CollisionShape_isCompound_28int_29, CollisionShape_setLocalScaling_28int_2c_20int_29, CollisionShape_calculateLocalInertia_28int_2c_20float_2c_20int_29, CollisionShape_getAabb_28int_2c_20int_2c_20int_2c_20int_29, CollisionShape_setMargin_28int_2c_20float_29, CollisionShape_setMaterial_28int_2c_20int_29, CollisionShape_setUserPointer_28int_2c_20int_29, EmptyShape_static_28_29, ConvexInternalShape_getImplicitShapeDimensions_28int_29, BoxShape_new_28int_29, BoxShape_setUnscaledHalfExtents_28int_2c_20int_29, SphereShape_new_28float_29, SphereShape_setUnscaledRadius_28int_2c_20float_29, CylinderShape_new_28int_29, CylinderShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29, CapsuleShape_new_28float_2c_20float_29, CapsuleShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29, ConeShape_new_28float_2c_20float_29, ConeShape_setRadius_28int_2c_20float_29, ConeShape_setHeight_28int_2c_20float_29, ConeShape_setConeUpIndex_28int_2c_20int_29, StaticPlaneShape_new_28int_2c_20float_29, StaticPlaneShape_getPlaneNormal_28int_29, StaticPlaneShape_setPlaneConstant_28int_2c_20float_29, TerrainShape_new_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29, TriangleMesh_new_28_29, TriangleMesh_addTriangle_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29, BvhTriangleMeshShape_new_28int_2c_20bool_2c_20bool_29, BvhTriangleMeshShape_getOptimizedBvh_28int_29, BvhTriangleMeshShape_setOptimizedBvh_28int_2c_20int_2c_20float_2c_20float_2c_20float_29, ScaledBvhTriangleMeshShape_new_28int_2c_20float_2c_20float_2c_20float_29, ConvexTriangleMeshShape_new_28int_29, SimplexShape_new_28_29, SimplexShape_addVertex_28int_2c_20int_29, ccCompoundShape_new_28_29, CompoundShape_getNumChildShapes_28int_29, CompoundShape_addChildShape_28int_2c_20int_2c_20int_29, CompoundShape_getChildShape_28int_2c_20int_29, CompoundShape_removeChildShape_28int_2c_20int_29, CompoundShape_updateChildTransform_28int_2c_20int_2c_20int_2c_20bool_29, CollisionObject_new_28_29, CollisionObject_getCollisionShape_28int_29, CollisionObject_setCollisionShape_28int_2c_20int_29, CollisionObject_setContactProcessingThreshold_28int_2c_20int_29, CollisionObject_isSleeping_28int_29, CollisionObject_getActivationState_28int_29, CollisionObject_forceActivationState_28int_2c_20int_29, CollisionObject_activate_28int_2c_20bool_29, CollisionObject_isActive_28int_29, CollisionObject_isKinematicObject_28int_29, CollisionObject_isStaticObject_28int_29, CollisionObject_isStaticOrKinematicObject_28int_29, CollisionObject_getWorldTransform_28int_29, CollisionObject_setCollisionFlags_28int_2c_20int_29, CollisionObject_getCollisionFlags_28int_29, CollisionObject_setCcdMotionThreshold_28int_2c_20float_29, CollisionObject_setCcdSweptSphereRadius_28int_2c_20float_29, CollisionObject_setUserIndex_28int_2c_20int_29, CollisionObject_getUserIndex_28int_29, CollisionObject_setMaterial_28int_2c_20float_2c_20float_2c_20float_2c_20float_29, CollisionObject_setIgnoreCollisionCheck_28int_2c_20int_2c_20bool_29, RigidBody_new_28float_2c_20int_29, RigidBody_getFlags_28int_29, RigidBody_setFlags_28int_2c_20int_29, RigidBody_setGravity_28int_2c_20int_29, RigidBody_setDamping_28int_2c_20float_2c_20float_29, RigidBody_setMass_28int_2c_20float_29, RigidBody_setMassProps_28int_2c_20float_2c_20int_29, RigidBody_setLinearFactor_28int_2c_20int_29, RigidBody_setAngularFactor_28int_2c_20int_29, RigidBody_setLinearVelocity_28int_2c_20int_29, RigidBody_getLinearVelocity_28int_29, RigidBody_setAngularVelocity_28int_2c_20int_29, RigidBody_getAngularVelocity_28int_29, RigidBody_clearState_28int_29, RigidBody_clearForces_28int_29, RigidBody_wantsSleeping_28int_29, RigidBody_setSleepingThresholds_28int_2c_20float_2c_20float_29, RigidBody_getLinearSleepingThreshold_28int_29, RigidBody_getMotionState_28int_29, RigidBody_applyTorque_28int_2c_20int_29, RigidBody_applyForce_28int_2c_20int_2c_20int_29, RigidBody_applyImpulse_28int_2c_20int_2c_20int_29, RigidBody_getWorldTransform_28int_2c_20int_29, DefaultCollisionConfiguration_static_28_29, CollisionDispatcher_new_28_29, Dispatcher_getNumManifolds_28int_29, Dispatcher_getManifoldByIndexInternal_28int_2c_20int_29, ManifoldPoint_getShape0_28int_29, ManifoldPoint_getShape1_28int_29, ManifoldPoint_get_m_index0_28int_29, ManifoldPoint_get_m_index1_28int_29, PersistentManifold_getBody0_28int_29, PersistentManifold_getBody1_28int_29, PersistentManifold_getNumContacts_28int_29, PersistentManifold_getContactPoint_28int_2c_20int_29, ManifoldPoint_get_m_localPointA_28int_29, ManifoldPoint_get_m_localPointB_28int_29, ManifoldPoint_get_m_positionWorldOnA_28int_29, ManifoldPoint_get_m_positionWorldOnB_28int_29, ManifoldPoint_get_m_normalWorldOnB_28int_29, DbvtBroadphase_new_28_29, SequentialImpulseConstraintSolver_new_28_29, CollisionWorld_addCollisionObject_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29, CollisionWorld_removeCollisionObject_28int_2c_20int_29, CollisionWorld_rayTest_28int_2c_20int_2c_20int_2c_20int_29, CollisionWorld_convexSweepTest_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29, CollisionWorld_setDebugDrawer_28int_2c_20int_29, CollisionWorld_debugDrawWorld_28int_29, ccDiscreteDynamicsWorld_new_28int_2c_20int_2c_20int_29, ccDiscreteDynamicsWorld_setAllowSleep_28int_2c_20bool_29, DynamicsWorld_setGravity_28int_2c_20int_29, DynamicsWorld_stepSimulation_28int_2c_20float_2c_20int_2c_20float_29, DynamicsWorld_addRigidBody_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29, DynamicsWorld_removeRigidBody_28int_2c_20int_29, DynamicsWorld_addConstraint_28int_2c_20int_2c_20bool_29, DynamicsWorld_removeConstraint_28int_2c_20int_29, DynamicsWorld_addAction_28int_2c_20int_29, DynamicsWorld_removeAction_28int_2c_20int_29, DebugDraw_setDebugMode_28int_2c_20int_29, DebugDraw_getDebugMode_28int_29, DebugDraw_setActiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setDeactiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setWantsDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setDisabledDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setDisabledSimulationObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setAABBColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setContactPointColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setConstraintLimitColor_28int_2c_20float_2c_20float_2c_20float_29, RayCallback_hasHit_28int_29, ConvexCallback_hasHit_28int_29, ccAllRayCallback_static_28_29, ccAllRayCallback_setFlags_28int_2c_20int_29, ccAllRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, ccAllRayCallback_getHitPointWorld_28int_29, ccAllRayCallback_getHitNormalWorld_28int_29, ccAllRayCallback_getCollisionShapePtrs_28int_29, ccClosestRayCallback_static_28_29, ccClosestRayCallback_setFlags_28int_2c_20int_29, ccClosestRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, ccClosestRayCallback_getHitPointWorld_28int_29, ccClosestRayCallback_getHitNormalWorld_28int_29, ccClosestRayCallback_getCollisionShapePtr_28int_29, ccAllConvexCallback_static_28_29, ccAllConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, ccAllConvexCallback_getHitPointWorld_28int_29, ccAllConvexCallback_getHitNormalWorld_28int_29, ccAllConvexCallback_getCollisionShapePtrs_28int_29, ccClosestConvexCallback_static_28_29, ccClosestConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, ccClosestConvexCallback_getHitPointWorld_28int_29, ccClosestConvexCallback_getHitNormalWorld_28int_29, ccClosestConvexCallback_getCollisionShapePtr_28int_29, ccMaterial_new_28_29, ccMaterial_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29, CharacterController_getGhostObject, CharacterController_getCollisionShape, ControllerHit_getHitWorldPos, ControllerHit_getHitWorldNormal, ControllerHit_getHitMotionDir, ControllerHit_getHitMotionLength, ControllerShapeHit_getHitShape, ControllerShapeHit_getHitCollisionObject, CharacterController_move, CharacterController_getPosition, CharacterController_setContactOffset, CharacterController_setStepOffset, CharacterController_setSlopeLimit, CharacterController_setCollision, CharacterController_setOverlapRecovery, CapsuleCharacterControllerDesc_new, CapsuleCharacterController_new, CapsuleCharacterController_setRadius, CapsuleCharacterController_setHeight, BoxCharacterControllerDesc_new, BoxCharacterController_new, BoxCharacterController_setHalfHeight, BoxCharacterController_setHalfSideExtent, BoxCharacterController_setHalfForwardExtent, emscripten__internal__MethodInvoker_void_20_28btIDebugDraw____29_28_29_2c_20void_2c_20btIDebugDraw____invoke_28void_20_28btIDebugDraw____20const__29_28_29_2c_20btIDebugDraw__29, emscripten__internal__MethodInvoker_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_2c_20void_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int___invoke_28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int_29, btDebugDraw__20emscripten__base_btDebugDraw___convertPointer_btDebugDrawWrapper_2c_20btDebugDraw__28btDebugDrawWrapper__29, btDebugDrawWrapper__20emscripten__base_btDebugDraw___convertPointer_btDebugDraw_2c_20btDebugDrawWrapper__28btDebugDraw__29, emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29____invoke_28btDebugDrawWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28btDebugDrawWrapper__29_2c_20void_2c_20btDebugDrawWrapper____invoke_28void_20_28___29_28btDebugDrawWrapper__29_2c_20btDebugDrawWrapper__29, emscripten__internal__MethodInvoker_void_20_28btControllerHitReport____29_28int_2c_20int_29_2c_20void_2c_20btControllerHitReport__2c_20int_2c_20int___invoke_28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_2c_20btControllerHitReport__2c_20int_2c_20int_29, btControllerHitReport__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReportWrapper_2c_20btControllerHitReport__28btControllerHitReportWrapper__29, btControllerHitReportWrapper__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReport_2c_20btControllerHitReportWrapper__28btControllerHitReport__29, emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29____invoke_28btControllerHitReportWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28btControllerHitReportWrapper__29_2c_20void_2c_20btControllerHitReportWrapper____invoke_28void_20_28___29_28btControllerHitReportWrapper__29_2c_20btControllerHitReportWrapper__29, emscripten__internal__MethodInvoker_void_20_28cc__ccMotionState____29_28int_29_2c_20void_2c_20cc__ccMotionState__2c_20int___invoke_28void_20_28cc__ccMotionState____20const__29_28int_29_2c_20cc__ccMotionState__2c_20int_29, cc__ccMotionState__20emscripten__base_cc__ccMotionState___convertPointer_ccMotionStateWrapper_2c_20cc__ccMotionState__28ccMotionStateWrapper__29, ccMotionStateWrapper__20emscripten__base_cc__ccMotionState___convertPointer_cc__ccMotionState_2c_20ccMotionStateWrapper__28cc__ccMotionState__29, emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29____invoke_28ccMotionStateWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28ccMotionStateWrapper__29_2c_20void_2c_20ccMotionStateWrapper____invoke_28void_20_28___29_28ccMotionStateWrapper__29_2c_20ccMotionStateWrapper__29, emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29, emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29, emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29, emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_int___invoke_28int_20_28__29_28_29_29, emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20bool_29_2c_20int_2c_20bool_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20bool_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20float_29, emscripten__internal__Invoker_bool_2c_20int___invoke_28bool_20_28__29_28int_29_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_int_2c_20float___invoke_28int_20_28__29_28float_29_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20float_2c_20int_29, emscripten__internal__Invoker_int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_29_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20float___invoke_28int_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_29, emscripten__internal__Invoker_int_2c_20int_2c_20bool_2c_20bool___invoke_28int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20int_2c_20bool_2c_20bool_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20bool_29, emscripten__internal__Invoker_int_2c_20float_2c_20int___invoke_28int_20_28__29_28float_2c_20int_29_2c_20float_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20int_2c_20float_2c_20int_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29, cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29, cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29_1, cc__ccClosestRayResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29, btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29_1, btCollisionWorld__RayResultCallback__needsCollision_28btBroadphaseProxy__29_20const, btCollisionWorld__ClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, btCollisionWorld__RayResultCallback___RayResultCallback_28_29, btCollisionWorld__RayResultCallback___RayResultCallback_28_29_1, __cxa_pure_virtual, cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29, cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29_1, cc__ccAllHitsRayResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccAllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29, btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29_1, btCollisionWorld__AllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29, cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29_1, cc__ccClosestConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29, btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29_1, btCollisionWorld__ConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29, btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29_1, cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29, cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29_1, cc__ccAllHitsConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccAllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29, btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29_1, btCollisionWorld__AllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, cc__ccCompoundShape___ccCompoundShape_28_29, cc__ccCompoundShape___ccCompoundShape_28_29_1, btCompoundShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btCollisionShape__getBoundingSphere_28btVector3__2c_20float__29_20const, btCollisionShape__getAngularMotionDisc_28_29_20const, btCollisionShape__getContactBreakingThreshold_28float_29_20const, btCompoundShape__setLocalScaling_28btVector3_20const__29, btCompoundShape__getLocalScaling_28_29_20const, btCompoundShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btCompoundShape__getName_28_29_20const, btCollisionShape__getAnisotropicRollingFrictionDirection_28_29_20const, btCompoundShape__setMargin_28float_29, btCompoundShape__getMargin_28_29_20const, btCompoundShape__calculateSerializeBufferSize_28_29_20const, btCompoundShape__serialize_28void__2c_20btSerializer__29_20const, btCollisionShape__serializeSingleShape_28btSerializer__29_20const, btCompoundShape__removeChildShape_28btCollisionShape__29, btCompoundShape__recalculateLocalAabb_28_29, btMotionState___btMotionState_28_29, btMotionState___btMotionState_28_29_1, btDebugDrawWrapper___btDebugDrawWrapper_28_29, btDebugDrawWrapper___btDebugDrawWrapper_28_29_1, btDebugDraw__getDefaultColors_28_29_20const, btDebugDraw__setDefaultColors_28btIDebugDraw__DefaultColors_20const__29, btDebugDraw__drawLine_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29, btIDebugDraw__drawLine_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29, btIDebugDraw__drawSphere_28float_2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawSphere_28btVector3_20const__2c_20float_2c_20btVector3_20const__29, btIDebugDraw__drawTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29, btIDebugDraw__drawTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29, btDebugDraw__drawContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20btVector3_20const__29, btDebugDraw__reportErrorWarning_28char_20const__29, btDebugDraw__draw3dText_28btVector3_20const__2c_20char_20const__29, btDebugDraw__setDebugMode_28int_29, btDebugDraw__getDebugMode_28_29_20const, btIDebugDraw__drawAabb_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29, btIDebugDraw__drawTransform_28btTransform_20const__2c_20float_29, btIDebugDraw__drawArc_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20float_2c_20float_2c_20float_2c_20btVector3_20const__2c_20bool_2c_20float_29, btIDebugDraw__drawSpherePatch_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_2c_20btVector3_20const__2c_20float_2c_20bool_29, btIDebugDraw__drawBox_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29, btIDebugDraw__drawBox_28btVector3_20const__2c_20btVector3_20const__2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawCapsule_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawCylinder_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawCone_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawPlane_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3_20const__29, btDebugDrawWrapper__clearLines_28_29, btDebugDrawWrapper__flushLines_28_29, btDebugDrawWrapper__onDebugDrawLine_28int_2c_20int_2c_20int_29, emscripten__wrapper_btDebugDraw____wrapper_28_29, emscripten__wrapper_btDebugDraw____wrapper_28_29_1, btIDebugDraw__clearLines_28_29, btIDebugDraw__flushLines_28_29, btDebugDraw___btDebugDraw_28_29, btDebugDraw___btDebugDraw_28_29_1, btIDebugDraw___btIDebugDraw_28_29, btIDebugDraw___btIDebugDraw_28_29_1, btIDebugDraw__getDefaultColors_28_29_20const, btIDebugDraw__setDefaultColors_28btIDebugDraw__DefaultColors_20const__29, btControllerHitReport__onShapeHit_28btControllerShapeHit_20const__29, btControllerHitReport__onControllerHit_28btControllersHit_20const__29, btControllerHitReportWrapper___btControllerHitReportWrapper_28_29, btControllerHitReportWrapper___btControllerHitReportWrapper_28_29_1, btControllerHitReportWrapper__onShapeHitExt_28int_2c_20int_29, emscripten__wrapper_btControllerHitReport____wrapper_28_29, emscripten__wrapper_btControllerHitReport____wrapper_28_29_1, btControllerHitReport___btControllerHitReport_28_29, btControllerHitReport___btControllerHitReport_28_29_1, btUserControllerHitReport___btUserControllerHitReport_28_29, btUserControllerHitReport___btUserControllerHitReport_28_29_1, ccMotionStateWrapper___ccMotionStateWrapper_28_29, ccMotionStateWrapper___ccMotionStateWrapper_28_29_1, cc__ccMotionState__getWorldTransform_28btTransform__29_20const, cc__ccMotionState__setWorldTransform_28btTransform_20const__29, ccMotionStateWrapper__syncPhysicsToGraphics_28int_29, emscripten__wrapper_cc__ccMotionState____wrapper_28_29, emscripten__wrapper_cc__ccMotionState____wrapper_28_29_1, cc__ccMotionState___ccMotionState_28_29, cc__ccMotionState___ccMotionState_28_29_1, btAlignedAllocDefault_28unsigned_20long_2c_20int_29, btAlignedFreeDefault_28void__29, btAllocDefault_28unsigned_20long_29, btFreeDefault_28void__29, btDbvtBroadphase___btDbvtBroadphase_28_29, btDbvtBroadphase___btDbvtBroadphase_28_29_1, btDbvtBroadphase__createProxy_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20void__2c_20int_2c_20int_2c_20btDispatcher__29, btDbvtBroadphase__destroyProxy_28btBroadphaseProxy__2c_20btDispatcher__29, btDbvtBroadphase__setAabb_28btBroadphaseProxy__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btDispatcher__29, btDbvtBroadphase__getAabb_28btBroadphaseProxy__2c_20btVector3__2c_20btVector3__29_20const, btDbvtBroadphase__rayTest_28btVector3_20const__2c_20btVector3_20const__2c_20btBroadphaseRayCallback__2c_20btVector3_20const__2c_20btVector3_20const__29, btDbvtBroadphase__aabbTest_28btVector3_20const__2c_20btVector3_20const__2c_20btBroadphaseAabbCallback__29, btDbvtBroadphase__calculateOverlappingPairs_28btDispatcher__29, btDbvtBroadphase__getOverlappingPairCache_28_29, btDbvtBroadphase__getOverlappingPairCache_28_29_20const, btDbvtBroadphase__getBroadphaseAabb_28btVector3__2c_20btVector3__29_20const, btDbvtBroadphase__resetPool_28btDispatcher__29, btDbvtBroadphase__printStats_28_29, btBroadphaseInterface___btBroadphaseInterface_28_29, btBroadphaseInterface___btBroadphaseInterface_28_29_1, btBroadphaseInterface__resetPool_28btDispatcher__29, btDbvtTreeCollider___btDbvtTreeCollider_28_29, btDbvtTreeCollider___btDbvtTreeCollider_28_29_1, btDbvtTreeCollider__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29, btDbvtTreeCollider__Process_28btDbvtNode_20const__29, btDbvt__ICollide__Process_28btDbvtNode_20const__2c_20float_29, btDbvt__ICollide__Descent_28btDbvtNode_20const__29, btDbvt__ICollide__AllLeaves_28btDbvtNode_20const__29, btDbvt__ICollide___ICollide_28_29, btDbvt__ICollide___ICollide_28_29_1, btDbvt__ICollide__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29, btDbvt__ICollide__Process_28btDbvtNode_20const__29, BroadphaseRayTester___BroadphaseRayTester_28_29, BroadphaseRayTester___BroadphaseRayTester_28_29_1, BroadphaseRayTester__Process_28btDbvtNode_20const__29, BroadphaseAabbTester___BroadphaseAabbTester_28_29, BroadphaseAabbTester___BroadphaseAabbTester_28_29_1, BroadphaseAabbTester__Process_28btDbvtNode_20const__29, btEnterProfileZoneDefault_28char_20const__29, btLeaveProfileZoneDefault_28_29, btHashedOverlappingPairCache___btHashedOverlappingPairCache_28_29, btHashedOverlappingPairCache___btHashedOverlappingPairCache_28_29_1, btHashedOverlappingPairCache__addOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btHashedOverlappingPairCache__removeOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20btDispatcher__29, btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29, btHashedOverlappingPairCache__getOverlappingPairArrayPtr_28_29, btHashedOverlappingPairCache__getOverlappingPairArrayPtr_28_29_20const, btHashedOverlappingPairCache__getOverlappingPairArray_28_29, btHashedOverlappingPairCache__cleanOverlappingPair_28btBroadphasePair__2c_20btDispatcher__29, btHashedOverlappingPairCache__getNumOverlappingPairs_28_29_20const, btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29, btHashedOverlappingPairCache__setOverlapFilterCallback_28btOverlapFilterCallback__29, btHashedOverlappingPairCache__processAllOverlappingPairs_28btOverlapCallback__2c_20btDispatcher__29, btHashedOverlappingPairCache__findPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btHashedOverlappingPairCache__hasDeferredRemoval_28_29, btHashedOverlappingPairCache__setInternalGhostPairCallback_28btOverlappingPairCallback__29, btHashedOverlappingPairCache__sortOverlappingPairs_28btDispatcher__29, btOverlappingPairCache___btOverlappingPairCache_28_29, btOverlappingPairCache___btOverlappingPairCache_28_29_1, btOverlappingPairCallback___btOverlappingPairCallback_28_29, btOverlappingPairCallback___btOverlappingPairCallback_28_29_1, btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29, btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29_1, btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback__processOverlap_28btBroadphasePair__29, btOverlapCallback___btOverlapCallback_28_29, btOverlapCallback___btOverlapCallback_28_29_1, btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29, btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29_1, btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback__processOverlap_28btBroadphasePair__29, btDispatcher___btDispatcher_28_29, btDispatcher___btDispatcher_28_29_1, btCollisionDispatcher__defaultNearCallback_28btBroadphasePair__2c_20btCollisionDispatcher__2c_20btDispatcherInfo_20const__29, btCollisionDispatcher___btCollisionDispatcher_28_29, btCollisionDispatcher___btCollisionDispatcher_28_29_1, btCollisionDispatcher__findAlgorithm_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btPersistentManifold__2c_20ebtDispatcherQueryType_29, btCollisionDispatcher__getNewManifold_28btCollisionObject_20const__2c_20btCollisionObject_20const__29, btCollisionDispatcher__releaseManifold_28btPersistentManifold__29, btCollisionDispatcher__clearManifold_28btPersistentManifold__29, btCollisionDispatcher__needsCollision_28btCollisionObject_20const__2c_20btCollisionObject_20const__29, btCollisionDispatcher__needsResponse_28btCollisionObject_20const__2c_20btCollisionObject_20const__29, btCollisionDispatcher__dispatchAllCollisionPairs_28btOverlappingPairCache__2c_20btDispatcherInfo_20const__2c_20btDispatcher__29, btCollisionDispatcher__getNumManifolds_28_29_20const, btCollisionDispatcher__getManifoldByIndexInternal_28int_29, btCollisionDispatcher__getInternalManifoldPointer_28_29, btCollisionDispatcher__getInternalManifoldPool_28_29, btCollisionDispatcher__getInternalManifoldPool_28_29_20const, btCollisionDispatcher__allocateCollisionAlgorithm_28int_29, btCollisionDispatcher__freeCollisionAlgorithm_28void__29, btDiscreteCollisionDetectorInterface__Result___Result_28_29, btDiscreteCollisionDetectorInterface__Result___Result_28_29_1, btCollisionPairCallback___btCollisionPairCallback_28_29, btCollisionPairCallback___btCollisionPairCallback_28_29_1, btCollisionPairCallback__processOverlap_28btBroadphasePair__29, btCollisionObject___btCollisionObject_28_29, btCollisionObject___btCollisionObject_28_29_1, btCollisionObject__setCollisionShape_28btCollisionShape__29, btCollisionObject__checkCollideWithOverride_28btCollisionObject_20const__29_20const, btCollisionObject__calculateSerializeBufferSize_28_29_20const, btCollisionObject__serialize_28void__2c_20btSerializer__29_20const, btCollisionObject__serializeSingleObject_28btSerializer__29_20const, btCollisionWorld___btCollisionWorld_28_29, btCollisionWorld___btCollisionWorld_28_29_1, btCollisionWorld__updateAabbs_28_29, btCollisionWorld__computeOverlappingPairs_28_29, btCollisionWorld__setDebugDrawer_28btIDebugDraw__29, btCollisionWorld__getDebugDrawer_28_29, btCollisionWorld__debugDrawWorld_28_29, btCollisionWorld__debugDrawObject_28btTransform_20const__2c_20btCollisionShape_20const__2c_20btVector3_20const__29, btCollisionWorld__rayTest_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__29_20const, btCollisionWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29, btCollisionWorld__removeCollisionObject_28btCollisionObject__29, btCollisionWorld__performDiscreteCollisionDetection_28_29, btCollisionWorld__serialize_28btSerializer__29, btConvexCast__CastResult__DebugDraw_28float_29, btConvexCast__CastResult__drawCoordSystem_28btTransform_20const__29, btConvexCast__CastResult__reportFailure_28int_2c_20int_29, btConvexCast__CastResult___CastResult_28_29, btConvexCast__CastResult___CastResult_28_29_1, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29_1, btTriangleRaycastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__reportHit_28btVector3_20const__2c_20float_2c_20int_2c_20int_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29_1, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__Process_28btDbvtNode_20const__29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29_1, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__needsCollision_28btBroadphaseProxy__29_20const, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29, btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_2, btTriangleConvexcastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__reportHit_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20int_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_3, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__reportHit_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20int_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__Process_28btDbvtNode_20const__29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__needsCollision_28btBroadphaseProxy__29_20const, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btSingleRayCallback___btSingleRayCallback_28_29, btSingleRayCallback___btSingleRayCallback_28_29_1, btSingleRayCallback__process_28btBroadphaseProxy_20const__29, btBroadphaseRayCallback___btBroadphaseRayCallback_28_29, btBroadphaseRayCallback___btBroadphaseRayCallback_28_29_1, btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29, btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29_1, btSingleSweepCallback___btSingleSweepCallback_28_29, btSingleSweepCallback___btSingleSweepCallback_28_29_1, btSingleSweepCallback__process_28btBroadphaseProxy_20const__29, DebugDrawcallback___DebugDrawcallback_28_29, DebugDrawcallback___DebugDrawcallback_28_29_1, DebugDrawcallback__processTriangle_28btVector3__2c_20int_2c_20int_29, DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, non_virtual_20thunk_20to_20DebugDrawcallback___DebugDrawcallback_28_29, non_virtual_20thunk_20to_20DebugDrawcallback___DebugDrawcallback_28_29_1, non_virtual_20thunk_20to_20DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, btCollisionAlgorithm___btCollisionAlgorithm_28_29_1, btCollisionAlgorithm___btCollisionAlgorithm_28_29, btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29, btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29_1, btConvexConvexAlgorithm__CreateFunc___CreateFunc_28_29, btConvexConvexAlgorithm___btConvexConvexAlgorithm_28_29, btConvexConvexAlgorithm__btConvexConvexAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btConvexPenetrationDepthSolver__2c_20int_2c_20int_29, btConvexConvexAlgorithm__CreateFunc___CreateFunc_28_29_1, btConvexConvexAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btConvexConvexAlgorithm___btConvexConvexAlgorithm_28_29_1, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexConvexAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexConvexAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29_1, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__setShapeIdentifiersA_28int_2c_20int_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__setShapeIdentifiersB_28int_2c_20int_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29_1, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__setShapeIdentifiersA_28int_2c_20int_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__setShapeIdentifiersB_28int_2c_20int_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btPerturbedContactResult___btPerturbedContactResult_28_29, btPerturbedContactResult___btPerturbedContactResult_28_29_1, btManifoldResult__setShapeIdentifiersA_28int_2c_20int_29, btManifoldResult__setShapeIdentifiersB_28int_2c_20int_29, btPerturbedContactResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btConvexTriangleCallback__btConvexTriangleCallback_28btDispatcher__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29, btConvexTriangleCallback___btConvexTriangleCallback_28_29, btConvexConcaveCollisionAlgorithm___btConvexConcaveCollisionAlgorithm_28_29, btConvexConcaveCollisionAlgorithm___btConvexConcaveCollisionAlgorithm_28_29_1, btConvexConcaveCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexConcaveCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btConvexTriangleCallback___btConvexTriangleCallback_28_29_1, btConvexTriangleCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btTriangleShape___btTriangleShape_28_29, btTriangleShape___btTriangleShape_28_29_1, btTriangleShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btConvexInternalShape__setLocalScaling_28btVector3_20const__29, btConvexInternalShape__getLocalScaling_28_29_20const, btTriangleShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btTriangleShape__getName_28_29_20const, btConvexInternalShape__setMargin_28float_29, btConvexInternalShape__getMargin_28_29_20const, btConvexInternalShape__calculateSerializeBufferSize_28_29_20const, btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const, btConvexInternalShape__localGetSupportingVertex_28btVector3_20const__29_20const, btTriangleShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btConvexShape__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const, btTriangleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btConvexInternalShape__getAabbSlow_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btTriangleShape__getNumPreferredPenetrationDirections_28_29_20const, btTriangleShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const, btPolyhedralConvexShape__initializePolyhedralFeatures_28int_29, btTriangleShape__getNumVertices_28_29_20const, btTriangleShape__getNumEdges_28_29_20const, btTriangleShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const, btTriangleShape__getVertex_28int_2c_20btVector3__29_20const, btTriangleShape__getNumPlanes_28_29_20const, btTriangleShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const, btTriangleShape__isInside_28btVector3_20const__2c_20float_29_20const, btTriangleShape__getPlaneEquation_28int_2c_20btVector3__2c_20btVector3__29_20const, btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29, btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29_1, btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29, btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29_1, btCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btCompoundCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btCompoundCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btCompoundLeafCallback___btCompoundLeafCallback_28_29, btCompoundLeafCallback___btCompoundLeafCallback_28_29_1, btCompoundLeafCallback__Process_28btDbvtNode_20const__29, btCompoundCompoundCollisionAlgorithm___btCompoundCompoundCollisionAlgorithm_28_29, btCompoundCompoundCollisionAlgorithm___btCompoundCompoundCollisionAlgorithm_28_29_1, btCompoundCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btCompoundCompoundCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btCompoundCompoundCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29, btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29_1, btCompoundCompoundLeafCallback__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29, btBoxBoxDetector___btBoxBoxDetector_28_29_1, btBoxBoxDetector___btBoxBoxDetector_28_29, btBoxBoxDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29, btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29, btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29_1, btBoxBoxCollisionAlgorithm___btBoxBoxCollisionAlgorithm_28_29, btBoxBoxCollisionAlgorithm___btBoxBoxCollisionAlgorithm_28_29_1, btBoxBoxCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btBoxBoxCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btBoxBoxCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btConvexPlaneCollisionAlgorithm___btConvexPlaneCollisionAlgorithm_28_29, btConvexPlaneCollisionAlgorithm___btConvexPlaneCollisionAlgorithm_28_29_1, btConvexPlaneCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexPlaneCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexPlaneCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29, btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29_1, btDefaultCollisionConfiguration__getPersistentManifoldPool_28_29, btDefaultCollisionConfiguration__getCollisionAlgorithmPool_28_29, btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_28int_2c_20int_29, btDefaultCollisionConfiguration__getClosestPointsAlgorithmCreateFunc_28int_2c_20int_29, btCollisionConfiguration___btCollisionConfiguration_28_29, btCollisionConfiguration___btCollisionConfiguration_28_29_1, btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btConvexConcaveCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29, btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29_1, btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29, btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29_1, btConvexConcaveCollisionAlgorithm__SwappedCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btCompoundCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btCompoundCompoundCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29, btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29_1, btCompoundCollisionAlgorithm__SwappedCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btEmptyAlgorithm__CreateFunc___CreateFunc_28_29, btEmptyAlgorithm__CreateFunc___CreateFunc_28_29_1, btEmptyAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btSphereSphereCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btSphereTriangleCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btBoxBoxCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btConvexPlaneCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btEmptyAlgorithm___btEmptyAlgorithm_28_29, btEmptyAlgorithm___btEmptyAlgorithm_28_29_1, btEmptyAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btEmptyAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btEmptyAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btHashedSimplePairCache___btHashedSimplePairCache_28_29, btHashedSimplePairCache___btHashedSimplePairCache_28_29_1, btHashedSimplePairCache__removeOverlappingPair_28int_2c_20int_29, btHashedSimplePairCache__addOverlappingPair_28int_2c_20int_29, btHashedSimplePairCache__getOverlappingPairArrayPtr_28_29, btManifoldResult___btManifoldResult_28_29, btManifoldResult___btManifoldResult_28_29_1, btManifoldResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btSphereSphereCollisionAlgorithm___btSphereSphereCollisionAlgorithm_28_29, btSphereSphereCollisionAlgorithm___btSphereSphereCollisionAlgorithm_28_29_1, btSphereSphereCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btSphereSphereCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btSphereTriangleCollisionAlgorithm___btSphereTriangleCollisionAlgorithm_28_29, btSphereTriangleCollisionAlgorithm___btSphereTriangleCollisionAlgorithm_28_29_1, btSphereTriangleCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btSphereTriangleCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btSphereTriangleCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, SphereTriangleDetector___SphereTriangleDetector_28_29, SphereTriangleDetector___SphereTriangleDetector_28_29_1, SphereTriangleDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29, btBoxShape___btBoxShape_28_29, btBoxShape___btBoxShape_28_29_1, btBoxShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btBoxShape__setLocalScaling_28btVector3_20const__29, btBoxShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btBoxShape__getName_28_29_20const, btBoxShape__setMargin_28float_29, btBoxShape__localGetSupportingVertex_28btVector3_20const__29_20const, btBoxShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btBoxShape__getNumPreferredPenetrationDirections_28_29_20const, btBoxShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const, btBoxShape__getNumVertices_28_29_20const, btBoxShape__getNumEdges_28_29_20const, btBoxShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const, btBoxShape__getVertex_28int_2c_20btVector3__29_20const, btBoxShape__getNumPlanes_28_29_20const, btBoxShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const, btBoxShape__isInside_28btVector3_20const__2c_20float_29_20const, btBoxShape__getPlaneEquation_28btVector4__2c_20int_29_20const, btQuantizedBvh___btQuantizedBvh_28_29, btQuantizedBvh__btQuantizedBvh_28_29, btQuantizedBvh___btQuantizedBvh_28_29_1, btQuantizedBvh__serialize_28void__2c_20unsigned_20int_2c_20bool_29_20const, btQuantizedBvh__calculateSerializeBufferSizeNew_28_29_20const, btQuantizedBvh__serialize_28void__2c_20btSerializer__29_20const, btQuantizedBvh__deSerializeFloat_28btQuantizedBvhFloatData__29, btQuantizedBvh__deSerializeDouble_28btQuantizedBvhDoubleData__29, btBvhTriangleMeshShape___btBvhTriangleMeshShape_28_29, btBvhTriangleMeshShape___btBvhTriangleMeshShape_28_29_1, btTriangleMeshShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btBvhTriangleMeshShape__setLocalScaling_28btVector3_20const__29, btTriangleMeshShape__getLocalScaling_28_29_20const, btTriangleMeshShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btBvhTriangleMeshShape__getName_28_29_20const, btConcaveShape__setMargin_28float_29, btConcaveShape__getMargin_28_29_20const, btBvhTriangleMeshShape__calculateSerializeBufferSize_28_29_20const, btBvhTriangleMeshShape__serialize_28void__2c_20btSerializer__29_20const, btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btTriangleMeshShape__localGetSupportingVertex_28btVector3_20const__29_20const, btTriangleMeshShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btBvhTriangleMeshShape__serializeSingleBvh_28btSerializer__29_20const, btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_28btSerializer__29_20const, btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29, btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1, btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__processNode_28int_2c_20int_29, btNodeOverlapCallback___btNodeOverlapCallback_28_29, btNodeOverlapCallback___btNodeOverlapCallback_28_29_1, btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29, btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1, btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__processNode_28int_2c_20int_29, btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29, btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1, btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback__processNode_28int_2c_20int_29, btCapsuleShape___btCapsuleShape_28_29, btCapsuleShape___btCapsuleShape_28_29_1, btCapsuleShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btCapsuleShape__setLocalScaling_28btVector3_20const__29, btCapsuleShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btCapsuleShape__getName_28_29_20const, btCapsuleShape__getAnisotropicRollingFrictionDirection_28_29_20const, btCapsuleShape__setMargin_28float_29, btCapsuleShape__calculateSerializeBufferSize_28_29_20const, btCapsuleShape__serialize_28void__2c_20btSerializer__29_20const, btCapsuleShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btConvexInternalShape__getNumPreferredPenetrationDirections_28_29_20const, btConvexInternalShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const, btCollisionShape___btCollisionShape_28_29, btCollisionShape___btCollisionShape_28_29_1, btCollisionShape__calculateSerializeBufferSize_28_29_20const, btCollisionShape__serialize_28void__2c_20btSerializer__29_20const, btCompoundShape___btCompoundShape_28_29, btCompoundShape___btCompoundShape_28_29_1, btConeShape___btConeShape_28_29, btConeShape___btConeShape_28_29_1, btConvexInternalShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btConeShape__setLocalScaling_28btVector3_20const__29, btConeShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btConeShape__getName_28_29_20const, btConeShape__getAnisotropicRollingFrictionDirection_28_29_20const, btConeShape__calculateSerializeBufferSize_28_29_20const, btConeShape__serialize_28void__2c_20btSerializer__29_20const, btConeShape__localGetSupportingVertex_28btVector3_20const__29_20const, btConeShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btConvexInternalShape___btConvexInternalShape_28_29, btConvexInternalShape___btConvexInternalShape_28_29_1, btConvexShape___btConvexShape_28_29, btConvexShape___btConvexShape_28_29_1, btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29, btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29_1, btPolyhedralConvexAabbCachingShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btConvexTriangleMeshShape__setLocalScaling_28btVector3_20const__29, btConvexTriangleMeshShape__getLocalScaling_28_29_20const, btPolyhedralConvexShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btConvexTriangleMeshShape__getName_28_29_20const, btConvexTriangleMeshShape__localGetSupportingVertex_28btVector3_20const__29_20const, btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btConvexTriangleMeshShape__getNumVertices_28_29_20const, btConvexTriangleMeshShape__getNumEdges_28_29_20const, btConvexTriangleMeshShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const, btConvexTriangleMeshShape__getVertex_28int_2c_20btVector3__29_20const, btConvexTriangleMeshShape__getNumPlanes_28_29_20const, btConvexTriangleMeshShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const, btConvexTriangleMeshShape__isInside_28btVector3_20const__2c_20float_29_20const, LocalSupportVertexCallback___LocalSupportVertexCallback_28_29, LocalSupportVertexCallback___LocalSupportVertexCallback_28_29_1, LocalSupportVertexCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, btCylinderShape___btCylinderShape_28_29, btCylinderShape___btCylinderShape_28_29_1, btCylinderShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btCylinderShape__setLocalScaling_28btVector3_20const__29, btCylinderShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btCylinderShape__getName_28_29_20const, btCylinderShape__getAnisotropicRollingFrictionDirection_28_29_20const, btCylinderShape__setMargin_28float_29, btCylinderShape__calculateSerializeBufferSize_28_29_20const, btCylinderShape__serialize_28void__2c_20btSerializer__29_20const, btCylinderShape__localGetSupportingVertex_28btVector3_20const__29_20const, btCylinderShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btCylinderShape__getRadius_28_29_20const, btConcaveShape___btConcaveShape_28_29, btConcaveShape___btConcaveShape_28_29_1, btEmptyShape___btEmptyShape_28_29, btEmptyShape___btEmptyShape_28_29_1, btEmptyShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btEmptyShape__setLocalScaling_28btVector3_20const__29, btEmptyShape__getLocalScaling_28_29_20const, btEmptyShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btEmptyShape__getName_28_29_20const, btEmptyShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btHeightfieldTerrainShape___btHeightfieldTerrainShape_28_29, btHeightfieldTerrainShape___btHeightfieldTerrainShape_28_29_1, btHeightfieldTerrainShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btHeightfieldTerrainShape__setLocalScaling_28btVector3_20const__29, btHeightfieldTerrainShape__getLocalScaling_28_29_20const, btHeightfieldTerrainShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btHeightfieldTerrainShape__getName_28_29_20const, btHeightfieldTerrainShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btHeightfieldTerrainShape__getRawHeightFieldValue_28int_2c_20int_29_20const, btOptimizedBvh___btOptimizedBvh_28_29, btOptimizedBvh___btOptimizedBvh_28_29_1, btOptimizedBvh__serializeInPlace_28void__2c_20unsigned_20int_2c_20bool_29_20const, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29_1, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29_1, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, btConvexPolyhedron___btConvexPolyhedron_28_29, btConvexPolyhedron___btConvexPolyhedron_28_29_1, btPolyhedralConvexShape___btPolyhedralConvexShape_28_29, btPolyhedralConvexShape___btPolyhedralConvexShape_28_29_1, btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29, btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29_1, btPolyhedralConvexAabbCachingShape__setLocalScaling_28btVector3_20const__29, btScaledBvhTriangleMeshShape___btScaledBvhTriangleMeshShape_28_29, btScaledBvhTriangleMeshShape___btScaledBvhTriangleMeshShape_28_29_1, btScaledBvhTriangleMeshShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btScaledBvhTriangleMeshShape__setLocalScaling_28btVector3_20const__29, btScaledBvhTriangleMeshShape__getLocalScaling_28_29_20const, btScaledBvhTriangleMeshShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btScaledBvhTriangleMeshShape__getName_28_29_20const, btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_28_29_20const, btScaledBvhTriangleMeshShape__serialize_28void__2c_20btSerializer__29_20const, btScaledBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btScaledTriangleCallback___btScaledTriangleCallback_28_29, btScaledTriangleCallback___btScaledTriangleCallback_28_29_1, btScaledTriangleCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btSphereShape___btSphereShape_28_29, btSphereShape___btSphereShape_28_29_1, btSphereShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btSphereShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btSphereShape__getName_28_29_20const, btSphereShape__setMargin_28float_29, btSphereShape__getMargin_28_29_20const, btSphereShape__localGetSupportingVertex_28btVector3_20const__29_20const, btSphereShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btStaticPlaneShape___btStaticPlaneShape_28_29, btStaticPlaneShape___btStaticPlaneShape_28_29_1, btStaticPlaneShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btStaticPlaneShape__setLocalScaling_28btVector3_20const__29, btStaticPlaneShape__getLocalScaling_28_29_20const, btStaticPlaneShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btStaticPlaneShape__getName_28_29_20const, btStaticPlaneShape__calculateSerializeBufferSize_28_29_20const, btStaticPlaneShape__serialize_28void__2c_20btSerializer__29_20const, btStaticPlaneShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btBU_Simplex1to4___btBU_Simplex1to4_28_29, btBU_Simplex1to4___btBU_Simplex1to4_28_29_1, btBU_Simplex1to4__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btBU_Simplex1to4__getName_28_29_20const, btBU_Simplex1to4__getNumVertices_28_29_20const, btBU_Simplex1to4__getNumEdges_28_29_20const, btBU_Simplex1to4__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const, btBU_Simplex1to4__getVertex_28int_2c_20btVector3__29_20const, btBU_Simplex1to4__getNumPlanes_28_29_20const, btBU_Simplex1to4__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const, btBU_Simplex1to4__isInside_28btVector3_20const__2c_20float_29_20const, btBU_Simplex1to4__getIndex_28int_29_20const, btTriangleCallback___btTriangleCallback_28_29, btTriangleCallback___btTriangleCallback_28_29_1, btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29, btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29_1, btStridingMeshInterface___btStridingMeshInterface_28_29, btStridingMeshInterface___btStridingMeshInterface_28_29_1, btStridingMeshInterface__InternalProcessAllTriangles_28btInternalTriangleIndexCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btStridingMeshInterface__hasPremadeAabb_28_29_20const, btStridingMeshInterface__setPremadeAabb_28btVector3_20const__2c_20btVector3_20const__29_20const, btStridingMeshInterface__getPremadeAabb_28btVector3__2c_20btVector3__29_20const, btStridingMeshInterface__calculateSerializeBufferSize_28_29_20const, btStridingMeshInterface__serialize_28void__2c_20btSerializer__29_20const, btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29, btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29_1, btTriangleIndexVertexArray__getLockedVertexIndexBase_28unsigned_20char___2c_20int__2c_20PHY_ScalarType__2c_20int__2c_20unsigned_20char___2c_20int__2c_20int__2c_20PHY_ScalarType__2c_20int_29, btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_28unsigned_20char_20const___2c_20int__2c_20PHY_ScalarType__2c_20int__2c_20unsigned_20char_20const___2c_20int__2c_20int__2c_20PHY_ScalarType__2c_20int_29_20const, btTriangleIndexVertexArray__unLockVertexBase_28int_29, btTriangleIndexVertexArray__unLockReadOnlyVertexBase_28int_29_20const, btTriangleIndexVertexArray__getNumSubParts_28_29_20const, btTriangleIndexVertexArray__preallocateVertices_28int_29, btTriangleIndexVertexArray__preallocateIndices_28int_29, btTriangleIndexVertexArray__hasPremadeAabb_28_29_20const, btTriangleIndexVertexArray__setPremadeAabb_28btVector3_20const__2c_20btVector3_20const__29_20const, btTriangleIndexVertexArray__getPremadeAabb_28btVector3__2c_20btVector3__29_20const, btTriangleMesh___btTriangleMesh_28_29, btTriangleMesh___btTriangleMesh_28_29_1, btTriangleMesh__preallocateVertices_28int_29, btTriangleMesh__preallocateIndices_28int_29, btTriangleMeshShape___btTriangleMeshShape_28_29, btTriangleMeshShape___btTriangleMeshShape_28_29_1, btTriangleMeshShape__setLocalScaling_28btVector3_20const__29, btTriangleMeshShape__getName_28_29_20const, btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29, btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29_1, btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, SupportVertexCallback___SupportVertexCallback_28_29, SupportVertexCallback___SupportVertexCallback_28_29_1, SupportVertexCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btContinuousConvexCollision___btContinuousConvexCollision_28_29, btContinuousConvexCollision___btContinuousConvexCollision_28_29_1, btContinuousConvexCollision__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29, btPointCollector___btPointCollector_28_29, btPointCollector___btPointCollector_28_29_1, btPointCollector__setShapeIdentifiersA_28int_2c_20int_29, btPointCollector__setShapeIdentifiersB_28int_2c_20int_29, btPointCollector__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btConvexCast___btConvexCast_28_29, btConvexCast___btConvexCast_28_29_1, btGjkConvexCast___btGjkConvexCast_28_29, btGjkConvexCast___btGjkConvexCast_28_29_1, btGjkConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29, btConvexShape__localGetSupportVertexNonVirtual_28btVector3_20const__29_20const, btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const, btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29, btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29_1, btGjkEpaPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29, btGjkPairDetector___btGjkPairDetector_28_29, btGjkPairDetector___btGjkPairDetector_28_29_1, btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29, btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29, btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29_1, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29_1, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__setShapeIdentifiersA_28int_2c_20int_29, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__setShapeIdentifiersB_28int_2c_20int_29, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btTriangleRaycastCallback___btTriangleRaycastCallback_28_29, btTriangleRaycastCallback___btTriangleRaycastCallback_28_29_1, btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29, btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29_1, btSubsimplexConvexCast___btSubsimplexConvexCast_28_29, btSubsimplexConvexCast___btSubsimplexConvexCast_28_29_1, btSubsimplexConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29, btFixedConstraint___btFixedConstraint_28_29, btFixedConstraint___btFixedConstraint_28_29_1, btGeneric6DofSpring2Constraint__buildJacobian_28_29, btTypedConstraint__setupSolverConstraint_28btAlignedObjectArray_btSolverConstraint___2c_20int_2c_20int_2c_20float_29, btGeneric6DofSpring2Constraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29, btGeneric6DofSpring2Constraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29, btTypedConstraint__solveConstraintObsolete_28btSolverBody__2c_20btSolverBody__2c_20float_29, btGeneric6DofSpring2Constraint__setParam_28int_2c_20float_2c_20int_29, btGeneric6DofSpring2Constraint__getParam_28int_2c_20int_29_20const, btGeneric6DofSpring2Constraint__calculateSerializeBufferSize_28_29_20const, btGeneric6DofSpring2Constraint__serialize_28void__2c_20btSerializer__29_20const, btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29, btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29_1, btHingeConstraint___btHingeConstraint_28_29, btHingeConstraint___btHingeConstraint_28_29_1, btHingeConstraint__buildJacobian_28_29, btHingeConstraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29, btHingeConstraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29, btHingeConstraint__setParam_28int_2c_20float_2c_20int_29, btHingeConstraint__getParam_28int_2c_20int_29_20const, btHingeConstraint__calculateSerializeBufferSize_28_29_20const, btHingeConstraint__serialize_28void__2c_20btSerializer__29_20const, btHingeConstraint__getFlags_28_29_20const, btPoint2PointConstraint___btPoint2PointConstraint_28_29, btPoint2PointConstraint___btPoint2PointConstraint_28_29_1, btPoint2PointConstraint__buildJacobian_28_29, btPoint2PointConstraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29, btPoint2PointConstraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29, btPoint2PointConstraint__setParam_28int_2c_20float_2c_20int_29, btPoint2PointConstraint__getParam_28int_2c_20int_29_20const, btPoint2PointConstraint__calculateSerializeBufferSize_28_29_20const, btPoint2PointConstraint__serialize_28void__2c_20btSerializer__29_20const, btPoint2PointConstraint__getFlags_28_29_20const, gResolveSingleConstraintRowGeneric_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29, gResolveSingleConstraintRowLowerLimit_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29, gResolveSplitPenetrationImpulse_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29, btSequentialImpulseConstraintSolver___btSequentialImpulseConstraintSolver_28_29, btSequentialImpulseConstraintSolver___btSequentialImpulseConstraintSolver_28_29_1, btConstraintSolver__prepareSolve_28int_2c_20int_29, btSequentialImpulseConstraintSolver__solveGroup_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__2c_20btDispatcher__29, btConstraintSolver__allSolved_28btContactSolverInfo_20const__2c_20btIDebugDraw__29, btSequentialImpulseConstraintSolver__reset_28_29, btSequentialImpulseConstraintSolver__getSolverType_28_29_20const, btSequentialImpulseConstraintSolver__convertContacts_28btPersistentManifold___2c_20int_2c_20btContactSolverInfo_20const__29, btSequentialImpulseConstraintSolver__solveGroupCacheFriendlySplitImpulseIterations_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29, btSequentialImpulseConstraintSolver__solveGroupCacheFriendlyFinish_28btCollisionObject___2c_20int_2c_20btContactSolverInfo_20const__29, btSequentialImpulseConstraintSolver__solveSingleIteration_28int_2c_20btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29, btSequentialImpulseConstraintSolver__solveGroupCacheFriendlySetup_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29, btSequentialImpulseConstraintSolver__solveGroupCacheFriendlyIterations_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29, btConstraintSolver___btConstraintSolver_28_29, btConstraintSolver___btConstraintSolver_28_29_1, __cxx_global_array_dtor_1, btTypedConstraint___btTypedConstraint_28_29, btTypedConstraint___btTypedConstraint_28_29_1, btTypedConstraint__buildJacobian_28_29, btTypedConstraint__calculateSerializeBufferSize_28_29_20const, btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const, btRigidBody___btRigidBody_28_29, btRigidBody___btRigidBody_28_29_1, btRigidBody__calculateSerializeBufferSize_28_29_20const, btRigidBody__serialize_28void__2c_20btSerializer__29_20const, btRigidBody__serializeSingleObject_28btSerializer__29_20const, btSimulationIslandManager___btSimulationIslandManager_28_29, btSimulationIslandManager___btSimulationIslandManager_28_29_1, btSimulationIslandManager__updateActivationState_28btCollisionWorld__2c_20btDispatcher__29, btSimulationIslandManager__storeIslandActivationState_28btCollisionWorld__29, btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29, btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29_1, btDiscreteDynamicsWorld__debugDrawWorld_28_29, btDiscreteDynamicsWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29, btDiscreteDynamicsWorld__removeCollisionObject_28btCollisionObject__29, btDiscreteDynamicsWorld__serialize_28btSerializer__29, btDiscreteDynamicsWorld__stepSimulation_28float_2c_20int_2c_20float_29, btDiscreteDynamicsWorld__addConstraint_28btTypedConstraint__2c_20bool_29, btDiscreteDynamicsWorld__removeConstraint_28btTypedConstraint__29, btDiscreteDynamicsWorld__addAction_28btActionInterface__29, btDiscreteDynamicsWorld__removeAction_28btActionInterface__29, btDiscreteDynamicsWorld__setGravity_28btVector3_20const__29, btDiscreteDynamicsWorld__getGravity_28_29_20const, btDiscreteDynamicsWorld__synchronizeMotionStates_28_29, btDiscreteDynamicsWorld__addRigidBody_28btRigidBody__29, btDiscreteDynamicsWorld__addRigidBody_28btRigidBody__2c_20int_2c_20int_29, btDiscreteDynamicsWorld__removeRigidBody_28btRigidBody__29, btDiscreteDynamicsWorld__setConstraintSolver_28btConstraintSolver__29, btDiscreteDynamicsWorld__getConstraintSolver_28_29, btDiscreteDynamicsWorld__getNumConstraints_28_29_20const, btDiscreteDynamicsWorld__getConstraint_28int_29, btDiscreteDynamicsWorld__getConstraint_28int_29_20const, btDiscreteDynamicsWorld__getWorldType_28_29_20const, btDiscreteDynamicsWorld__clearForces_28_29, btDiscreteDynamicsWorld__addVehicle_28btActionInterface__29, btDiscreteDynamicsWorld__removeVehicle_28btActionInterface__29, btDiscreteDynamicsWorld__addCharacter_28btActionInterface__29, btDiscreteDynamicsWorld__removeCharacter_28btActionInterface__29, btDiscreteDynamicsWorld__predictUnconstraintMotion_28float_29, btDiscreteDynamicsWorld__integrateTransforms_28float_29, btDiscreteDynamicsWorld__calculateSimulationIslands_28_29, btDiscreteDynamicsWorld__solveConstraints_28btContactSolverInfo__29, btDiscreteDynamicsWorld__updateActivationState_28float_29, btDiscreteDynamicsWorld__internalSingleStepSimulation_28float_29, btDiscreteDynamicsWorld__createPredictiveContacts_28float_29, btDiscreteDynamicsWorld__saveKinematicState_28float_29, btDiscreteDynamicsWorld__debugDrawConstraint_28btTypedConstraint__29, btDiscreteDynamicsWorld__applyGravity_28_29, btDiscreteDynamicsWorld__setNumTasks_28int_29, btDiscreteDynamicsWorld__updateVehicles_28float_29, btDynamicsWorld___btDynamicsWorld_28_29, btDynamicsWorld___btDynamicsWorld_28_29_1, btDynamicsWorld__addConstraint_28btTypedConstraint__2c_20bool_29, btDynamicsWorld__removeConstraint_28btTypedConstraint__29, btDynamicsWorld__getNumConstraints_28_29_20const, btDynamicsWorld__getConstraint_28int_29, btDynamicsWorld__getConstraint_28int_29_20const, btDynamicsWorld__addVehicle_28btActionInterface__29, btDynamicsWorld__removeVehicle_28btActionInterface__29, btDynamicsWorld__addCharacter_28btActionInterface__29, btDynamicsWorld__removeCharacter_28btActionInterface__29, InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29, InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29_1, InplaceSolverIslandCallback__processIsland_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20int_29, btSimulationIslandManager__IslandCallback___IslandCallback_28_29, btSimulationIslandManager__IslandCallback___IslandCallback_28_29_1, btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29, btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29_1, btClosestNotMeConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, btClosestNotMeConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29, cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29_1, cc__ccDiscreteDynamicsWorld__createPredictiveContacts_28float_29, cc__ccDiscreteDynamicsWorld__applyGravity_28_29, cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29, cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29_1, cc__ccOverlapFilterCallback__needBroadphaseCollision_28btBroadphaseProxy__2c_20btBroadphaseProxy__29_20const, btOverlapFilterCallback___btOverlapFilterCallback_28_29, btOverlapFilterCallback___btOverlapFilterCallback_28_29_1, btGhostPairCallback___btGhostPairCallback_28_29, btGhostPairCallback___btGhostPairCallback_28_29_1, btGhostPairCallback__addOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btGhostPairCallback__removeOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20btDispatcher__29, btGhostPairCallback__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29, cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29, cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29_1, cc__ccNotMeClosestConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccNotMeClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btGhostObject___btGhostObject_28_29, btPairCachingGhostObject___btPairCachingGhostObject_28_29, btGhostObject___btGhostObject_28_29_1, btGhostObject__addOverlappingObjectInternal_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btGhostObject__removeOverlappingObjectInternal_28btBroadphaseProxy__2c_20btDispatcher__2c_20btBroadphaseProxy__29, btPairCachingGhostObject___btPairCachingGhostObject_28_29_1, btPairCachingGhostObject__addOverlappingObjectInternal_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btPairCachingGhostObject__removeOverlappingObjectInternal_28btBroadphaseProxy__2c_20btDispatcher__2c_20btBroadphaseProxy__29, __cxx_global_array_dtor_2, btCharacterController___btCharacterController_28_29, btCharacterController___btCharacterController_28_29_1, btCharacterController__updateAction_28btCollisionWorld__2c_20float_29, btCharacterController__debugDraw_28btIDebugDraw__29, btCharacterController__getType_28_29, btCapsuleCharacterController___btCapsuleCharacterController_28_29, btCapsuleCharacterController___btCapsuleCharacterController_28_29_1, btCapsuleCharacterController__getFullHalfHeight_28_29, btBoxCharacterController___btBoxCharacterController_28_29, btBoxCharacterController___btBoxCharacterController_28_29_1, btBoxCharacterController__getFullHalfHeight_28_29, btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29, btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29_1, btKinematicClosestNotMeConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btActionInterface___btActionInterface_28_29, btActionInterface___btActionInterface_28_29_1, embind_init_builtin_28_29, __emscripten_stdout_close, __stdio_write, __emscripten_stdout_seek, fmt_fp, pop_arg_long_double, __stdio_close, __stdio_seek, __cxxabiv1____shim_type_info_____shim_type_info_28_29, __cxxabiv1____fundamental_type_info_____fundamental_type_info_28_29, __cxxabiv1____shim_type_info__noop1_28_29_20const, __cxxabiv1____shim_type_info__noop2_28_29_20const, __cxxabiv1____fundamental_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const, __cxxabiv1____class_type_info_____class_type_info_28_29, __cxxabiv1____class_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const, __cxxabiv1____class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____si_class_type_info_____si_class_type_info_28_29, __cxxabiv1____si_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____si_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____si_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____vmi_class_type_info_____vmi_class_type_info_28_29, __cxxabiv1____vmi_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____vmi_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____vmi_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____pointer_type_info_____pointer_type_info_28_29, __cxxabiv1____pointer_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const]); function __wasm_memory_size() { return buffer.byteLength / 65536 | 0; } function __wasm_memory_grow(pagesToAdd) { pagesToAdd = pagesToAdd | 0; var oldPages = __wasm_memory_size() | 0; var newPages = oldPages + pagesToAdd | 0; if ((oldPages < newPages) && (newPages < 65536)) { var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536)); var newHEAP8 = new Int8Array(newBuffer); newHEAP8.set(HEAP8); HEAP8 = new Int8Array(newBuffer); HEAP16 = new Int16Array(newBuffer); HEAP32 = new Int32Array(newBuffer); HEAPU8 = new Uint8Array(newBuffer); HEAPU16 = new Uint16Array(newBuffer); HEAPU32 = new Uint32Array(newBuffer); HEAPF32 = new Float32Array(newBuffer); HEAPF64 = new Float64Array(newBuffer); buffer = newBuffer; memory.buffer = buffer; bufferView = HEAPU8; } return oldPages; } return { "__wasm_call_ctors": __wasm_call_ctors, "malloc": dlmalloc, "free": dlfree, "__indirect_function_table": FUNCTION_TABLE, "__getTypeName": __getTypeName, "_embind_initialize_bindings": _embind_initialize_bindings, "__errno_location": __errno_location, "fflush": fflush, "emscripten_stack_init": emscripten_stack_init, "emscripten_stack_get_free": emscripten_stack_get_free, "emscripten_stack_get_base": emscripten_stack_get_base, "emscripten_stack_get_end": emscripten_stack_get_end, "stackSave": stackSave, "stackRestore": stackRestore, "stackAlloc": stackAlloc, "emscripten_stack_get_current": emscripten_stack_get_current, "dynCall_jiji": legalstub$dynCall_jiji }; } return asmFunc(info); } )(info); }, instantiate: /** @suppress{checkTypes} */ function(binary, info) { return { then: function(ok) { var module = new WebAssembly.Module(binary); ok({ 'instance': new WebAssembly.Instance(module, info) }); // Emulate a simple WebAssembly.instantiate(..).then(()=>{}).catch(()=>{}) syntax. return { catch: function() {} }; } }; }, RuntimeError: Error }; // We don't need to actually download a wasm binary, mark it as present but empty. wasmBinary = []; // end include: wasm2js.js if (typeof WebAssembly != 'object') { abort('no native wasm support detected'); } // Wasm globals var wasmMemory; //======================================== // Runtime essentials //======================================== // whether we are quitting the application. no code should run after this. // set in exit() and abort() var ABORT = false; // set by exit() and abort(). Passed to 'onExit' handler. // NOTE: This is also used as the process return code code in shell environments // but only when noExitRuntime is false. var EXITSTATUS; /** @type {function(*, string=)} */ function assert(condition, text) { if (!condition) { abort('Assertion failed' + (text ? ': ' + text : '')); } } // We used to include malloc/free by default in the past. Show a helpful error in // builds with assertions. // Memory management var HEAP, /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /** @type {!Float64Array} */ HEAPF64; function 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'); // In non-standalone/normal mode, we create the memory here. // include: runtime_init_memory.js // Create the wasm memory. (Note: this only applies if IMPORTED_MEMORY is defined) 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 + ')'); // check for full engine support (use string 'subarray' to avoid closure compiler confusion) if (Module['wasmMemory']) { wasmMemory = Module['wasmMemory']; } else { wasmMemory = new WebAssembly.Memory({ 'initial': INITIAL_MEMORY / 65536, // In theory we should not need to emit the maximum if we want "unlimited" // or 4GB of memory, but VMs error on that atm, see // https://github.com/emscripten-core/emscripten/issues/14130 // And in the pthreads case we definitely need to emit a maximum. So // always emit one. 'maximum': 2147483648 / 65536 }); } updateMemoryViews(); // If the user provides an incorrect length, just use that length instead rather than providing the user to // specifically provide the memory length with Module['INITIAL_MEMORY']. INITIAL_MEMORY = wasmMemory.buffer.byteLength; assert(INITIAL_MEMORY % 65536 === 0); // end include: runtime_init_memory.js // include: runtime_init_table.js // In regular non-RELOCATABLE mode the table is exported // from the wasm module and this will be assigned once // the exports are available. var wasmTable; // end include: runtime_init_table.js // include: runtime_stack_check.js // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. function writeStackCookie() { var max = _emscripten_stack_get_end(); assert((max & 3) == 0); // If the stack ends at address zero we write our cookies 4 bytes into the // stack. This prevents interference with SAFE_HEAP and ASAN which also // monitor writes to address zero. if (max == 0) { max += 4; } // The stack grow downwards towards _emscripten_stack_get_end. // We write cookies to the final two words in the stack and detect if they are // ever overwritten. HEAPU32[((max)>>2)] = 0x02135467; HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; // Also test the global address 0 for integrity. HEAPU32[((0)>>2)] = 1668509029; } function checkStackCookie() { if (ABORT) return; var max = _emscripten_stack_get_end(); // See writeStackCookie(). if (max == 0) { max += 4; } var cookie1 = HEAPU32[((max)>>2)]; var cookie2 = HEAPU32[(((max)+(4))>>2)]; if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); } // Also test the global address 0 for integrity. if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); } } // end include: runtime_stack_check.js // include: runtime_assertions.js // Endianness check (function() { var h16 = new Int16Array(1); var h8 = new Int8Array(h16.buffer); h16[0] = 0x6373; if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; })(); // end include: runtime_assertions.js var __ATPRERUN__ = []; // functions called before the runtime is initialized var __ATINIT__ = []; // functions called during startup var __ATEXIT__ = []; // functions called during shutdown var __ATPOSTRUN__ = []; // functions called after the main() is called var runtimeInitialized = false; var runtimeKeepaliveCounter = 0; function keepRuntimeAlive() { return noExitRuntime || runtimeKeepaliveCounter > 0; } 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 addOnExit(cb) { } function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } // include: runtime_math.js // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc 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'); // end include: runtime_math.js // A counter of dependencies for calling run(). If we need to // do asynchronous work before running, increment this and // decrement it. Incrementing must happen in a place like // Module.preRun (used by emcc to add file preloading). // Note that you can add dependencies in preRun, even though // it happens right before run - run will be postponed until // the dependencies are met. var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled var runDependencyTracking = {}; function getUniqueRunDependency(id) { var orig = id; while (1) { if (!runDependencyTracking[id]) return id; id = orig + Math.random(); } } function addRunDependency(id) { runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } if (id) { assert(!runDependencyTracking[id]); runDependencyTracking[id] = 1; if (runDependencyWatcher === null && typeof setInterval != 'undefined') { // Check for missing dependencies every few seconds runDependencyWatcher = setInterval(() => { 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)'); } }, 10000); } } 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(); // can add another dependenciesFulfilled } } } /** @param {string|number=} what */ function abort(what) { if (Module['onAbort']) { Module['onAbort'](what); } what = 'Aborted(' + what + ')'; // TODO(sbc): Should we remove printing and leave it up to whoever // catches the exception? err(what); ABORT = true; EXITSTATUS = 1; // Use a wasm runtime error, because a JS error might be seen as a foreign // exception, which means we'd run destructors on it. We need the error to // simply make the program stop. // FIXME This approach does not work in Wasm EH because it currently does not assume // all RuntimeErrors are from traps; it decides whether a RuntimeError is from // a trap or not based on a hidden field within the object. So at the moment // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that // allows this in the wasm spec. // Suppress closure compiler warning here. Closure compiler's builtin extern // defintion for WebAssembly.RuntimeError claims it takes no arguments even // though it can. // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. /** @suppress {checkTypes} */ var e = new WebAssembly.RuntimeError(what); readyPromiseReject(e); // Throw the error whether or not MODULARIZE is set because abort is used // in code paths apart from instantiation where an exception is expected // to be thrown when abort is called. throw e; } // include: memoryprofiler.js // end include: memoryprofiler.js // show errors on likely calls to FS when it was not included 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() }, ErrnoError: function ErrnoError() { FS.error() }, }; Module['FS_createDataFile'] = FS.createDataFile; Module['FS_createPreloadedFile'] = FS.createPreloadedFile; // include: URIUtils.js // Prefix of data URIs emitted by SINGLE_FILE and related options. var dataURIPrefix = 'data:application/octet-stream;base64,'; // Indicates whether filename is a base64 data URI. function isDataURI(filename) { // Prefix of data URIs emitted by SINGLE_FILE and related options. return filename.startsWith(dataURIPrefix); } // Indicates whether filename is delivered via file protocol (as opposed to http/https) function isFileURI(filename) { return filename.startsWith('file://'); } // end include: URIUtils.js /** @param {boolean=} fixedasm */ 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); }; } // include: runtime_exceptions.js // end include: runtime_exceptions.js var wasmBinaryFile; wasmBinaryFile = '<<< WASM_BINARY_FILE >>>'; 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(binaryFile) { // If we don't have the binary yet, try to load it asynchronously. // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. // See https://github.com/github/fetch/pull/92#issuecomment-140665932 // Cordova or Electron apps are typically loaded from a file:// url. // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { if (typeof fetch == 'function' ) { return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { if (!response['ok']) { throw "failed to load wasm binary file at '" + binaryFile + "'"; } return response['arrayBuffer'](); }).catch(() => getBinary(binaryFile)); } } // Otherwise, getBinary should be able to get it synchronously return Promise.resolve().then(() => getBinary(binaryFile)); } function instantiateArrayBuffer(binaryFile, imports, receiver) { return getBinaryPromise(binaryFile).then((binary) => { return WebAssembly.instantiate(binary, imports); }).then((instance) => { return instance; }).then(receiver, (reason) => { err('failed to asynchronously prepare wasm: ' + reason); // Warn on some common problems. 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(binary, binaryFile, imports, callback) { if (!binary && typeof WebAssembly.instantiateStreaming == 'function' && !isDataURI(binaryFile) && typeof fetch == 'function') { return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { // Suppress closure warning here since the upstream definition for // instantiateStreaming only allows Promise rather than // an actual Response. // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. /** @suppress {checkTypes} */ var result = WebAssembly.instantiateStreaming(response, imports); return result.then( callback, function(reason) { // We expect the most common failure cause to be a bad MIME type for the binary, // in which case falling back to ArrayBuffer instantiation should work. err('wasm streaming compile failed: ' + reason); err('falling back to ArrayBuffer instantiation'); return instantiateArrayBuffer(binaryFile, imports, callback); }); }); } else { return instantiateArrayBuffer(binaryFile, imports, callback); } } // Create the wasm instance. // Receives the wasm imports, returns the exports. function createWasm() { // prepare imports var info = { 'env': wasmImports, 'wasi_snapshot_preview1': wasmImports, }; // Load the wasm module and create an instance of using native support in the JS engine. // handle a generated wasm instance, receiving its exports and // performing other necessary setup /** @param {WebAssembly.Module=} module*/ 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'); return exports; } // wait for the pthread pool (if any) addRunDependency('wasm-instantiate'); // Prefer streaming instantiation if available. // Async compilation can be confusing when an error on the page overwrites Module // (for example, if the order of elements is wrong, and the one defining Module is // later), so we save Module and check it later. var trueModule = Module; function receiveInstantiationResult(result) { // 'result' is a ResultObject object which has both the module and instance. // receiveInstance() will swap in the exports (to Module.asm) so they can be called assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); trueModule = null; // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. // When the regression is fixed, can restore the above PTHREADS-enabled path. receiveInstance(result['instance']); } // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback // to manually instantiate the Wasm module themselves. This allows pages to // run the instantiation parallel to any other async startup actions they are // performing. // Also pthreads and wasm workers initialize the wasm instance through this // path. if (Module['instantiateWasm']) { try { return Module['instantiateWasm'](info, receiveInstance); } catch(e) { err('Module.instantiateWasm callback failed with error: ' + e); // If instantiation fails, reject the module ready promise. readyPromiseReject(e); } } // If instantiation fails, reject the module ready promise. instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); return {}; // no exports yet; we'll fill them in later } // Globals used by JS i64 conversions (see makeSetValue) var tempDouble; var tempI64; // include: runtime_debug.js 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'); } } // forcing the filesystem exports a few things by default function isExportedByForceFilesystem(name) { return name === 'FS_createPath' || name === 'FS_createDataFile' || name === 'FS_createPreloadedFile' || name === 'FS_unlink' || name === 'addRunDependency' || // The old FS has some functionality that WasmFS lacks. 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() { // Can't `abort()` here because it would break code that does runtime // checks. e.g. `if (typeof SDL === 'undefined')`. 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'; // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in // library.js, which means $name for a JS name with no prefix, or name // for a JS name like _name. 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; } }); } // Any symbol that is not included from the JS libary is also (by definition) // not exported on the Module object. 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); } }); } } // Used by XXXXX_DEBUG settings to output debug messages. function dbg(text) { // TODO(sbc): Make this configurable somehow. Its not always convenient for // logging to show up as warnings. console.warn.apply(console, arguments); } // end include: runtime_debug.js // === Body === // end include: preamble.js /** @constructor */ function ExitStatus(status) { this.name = 'ExitStatus'; this.message = `Program terminated with exit(${status})`; this.status = status; } function callRuntimeCallbacks(callbacks) { while (callbacks.length > 0) { // Pass the module as the first argument. callbacks.shift()(Module); } } /** * @param {number} ptr * @param {string} type */ function getValue(ptr, type = 'i8') { if (type.endsWith('*')) type = '*'; switch (type) { case 'i1': return HEAP8[((ptr)>>0)]; case 'i8': return HEAP8[((ptr)>>0)]; case 'i16': return HEAP16[((ptr)>>1)]; case 'i32': return HEAP32[((ptr)>>2)]; case 'i64': abort('to do getValue(i64) use WASM_BIGINT'); case 'float': return HEAPF32[((ptr)>>2)]; case 'double': return HEAPF64[((ptr)>>3)]; case '*': return HEAPU32[((ptr)>>2)]; default: abort(`invalid type for getValue: ${type}`); } } function intArrayToString(array) { var ret = []; for (var i = 0; i < array.length; i++) { var chr = array[i]; if (chr > 0xFF) { assert(false, `Character code ${chr} (${String.fromCharCode(chr)}) at offset ${i} not in 0x00-0xFF.`); chr &= 0xFF; } ret.push(String.fromCharCode(chr)); } return ret.join(''); } function ptrToString(ptr) { assert(typeof ptr === 'number'); return '0x' + ptr.toString(16).padStart(8, '0'); } /** * @param {number} ptr * @param {number} value * @param {string} type */ function setValue(ptr, value, type = 'i8') { if (type.endsWith('*')) type = '*'; switch (type) { case 'i1': HEAP8[((ptr)>>0)] = value; break; case 'i8': HEAP8[((ptr)>>0)] = value; break; case 'i16': HEAP16[((ptr)>>1)] = value; break; case 'i32': HEAP32[((ptr)>>2)] = value; break; case 'i64': abort('to do setValue(i64) use WASM_BIGINT'); case 'float': HEAPF32[((ptr)>>2)] = value; break; case 'double': HEAPF64[((ptr)>>3)] = value; break; case '*': HEAPU32[((ptr)>>2)] = value; break; default: abort(`invalid type for setValue: ${type}`); } } function warnOnce(text) { if (!warnOnce.shown) warnOnce.shown = {}; if (!warnOnce.shown[text]) { warnOnce.shown[text] = 1; err(text); } } var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; /** * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given * array that contains uint8 values, returns a copy of that string as a * Javascript String object. * heapOrArray is either a regular array, or a JavaScript typed array view. * @param {number} idx * @param {number=} maxBytesToRead * @return {string} */ function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { var endIdx = idx + maxBytesToRead; var endPtr = idx; // TextDecoder needs to know the byte length in advance, it doesn't stop on // null terminator by itself. Also, use the length info to avoid running tiny // strings through TextDecoder, since .subarray() allocates garbage. // (As a tiny code save trick, compare endPtr against endIdx using a negation, // so that undefined means Infinity) while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); } var str = ''; // If building with TextDecoder, we have already computed the string length // above, so test loop end condition against that while (idx < endPtr) { // For UTF8 byte structure, see: // http://en.wikipedia.org/wiki/UTF-8#Description // https://www.ietf.org/rfc/rfc2279.txt // https://tools.ietf.org/html/rfc3629 var u0 = heapOrArray[idx++]; if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } var u1 = heapOrArray[idx++] & 63; if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } var u2 = heapOrArray[idx++] & 63; if ((u0 & 0xF0) == 0xE0) { u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { if ((u0 & 0xF8) != 0xF0) 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 < 0x10000) { str += String.fromCharCode(u0); } else { var ch = u0 - 0x10000; str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); } } return str; } /** * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the * emscripten HEAP, returns a copy of that string as a Javascript String object. * * @param {number} ptr * @param {number=} maxBytesToRead - An optional length that specifies the * maximum number of bytes to read. You can omit this parameter to scan the * string until the first 0 byte. If maxBytesToRead is passed, and the string * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the * string will cut short at that byte index (i.e. maxBytesToRead will not * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing * frequent uses of UTF8ToString() with and without maxBytesToRead may throw * JS JIT optimizations off, so it is worth to consider consistently using one * @return {string} */ function UTF8ToString(ptr, maxBytesToRead) { assert(typeof ptr == 'number'); return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; } function ___assert_fail(condition, filename, line, func) { abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); } var char_0 = 48; var char_9 = 57; function makeLegalFunctionName(name) { if (undefined === name) { return '_unknown'; } name = name.replace(/[^a-zA-Z0-9_]/g, '$'); var f = name.charCodeAt(0); if (f >= char_0 && f <= char_9) { return `_${name}`; } return name; } function createNamedFunction(name, body) { name = makeLegalFunctionName(name); // Use an abject with a computed property name to create a new function with // a name specified at runtime, but without using `new Function` or `eval`. return { [name]: function() { return body.apply(this, arguments); } }[name]; } /** @constructor */ function HandleAllocator() { // Reserve slot 0 so that 0 is always an invalid handle this.allocated = [undefined]; this.freelist = []; this.get = function(id) { assert(this.allocated[id] !== undefined, `invalid handle: ${id}`); return this.allocated[id]; }; this.has = function(id) { return this.allocated[id] !== undefined; }; this.allocate = function(handle) { var id = this.freelist.pop() || this.allocated.length; this.allocated[id] = handle; return id; }; this.free = function(id) { assert(this.allocated[id] !== undefined); // Set the slot to `undefined` rather than using `delete` here since // apparently arrays with holes in them can be less efficient. this.allocated[id] = undefined; this.freelist.push(id); }; } var emval_handles = new HandleAllocator();; function extendError(baseErrorType, errorName) { var errorClass = createNamedFunction(errorName, function(message) { this.name = errorName; this.message = message; var stack = (new Error(message)).stack; if (stack !== undefined) { this.stack = this.toString() + '\n' + stack.replace(/^Error(:[^\n]*)?\n/, ''); } }); errorClass.prototype = Object.create(baseErrorType.prototype); errorClass.prototype.constructor = errorClass; errorClass.prototype.toString = function() { if (this.message === undefined) { return this.name; } else { return `${this.name}: ${this.message}`; } }; return errorClass; } var BindingError = undefined; function throwBindingError(message) { throw new BindingError(message); } function count_emval_handles() { var count = 0; for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { if (emval_handles.allocated[i] !== undefined) { ++count; } } return count; } function init_emval() { // reserve some special values. These never get de-allocated. // The HandleAllocator takes care of reserving zero. emval_handles.allocated.push( {value: undefined}, {value: null}, {value: true}, {value: false}, ); emval_handles.reserved = emval_handles.allocated.length Module['count_emval_handles'] = count_emval_handles; } var Emval = {toValue:(handle) => { if (!handle) { throwBindingError('Cannot use deleted val. handle = ' + handle); } return emval_handles.get(handle).value; },toHandle:(value) => { switch (value) { case undefined: return 1; case null: return 2; case true: return 3; case false: return 4; default:{ return emval_handles.allocate({refcount: 1, value: value}); } } }}; var PureVirtualError = undefined; function embind_init_charCodes() { var codes = new Array(256); for (var i = 0; i < 256; ++i) { codes[i] = String.fromCharCode(i); } embind_charCodes = codes; } var embind_charCodes = undefined; function readLatin1String(ptr) { var ret = ""; var c = ptr; while (HEAPU8[c]) { ret += embind_charCodes[HEAPU8[c++]]; } return ret; } function getInheritedInstanceCount() { return Object.keys(registeredInstances).length; } function getLiveInheritedInstances() { var rv = []; for (var k in registeredInstances) { if (registeredInstances.hasOwnProperty(k)) { rv.push(registeredInstances[k]); } } return rv; } var deletionQueue = []; function flushPendingDeletes() { while (deletionQueue.length) { var obj = deletionQueue.pop(); obj.$$.deleteScheduled = false; obj['delete'](); } } var delayFunction = undefined; function setDelayFunction(fn) { delayFunction = fn; if (deletionQueue.length && delayFunction) { delayFunction(flushPendingDeletes); } } function init_embind() { Module['getInheritedInstanceCount'] = getInheritedInstanceCount; Module['getLiveInheritedInstances'] = getLiveInheritedInstances; Module['flushPendingDeletes'] = flushPendingDeletes; Module['setDelayFunction'] = setDelayFunction; } var registeredInstances = {}; function getBasestPointer(class_, ptr) { if (ptr === undefined) { throwBindingError('ptr should not be undefined'); } while (class_.baseClass) { ptr = class_.upcast(ptr); class_ = class_.baseClass; } return ptr; } function registerInheritedInstance(class_, ptr, instance) { ptr = getBasestPointer(class_, ptr); if (registeredInstances.hasOwnProperty(ptr)) { throwBindingError(`Tried to register registered instance: ${ptr}`); } else { registeredInstances[ptr] = instance; } } var registeredTypes = {}; function getTypeName(type) { var ptr = ___getTypeName(type); var rv = readLatin1String(ptr); _free(ptr); return rv; } function requireRegisteredType(rawType, humanName) { var impl = registeredTypes[rawType]; if (undefined === impl) { throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); } return impl; } function unregisterInheritedInstance(class_, ptr) { ptr = getBasestPointer(class_, ptr); if (registeredInstances.hasOwnProperty(ptr)) { delete registeredInstances[ptr]; } else { throwBindingError(`Tried to unregister unregistered instance: ${ptr}`); } } function detachFinalizer(handle) {} var finalizationRegistry = false; function runDestructor($$) { if ($$.smartPtr) { $$.smartPtrType.rawDestructor($$.smartPtr); } else { $$.ptrType.registeredClass.rawDestructor($$.ptr); } } function releaseClassHandle($$) { $$.count.value -= 1; var toDelete = 0 === $$.count.value; if (toDelete) { runDestructor($$); } } function downcastPointer(ptr, ptrClass, desiredClass) { if (ptrClass === desiredClass) { return ptr; } if (undefined === desiredClass.baseClass) { return null; // no conversion } var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); if (rv === null) { return null; } return desiredClass.downcast(rv); } var registeredPointers = {}; function getInheritedInstance(class_, ptr) { ptr = getBasestPointer(class_, ptr); return registeredInstances[ptr]; } var InternalError = undefined; function throwInternalError(message) { throw new InternalError(message); } function makeClassHandle(prototype, record) { if (!record.ptrType || !record.ptr) { throwInternalError('makeClassHandle requires ptr and ptrType'); } var hasSmartPtrType = !!record.smartPtrType; var hasSmartPtr = !!record.smartPtr; if (hasSmartPtrType !== hasSmartPtr) { throwInternalError('Both smartPtrType and smartPtr must be specified'); } record.count = { value: 1 }; return attachFinalizer(Object.create(prototype, { $$: { value: record, }, })); } function RegisteredPointer_fromWireType(ptr) { // ptr is a raw pointer (or a raw smartpointer) // rawPointer is a maybe-null raw pointer var rawPointer = this.getPointee(ptr); if (!rawPointer) { this.destructor(ptr); return null; } var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); if (undefined !== registeredInstance) { // JS object has been neutered, time to repopulate it if (0 === registeredInstance.$$.count.value) { registeredInstance.$$.ptr = rawPointer; registeredInstance.$$.smartPtr = ptr; return registeredInstance['clone'](); } else { // else, just increment reference count on existing object // it already has a reference to the smart pointer var rv = registeredInstance['clone'](); this.destructor(ptr); return rv; } } function makeDefaultHandle() { if (this.isSmartPointer) { return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr, }); } else { return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr: ptr, }); } } var actualType = this.registeredClass.getActualType(rawPointer); var registeredPointerRecord = registeredPointers[actualType]; if (!registeredPointerRecord) { return makeDefaultHandle.call(this); } var toType; if (this.isConst) { toType = registeredPointerRecord.constPointerType; } else { toType = registeredPointerRecord.pointerType; } var dp = downcastPointer( rawPointer, this.registeredClass, toType.registeredClass); if (dp === null) { return makeDefaultHandle.call(this); } if (this.isSmartPointer) { return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr, }); } else { return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, }); } } function attachFinalizer(handle) { if ('undefined' === typeof FinalizationRegistry) { attachFinalizer = (handle) => handle; return handle; } // If the running environment has a FinalizationRegistry (see // https://github.com/tc39/proposal-weakrefs), then attach finalizers // for class handles. We check for the presence of FinalizationRegistry // at run-time, not build-time. finalizationRegistry = new FinalizationRegistry((info) => { console.warn(info.leakWarning.stack.replace(/^Error: /, '')); releaseClassHandle(info.$$); }); attachFinalizer = (handle) => { var $$ = handle.$$; var hasSmartPtr = !!$$.smartPtr; if (hasSmartPtr) { // We should not call the destructor on raw pointers in case other code expects the pointee to live var info = { $$: $$ }; // Create a warning as an Error instance in advance so that we can store // the current stacktrace and point to it when / if a leak is detected. // This is more useful than the empty stacktrace of `FinalizationRegistry` // callback. var cls = $$.ptrType.registeredClass; info.leakWarning = new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n` + "We'll free it automatically in this case, but this functionality is not reliable across various environments.\n" + "Make sure to invoke .delete() manually once you're done with the instance instead.\n" + "Originally allocated"); // `.stack` will add "at ..." after this sentence if ('captureStackTrace' in Error) { Error.captureStackTrace(info.leakWarning, RegisteredPointer_fromWireType); } finalizationRegistry.register(handle, info, handle); } return handle; }; detachFinalizer = (handle) => finalizationRegistry.unregister(handle); return attachFinalizer(handle); } function __embind_create_inheriting_constructor(constructorName, wrapperType, properties) { constructorName = readLatin1String(constructorName); wrapperType = requireRegisteredType(wrapperType, 'wrapper'); properties = Emval.toValue(properties); var arraySlice = [].slice; var registeredClass = wrapperType.registeredClass; var wrapperPrototype = registeredClass.instancePrototype; var baseClass = registeredClass.baseClass; var baseClassPrototype = baseClass.instancePrototype; var baseConstructor = registeredClass.baseClass.constructor; var ctor = createNamedFunction(constructorName, function() { registeredClass.baseClass.pureVirtualFunctions.forEach(function(name) { if (this[name] === baseClassPrototype[name]) { throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`); } }.bind(this)); Object.defineProperty(this, '__parent', { value: wrapperPrototype }); this["__construct"].apply(this, arraySlice.call(arguments)); }); // It's a little nasty that we're modifying the wrapper prototype here. wrapperPrototype["__construct"] = function __construct() { if (this === wrapperPrototype) { throwBindingError("Pass correct 'this' to __construct"); } var inner = baseConstructor["implement"].apply( undefined, [this].concat(arraySlice.call(arguments))); detachFinalizer(inner); var $$ = inner.$$; inner["notifyOnDestruction"](); $$.preservePointerOnDelete = true; Object.defineProperties(this, { $$: { value: $$ }}); attachFinalizer(this); registerInheritedInstance(registeredClass, $$.ptr, this); }; wrapperPrototype["__destruct"] = function __destruct() { if (this === wrapperPrototype) { throwBindingError("Pass correct 'this' to __destruct"); } detachFinalizer(this); unregisterInheritedInstance(registeredClass, this.$$.ptr); }; ctor.prototype = Object.create(wrapperPrototype); for (var p in properties) { ctor.prototype[p] = properties[p]; } return Emval.toHandle(ctor); } function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {} function getShiftFromSize(size) { switch (size) { case 1: return 0; case 2: return 1; case 4: return 2; case 8: return 3; default: throw new TypeError(`Unknown type size: ${size}`); } } var awaitingDependencies = {}; var typeDependencies = {}; function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { myTypes.forEach(function(type) { typeDependencies[type] = dependentTypes; }); function onComplete(typeConverters) { var myTypeConverters = getTypeConverters(typeConverters); if (myTypeConverters.length !== myTypes.length) { throwInternalError('Mismatched type converter count'); } for (var i = 0; i < myTypes.length; ++i) { registerType(myTypes[i], myTypeConverters[i]); } } var typeConverters = new Array(dependentTypes.length); var unregisteredTypes = []; var registered = 0; dependentTypes.forEach((dt, i) => { if (registeredTypes.hasOwnProperty(dt)) { typeConverters[i] = registeredTypes[dt]; } else { unregisteredTypes.push(dt); if (!awaitingDependencies.hasOwnProperty(dt)) { awaitingDependencies[dt] = []; } awaitingDependencies[dt].push(() => { typeConverters[i] = registeredTypes[dt]; ++registered; if (registered === unregisteredTypes.length) { onComplete(typeConverters); } }); } }); if (0 === unregisteredTypes.length) { onComplete(typeConverters); } } /** @param {Object=} options */ function registerType(rawType, registeredInstance, options = {}) { if (!('argPackAdvance' in registeredInstance)) { throw new TypeError('registerType registeredInstance requires argPackAdvance'); } var name = registeredInstance.name; if (!rawType) { throwBindingError(`type "${name}" must have a positive integer typeid pointer`); } if (registeredTypes.hasOwnProperty(rawType)) { if (options.ignoreDuplicateRegistrations) { return; } else { throwBindingError(`Cannot register type '${name}' twice`); } } registeredTypes[rawType] = registeredInstance; delete typeDependencies[rawType]; if (awaitingDependencies.hasOwnProperty(rawType)) { var callbacks = awaitingDependencies[rawType]; delete awaitingDependencies[rawType]; callbacks.forEach((cb) => cb()); } } function __embind_register_bool(rawType, name, size, trueValue, falseValue) { var shift = getShiftFromSize(size); name = readLatin1String(name); registerType(rawType, { name: name, 'fromWireType': function(wt) { // ambiguous emscripten ABI: sometimes return values are // true or false, and sometimes integers (0 or 1) return !!wt; }, 'toWireType': function(destructors, o) { return o ? trueValue : falseValue; }, 'argPackAdvance': 8, 'readValueFromPointer': function(pointer) { // TODO: if heap is fixed (like in asm.js) this could be executed outside var heap; if (size === 1) { heap = HEAP8; } else if (size === 2) { heap = HEAP16; } else if (size === 4) { heap = HEAP32; } else { throw new TypeError("Unknown boolean type size: " + name); } return this['fromWireType'](heap[pointer >> shift]); }, destructorFunction: null, // This type does not need a destructor }); } function ClassHandle_isAliasOf(other) { if (!(this instanceof ClassHandle)) { return false; } if (!(other instanceof ClassHandle)) { return false; } var leftClass = this.$$.ptrType.registeredClass; var left = this.$$.ptr; var rightClass = other.$$.ptrType.registeredClass; var right = other.$$.ptr; while (leftClass.baseClass) { left = leftClass.upcast(left); leftClass = leftClass.baseClass; } while (rightClass.baseClass) { right = rightClass.upcast(right); rightClass = rightClass.baseClass; } return leftClass === rightClass && left === right; } function shallowCopyInternalPointer(o) { return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType, }; } function throwInstanceAlreadyDeleted(obj) { function getInstanceTypeName(handle) { return handle.$$.ptrType.registeredClass.name; } throwBindingError(getInstanceTypeName(obj) + ' instance already deleted'); } function ClassHandle_clone() { if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.preservePointerOnDelete) { this.$$.count.value += 1; return this; } else { var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$), } })); clone.$$.count.value += 1; clone.$$.deleteScheduled = false; return clone; } } function ClassHandle_delete() { if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { throwBindingError('Object already scheduled for deletion'); } detachFinalizer(this); releaseClassHandle(this.$$); if (!this.$$.preservePointerOnDelete) { this.$$.smartPtr = undefined; this.$$.ptr = undefined; } } function ClassHandle_isDeleted() { return !this.$$.ptr; } function ClassHandle_deleteLater() { if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { throwBindingError('Object already scheduled for deletion'); } deletionQueue.push(this); if (deletionQueue.length === 1 && delayFunction) { delayFunction(flushPendingDeletes); } this.$$.deleteScheduled = true; return this; } function init_ClassHandle() { ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf; ClassHandle.prototype['clone'] = ClassHandle_clone; ClassHandle.prototype['delete'] = ClassHandle_delete; ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted; ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater; } function ClassHandle() { } function ensureOverloadTable(proto, methodName, humanName) { if (undefined === proto[methodName].overloadTable) { var prevFunc = proto[methodName]; // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. proto[methodName] = function() { // TODO This check can be removed in -O3 level "unsafe" optimizations. if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); } return proto[methodName].overloadTable[arguments.length].apply(this, arguments); }; // Move the previous function into the overload table. proto[methodName].overloadTable = []; proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; } } /** @param {number=} numArguments */ function exposePublicSymbol(name, value, numArguments) { if (Module.hasOwnProperty(name)) { if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { throwBindingError(`Cannot register public name '${name}' twice`); } // We are exposing a function with the same name as an existing function. Create an overload table and a function selector // that routes between the two. ensureOverloadTable(Module, name, name); if (Module.hasOwnProperty(numArguments)) { throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); } // Add the new function into the overload table. Module[name].overloadTable[numArguments] = value; } else { Module[name] = value; if (undefined !== numArguments) { Module[name].numArguments = numArguments; } } } /** @constructor */ function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) { this.name = name; this.constructor = constructor; this.instancePrototype = instancePrototype; this.rawDestructor = rawDestructor; this.baseClass = baseClass; this.getActualType = getActualType; this.upcast = upcast; this.downcast = downcast; this.pureVirtualFunctions = []; } function upcastPointer(ptr, ptrClass, desiredClass) { while (ptrClass !== desiredClass) { if (!ptrClass.upcast) { throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`); } ptr = ptrClass.upcast(ptr); ptrClass = ptrClass.baseClass; } return ptr; } function constNoSmartPtrRawPointerToWireType(destructors, handle) { if (handle === null) { if (this.isReference) { throwBindingError(`null is not a valid ${this.name}`); } return 0; } if (!handle.$$) { throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); } if (!handle.$$.ptr) { throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); } var handleClass = handle.$$.ptrType.registeredClass; var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); return ptr; } function genericPointerToWireType(destructors, handle) { var ptr; if (handle === null) { if (this.isReference) { throwBindingError(`null is not a valid ${this.name}`); } if (this.isSmartPointer) { ptr = this.rawConstructor(); if (destructors !== null) { destructors.push(this.rawDestructor, ptr); } return ptr; } else { return 0; } } if (!handle.$$) { throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); } if (!handle.$$.ptr) { throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); } if (!this.isConst && handle.$$.ptrType.isConst) { throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); } var handleClass = handle.$$.ptrType.registeredClass; ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); if (this.isSmartPointer) { // TODO: this is not strictly true // We could support BY_EMVAL conversions from raw pointers to smart pointers // because the smart pointer can hold a reference to the handle if (undefined === handle.$$.smartPtr) { throwBindingError('Passing raw pointer to smart pointer is illegal'); } switch (this.sharingPolicy) { case 0: // NONE // no upcasting if (handle.$$.smartPtrType === this) { ptr = handle.$$.smartPtr; } else { throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); } break; case 1: // INTRUSIVE ptr = handle.$$.smartPtr; break; case 2: // BY_EMVAL if (handle.$$.smartPtrType === this) { ptr = handle.$$.smartPtr; } else { var clonedHandle = handle['clone'](); ptr = this.rawShare( ptr, Emval.toHandle(function() { clonedHandle['delete'](); }) ); if (destructors !== null) { destructors.push(this.rawDestructor, ptr); } } break; default: throwBindingError('Unsupporting sharing policy'); } } return ptr; } function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { if (handle === null) { if (this.isReference) { throwBindingError(`null is not a valid ${this.name}`); } return 0; } if (!handle.$$) { throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); } if (!handle.$$.ptr) { throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); } if (handle.$$.ptrType.isConst) { throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`); } var handleClass = handle.$$.ptrType.registeredClass; var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); return ptr; } function simpleReadValueFromPointer(pointer) { return this['fromWireType'](HEAP32[((pointer)>>2)]); } function RegisteredPointer_getPointee(ptr) { if (this.rawGetPointee) { ptr = this.rawGetPointee(ptr); } return ptr; } function RegisteredPointer_destructor(ptr) { if (this.rawDestructor) { this.rawDestructor(ptr); } } function RegisteredPointer_deleteObject(handle) { if (handle !== null) { handle['delete'](); } } function init_RegisteredPointer() { RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; RegisteredPointer.prototype['argPackAdvance'] = 8; RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer; RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject; RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType; } /** @constructor @param {*=} pointeeType, @param {*=} sharingPolicy, @param {*=} rawGetPointee, @param {*=} rawConstructor, @param {*=} rawShare, @param {*=} rawDestructor, */ function RegisteredPointer( name, registeredClass, isReference, isConst, // smart pointer properties isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor ) { this.name = name; this.registeredClass = registeredClass; this.isReference = isReference; this.isConst = isConst; // smart pointer properties this.isSmartPointer = isSmartPointer; this.pointeeType = pointeeType; this.sharingPolicy = sharingPolicy; this.rawGetPointee = rawGetPointee; this.rawConstructor = rawConstructor; this.rawShare = rawShare; this.rawDestructor = rawDestructor; if (!isSmartPointer && registeredClass.baseClass === undefined) { if (isConst) { this['toWireType'] = constNoSmartPtrRawPointerToWireType; this.destructorFunction = null; } else { this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType; this.destructorFunction = null; } } else { this['toWireType'] = genericPointerToWireType; // Here we must leave this.destructorFunction undefined, since whether genericPointerToWireType returns // a pointer that needs to be freed up is runtime-dependent, and cannot be evaluated at registration time. // TODO: Create an alternative mechanism that allows removing the use of var destructors = []; array in // craftInvokerFunction altogether. } } /** @param {number=} numArguments */ function replacePublicSymbol(name, value, numArguments) { if (!Module.hasOwnProperty(name)) { throwInternalError('Replacing nonexistant public symbol'); } // If there's an overload table for this symbol, replace the symbol in the overload table instead. if (undefined !== Module[name].overloadTable && undefined !== numArguments) { Module[name].overloadTable[numArguments] = value; } else { Module[name] = value; Module[name].argCount = numArguments; } } function dynCallLegacy(sig, ptr, args) { assert(('dynCall_' + sig) in Module, `bad function pointer type - dynCall function not found for sig '${sig}'`); if (args && args.length) { // j (64-bit integer) must be passed in as two numbers [low 32, high 32]. assert(args.length === sig.substring(1).replace(/j/g, '--').length); } else { assert(sig.length == 1); } var f = Module['dynCall_' + sig]; return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); } var wasmTableMirror = []; function getWasmTableEntry(funcPtr) { var func = wasmTableMirror[funcPtr]; if (!func) { if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); } assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!"); return func; } /** @param {Object=} args */ function dynCall(sig, ptr, args) { // Without WASM_BIGINT support we cannot directly call function with i64 as // part of thier signature, so we rely the dynCall functions generated by // wasm-emscripten-finalize if (sig.includes('j')) { return dynCallLegacy(sig, ptr, args); } assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`); var rtn = getWasmTableEntry(ptr).apply(null, args); return rtn; } function getDynCaller(sig, ptr) { assert(sig.includes('j') || sig.includes('p'), 'getDynCaller should only be called with i64 sigs') var argCache = []; return function() { argCache.length = 0; Object.assign(argCache, arguments); return dynCall(sig, ptr, argCache); }; } function embind__requireFunction(signature, rawFunction) { signature = readLatin1String(signature); function makeDynCaller() { if (signature.includes('j')) { return getDynCaller(signature, rawFunction); } return getWasmTableEntry(rawFunction); } var fp = makeDynCaller(); if (typeof fp != "function") { throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); } return fp; } var UnboundTypeError = undefined; function throwUnboundTypeError(message, types) { var unboundTypes = []; var seen = {}; function visit(type) { if (seen[type]) { return; } if (registeredTypes[type]) { return; } if (typeDependencies[type]) { typeDependencies[type].forEach(visit); return; } unboundTypes.push(type); seen[type] = true; } types.forEach(visit); throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', '])); } function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) { name = readLatin1String(name); getActualType = embind__requireFunction(getActualTypeSignature, getActualType); if (upcast) { upcast = embind__requireFunction(upcastSignature, upcast); } if (downcast) { downcast = embind__requireFunction(downcastSignature, downcast); } rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); var legalFunctionName = makeLegalFunctionName(name); exposePublicSymbol(legalFunctionName, function() { // this code cannot run if baseClassRawType is zero throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]); }); whenDependentTypesAreResolved( [rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) { base = base[0]; var baseClass; var basePrototype; if (baseClassRawType) { baseClass = base.registeredClass; basePrototype = baseClass.instancePrototype; } else { basePrototype = ClassHandle.prototype; } var constructor = createNamedFunction(legalFunctionName, function() { if (Object.getPrototypeOf(this) !== instancePrototype) { throw new BindingError("Use 'new' to construct " + name); } if (undefined === registeredClass.constructor_body) { throw new BindingError(name + " has no accessible constructor"); } var body = registeredClass.constructor_body[arguments.length]; if (undefined === body) { throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`); } return body.apply(this, arguments); }); var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor }, }); constructor.prototype = instancePrototype; var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast); if (registeredClass.baseClass) { // Keep track of class hierarchy. Used to allow sub-classes to inherit class functions. if (registeredClass.baseClass.__derivedClasses === undefined) { registeredClass.baseClass.__derivedClasses = []; } registeredClass.baseClass.__derivedClasses.push(registeredClass); } var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false); var pointerConverter = new RegisteredPointer(name + '*', registeredClass, false, false, false); var constPointerConverter = new RegisteredPointer(name + ' const*', registeredClass, false, true, false); registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter }; replacePublicSymbol(legalFunctionName, constructor); return [referenceConverter, pointerConverter, constPointerConverter]; } ); } function runDestructors(destructors) { while (destructors.length) { var ptr = destructors.pop(); var del = destructors.pop(); del(ptr); } } function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) { // humanName: a human-readable string name for the function to be generated. // argTypes: An array that contains the embind type objects for all types in the function signature. // argTypes[0] is the type object for the function return value. // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. // argTypes[2...] are the actual function parameters. // classType: The embind type object for the class to be bound, or null if this is not a method of a class. // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI. var argCount = argTypes.length; if (argCount < 2) { throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); } assert(!isAsync, 'Async bindings are only supported with JSPI.'); var isClassMethodFunc = (argTypes[1] !== null && classType !== null); // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. // TODO: This omits argument count check - enable only at -O3 or similar. // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { // return FUNCTION_TABLE[fn]; // } // Determine if we need to use a dynamic stack to store the destructors for the function parameters. // TODO: Remove this completely once all function invokers are being dynamically generated. var needsDestructorStack = false; for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack needsDestructorStack = true; break; } } var returns = (argTypes[0].name !== "void"); var expectedArgCount = argCount - 2; var argsWired = new Array(expectedArgCount); var invokerFuncArgs = []; var destructors = []; return function() { if (arguments.length !== expectedArgCount) { throwBindingError(`function ${humanName} called with ${arguments.length} arguments, expected ${expectedArgCount} args!`); } destructors.length = 0; var thisWired; invokerFuncArgs.length = isClassMethodFunc ? 2 : 1; invokerFuncArgs[0] = cppTargetFunc; if (isClassMethodFunc) { thisWired = argTypes[1]['toWireType'](destructors, this); invokerFuncArgs[1] = thisWired; } for (var i = 0; i < expectedArgCount; ++i) { argsWired[i] = argTypes[i + 2]['toWireType'](destructors, arguments[i]); invokerFuncArgs.push(argsWired[i]); } var rv = cppInvokerFunc.apply(null, invokerFuncArgs); function onDone(rv) { if (needsDestructorStack) { runDestructors(destructors); } else { for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; i++) { var param = i === 1 ? thisWired : argsWired[i - 2]; if (argTypes[i].destructorFunction !== null) { argTypes[i].destructorFunction(param); } } } if (returns) { return argTypes[0]['fromWireType'](rv); } } return onDone(rv); }; } function heap32VectorToArray(count, firstElement) { var array = []; for (var i = 0; i < count; i++) { // TODO(https://github.com/emscripten-core/emscripten/issues/17310): // Find a way to hoist the `>> 2` or `>> 3` out of this loop. array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]); } return array; } function __embind_register_class_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, fn, isAsync) { var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); methodName = readLatin1String(methodName); rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); whenDependentTypesAreResolved([], [rawClassType], function(classType) { classType = classType[0]; var humanName = `${classType.name}.${methodName}`; function unboundTypesHandler() { throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); } if (methodName.startsWith("@@")) { methodName = Symbol[methodName.substring(2)]; } var proto = classType.registeredClass.constructor; if (undefined === proto[methodName]) { // This is the first function to be registered with this name. unboundTypesHandler.argCount = argCount-1; proto[methodName] = unboundTypesHandler; } else { // There was an existing function with the same name registered. Set up // a function overload routing table. ensureOverloadTable(proto, methodName, humanName); proto[methodName].overloadTable[argCount-1] = unboundTypesHandler; } whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { // Replace the initial unbound-types-handler stub with the proper // function. If multiple overloads are registered, the function handlers // go into an overload table. var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); var func = craftInvokerFunction(humanName, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync); if (undefined === proto[methodName].overloadTable) { func.argCount = argCount-1; proto[methodName] = func; } else { proto[methodName].overloadTable[argCount-1] = func; } if (classType.registeredClass.__derivedClasses) { for (const derivedClass of classType.registeredClass.__derivedClasses) { if (!derivedClass.constructor.hasOwnProperty(methodName)) { // TODO: Add support for overloads derivedClass.constructor[methodName] = func; } } } return []; }); return []; }); } function __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, // [ReturnType, ThisType, Args...] invokerSignature, rawInvoker, context, isPureVirtual, isAsync) { var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); methodName = readLatin1String(methodName); rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); whenDependentTypesAreResolved([], [rawClassType], function(classType) { classType = classType[0]; var humanName = `${classType.name}.${methodName}`; if (methodName.startsWith("@@")) { methodName = Symbol[methodName.substring(2)]; } if (isPureVirtual) { classType.registeredClass.pureVirtualFunctions.push(methodName); } function unboundTypesHandler() { throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); } var proto = classType.registeredClass.instancePrototype; var method = proto[methodName]; if (undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2)) { // This is the first overload to be registered, OR we are replacing a // function in the base class with a function in the derived class. unboundTypesHandler.argCount = argCount - 2; unboundTypesHandler.className = classType.name; proto[methodName] = unboundTypesHandler; } else { // There was an existing function with the same name registered. Set up // a function overload routing table. ensureOverloadTable(proto, methodName, humanName); proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; } whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync); // Replace the initial unbound-handler-stub function with the appropriate member function, now that all types // are resolved. If multiple overloads are registered for this function, the function goes into an overload table. if (undefined === proto[methodName].overloadTable) { // Set argCount in case an overload is registered later memberFunction.argCount = argCount - 2; proto[methodName] = memberFunction; } else { proto[methodName].overloadTable[argCount - 2] = memberFunction; } return []; }); return []; }); } function __emval_decref(handle) { if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) { emval_handles.free(handle); } } function __embind_register_emval(rawType, name) { name = readLatin1String(name); registerType(rawType, { name: name, 'fromWireType': function(handle) { var rv = Emval.toValue(handle); __emval_decref(handle); return rv; }, 'toWireType': function(destructors, value) { return Emval.toHandle(value); }, 'argPackAdvance': 8, 'readValueFromPointer': simpleReadValueFromPointer, destructorFunction: null, // This type does not need a destructor // TODO: do we need a deleteObject here? write a test where // emval is passed into JS via an interface }); } function embindRepr(v) { if (v === null) { return 'null'; } var t = typeof v; if (t === 'object' || t === 'array' || t === 'function') { return v.toString(); } else { return '' + v; } } function floatReadValueFromPointer(name, shift) { switch (shift) { case 2: return function(pointer) { return this['fromWireType'](HEAPF32[pointer >> 2]); }; case 3: return function(pointer) { return this['fromWireType'](HEAPF64[pointer >> 3]); }; default: throw new TypeError("Unknown float type: " + name); } } function __embind_register_float(rawType, name, size) { var shift = getShiftFromSize(size); name = readLatin1String(name); registerType(rawType, { name: name, 'fromWireType': function(value) { return value; }, 'toWireType': function(destructors, value) { if (typeof value != "number" && typeof value != "boolean") { throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`); } // The VM will perform JS to Wasm value conversion, according to the spec: // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue return value; }, 'argPackAdvance': 8, 'readValueFromPointer': floatReadValueFromPointer(name, shift), destructorFunction: null, // This type does not need a destructor }); } function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) { var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); name = readLatin1String(name); rawInvoker = embind__requireFunction(signature, rawInvoker); exposePublicSymbol(name, function() { throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); }, argCount - 1); whenDependentTypesAreResolved([], argTypes, function(argTypes) { var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1); return []; }); } function integerReadValueFromPointer(name, shift, signed) { // integers are quite common, so generate very specialized functions switch (shift) { case 0: return signed ? function readS8FromPointer(pointer) { return HEAP8[pointer]; } : function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; case 1: return signed ? function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; case 2: return signed ? function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; default: throw new TypeError("Unknown integer type: " + name); } } function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { name = readLatin1String(name); // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come // out as 'i32 -1'. Always treat those as max u32. if (maxRange === -1) { maxRange = 4294967295; } var shift = getShiftFromSize(size); var fromWireType = (value) => value; if (minRange === 0) { var bitshift = 32 - 8*size; fromWireType = (value) => (value << bitshift) >>> bitshift; } var isUnsignedType = (name.includes('unsigned')); var checkAssertions = (value, toTypeName) => { if (typeof value != "number" && typeof value != "boolean") { throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`); } if (value < minRange || value > maxRange) { throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`); } } var toWireType; if (isUnsignedType) { toWireType = function(destructors, value) { checkAssertions(value, this.name); return value >>> 0; } } else { toWireType = function(destructors, value) { checkAssertions(value, this.name); // The VM will perform JS to Wasm value conversion, according to the spec: // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue return value; } } registerType(primitiveType, { name: name, 'fromWireType': fromWireType, 'toWireType': toWireType, 'argPackAdvance': 8, 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null, // This type does not need a destructor }); } function __embind_register_memory_view(rawType, dataTypeIndex, name) { var typeMapping = [ Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, ]; var TA = typeMapping[dataTypeIndex]; function decodeMemoryView(handle) { handle = handle >> 2; var heap = HEAPU32; var size = heap[handle]; // in elements var data = heap[handle + 1]; // byte offset into emscripten heap return new TA(heap.buffer, data, size); } name = readLatin1String(name); registerType(rawType, { name: name, 'fromWireType': decodeMemoryView, 'argPackAdvance': 8, 'readValueFromPointer': decodeMemoryView, }, { ignoreDuplicateRegistrations: true, }); } function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { assert(typeof str === 'string'); // Parameter maxBytesToWrite is not optional. Negative values, 0, null, // undefined and false each don't write out any bytes. if (!(maxBytesToWrite > 0)) return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code // unit, not a Unicode code point of the character! So decode // UTF16->UTF32->UTF8. // See http://unicode.org/faq/utf_bom.html#utf16-3 // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description // and https://www.ietf.org/rfc/rfc2279.txt // and https://tools.ietf.org/html/rfc3629 var u = str.charCodeAt(i); // possibly a lead surrogate if (u >= 0xD800 && u <= 0xDFFF) { var u1 = str.charCodeAt(++i); u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); } if (u <= 0x7F) { if (outIdx >= endIdx) break; heap[outIdx++] = u; } else if (u <= 0x7FF) { if (outIdx + 1 >= endIdx) break; heap[outIdx++] = 0xC0 | (u >> 6); heap[outIdx++] = 0x80 | (u & 63); } else if (u <= 0xFFFF) { if (outIdx + 2 >= endIdx) break; heap[outIdx++] = 0xE0 | (u >> 12); heap[outIdx++] = 0x80 | ((u >> 6) & 63); heap[outIdx++] = 0x80 | (u & 63); } else { if (outIdx + 3 >= endIdx) break; if (u > 0x10FFFF) 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++] = 0xF0 | (u >> 18); heap[outIdx++] = 0x80 | ((u >> 12) & 63); heap[outIdx++] = 0x80 | ((u >> 6) & 63); heap[outIdx++] = 0x80 | (u & 63); } } // Null-terminate the pointer to the buffer. heap[outIdx] = 0; return outIdx - startIdx; } function stringToUTF8(str, outPtr, maxBytesToWrite) { assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); } function lengthBytesUTF8(str) { var len = 0; for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code // unit, not a Unicode code point of the character! So decode // UTF16->UTF32->UTF8. // See http://unicode.org/faq/utf_bom.html#utf16-3 var c = str.charCodeAt(i); // possibly a lead surrogate if (c <= 0x7F) { len++; } else if (c <= 0x7FF) { len += 2; } else if (c >= 0xD800 && c <= 0xDFFF) { len += 4; ++i; } else { len += 3; } } return len; } function __embind_register_std_string(rawType, name) { name = readLatin1String(name); var stdStringIsUTF8 //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string = (name === "std::string"); registerType(rawType, { name: name, 'fromWireType': function(value) { var length = HEAPU32[((value)>>2)]; var payload = value + 4; var str; if (stdStringIsUTF8) { var decodeStartPtr = payload; // Looping here to support possible embedded '0' bytes for (var i = 0; i <= length; ++i) { var currentBytePtr = payload + i; if (i == length || HEAPU8[currentBytePtr] == 0) { var maxRead = currentBytePtr - decodeStartPtr; var stringSegment = UTF8ToString(decodeStartPtr, maxRead); if (str === undefined) { str = stringSegment; } else { str += String.fromCharCode(0); str += stringSegment; } decodeStartPtr = currentBytePtr + 1; } } } else { var a = new Array(length); for (var i = 0; i < length; ++i) { a[i] = String.fromCharCode(HEAPU8[payload + i]); } str = a.join(''); } _free(value); return str; }, 'toWireType': function(destructors, value) { if (value instanceof ArrayBuffer) { value = new Uint8Array(value); } var length; var valueIsOfTypeString = (typeof value == 'string'); if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { throwBindingError('Cannot pass non-string to std::string'); } if (stdStringIsUTF8 && valueIsOfTypeString) { length = lengthBytesUTF8(value); } else { length = value.length; } // assumes 4-byte alignment var base = _malloc(4 + length + 1); var ptr = base + 4; HEAPU32[((base)>>2)] = length; if (stdStringIsUTF8 && valueIsOfTypeString) { stringToUTF8(value, ptr, length + 1); } else { if (valueIsOfTypeString) { for (var i = 0; i < length; ++i) { var charCode = value.charCodeAt(i); if (charCode > 255) { _free(ptr); throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); } HEAPU8[ptr + i] = charCode; } } else { for (var i = 0; i < length; ++i) { HEAPU8[ptr + i] = value[i]; } } } if (destructors !== null) { destructors.push(_free, base); } return base; }, 'argPackAdvance': 8, 'readValueFromPointer': simpleReadValueFromPointer, destructorFunction: function(ptr) { _free(ptr); }, }); } var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined;; function UTF16ToString(ptr, maxBytesToRead) { assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); var endPtr = ptr; // TextDecoder needs to know the byte length in advance, it doesn't stop on // null terminator by itself. // Also, use the length info to avoid running tiny strings through // TextDecoder, since .subarray() allocates garbage. var idx = endPtr >> 1; var maxIdx = idx + maxBytesToRead / 2; // If maxBytesToRead is not passed explicitly, it will be undefined, and this // will always evaluate to true. This saves on code size. while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; endPtr = idx << 1; if (endPtr - ptr > 32 && UTF16Decoder) return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); // Fallback: decode without UTF16Decoder var str = ''; // If maxBytesToRead is not passed explicitly, it will be undefined, and the // for-loop's condition will always evaluate to true. The loop is then // terminated on the first null char. for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; if (codeUnit == 0) break; // fromCharCode constructs a character from a UTF-16 code unit, so we can // pass the UTF16 string right through. str += String.fromCharCode(codeUnit); } return str; } function stringToUTF16(str, outPtr, maxBytesToWrite) { assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. if (maxBytesToWrite === undefined) { maxBytesToWrite = 0x7FFFFFFF; } if (maxBytesToWrite < 2) return 0; maxBytesToWrite -= 2; // Null terminator. var startPtr = outPtr; var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; for (var i = 0; i < numCharsToWrite; ++i) { // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. var codeUnit = str.charCodeAt(i); // possibly a lead surrogate HEAP16[((outPtr)>>1)] = codeUnit; outPtr += 2; } // Null-terminate the pointer to the HEAP. HEAP16[((outPtr)>>1)] = 0; return outPtr - startPtr; } function lengthBytesUTF16(str) { return str.length*2; } function UTF32ToString(ptr, maxBytesToRead) { assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); var i = 0; var str = ''; // If maxBytesToRead is not passed explicitly, it will be undefined, and this // will always evaluate to true. This saves on code size. while (!(i >= maxBytesToRead / 4)) { var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; if (utf32 == 0) break; ++i; // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. // See http://unicode.org/faq/utf_bom.html#utf16-3 if (utf32 >= 0x10000) { var ch = utf32 - 0x10000; str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); } else { str += String.fromCharCode(utf32); } } return str; } function stringToUTF32(str, outPtr, maxBytesToWrite) { assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. if (maxBytesToWrite === undefined) { maxBytesToWrite = 0x7FFFFFFF; } if (maxBytesToWrite < 4) return 0; var startPtr = outPtr; var endPtr = startPtr + maxBytesToWrite - 4; for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. // See http://unicode.org/faq/utf_bom.html#utf16-3 var codeUnit = str.charCodeAt(i); // possibly a lead surrogate if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { var trailSurrogate = str.charCodeAt(++i); codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); } HEAP32[((outPtr)>>2)] = codeUnit; outPtr += 4; if (outPtr + 4 > endPtr) break; } // Null-terminate the pointer to the HEAP. HEAP32[((outPtr)>>2)] = 0; return outPtr - startPtr; } function lengthBytesUTF32(str) { var len = 0; for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. // See http://unicode.org/faq/utf_bom.html#utf16-3 var codeUnit = str.charCodeAt(i); if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. len += 4; } return len; } function __embind_register_std_wstring(rawType, charSize, name) { name = readLatin1String(name); var decodeString, encodeString, getHeap, lengthBytesUTF, shift; if (charSize === 2) { decodeString = UTF16ToString; encodeString = stringToUTF16; lengthBytesUTF = lengthBytesUTF16; getHeap = () => HEAPU16; shift = 1; } else if (charSize === 4) { decodeString = UTF32ToString; encodeString = stringToUTF32; lengthBytesUTF = lengthBytesUTF32; getHeap = () => HEAPU32; shift = 2; } registerType(rawType, { name: name, 'fromWireType': function(value) { // Code mostly taken from _embind_register_std_string fromWireType var length = HEAPU32[value >> 2]; var HEAP = getHeap(); var str; var decodeStartPtr = value + 4; // Looping here to support possible embedded '0' bytes for (var i = 0; i <= length; ++i) { var currentBytePtr = value + 4 + i * charSize; if (i == length || HEAP[currentBytePtr >> shift] == 0) { var maxReadBytes = currentBytePtr - decodeStartPtr; var stringSegment = decodeString(decodeStartPtr, maxReadBytes); if (str === undefined) { str = stringSegment; } else { str += String.fromCharCode(0); str += stringSegment; } decodeStartPtr = currentBytePtr + charSize; } } _free(value); return str; }, 'toWireType': function(destructors, value) { if (!(typeof value == 'string')) { throwBindingError(`Cannot pass non-string to C++ string type ${name}`); } // assumes 4-byte alignment var length = lengthBytesUTF(value); var ptr = _malloc(4 + length + charSize); HEAPU32[ptr >> 2] = length >> shift; encodeString(value, ptr + 4, length + charSize); if (destructors !== null) { destructors.push(_free, ptr); } return ptr; }, 'argPackAdvance': 8, 'readValueFromPointer': simpleReadValueFromPointer, destructorFunction: function(ptr) { _free(ptr); }, }); } function __embind_register_void(rawType, name) { name = readLatin1String(name); registerType(rawType, { isVoid: true, // void return values can be optimized out sometimes name: name, 'argPackAdvance': 0, 'fromWireType': function() { return undefined; }, 'toWireType': function(destructors, o) { // TODO: assert if anything else is given? return undefined; }, }); } function emval_allocateDestructors(destructorsRef) { var destructors = []; HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors); return destructors; } var emval_symbols = {}; function getStringOrSymbol(address) { var symbol = emval_symbols[address]; if (symbol === undefined) { return readLatin1String(address); } return symbol; } var emval_methodCallers = []; function __emval_call_void_method(caller, handle, methodName, args) { caller = emval_methodCallers[caller]; handle = Emval.toValue(handle); methodName = getStringOrSymbol(methodName); caller(handle, methodName, null, args); } function emval_addMethodCaller(caller) { var id = emval_methodCallers.length; emval_methodCallers.push(caller); return id; } function emval_lookupTypes(argCount, argTypes) { var a = new Array(argCount); for (var i = 0; i < argCount; ++i) { a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)], "parameter " + i); } return a; } var emval_registeredMethods = []; function __emval_get_method_caller(argCount, argTypes) { var types = emval_lookupTypes(argCount, argTypes); var retType = types[0]; var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$"; var returnId = emval_registeredMethods[signatureName]; if (returnId !== undefined) { return returnId; } var argN = new Array(argCount - 1); var invokerFunction = (handle, name, destructors, args) => { var offset = 0; for (var i = 0; i < argCount - 1; ++i) { argN[i] = types[i + 1]['readValueFromPointer'](args + offset); offset += types[i + 1]['argPackAdvance']; } var rv = handle[name].apply(handle, argN); for (var i = 0; i < argCount - 1; ++i) { if (types[i + 1].deleteObject) { types[i + 1].deleteObject(argN[i]); } } if (!retType.isVoid) { return retType['toWireType'](destructors, rv); } }; returnId = emval_addMethodCaller(invokerFunction); emval_registeredMethods[signatureName] = returnId; return returnId; } function __emval_incref(handle) { if (handle > 4) { emval_handles.get(handle).refcount += 1; } } function _abort() { abort('native code called abort()'); } function _emscripten_memcpy_big(dest, src, num) { HEAPU8.copyWithin(dest, src, src + num); } function getHeapMax() { // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side // for any code that deals with heap sizes, which would require special // casing all heap size related code to treat 0 specially. return 2147483648; } function emscripten_realloc_buffer(size) { var b = wasmMemory.buffer; var pages = (size - b.byteLength + 65535) >>> 16; try { // round size grow request up to wasm page size (fixed 64KB per spec) wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size updateMemoryViews(); return 1 /*success*/; } catch(e) { err(`emscripten_realloc_buffer: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`); } // implicit 0 return to save code size (caller will cast "undefined" into 0 // anyhow) } function _emscripten_resize_heap(requestedSize) { var oldSize = HEAPU8.length; requestedSize = requestedSize >>> 0; // With multithreaded builds, races can happen (another thread might increase the size // in between), so return a failure, and let the caller retry. assert(requestedSize > oldSize); // Memory resize rules: // 1. Always increase heap size to at least the requested size, rounded up // to next page multiple. // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap // geometrically: increase the heap size according to // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap // linearly: increase the heap size by at least // MEMORY_GROWTH_LINEAR_STEP bytes. // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest // 4. If we were unable to allocate as much memory, it may be due to // over-eager decision to excessively reserve due to (3) above. // Hence if an allocation fails, cut down on the amount of excess // growth, in an attempt to succeed to perform a smaller allocation. // A limit is set for how much we can grow. We should not exceed that // (the wasm binary specifies it, so if we tried, we'd fail anyhow). 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; } var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; // Loop through potential heap size increases. If we attempt a too eager // reservation that fails, cut down on the attempted size and reserve a // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth // but limit overreserving (default to capping at +96MB overgrowth at most) 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 convertI32PairToI53Checked(lo, hi) { assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 assert(hi === (hi|0)); // hi should be a i32 return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; } 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() { // flush anything remaining in the buffers during shutdown _fflush(0); if (printCharBuffers[1].length) printChar(1, 10); if (printCharBuffers[2].length) printChar(2, 10); } function _fd_write(fd, iov, iovcnt, pnum) { // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 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; } BindingError = Module['BindingError'] = extendError(Error, 'BindingError');; init_emval();; PureVirtualError = Module['PureVirtualError'] = extendError(Error, 'PureVirtualError');; embind_init_charCodes(); init_embind();; InternalError = Module['InternalError'] = extendError(Error, 'InternalError');; init_ClassHandle(); init_RegisteredPointer(); UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; // include: base64Utils.js // Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 // This code was written by Tyler Akins and has been placed in the // public domain. It would be nice if you left this header intact. // Base64 code from Tyler Akins -- http://rumkin.com /** * Decodes a base64 string. * @param {string} input The string to decode. */ var decodeBase64 = typeof atob == 'function' ? atob : function (input) { var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var output = ''; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; // remove all characters that are not A-Z, a-z, 0-9, +, /, or = input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); do { enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 !== 64) { output = output + String.fromCharCode(chr2); } if (enc4 !== 64) { output = output + String.fromCharCode(chr3); } } while (i < input.length); return output; }; // Converts a string of base64 into a byte array. // Throws error on invalid input. function intArrayFromBase64(s) { try { var decoded = decodeBase64(s); var bytes = new Uint8Array(decoded.length); for (var i = 0 ; i < decoded.length ; ++i) { bytes[i] = decoded.charCodeAt(i); } return bytes; } catch (_) { throw new Error('Converting base64 string to bytes failed.'); } } // If filename is a base64 data URI, parses and returns data (Buffer on node, // Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. function tryParseAsDataURI(filename) { if (!isDataURI(filename)) { return; } return intArrayFromBase64(filename.slice(dataURIPrefix.length)); } // end include: base64Utils.js function checkIncomingModuleAPI() { ignoredModuleProp('fetchSettings'); } var wasmImports = { "__assert_fail": ___assert_fail, "_embind_create_inheriting_constructor": __embind_create_inheriting_constructor, "_embind_register_bigint": __embind_register_bigint, "_embind_register_bool": __embind_register_bool, "_embind_register_class": __embind_register_class, "_embind_register_class_class_function": __embind_register_class_class_function, "_embind_register_class_function": __embind_register_class_function, "_embind_register_emval": __embind_register_emval, "_embind_register_float": __embind_register_float, "_embind_register_function": __embind_register_function, "_embind_register_integer": __embind_register_integer, "_embind_register_memory_view": __embind_register_memory_view, "_embind_register_std_string": __embind_register_std_string, "_embind_register_std_wstring": __embind_register_std_wstring, "_embind_register_void": __embind_register_void, "_emval_call_void_method": __emval_call_void_method, "_emval_decref": __emval_decref, "_emval_get_method_caller": __emval_get_method_caller, "_emval_incref": __emval_incref, "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(); /** @type {function(...*):?} */ var ___wasm_call_ctors = createExportWrapper("__wasm_call_ctors"); /** @type {function(...*):?} */ var _malloc = createExportWrapper("malloc"); /** @type {function(...*):?} */ var _free = createExportWrapper("free"); /** @type {function(...*):?} */ var ___getTypeName = createExportWrapper("__getTypeName"); /** @type {function(...*):?} */ var __embind_initialize_bindings = Module["__embind_initialize_bindings"] = createExportWrapper("_embind_initialize_bindings"); /** @type {function(...*):?} */ var ___errno_location = createExportWrapper("__errno_location"); /** @type {function(...*):?} */ var _fflush = Module["_fflush"] = createExportWrapper("fflush"); /** @type {function(...*):?} */ var _emscripten_stack_init = function() { return (_emscripten_stack_init = Module["asm"]["emscripten_stack_init"]).apply(null, arguments); }; /** @type {function(...*):?} */ var _emscripten_stack_get_free = function() { return (_emscripten_stack_get_free = Module["asm"]["emscripten_stack_get_free"]).apply(null, arguments); }; /** @type {function(...*):?} */ var _emscripten_stack_get_base = function() { return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); }; /** @type {function(...*):?} */ var _emscripten_stack_get_end = function() { return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); }; /** @type {function(...*):?} */ var stackSave = createExportWrapper("stackSave"); /** @type {function(...*):?} */ var stackRestore = createExportWrapper("stackRestore"); /** @type {function(...*):?} */ var stackAlloc = createExportWrapper("stackAlloc"); /** @type {function(...*):?} */ var _emscripten_stack_get_current = function() { return (_emscripten_stack_get_current = Module["asm"]["emscripten_stack_get_current"]).apply(null, arguments); }; /** @type {function(...*):?} */ var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); // include: postamble.js // === Auto-generated postamble setup entry stuff === var missingLibrarySymbols = [ 'zeroMemory', 'exitJS', 'isLeapYear', 'ydayFromDate', 'arraySum', 'addDays', 'setErrNo', 'inetPton4', 'inetNtop4', 'inetPton6', 'inetNtop6', 'readSockaddr', 'writeSockaddr', 'getHostByName', 'initRandomFill', 'randomFill', 'traverseStack', 'getCallstack', 'emscriptenLog', 'convertPCtoSourceLocation', 'readEmAsmArgs', 'jstoi_q', 'jstoi_s', 'getExecutableName', 'listenOnce', 'autoResumeAudioContext', 'handleException', 'runtimeKeepalivePush', 'runtimeKeepalivePop', 'callUserCallback', 'maybeExit', 'safeSetTimeout', 'asmjsMangle', 'asyncLoad', 'alignMemory', 'mmapAlloc', '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', 'intArrayFromString', 'AsciiToString', 'stringToAscii', 'stringToNewUTF8', 'stringToUTF8OnStack', 'writeArrayToMemory', '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', 'wasiRightsToMuslOFlags', 'wasiOFlagsToMuslOFlags', 'createDyncallWrapper', 'setImmediateWrapped', 'clearImmediateWrapped', 'polyfillSetImmediate', 'getPromise', 'makePromise', 'idsToPromises', 'makePromiseCallback', 'setMainLoop', 'getSocketFromFD', 'getSocketAddress', 'heapObjectForWebGLType', 'heapAccessShiftForWebGLHeap', 'webgl_enable_ANGLE_instanced_arrays', 'webgl_enable_OES_vertex_array_object', 'webgl_enable_WEBGL_draw_buffers', 'webgl_enable_WEBGL_multi_draw', 'emscriptenWebGLGet', 'computeUnpackAlignedImageSize', 'colorChannelsInGlTextureFormat', 'emscriptenWebGLGetTexPixelData', '__glGenObject', 'emscriptenWebGLGetUniform', 'webglGetUniformLocation', 'webglPrepareUniformLocationsBeforeFirstUse', 'webglGetLeftBracePos', 'emscriptenWebGLGetVertexAttrib', '__glGetActiveAttribOrUniform', 'writeGLArray', 'registerWebGlEventCallback', 'runAndAbortIfError', 'SDL_unicode', 'SDL_ttfContext', 'SDL_audio', 'GLFW_Window', 'ALLOC_NORMAL', 'ALLOC_STACK', 'allocate', 'writeStringToMemory', 'writeAsciiToMemory', 'enumReadValueFromPointer', 'validateThis', 'craftEmvalAllocator', 'emval_get_global', ]; missingLibrarySymbols.forEach(missingLibrarySymbol) var unexportedSymbols = [ 'run', 'addOnPreRun', 'addOnInit', 'addOnPreMain', 'addOnExit', 'addOnPostRun', 'addRunDependency', 'removeRunDependency', 'FS_createFolder', 'FS_createPath', 'FS_createDataFile', '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', 'MONTH_DAYS_REGULAR', 'MONTH_DAYS_LEAP', 'MONTH_DAYS_REGULAR_CUMULATIVE', 'MONTH_DAYS_LEAP_CUMULATIVE', 'ERRNO_CODES', 'ERRNO_MESSAGES', 'DNS', 'Protocols', 'Sockets', 'timers', 'warnOnce', 'UNWIND_CACHE', 'readEmAsmArgsArray', 'dynCallLegacy', 'getDynCaller', 'dynCall', 'HandleAllocator', 'convertI32PairToI53Checked', 'freeTableIndexes', 'functionsInTableMap', 'setValue', 'getValue', 'PATH', 'PATH_FS', 'UTF8Decoder', 'UTF8ArrayToString', 'UTF8ToString', 'stringToUTF8Array', 'stringToUTF8', 'lengthBytesUTF8', 'intArrayToString', 'UTF16Decoder', 'UTF16ToString', 'stringToUTF16', 'lengthBytesUTF16', 'UTF32ToString', 'stringToUTF32', 'lengthBytesUTF32', 'JSEvents', 'specialHTMLTargets', 'currentFullscreenStrategy', 'restoreOldWindowedStyle', 'ExitStatus', 'flush_NO_FILESYSTEM', 'dlopenMissingError', 'promiseMap', 'Browser', 'wget', 'SYSCALLS', 'tempFixedLengthArray', 'miniTempWebGLFloatBuffers', 'miniTempWebGLIntBuffers', 'GL', 'emscripten_webgl_power_preferences', 'AL', 'GLUT', 'EGL', 'GLEW', 'IDBStore', 'SDL', 'SDL_gfx', 'GLFW', 'allocateUTF8', 'allocateUTF8OnStack', 'InternalError', 'BindingError', 'UnboundTypeError', 'PureVirtualError', 'init_embind', 'throwInternalError', 'throwBindingError', 'throwUnboundTypeError', 'ensureOverloadTable', 'exposePublicSymbol', 'replacePublicSymbol', 'extendError', 'createNamedFunction', 'embindRepr', 'registeredInstances', 'getBasestPointer', 'registerInheritedInstance', 'unregisterInheritedInstance', 'getInheritedInstance', 'getInheritedInstanceCount', 'getLiveInheritedInstances', 'registeredTypes', 'awaitingDependencies', 'typeDependencies', 'registeredPointers', 'registerType', 'whenDependentTypesAreResolved', 'embind_charCodes', 'embind_init_charCodes', 'readLatin1String', 'getTypeName', 'heap32VectorToArray', 'requireRegisteredType', 'getShiftFromSize', 'integerReadValueFromPointer', 'floatReadValueFromPointer', 'simpleReadValueFromPointer', 'runDestructors', 'craftInvokerFunction', 'embind__requireFunction', 'tupleRegistrations', 'structRegistrations', 'genericPointerToWireType', 'constNoSmartPtrRawPointerToWireType', 'nonConstNoSmartPtrRawPointerToWireType', 'init_RegisteredPointer', 'RegisteredPointer', 'RegisteredPointer_getPointee', 'RegisteredPointer_destructor', 'RegisteredPointer_deleteObject', 'RegisteredPointer_fromWireType', 'runDestructor', 'releaseClassHandle', 'finalizationRegistry', 'detachFinalizer_deps', 'detachFinalizer', 'attachFinalizer', 'makeClassHandle', 'init_ClassHandle', 'ClassHandle', 'ClassHandle_isAliasOf', 'throwInstanceAlreadyDeleted', 'ClassHandle_clone', 'ClassHandle_delete', 'deletionQueue', 'ClassHandle_isDeleted', 'ClassHandle_deleteLater', 'flushPendingDeletes', 'delayFunction', 'setDelayFunction', 'RegisteredClass', 'shallowCopyInternalPointer', 'downcastPointer', 'upcastPointer', 'char_0', 'char_9', 'makeLegalFunctionName', 'emval_handles', 'emval_symbols', 'init_emval', 'count_emval_handles', 'getStringOrSymbol', 'Emval', 'emval_newers', 'emval_lookupTypes', 'emval_allocateDestructors', 'emval_methodCallers', 'emval_addMethodCaller', 'emval_registeredMethods', ]; unexportedSymbols.forEach(unexportedRuntimeSymbol); var calledRun; dependenciesFulfilled = function runCaller() { // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) if (!calledRun) run(); if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled }; function stackCheckInit() { // This is normally called automatically during __wasm_call_ctors but need to // get these values before even running any of the ctors so we call it redundantly // here. _emscripten_stack_init(); // TODO(sbc): Move writeStackCookie to native to to avoid this. writeStackCookie(); } function run() { if (runDependencies > 0) { return; } stackCheckInit(); preRun(); // a preRun added a dependency, run will be called later if (runDependencies > 0) { return; } function doRun() { // run may have just been called through dependencies being fulfilled just in this very frame, // or while the async setStatus time below was happening 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(); } function checkUnflushedContent() { // Compiler settings do not allow exiting the runtime, so flushing // the streams is not possible. but in ASSERTIONS mode we check // if there was something to flush, and if so tell the user they // should request that the runtime be exitable. // Normally we would not even include flush() at all, but in ASSERTIONS // builds we do so just for this check, and here we see if there is any // content to flush, that is, we check if there would have been // something a non-ASSERTIONS build would have not seen. // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 // mode (which has its own special function for this; otherwise, all // the code is inside libc) var oldOut = out; var oldErr = err; var has = false; out = err = (x) => { has = true; } try { // it doesn't matter if it fails flush_NO_FILESYSTEM(); } catch(e) {} out = oldOut; err = oldErr; if (has) { warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.'); warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); } } if (Module['preInit']) { if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; while (Module['preInit'].length > 0) { Module['preInit'].pop()(); } } run(); // end include: postamble.js return Bullet.ready } ); })(); if (typeof exports === 'object' && typeof module === 'object') module.exports = Bullet; else if (typeof define === 'function' && define['amd']) define([], function() { return Bullet; }); else if (typeof exports === 'object') exports["Bullet"] = Bullet;