cocos-engine-external/emscripten/bullet/bullet.debug.asm.js

123307 lines
5.9 MiB

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<Repsponse> 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<unsigned char>
= (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;