jolt-physics
Version:
A WebAssembly port of JoltPhysics, a rigid body physics and collision detection library, suitable for games and VR applications
51 lines (49 loc) • 3.52 MB
JavaScript
// SPDX-FileCopyrightText: 2022-2024 Jorrit Rouwe
// SPDX-License-Identifier: MIT
// This is Web Assembly version of Jolt Physics, see: https://github.com/jrouwe/JoltPhysics.js
var Jolt = (() => {
var _scriptName = import.meta.url;
return (
async function(moduleArg = {}) {
var moduleRtn;
var c=moduleArg,aa,ba,ca=new Promise((a,b)=>{aa=a;ba=b}),da="object"==typeof window,ea="undefined"!=typeof WorkerGlobalScope,fa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;if(fa){const {createRequire:a}=await import("module");var require=a(import.meta.url)}var ha={...c},ia="./this.program",ja="",ka;
if(fa){var fs=require("fs"),la=require("path");import.meta.url.startsWith("data:")||(ja=la.dirname(require("url").fileURLToPath(import.meta.url))+"/");ka=a=>{a=ma(a)?new URL(a):a;return fs.readFileSync(a)};!c.thisProgram&&1<process.argv.length&&(ia=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2)}else if(da||ea)ea?ja=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ja=document.currentScript.src),_scriptName&&(ja=_scriptName),ja.startsWith("blob:")?
ja="":ja=ja.slice(0,ja.replace(/[?#].*/,"").lastIndexOf("/")+1),ea&&(ka=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var na=c.print||console.log.bind(console),oa=c.printErr||console.error.bind(console);Object.assign(c,ha);ha=null;c.thisProgram&&(ia=c.thisProgram);var qa=c.wasmBinary,ra,sa=!1,ta,ua,va,wa,xa,ya=!1,ma=a=>a.startsWith("file://"),za=0,Aa=null;
function Ba(a){c.onAbort?.(a);a="Aborted("+a+")";oa(a);sa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}var Ca;async function Da(a){if(!ArrayBuffer.isView(a))if(a==Ca&&qa)a=new Uint8Array(qa);else if(ka)a=ka(a);else throw"both async and sync fetching of the wasm failed";return a}async function Ea(a){var b=Ca;try{var e=await Da(b);return await WebAssembly.instantiate(e,a)}catch(g){oa(`failed to asynchronously prepare wasm: ${g}`),Ba(g)}}
async function Fa(a){return Ea(a)}
for(var Ga=a=>{for(;0<a.length;)a.shift()(c)},Ha=[],Ia=[],Ja=()=>{var a=c.preRun.shift();Ia.unshift(a)},La=a=>{if(fa)return a=Buffer.from(a,"base64"),new Uint8Array(a.buffer,a.byteOffset,a.length);for(var b,e,g=0,h=0,l=a.length,w=new Uint8Array((3*l>>2)-("="==a[l-2])-("="==a[l-1]));g<l;g+=4,h+=3)b=Ka[a.charCodeAt(g+1)],e=Ka[a.charCodeAt(g+2)],w[h]=Ka[a.charCodeAt(g)]<<2|b>>4,w[h+1]=b<<4|e>>2,w[h+2]=e<<6|Ka[a.charCodeAt(g+3)];return w},Ma=(a,b,e,g)=>{if(0<g){g=e+g-1;for(var h=0;h<a.length;++h){var l=
a.charCodeAt(h);if(55296<=l&&57343>=l){var w=a.charCodeAt(++h);l=65536+((l&1023)<<10)|w&1023}if(127>=l){if(e>=g)break;b[e++]=l}else{if(2047>=l){if(e+1>=g)break;b[e++]=192|l>>6}else{if(65535>=l){if(e+2>=g)break;b[e++]=224|l>>12}else{if(e+3>=g)break;b[e++]=240|l>>18;b[e++]=128|l>>12&63}b[e++]=128|l>>6&63}b[e++]=128|l&63}}b[e]=0}},Na=[],Pa=(a,b,e)=>{Na.length=0;for(var g;g=ua[b++];){var h=105!=g;h&=112!=g;e+=h&&e%8?4:0;Na.push(112==g?wa[e>>2]:105==g?va[e>>2]:xa[e>>3]);e+=h?8:4}return Oa[a](...Na)},Qa=
{},Sa=()=>{if(!Ra){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ia||"./this.program"},b;for(b in Qa)void 0===Qa[b]?delete a[b]:a[b]=Qa[b];var e=[];for(b in a)e.push(`${b}=${a[b]}`);Ra=e}return Ra},Ra,Ta=[null,[],[]],Ua="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Va=(a,b=0)=>{for(var e=b+NaN,g=b;a[g]&&!(g>=e);)++g;if(16<g-b&&a.buffer&&Ua)return Ua.decode(a.subarray(b,
g));for(e="";b<g;){var h=a[b++];if(h&128){var l=a[b++]&63;if(192==(h&224))e+=String.fromCharCode((h&31)<<6|l);else{var w=a[b++]&63;h=224==(h&240)?(h&15)<<12|l<<6|w:(h&7)<<18|l<<12|w<<6|a[b++]&63;65536>h?e+=String.fromCharCode(h):(h-=65536,e+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else e+=String.fromCharCode(h)}return e},Wa=[],Ka=new Uint8Array(123),Xa=25;0<=Xa;--Xa)Ka[48+Xa]=52+Xa,Ka[65+Xa]=Xa,Ka[97+Xa]=26+Xa;Ka[43]=62;Ka[47]=63;
var Oa={36098:a=>{a=c.getCache(c.PathConstraintPathJS)[a];if(!a.hasOwnProperty("GetPathMaxFraction"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetPathMaxFraction.";return a.GetPathMaxFraction()},36365:(a,b,e)=>{a=c.getCache(c.PathConstraintPathJS)[a];if(!a.hasOwnProperty("GetClosestPoint"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetClosestPoint.";return a.GetClosestPoint(b,e)},36628:(a,b,e,g,h,l)=>{a=c.getCache(c.PathConstraintPathJS)[a];
if(!a.hasOwnProperty("GetPointOnPath"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetPointOnPath.";a.GetPointOnPath(b,e,g,h,l)},36890:(a,b,e)=>{a=c.getCache(c.GroupFilterJS)[a];if(!a.hasOwnProperty("CanCollide"))throw"a JSImplementation must implement all functions, you forgot GroupFilterJS::CanCollide.";return a.CanCollide(b,e)},37124:(a,b)=>{a=c.getCache(c.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveBody"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveBody.";
return a.ShouldSaveBody(b)},37383:(a,b)=>{a=c.getCache(c.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveConstraint"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveConstraint.";return a.ShouldSaveConstraint(b)},37660:(a,b,e)=>{a=c.getCache(c.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveContact"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveContact.";return a.ShouldSaveContact(b,
e)},37931:(a,b,e)=>{a=c.getCache(c.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldRestoreContact"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldRestoreContact.";return a.ShouldRestoreContact(b,e)},38211:a=>{a=c.getCache(c.StateRecorderJS)[a];if(!a.hasOwnProperty("IsEOF"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::IsEOF.";return a.IsEOF()},38429:a=>{a=c.getCache(c.StateRecorderJS)[a];if(!a.hasOwnProperty("IsFailed"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::IsFailed.";
return a.IsFailed()},38656:(a,b,e)=>{a=c.getCache(c.StateRecorderJS)[a];if(!a.hasOwnProperty("WriteBytes"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::WriteBytes.";a.WriteBytes(b,e)},38887:(a,b,e)=>{a=c.getCache(c.StateRecorderJS)[a];if(!a.hasOwnProperty("ReadBytes"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::ReadBytes.";a.ReadBytes(b,e)},39115:(a,b,e,g,h)=>{a=c.getCache(c.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactAdded"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactAdded.";
a.OnContactAdded(b,e,g,h)},39368:(a,b,e,g,h)=>{a=c.getCache(c.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactPersisted"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactPersisted.";a.OnContactPersisted(b,e,g,h)},39633:(a,b)=>{a=c.getCache(c.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactRemoved"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactRemoved.";a.OnContactRemoved(b)},39883:(a,b,e,g,h)=>
{a=c.getCache(c.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactValidate"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactValidate.";return a.OnContactValidate(b,e,g,h)},40152:(a,b,e)=>{a=c.getCache(c.SoftBodyContactListenerJS)[a];if(!a.hasOwnProperty("OnSoftBodyContactAdded"))throw"a JSImplementation must implement all functions, you forgot SoftBodyContactListenerJS::OnSoftBodyContactAdded.";a.OnSoftBodyContactAdded(b,e)},40439:(a,b,e,g)=>{a=c.getCache(c.SoftBodyContactListenerJS)[a];
if(!a.hasOwnProperty("OnSoftBodyContactValidate"))throw"a JSImplementation must implement all functions, you forgot SoftBodyContactListenerJS::OnSoftBodyContactValidate.";return a.OnSoftBodyContactValidate(b,e,g)},40745:a=>{a=c.getCache(c.RayCastBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot RayCastBodyCollectorJS::Reset.";a.Reset()},40970:(a,b)=>{a=c.getCache(c.RayCastBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot RayCastBodyCollectorJS::AddHit.";
a.AddHit(b)},41200:a=>{a=c.getCache(c.CollideShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollideShapeBodyCollectorJS::Reset.";a.Reset()},41435:(a,b)=>{a=c.getCache(c.CollideShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollideShapeBodyCollectorJS::AddHit.";a.AddHit(b)},41675:a=>{a=c.getCache(c.CastShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastShapeBodyCollectorJS::Reset.";
a.Reset()},41904:(a,b)=>{a=c.getCache(c.CastShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastShapeBodyCollectorJS::AddHit.";a.AddHit(b)},42138:a=>{a=c.getCache(c.CastRayCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::Reset.";a.Reset()},42355:(a,b)=>{a=c.getCache(c.CastRayCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::OnBody.";
a.OnBody(b)},42577:(a,b)=>{a=c.getCache(c.CastRayCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::AddHit.";a.AddHit(b)},42799:a=>{a=c.getCache(c.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::Reset.";a.Reset()},43026:(a,b)=>{a=c.getCache(c.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::OnBody.";
a.OnBody(b)},43258:(a,b)=>{a=c.getCache(c.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::AddHit.";a.AddHit(b)},43490:a=>{a=c.getCache(c.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::Reset.";a.Reset()},43717:(a,b)=>{a=c.getCache(c.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::OnBody.";
a.OnBody(b)},43949:(a,b)=>{a=c.getCache(c.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::AddHit.";a.AddHit(b)},44181:a=>{a=c.getCache(c.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::Reset.";a.Reset()},44402:(a,b)=>{a=c.getCache(c.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::OnBody.";
a.OnBody(b)},44628:(a,b)=>{a=c.getCache(c.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::AddHit.";a.AddHit(b)},44854:a=>{a=c.getCache(c.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::Reset.";a.Reset()},45089:(a,b)=>{a=c.getCache(c.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::OnBody.";
a.OnBody(b)},45329:(a,b)=>{a=c.getCache(c.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::AddHit.";a.AddHit(b)},45569:(a,b)=>{a=c.getCache(c.PhysicsStepListenerJS)[a];if(!a.hasOwnProperty("OnStep"))throw"a JSImplementation must implement all functions, you forgot PhysicsStepListenerJS::OnStep.";a.OnStep(b)},45797:(a,b,e)=>{a=c.getCache(c.BodyActivationListenerJS)[a];if(!a.hasOwnProperty("OnBodyActivated"))throw"a JSImplementation must implement all functions, you forgot BodyActivationListenerJS::OnBodyActivated.";
a.OnBodyActivated(b,e)},46061:(a,b,e)=>{a=c.getCache(c.BodyActivationListenerJS)[a];if(!a.hasOwnProperty("OnBodyDeactivated"))throw"a JSImplementation must implement all functions, you forgot BodyActivationListenerJS::OnBodyDeactivated.";a.OnBodyDeactivated(b,e)},46331:(a,b,e,g,h)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnAdjustBodyVelocity"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnAdjustBodyVelocity.";a.OnAdjustBodyVelocity(b,
e,g,h)},46620:(a,b,e,g)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactValidate"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactValidate.";return a.OnContactValidate(b,e,g)},46904:(a,b,e,g)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactValidate"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactValidate.";
return a.OnCharacterContactValidate(b,e,g)},47215:(a,b,e,g)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactRemoved"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactRemoved.";a.OnContactRemoved(b,e,g)},47489:(a,b,e,g)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactRemoved"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactRemoved.";
a.OnCharacterContactRemoved(b,e,g)},47790:(a,b,e,g,h,l,w)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactAdded"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactAdded.";a.OnContactAdded(b,e,g,h,l,w)},48067:(a,b,e,g,h,l,w)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactPersisted"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactPersisted.";
a.OnContactPersisted(b,e,g,h,l,w)},48356:(a,b,e,g,h,l,w)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactAdded"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactAdded.";a.OnCharacterContactAdded(b,e,g,h,l,w)},48660:(a,b,e,g,h,l,w)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactPersisted"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactPersisted.";
a.OnCharacterContactPersisted(b,e,g,h,l,w)},48976:(a,b,e,g,h,l,w,L,pa,Wb)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactSolve"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactSolve.";a.OnContactSolve(b,e,g,h,l,w,L,pa,Wb)},49262:(a,b,e,g,h,l,w,L,pa,Wb)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactSolve"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactSolve.";
a.OnCharacterContactSolve(b,e,g,h,l,w,L,pa,Wb)},49575:(a,b,e)=>{a=c.getCache(c.ObjectVsBroadPhaseLayerFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectVsBroadPhaseLayerFilterJS::ShouldCollide.";return a.ShouldCollide(b,e)},49854:(a,b)=>{a=c.getCache(c.ObjectLayerFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectLayerFilterJS::ShouldCollide.";return a.ShouldCollide(b)},
50106:(a,b,e)=>{a=c.getCache(c.ObjectLayerPairFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectLayerPairFilterJS::ShouldCollide.";return a.ShouldCollide(b,e)},50369:(a,b)=>{a=c.getCache(c.BodyFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot BodyFilterJS::ShouldCollide.";return a.ShouldCollide(b)},50607:(a,b)=>{a=c.getCache(c.BodyFilterJS)[a];if(!a.hasOwnProperty("ShouldCollideLocked"))throw"a JSImplementation must implement all functions, you forgot BodyFilterJS::ShouldCollideLocked.";
return a.ShouldCollideLocked(b)},50863:(a,b,e)=>{a=c.getCache(c.ShapeFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ShapeFilterJS::ShouldCollide.";return a.ShouldCollide(b,e)},51106:(a,b,e,g,h)=>{a=c.getCache(c.ShapeFilterJS2)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ShapeFilterJS2::ShouldCollide.";return a.ShouldCollide(b,e,g,h)},51357:(a,b,e,g,h,l,w)=>{a=c.getCache(c.SimShapeFilterJS)[a];
if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot SimShapeFilterJS::ShouldCollide.";return a.ShouldCollide(b,e,g,h,l,w)},51618:(a,b,e,g,h,l)=>{a=c.getCache(c.VehicleConstraintCallbacksJS)[a];if(!a.hasOwnProperty("GetCombinedFriction"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::GetCombinedFriction.";return a.GetCombinedFriction(b,e,g,h,l)},51918:(a,b,e)=>{a=c.getCache(c.VehicleConstraintCallbacksJS)[a];
if(!a.hasOwnProperty("OnPreStepCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPreStepCallback.";a.OnPreStepCallback(b,e)},52196:(a,b,e)=>{a=c.getCache(c.VehicleConstraintCallbacksJS)[a];if(!a.hasOwnProperty("OnPostCollideCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPostCollideCallback.";a.OnPostCollideCallback(b,e)},52486:(a,b,e)=>{a=c.getCache(c.VehicleConstraintCallbacksJS)[a];
if(!a.hasOwnProperty("OnPostStepCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPostStepCallback.";a.OnPostStepCallback(b,e)},52767:(a,b,e,g,h,l,w,L,pa)=>{a=c.getCache(c.WheeledVehicleControllerCallbacksJS)[a];if(!a.hasOwnProperty("OnTireMaxImpulseCallback"))throw"a JSImplementation must implement all functions, you forgot WheeledVehicleControllerCallbacksJS::OnTireMaxImpulseCallback.";a.OnTireMaxImpulseCallback(b,e,g,h,l,w,L,pa)},53098:a=>
{a=c.getCache(c.BroadPhaseLayerInterfaceJS)[a];if(!a.hasOwnProperty("GetNumBroadPhaseLayers"))throw"a JSImplementation must implement all functions, you forgot BroadPhaseLayerInterfaceJS::GetNumBroadPhaseLayers.";return a.GetNumBroadPhaseLayers()},53389:(a,b)=>{a=c.getCache(c.BroadPhaseLayerInterfaceJS)[a];if(!a.hasOwnProperty("GetBPLayer"))throw"a JSImplementation must implement all functions, you forgot BroadPhaseLayerInterfaceJS::GetBPLayer.";return a.GetBPLayer(b)},53646:()=>ta.length},Ya={i:()=>
Ba(""),l:(a,b,e,g)=>{var h=(new Date).getFullYear(),l=(new Date(h,0,1)).getTimezoneOffset();h=(new Date(h,6,1)).getTimezoneOffset();wa[a>>2]=60*Math.max(l,h);va[b>>2]=Number(l!=h);b=w=>{var L=Math.abs(w);return`UTC${0<=w?"-":"+"}${String(Math.floor(L/60)).padStart(2,"0")}${String(L%60).padStart(2,"0")}`};a=b(l);b=b(h);h<l?(Ma(a,ua,e,17),Ma(b,ua,g,17)):(Ma(a,ua,g,17),Ma(b,ua,e,17))},c:(a,b,e)=>Pa(a,b,e),a:(a,b,e)=>Pa(a,b,e),n:(a,b,e)=>Pa(a,b,e),k:()=>ua.length,b:()=>performance.now(),h:()=>{Ba("OOM")},
m:(a,b)=>{var e=0;Sa().forEach((g,h)=>{var l=b+e;h=wa[a+4*h>>2]=l;for(l=0;l<g.length;++l)ta[h++]=g.charCodeAt(l);ta[h]=0;e+=g.length+1});return 0},e:(a,b)=>{var e=Sa();wa[a>>2]=e.length;var g=0;e.forEach(h=>g+=h.length+1);wa[b>>2]=g;return 0},f:()=>52,g:()=>52,j:function(){return 70},d:(a,b,e,g)=>{for(var h=0,l=0;l<e;l++){var w=wa[b>>2],L=wa[b+4>>2];b+=8;for(var pa=0;pa<L;pa++){var Wb=a,qf=ua[w+pa],ng=Ta[Wb];0===qf||10===qf?((1===Wb?na:oa)(Va(ng)),ng.length=0):ng.push(qf)}h+=L}wa[g>>2]=h;return 0}},
d=await (async function(){function a(g){d=g.exports;ra=d.o;g=ra.buffer;c.HEAP8=ta=new Int8Array(g);c.HEAP16=new Int16Array(g);c.HEAPU8=ua=new Uint8Array(g);c.HEAPU16=new Uint16Array(g);c.HEAP32=va=new Int32Array(g);c.HEAPU32=wa=new Uint32Array(g);c.HEAPF32=new Float32Array(g);c.HEAPF64=xa=new Float64Array(g);za--;c.monitorRunDependencies?.(za);0==za&&Aa&&(g=Aa,Aa=null,g());return d}za++;c.monitorRunDependencies?.(za);var b={a:Ya};if(c.instantiateWasm)return new Promise(g=>{c.instantiateWasm(b,
(h,l)=>{a(h,l);g(h.exports)})});Ca??=La("AGFzbQEAAAABuwmKAWACf38AYAN/f38AYAF/AX9gAX8AYAJ/fwF/YAN/f38Bf2AAAX9gAX8BfWAEf39/fwBgBn9/f39/fwBgAn99AGAEf39/fwF/YAV/f39/fwBgBX9/f39/AX9gB39/f39/f38AYAZ/f39/f38Bf2ACf30Bf2ALf39/f39/f39/f38AYAl/f39/f39/f38AYAJ/fgBgCH9/f39/f39/AGAEf39/fwF9YAN/f30AYAh/f39/f39/fwF/YAd/f39/f39/AX9gAn9/AX1gCn9/f39/f39/f38AYAN/f30Bf2ADf319AX9gA39/fwF+YAN/fX8AYAR/f399AGAAAGADf39+AGACf38BfmABfQF/YAN/fX0AYAN/f30BfWAFf35+fn4AYAV/f39/fQBgDH9/f39/f39/f39/fwF/YAF/AXxgBH9/fX8AYAZ/fX9/f38AYAN9fX0Bf2AFf39+f38AYAZ/f399f38BfWAFf319fX0AYAJ/fABgBH9/f30Bf2AJf39/f39/f39/AX9gDH9/f39/f39/f39/fwBgBn9/f39/fQBgBH19fX0Bf2ACf3wBf2ACfX0Bf2AFf39/f34Bf2AJf39/fX19fX19AGAEf35+fwBgAn99AX1gBX9/f399AX9gA39+fwF+YAV/fX19fwBgB39/f31/f38AYAJ9fwF/YAZ/f31/f38AYAN/fX8Bf2AEfX19fwF/YAN/f38BfGAGf39/f319AX9gBH99fX0AYAp/f39/f39/f39/AX9gBH9/fX0Bf2AFf31/f38Bf2AFf39/fX0Bf2AKf31/fX99f31/fwBgD39/f39/f39/f39/f39/fwBgC39/f39/f39/f39/AX9gBH9/f38BfmAHf39/f39/fQF/YAl/f39/f39/f30AYAt/fX9/f39/f39/fwF/YAh/fX9/f39/fwBgCX9/f319fX9/fQF/YAR/fX1/AGADf398AX9gAn9/AXxgB39/f39/fn4Bf2AGf39/f35+AX9gBX9/f398AX9gA319fwF/YAABfGAHf39/f39/fQBgBX9/f31/AX9gB399f39/fX8AYAl/fX9/f39/fX8AYAR+fn5+AX9gBH9/f34BfmACfn8Bf2ACfX0BfWAMf39/f31/f39/f39/AGACfn4BfGAFf39/fX0AYAh/f399f39/fwBgB399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AABAChYGAwIABQICAAAABQQIAQACAgICAwIAAgAAAAIBAAIEAgACAAYGAAIAAg4SEREOFAYGBgADBgMDAAAABAYDAAIKBwYAAgACAAIAAgYGBgADBgMDAAAABAYAAgYGBgADBgMGAAAEBgYGBgADBgAGAAIABgwMDEEGBgYGAAIEAgQEBAQADA0GAgYAAgYDAAIEAgAAAAQEAwIEBgACAAIAAgACAAIAAgACBgMEAwMGAgIGBQIGAAUDBAEIAQKHAQwIDAgEAQQBGQQWGRYZFgQEAQQIBAAEAQAIAQAnCQUFBAEIAQQBCAgEBAQIBAgIDAwEAQQMDAQACwEIDAUFBQQAAQEACAQFBAIABAQFBQQEAAAFAwIDAgMCAgICAgICAgICAgJTHwABAAMDAwICAAEAAgAAAgAAAgMAAgICAgACAAIHAAIAAgACAgICAgICAgICAwAABQYDBQEBAgYGAgICAgICBSoGAgICAgUBBgICAAADAgIHJAcFBgMCAgAAAwICAgcKAgAHCgcCFiUHBgMIAwAAAgAFBgICAAADAgICAgICAAIAAAICAAACBAEEAhkWAQQEBAICAgIZGQEBAQQBBBYZFhkAAhYZBYgBBAAEAAYCAgAAAwICAgcHBwICAAIAAgACAAIAAgoKCgoCAgICAAIKBwACBQYCAgAAAwICBwIHAgACAgcHJAcKBwoCAAoHBQYCAgAAAwICBwIKBQYCAgAAAwICBwcCAgIAAgIkAAcKAAcHAgICAgICBQYCAgAAAwICAgUGAwICAAADAgICBwACBwckAAUGBgIGBQYDBAQEBAIDDwUEAgIFAgICBgMDAgYDAwIEBAMPBQQCAgUCAgAbBAIDAAIDAhsEAgUDAwQEAw8FBAIDAgIFAjIOUBQOBwQHBQUDAAAEAAACAAIAAwIDAgYHAwMEDwQDDwUEAgICBQUCBAMCAAIAAAICAwADAgMFBQQCBgMEBAQDDwIFAgIFAgICAwIFAwQEBAMPAwUCAgUCBAIDAgQDAwQEBAMHAw8FAgcEAgUCAgQEAwMCBAMDAwQEAw8FAgIFAg8CAwwMCAAPDQMCBgUDAwQEAw8CBQICBQICAwIGAwUAAgIDAwQEAgcHAw8FAgcHAgUCAwoKBwADAgYDBAQHAw8FAgMHAgUCBwMCQwIsAwQEBwMPBQICBQJaNwMCWjcDBAQHAw8F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AOQSAlVuAOMSAlZuAOISAlduAOESAlhuAOASAlluAN8SAlpuAN4SAl9uAN0SAiRuALkIAmFvALgIAmJvANwSAmNvANsSAmVvANoSAmZvANkSAmdvANgSAmhvANcSAmlvANYSAmpvANUSAmtvANQSAmxvANMSAm1vANISAm5vANESAm9vANASAnBvAM8SAnFvAM4SAnJvABkCc28AggQCdG8AzRICdW8AzBICdm8AyxICd28AyhICeG8AyRICeW8AyBICem8AxxICQW8AxhICQm8AxRICQ28AxBICRG8AwxICRW8AwwgCRm8AwggCR28AwhICSG8AwRICSW8AwBICSm8AvxICS28AvhICTG8AvRICTW8AvBICTm8AuxICT28AuhICUG8AuRICUW8AuBICUm8AvAgCU28AtxICVG8AuwgCVW8AthICVm8AuggCV28AtRICWG8AtBICWW8AsxICWm8AshICX28AsRICJG8AuQgCYXAAuAgCYnAAsBICY3AArxICZHAArhICZXAArRICZnAArBICZ3AAqxICaHAAqhICaXAAqRICanAAqBICa3AApxICbHAAGQJtcACCBAJucACmEgJvcAClEgJwcACkEgJxcACjEgJycACiEgJzcAChEgJ0cACgEgJ1cACfEgJ2cACeEgJ3cACdEgJ4cACcEgJ5cACbEgJ6cADBCAJBcADACAJCcAC/CAJDcACaEgJEcAC+CAJFcAC9CAJGcACZEgJHcAC3CAJIcACYEgJJcADECAJKcACXEgJLcACWEgJMcACVEgJNcACUEgJOcACTEgJPcAC5BQJQcACSEgJRcACREgJScACQEgJTcACPEgJUcACOEgJVcACNEgJWcACMEgJXcACLEgJYcACKEgJZcACJEgJacAAZAl9wAIgSAiRwAIcSAmFxAIYSAmJxAIUSAmNxAIQSAmRxAIMSAmVxAIISAmZxAIESAmdxAIASAmhxAP8RAmlxAP4RAmpxAP0RAmtxAPwRAmxxAPsRAm1xAPoRAm5xAPkRAm9xAPgRAnBxAPcRAnFxABkCcnEAggQCc3EA9hECdHEA9RECdXEA9BECdnEA8xECd3EA8hECeHEA8RECeXEA8BECenEA7xECQXEA7hECQnEA7RECQ3EA7BECRHEA6xECRXEA6hECRnEA6RECR3EA6BECSHEA5xECSXEA5hEC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